Sunday, July 28, 2013

OSCON & PiDoorbell...

I was at OSCON last week and spoke on Thursday afternoon about PiDoorbell.  Frankly, I had expected that I would probably have about 10-20 people show up in the room that could accommodate about 100 people.  It was late in the day and there were SO many fantastic talks at the same time.

Well, when I started my talk, the room was packed, every seat was filled and there were a bunch of people standing in the back against the wall !!  I was amazed and flattered and hoped to god my live demo worked.

So, everything worked great in my hotel room and I tested it ad nauseum.  I packed things up in my little plastic box and walked the two blocks to the conference center.  Set up the hardware and, murphy showed up with a vengeance.  Video I/O errors - I thought that it was the loose connection on one of the USB connectors.  But, switching to the other one didn't help.  Repeated reboots didn't seem to make much difference either.  Ffmpeg?  Not sure.  Aaagh.

My talk was at 5p and the previous speaker didn't finish till 5p.  And, so, I was running around getting a private AP setup for dedicated network use for my project, setting up my hardware on a makeshift "table" consisting of a folding framework and a yellow notebook that my friend Melody had in her bag (I was supposed to get a separate table for my hardware, but, that didn't show up).  And, a quick test run before I plunged into my talk resulted in more video errors.  My heart sank - I had never done this talk where my live demo had not worked - that would be truly disappointing.  The live demo is what makes everything sink in and everyone finally understands the scope and use of the entire project.  Egads.  Oh well, onwards with the talk - pray to all the gods (hardware, software and any other kind).

Since I started about 15 min late, I went through my slides pretty quickly and got to the live demo portion.  A brave, obliging volunteer stepped up and we tried the first run with the whole audience watching my code run on the humungous screen.  And there was that damn "Audio I/O error" - not video this time but audio!  Great.

First attempt - resulted in audio I/O error, followed by an expletive emanating from me - hence, the laughter in the audience.

The volunteer looked mightily disappointed (as did everyone else including me) and I decided we would give it one last try.  And so we ran it again - and it WORKED ! :))  Everything uploaded swimmingly fast and I was able to play the video/audio clip on my phone.  The audience were impressed and clapped.  I wiped my brow and mentally thanked all the hardware/software gods/demi-gods/etc.

Second attempt - it worked and I got a 10 sec video/audio clip.  The video is truncated - it missed the text showing up on my phone and then playing.

I wrapped up my talk after showing a whole bunch of my code (some of it needed cleanup).

Bunch of people asked questions and were interested in downloading the code/slides etc.  I will clean up my code some more and then post all of it including my slides in the next couple of weeks.  I will also try to include a step-by-step guide to building your own PiDoorbell.  I think I'll go with MPL for the license - I believe it's Creative Commons currently.

All's well that end's well :).  I promptly signed up for the food truck crawl and spent a delightful afternoon eating my way through Portland's impressive array of food truck pods.

Next test I need to do is without the arduino and connect the proximity sensor directly to the RPI using GPIO.  Followed by live videostream + audio notification to the visitor.

[ Photos and videos courtesy of Chiu-ki Chan]

Monday, July 15, 2013

Some great news..... and validation for CodeChix ! YEEEESSSSS !!!

So, the day after I arrived at Hobart after a 25 hour journey on various airplanes and airports and lightrails and cars, I got some great news via email.

Several months ago, I had been nominated for the 2013 IEEE EAB Meritorious Achievement Award in Informal Education for my founding and work with CodeChix and our mission to Educate, Promote and Mentor female engineers.

So, here I was in Hobart, Tasmania, relatively stressed about my hardware and it possibly not working during my talk and worrying about the mold removal in my garage, jet lagging like crazy (although the view from the hotel room mostly made up for that), and I get this email from the IEEE EAB.

I had been awarded the Meritorious Award for Informal Education by the IEEE EAB !!   No way!!

YeeeeHaaaa!!!!  I think I did a little dance in my hotel room when I received the email from the IEEE board congratulating me.

So, all the years of hard work, long hours after work and on weekends, building and trying to grow a grassroots presence on my own with occasional help from great volunteers whenever they had time, lots of rejections/skepticism/patronizing treatments, spending my money on all sorts of fees/food/drink/venue/speakers so that I could grow CodeChix into an organization that female engineers can turn to and rely on for growth and sustenance when they are in need (and let's face it, if you've worked in the industry for a little while, you know what I'm talking about), and to promote and showcase the terrific, versatile, super-intelligent, dedicated, resourceful, determined and easy-to-work-with mothers, friends, relatives, colleagues and all that support our cause - what a validation of my work.

IEEE EAB - thank you for validating my hard work and giving me the boost to work even harder so we can make a difference in our industry through CodeChix.

And I would never have been this successful if it had not been for significant support from key male developers and friends - A special thanks to them (they know who they are) - CodeChix welcomes supportive male developers to our workshop and technical talks and you are part of the ecosystem that we rely on.  Thank you for being there for us.

And the women and female engineers that I have had the tremendous fortune to meet and mentor and work with are the true winners.  They are the foundation of so many great companies and products and it is time to recognize them and reward them for their contributions.   I hope that CodeChix will be able to give them the education, encouragement and guidance whenever they need so they can reach for the stars.

And may the code always be with all the great female and male engineers who support and encourage us in our mission.

PyCon Australia talk on Home Automation + video

Just discovered that the videos for PyCon Australia talks are up on their YouTube site.

And here's the video of my talk - click on the play button and it should start playing:

Jet lag sucks

I arrived from Australia in the afternoon and was bright and chirpy - might have had to do with the caffeine intake.

And this morning, it was brutal getting up.  I managed to drag myself out of bed around 9a and then drove to work.

Everything was slow and crawling (especially my brain cells) until about 3pm.  And I suddenly became more awake for about 3 hours.

And now am back to being slow and crawling...

And I have a 9:30a meeting tomorrow morning and every morning this week...

After which I fly to Portland for OSCON...

PyConAU, Tassie, Aussie and more...

Well, I'm back from Aussie land !!

It was a blast and I had a great time in Hobart, Tasmania where PyCon AU was and spent a couple of much-needed days in Sydney on the way back.  Must see in Hobart:  Bonorong Wildlife Sanctuary, Museum of Old and New Art (MONA).  Must see in Sydney: Opera at the Sydney Opera House (Tosca in my case), Climb the Sydney Harbor Bridge.  The Bridge Climb is really expensive but it's totally worth it.  You can eat spaghetti for a couple of weeks at home to make up for the expense.  I'll do a separate post for food :).

Thank heavens my hardware arrived in Tassie intact and unscathed.  I set it up and did some initial tests with the hotel and conference wifi and was dismayed.

My code was timing out while uploading to Dropbox and when connecting to Twitter.  The wifi was slower than molasses.  I upped the timeouts (and kept upping them) and things sort of worked, sometimes, at around the 50 second mark.  Which was unacceptable - I could just picture myself doing the live demo on stage and saying - "Oh yeah, and now we wait for *50 seconds* while things get uploaded to Dropbox...".  I wouldn't receive the tweet on my phone until a *minute* after the video was taken.  Totally unacceptable.

At the OpenStack hacking session, I happened to run across Tim Serong who had a 4G connector and a bunch of us ended up using it for the hacking session.  Tim was great and offered to help me out by setting up his 4G connector during my live demo of my talk.  I met up with him on Saturday afternoon and did a test run in the auditorium and everything worked swimmingly!  Yaay!  I was so relieved.

On Sunday morning when I was setting up for my talk, I kept a sharp lookout for Tim and was slowly getting more worried/panicky when I didn't see him.  And I only had 10 min left - I was setting up the hardware on the stage at this point.  And then I saw Josh (?) come up with a 4G connector in his hand and he said that Tim had been in a car accident that morning after his car skidded on black ice on the way to the conference.  He had a concussion and was in the hospital!  I felt awful for Tim !  And he sent the 4G connector for me even though he was in the hospital!! I couldn't believe that someone who had been in an accident would have the presence of mind to send the connector through to me!  I was totally floored by how true-to-his-word Tim was and humbled by his actions.  Thank you Tim for being  that rare individual who can be counted on - it is truly appreciated and admired.

Unfortunately, it was too late for me to set up Tim's connector on my laptop (I had about 3 min left to start the talk) and a good samaritan in the audience, Scott, lent me his 4G phone hotspot for the demo.  I did a super quick test and then launched into the talk.  But, in the back of my mind, I was praying that Tim was ok and that he wasn't in pain.  I've broken my foot and been bed-ridden for several weeks with painkillers - it was horrible.  I hoped Tim was in better shape.

My talk went pretty well - the demo worked and lots of people asked great questions!  I found a typo in one of the charts that I had got from the Make website and I need to update it.  After the talk, I thanked Scott for loaning me his mobile hot spot and had some indian food (that's what we got for lunch :).  And I sent emails and tweets to Tim thanking him and hoping he was doing ok.  Poor guy - concussion and broken shoulder - I felt terrible for him.  I hope for his speedy and hopefully-relatively-painless recovery.

There were a bunch of great talks at the conference - on different languages (python, ruby, go), how python is used to forecast water availability, Ed Leafe's talk on using python to build your infrastructure (although, his demo didn't work), great lightning talks etc.  It was a bit exhausting but totally worth it.

And the code sprints were great - saw great synergy and although my devstack configurations didn't work, it was worth a shot.  And Andrew (don't-know-his-last-name), asked about serial debugging using the RaspberryPi and we set it up and tested it and got it working during the code sprint!  I think he'll go build some cool thing once he gets back to Montreal - I *think* that's where he was from.

All in all, it was a good conference.  And I met Samantha who was building cool mindstorm robots !  Yaay - RoboGals!