Thursday, November 8, 2018

Jim Pugh write-up in Forbes.com


Great write up about Jim Pugh and Little Village Foundation. in Forbes.com today.  Here's an easier to read/less adds version (hopefully the link lasts for a while)

I wish I could say Jim Pugh was a friend of mine, but the relationship is more one of fandom and Jim is just a very generous with his time.  My first direct encounter with Jim was at a recording of Sessions at West 54th in 1999 (season 3, Episode 4).  I luck-boxed my way into tickets via the mostly defunct Robert Cray Fans Yahoo group.   Had seats right next to Jim's organ.  He came out and offered us some of his gum.  I've be a Robert Cray fan for years and here I was being offered gum from a guy who I've listened to on Robert Cray tracks for years.  Star Struck.

Later on a group of us who were at the session caught a bunch of Robert Cray Band shows in several back to back nights in New England.  Robert Cray is a pretty shy and quiet guy.  He's always polite and gracious with his time, but you can tell he's not into fan interactions. As such I haven't had many interactions with him, but Jim, Karl and Keven, they were super cool and would hang out.  The Memphis Horns were on that tour and I got to meet Wayne Jackson‎ and Andrew Love as well.   It was a whirlwind weekend.

Because of that weekend, when ever I saw the band I could always count on a wave or point and smile from Jim.  It was easy to find me, I'd be one of the nerds pressed up against the stage.  When Kevin and Karl were fired from the Robert Cray Band,  Jim responded to my email asking what happened.  Like I said, he's been generous with his time and is really trying to do some good through Little Village Foundation.   There's some amazing music to be found through LVF.  Do your self a favor and check it out.  It's available on Apple Music if you're a subscriber, and on Amazon and CD Baby for most artists.


Thursday, October 4, 2018

Take our Daughters and Sons to Work Day 2018

Time to write up this years Take our Daughters and Sons to Work Day 2018 event.

This year, the event centered around the AdaFruit Circuit Playground Express (CPE from here on out).  The CPE is an amazing piece of hardware at an affordable price point: $25.  For that price, you get a micro-controller that has (video stolen from AdaFruit website - didn't want to hot-link it):





  • 10 LEDs each can display any color
  • Motion sensor
  • Temperature sensor 
  • Light sensor 
  • Microphone 
  • Mini speaker/buzzer
  • Infrared receiver and transmitter 
  • Multiple alligator-clip friendly Input/Output pins
  • A/B slider switch
  • 2 x push buttons

And a few other neat features.  I cannot gush over how amazing I think this little thing is. There's three levels that it supports, some better than others.  The simplest way is a scratch/block based drag and drop programming interface on: https://makecode.adafruit.com/ The site has a CPE simulator so you can even test it out with out owning a CPE.  The next level, and probably the most flexible is Circuit Python.  Circuit Python is an extension of Micro Python with deeper hooks for AdaFruit boards.  It also supports the Arduino Zero, so it's not exclusively an AdaFruit thing, but that's what it was written for.  The last level would be to use it as a full-on Arduino device.  It also works with some of the Code.org curriculum.

So this meant that every student needed a $25 CPE and a laptop to participate.  I offered to put a bulk order in to AdaFruit to reduce the cost of CPEs so we could by battery holders and other goodies. Side note about the ones I bought and the JST connectors I got to connect them with them.  The polarity doesn't match the colors. I had to solder red to black to get them to work.  It was weird, and didn't make sense to me but it worked.  I also bought pipe cleaners, double sided tape and some other craft supplies.

The next part was pretty easy.  I started with showing them how to work with the scratch blocks, dragging and dropping shapes and so forth. I also showed them how to copy the code to their CPE - you hit the reset button, it shows up as a generic thumb drive, you drag and drop your code on it like you're copying a file and it takes care of the rest, it reboots itself and starts running. After that I had the kids work through the fantastic tutorials on the Makecode website.  It starts out pretty easy - you make a siren and flasher, then you make a magic wand and go from there. 


The arts and crafts supplies came in handy for the magic wand part and some of the other projects on the website.   All and all the kids had a great time. I'd post some photos but I didn't ask the parents if that's ok so I think I better not.  

Holtby should be on the assist leader board

The 2018/19 NHL season started for the Caps last night in dramatic fashion.  They trounced the Bruins 7-0.  During the 5th goal, goalie Braden Holtby got an assist.

https://twitter.com/Capitals/status/1047654680342482944

Because it was the first game of the regular season and there weren't that many assists in total, Holtby should should show up on the assist leaderboards with 1.  However he's nowhere to be found.

Here's a screenshot from NHL.com of the Capital's stats sorted by assists.


It's the same for all teams, he's not there (but it's too hard to screen shot that longer list).  Didn't see it on espn.com either.  Oddly enough, yahoo sports has it:



I suspect the problem is the databases that are feed the other sites.  They don't treat goalies as potential offensive players as they have stats related to saves and goals allowed which other players do not have.  They are therefor likely treated differently in the database than forwards and defensemen. There is probably a good article on software design in this about meeting requirements vs meeting desired outcomes.

Wednesday, August 29, 2018

Take our Daughters and Sons to Work Day 2017


Ok, next episode of my adventures running "Take our daughters and Sons to work day" events, the 2017 edition.  This one was a lot less ambitious than the 2016 year.  In 2016, I had access to dozens of used keyboards, mice and most importantly, Monitors.  Back then I had more influence on how IT assets were handled, and we had just started a transition from dual 17" monitors to single 24" or 27" monitors. So I was swimming in equipment. There were some reorgs and personnel changes that eliminated all my stock of used equipment.



I pressed on, just the same.  This year I decided to a scratch game on laptops.  It lowered the entry barrier as most parents had a laptop laying around and there were a few spares here in the office.   We had 10 kids for this event.  We almost didn't have a conference room which made for some more drama.  There where a few high profile exec meetings that needed the larger rooms I would ordinarily use.

Anyway, we got things sorted and we got on our way.


Once again I used the book Coding Games in Scratch by Jon Woodcock. In his book he walks you through several different games you can build in scratch, and we did one based on the 'Doom On The Broom' game with a few tweaks and variations.  We called it Bat Blaster.   Started with an overview of Scratch (https://scratch.mit.edu - everyone needed an account).



Next we made some simple animations to teach them how to interact with motion and sprites, etc, and then we got into the game.  I'd have a slide on the projector with all the blocks they would need and what we're trying to do.   I would also spend a minute talking about where each block was in the block pallet and what each block was doing, especially in this case where we introduce variables and doing mathematic operations on variables.



The next slide would be the pieces all put together.  I'd walk the room helping folks who got stuck somewhere.


We would then add new features, like making the bats faster or adding ghosts.  For the folks who could stay longer we started re-skinning the game.  Instead of witches and wizards shooting bats, heroes shooting zombies or space ships shooting aliens.  We also changed it so the sprite was no longer pinned to the middle of the screen and floated forward, like the ship in asteroids.  It was a much simpler day than the year before and went quite well.






Tuesday, August 28, 2018

Take our Daughters and Sons to work day 2016

So I ran an event at my job for Take our daughters and Sons to work day for the past few years.  They went pretty well and I've been meaning to write about it for a while.  I'm doing a lot of this from memory, so I might have some of the details wrong, but the general idea is the same.

The high level theme was to take Rasberry Pi's, build a game in scratch and turn some LED's on and off.   The outline looked like this.


  1. Welcome 
  2. Logistics (bathroom, water, etc)
  3. Who’s built a computer before?  Lets build one now!
  4. Boot/copy - get everyone setup.
  5. Intro slides what we do here - Dev, QA, Product, Research, operations
  6. Walk through Pi - play a pi game
  7. Start scratch go over key concepts
  8. Show and tell
  9. Timecheck - lunch?
  10. Scratch video game  - Catch stars - Product/research
  11. Dev’s get to work Set background 
  12. Add one octopus, random star placement, catch stars.
  13. A BUG! - octopus gets stuck in side - QA catches these  - add on touch bounce
  14. This is too easy lets make it harder
  15. More octopuses, faster, color, on-bump-face cat
  16. Timecheck - Lunch if haven’t had, break time otherwise 
  17. Show and tell
  18. Interact with the real world - turn on an LED
  19. Security alarm (PIR sensor)
  20. Wrap-up 

Since I had a supply of keyboards, mice and 17" monitors, the minimum the kids had to bring was the Pi.  I had suggested kits, such as Kana Kits or Vilros kits that have a lot of the stuff already bundled.  These examples are for Pi 3s but when I did this in 2016 they were Pi 2s. 

The majority of the ideas for this even came from the BooleanGirl organization.  BooleanGirl is a fantastic program and I can't say enough good things about them.  One of the new things that has come out between my 2016 event and now is the BooleanBox.  A prepackaged Raspberry Pi kit with all the stuff you need to get started.  It doesn't stop there - they also have Boolean University where they have structured lessons and projects for you to build with your BooleanBox.  If I were to do this all over again, I'd do BooleanBoxes as the base.  Back in 2016 their website had similar content where they walked you through getting started with a Raspberry Pi.  I took that as a starting point (6 and 7 above for instance)  and went from there.

In item 10 I walked the kids through building a video game in scratch.  The book Coding Games in Scratch by Jon Woodcock was perfect for this.  In his book he walks you through several different games you can build in scratch.  I picked one called Star Hunter, which had a similar game play and style to one from the BooleanGirl website.  The book was a great resource to follow as it breaks down the game construction bit by bit, which gave natural stopping points where I could check in with all the kids on how they were doing. The walk through purposefully introduced some bugs to kind of show what QA's job is in our office and introduced new feature requests and other software development concepts to give a feel for what we do here.

After lunch we started working with physical computing - turning LEDs on and off, and trying to get a PIR sensor to work.  This was a bit of a disaster.  The breadboard concept doesn't translate well for younger kids.  It took a lot of one on one interaction to muddle through this.  While helping others, the kids who got the concept and were ready for the next step got bored.  It was further complicated by everyone's Pi being a little bit different - different colors, different bread boards different versions of the n00bs linux packages.  If I did this all over again, I would pre-assemble mini-breadboards and I would also re-flash everyone's Pi with the same image so everyone had the same stuff.  I even had the mini breadboards with me, but just didn't have time to put them all together.  That would have saved a lot of time.

The PIR sensors were next, but by this time, we were loosing kids due to parents being done with work already (we have folks who traveled from Philly to DC) and just general exhaustion.   I had PIR sensors for everyone, and had a few slides how to connect them.  They sorta worked, but would often get stuck in the 'detect' mode.  I think this was mostly due to to GPIO libraries being different across the versions of Noobs.  Almost everyone's screens looked different, had different settings and values. It wasn't a great way to end the day. 

All and all, it was a positive experience, most of the kids enjoyed it and several came back for 2017.  Hopefully I'll write that one up next.

Saturday, August 25, 2018

Maybe I'm going to try writing again

Not sure I'll follow through on this thought, but I think I want to try writing stuff down again.  So I've done a take your kids to work day thing for the past 3 years and they've gone over reasonably well.  I need to write those up.  I think more interesting, at least to me, is planning for 2019.  Since I do this in small bursts and then a few hurried days right before the event I need to start early.

So last year's Adafruit based Circuit Playground Express went well.  If I make good on my plan to write, eventually this will be a link to the 2018 event. My initial thought for 2019 was to do some kind of IoT event.  Wasn't quite sure what shape that would take, but I'm sure I could come up with something.  Then Adabox 008 arrived and now I'm torn.  It came with a Circuit Playground Express and their new CRICKIT platform.  It also came with a truck load of stuff to help you make your own cardboard robots.  I started playing with mine tonight and now I'm torn.  It was super easy to set up, and make something move.  I spent more time cleaning off space of my messy desk to work with than actually making this work, it was that easy.


So now I have a choice to make.  IoT or AdaFruit Crickit and their #MakeRobotFriend platform.