Thursday, March 20, 2014

For PyCon 2014 attendees for the PiDoorbell Tutorial

I had emailed a welcome message to all the attendees via the PyCon tutorial site and after pinging a couple of people, realized that nobody received the email!  

So, I've alerted the PyCon tutorial organizers (Thanks Stuart, Ruben!)  about this and while they investigate this bug, I'm writing a blog post to let our attendees know about hardware and software prep for our tutorial.

Hello PiDoorbell tutorial attendees !!

We are thrilled to have you in our hands-on workshop and are busy prepping all the hardware kits that we will hand out to you in the class.

Please note, we will be holding "office hours" on Tuesday evening (Apr. 8) in case you need help with set up or have questions.  We don't know the room but will announce when we do.

Please remember to do the following preparatory work before you arrive:

1. Bring your RaspberryPi and the power cord.  We will provide SD cards with static IP.
2. If you have an Logitech c310 or c270 USB webcam, please bring it.  Bring any other USB webcam you might have - if we have time, we can try to help you get it up and running
3. Wifi will probably be atrocious, so, we are preparing USB sticks with all the code, handout and anything else you might need.
4. Please bring an ethernet cable to connect your RaspberryPi to your laptop directly.  We are configuring it for static IP - once again, to mitigate wifi issues at the conference.   Rupa has nightmares about bad wifi.
5. If you are going to be using a windows laptop, please let us know.  We will try to accommodate you.  We are usually used to *nix or Mac OS.
6. If you have a smartphone, feel free to bring it.  In the optimistic hope that the wifi will be adequate, we would love to try an end-to-end test.

The tutorial will be hands-on and you will be wiring up a breadboard and connecting to the RaspberryPi GPIO pins.  We are expecting the classroom to have adequate power supply for all attendees.  We will provide a hardware kit to each attendee at the beginning of the class with the sensor, breadboard, jumper wires, resistors, SD card, wifi dongle and serial TTY cable.

We are really looking forward to meeting all of you and having a great workshop.  

Stay tuned for more updates  and feel free to ping us if you have any questions/concerns/suggestions or just want to say Hi :).

May the code be with you !

PyCon 2014 PiDoorbell tutorial - A LABOR of love and sheer hard work....

This is probably the first and only hardware/software tutorial offered at any PyCon.  It has been a labor of love for me.   A colleague of mine at work mentioned that he didn't understand how it could be THAT much work, so I figured I'd document some of the things I had to do to pull this off (so far).

Everything from 
  • building PiDoorbell, 
  • finding a co-presenter
  • preparing the tutorial proposal including detailed steps of what would be taught including timing
  • to spec'ing out a hardware kit that I wanted to give attendees as part of the tutorial,  
  • researching and determining prices, 
  • negotiating with PyCon to help with the finances as much as possible,  
  • re-researching prices to bring it down as much as possible, 
  • finally getting PyCon's support for some of the hardware (only for registered attendees),
  • not know how many units to order because I didn't know how many students we had
  • making a call on a final number so I could order parts from around the world and get them on time 
  • ordering all the hardware, 
  • paying for all of it (will get reimbursed depending on registered attendees),  
  • testing the sensors which I had to order from Hong Kong, 
  • seeking out and confirming teaching assistants from the bay area to fly to PyCon to help with the tutorial, 
  • finding finances to offset some of the Akkana's and Deepa's costs to attend, 
  • donating all of my ABI and IEEE awards to CodeChix so that I could pay for TA's attendance at PyCon
  • setting up a series of hacking sessions and coordinating to ramp up all TA's, 
  • dusting off PiDoorbell and powering it on so that I could remember all the details (haven't touched this in several months because of crazy escalation-ready bug I've been working on at work) as well as organizing CodeChix events, partnerships, fiscal sponsorship stuff, campaign etc.
  • receiving all the ordered hardware and checking to see if anything was missing
  • getting really sick with some damn flu-throat-virus-like-thing that knocked me out of commission for a good 1.5 weeks in March so I couldn't make any progress on anything
  • not being able to get serial tty console working on some of the SD cards that I had ordered
  • ditching serial console, ordered a mini LCD monitor with HDMI input and did a dance when it arrived
  • spent way too much time debugging why the mini LCD wasn't working - nothing was showing up.  Turns out the SD card was corrupted - needed a reformat.  It worked on a different SD card. Yaay.
  • going through first boot setup for 20 SD cards and configuring each one with static IP since I expect the conference wifi to be non-existent and don't want to rely on it.  Thanks to Serpil who did this tedious task - she is awesome!
  • getting the RPI GPIO interface up and running with the new sensors, Akkana's code changes, finding & fixing bugs in the code as well as my circuit (need stronger glasses).  Thanks to Deepa for all her help and support through this at our last hacking session.
  • incorporating RPI GPIO into PiDoorbell "recognizer" code  and getting that to work
  • discovering that the dropbox code to retrieve the url of the uploaded file no longer works because of the change in the dropbox api
  • finding a different solution for this problem and finally getting hold of the url of the video file from dropbox and getting notifications out
And that's just a few of the things.  So much more left to do including shipping all the hardware (fingers crossed), TA ramp-up, figuring out logistics for each TA (everyone arriving/departing at different days/times), setup/teardown for office hours, setup/teardown at tutorial, slides, handouts, agenda and flow etc. etc. etc.

But, it's all good.  It's going to be a great tutorial and people will love it.

Monday, March 10, 2014

On International Women's Day

It was International Women's Day on March 8 - just a couple of days ago.

I was at the Women TechMaker's Summit at Google Mt. View (won a lottery ticket) and I was blown away by the incredible women that presented.

And several women asked me if I had written a blog for IWD.  So, of course, I had to....

Some of my thoughts over the last year have been dictated not so much by technical issues as by everything else.  So, I'd like to share some of that...

  • Life is unfair -  Yup, deal with it. There are times when no matter how hard you work, how dedicated you are and how much you accomplish, you might never get recognized for your contributions, be passed over for promotions/rewards/raises, not have your friends/family understand how important it is for you to to do what you do etc.  It's not you - c'est la vie.  Not everything will be successful even if you gave it your all and tried your best.  Don't let it get you down for long - evaluate changes that you think/feel you can make to put yourself in a different place/project/situation and understand that everyone goes through difficult times when despair creeps up and engulfs you.  It will not last - only you have the power to dispel it and try again.  That is the key.  And try not to blame others (even if it's warranted) - it will only drain you of valuable energy and balance.  Rise above it and try again.
  • Don't whine - Nobody likes complainers or whiners - face it, if someone complained to you all the time about all sorts of stuff, you'd be avoiding them too.  Sometimes, it's really hard to not complain - especially, if you're boiling up about something and know it's unfair (see above).  Take a deep breath, go to a place (physically or mentally) that calms you and put yourself in the shoes of the person you want to complain about.  What sort of life must they have to make them that way?  Maybe they didn't have some of the good things in life that you did and that might be triggering their behavior.  Give them a break and don't waste time thinking about this for long.  Find something constructive to do and focus on and you will see that others around you will also do the same and follow your lead.  And, yes, that is what leaders do.  They find a way to get themselves and others out of serious messes.  And if you see someone else doing this - make sure you take the first step and let them know you appreciate their efforts.  They probably don't expect it but, it will make YOU change and take a step into a better frame of mind (and world).
  • You cannot have it "all" - Focus on what is important to you.  Even if it conflicts with cultural norms, isn't "cool"/"trendy" and people think you're nuts and not following the "right"/"predetermined" path.  And there are times when you will go through self-flagellation about various things that you expect of yourself and failed at.  But, you cannot have it "all" - sacrifices and hard choices are what make you who you are.  If things are easy (money, fame, friends, status, family, support etc.),  we tend not to value them.  So, make those choices and sacrifices, take the harder step - the one that no-one else around you is taking because they know it's going to be killer-hard - and give it your best shot.  Even if you fail (in many cases, especially, if you fail), you will know that you gave it your best and tried what no-one else would/could.  That itself will transform your personality and character (as long as you keep a balanced view of your trials/failures) and you will be a better person because of it.
  • Watch that competitive streak - Competition is what our industry thrives on.  As engineers/developers, we are born with tremendously competitive streaks.  It is what pushes us forward, brings the new/better ideas, gets us to the next level.  But, be careful - make sure you can control this particular character trait.  There are times to be competitive (technical achievements, competitions etc.) but if you let this trait penetrate your personal/ close friend circle, it can destroy many things.  Be wise and learn when to throttle this - there are times/situations in life, when not being competitive will reward you with more stability, harmony, faith/trust, integrity and closeness.  These are the things that life is built on.  And it is hard to do - I struggle with this everyday.  But, practice makes perfect.  Keep at it.
  • No - it is not THE MEN - We all face challenges in industry as women engineers.  In many instances, challenges are the result of culture, practice and apathy.  We are not the only ones facing these challenges - EVERYONE - regardless of race or gender has to deal with challenges at work or at home.  Per the ABI study on why women leave the industry, 30% of women that leave the industry, leave it because of working conditions such as low pay, no advancement and lots of work.  I have met and spoken to many men who would also like to leave the industry for the EXACT same reasons - except they can't.  They have families to feed, clothe and provide for.  And sometimes, the wife wants new things all the time and he has to "provide".  So, before rushing to judgmental thoughts, think about the most important question - "Why" ?  We are engineers/scientists/mathematicians/physicists - it is in our DNA to ask "Why".  And let's not try to make sweeping generalizations about "men" being the problem.  It goes deeper than that.  Think about it.  Question and keep an open mind.

Lastly, I thought about Pavni Diwanji's talk and how her father mortgaged his house, her mother worked as a banker (extremely rare in India in the 70's/80's) and how they stood up for her to give her every possible chance to pursue her dreams.  And how their sacrifice, in turn, made Pavni fight harder and smarter than everyone.  It is hardship and perseverance that sets people apart -  not a life of ease and complacency.  That said, there needs to be balance - so each of us has to find our own equilibrium, so to speak.

Happy International Women's Day - may your hardships and sacrifices define you and may you be a beacon of light, impact and positivity in this world, despite them.

And, as always,

May the code be with you....

Saturday, March 01, 2014

PyCon hardware is finally at hand :)

Finally, after months of emailing back/forth, changing headcount, funding needs, price variations and not being able to find the requisite number of sonar sensors in the US, I finally have all the hardware that we need for the PyCon tutorial in April !

20 units of wi-fi dongles, sonar sensors (from Hong Kong), breadboards, jumper wires, SD cards, serial tty cables.

The not-so-good news being that my fever and pharynx are now battling for higher priority and all I can do is wait for the antibodies to kick into high gear and get me well.  Codeine sure helps :).  So, time to rest, sleep, lots of chicken soup and hope to be a lot better by next week so I can catch up on work, catch up on CodeChix stuff and have enough content for PiDoorbell to ramp up my teaching assistants in March.