Ada Lovelace Day: Liane’s mom

October 14, 2014

I don’t know her name, I only ever knew her as Liane’s mom. I suppose if I addressed her, it would have been as Mrs. Pritikin but, in the way of teenagers, I doubt I ever addressed her directly.

Liane was my best friend in high school. It was before the word frenemy; that would have described our academically competitive, personally giggly relationship. We spent a lot of time at each other’s houses.

Her mom wrote code for some classified project, I never knew what, only that it was government related. She would talk about the puzzles and about code (even about the punch cards they were finally phasing out). She liked her job, more than my mom liked her drafting job. Liane’s mom enjoyed being smart and successful. She wanted the same for us.

She was a software engineer before I knew the term. She didn’t talk about harassment at work or being a woman in technology. She went to work, came home tired, and helped her daughter’s friend with physics homework.

When we talk about the people who have made an impact in our lives, sometimes the people who simply and happily persist are the ones who make the biggest difference.

I cried when Liane’s mom passed away. It was maybe a decade after I lost routine contact with her daughter. I don’t think I ever thanked her for setting me on this path. But I do remember. Fondly.

Written for Ada Lovelace Day 2014: Celebrating the achievements of women in science, technology, engineering and maths. This was also posted at the O’Reilly Radar site.


Silicon Chef 2014: The hardware fun continues

October 2, 2014

This is the presentation I gave on the final afternoon of the Hackbright Academy’s Hardware Hackathon. The audience consisted of the women hackathon participants and the mentors (gender unlimited).


Even though there is a lot left to do on your projects, the hackathon is sadly close to over. However, the hardware fun can and should continue. My plan is to talk about why you might even want to consider making a careers of it.


I’ll be quick, I know hacking more fun than listening to blathering, at least it is for me. On the other hand, feel free to eat (or digest). Give yourselves a few minutes to relax, to let your subconscious chew on the problems you need to solve before today ends. I’ve found that bugs often get fixed quicker that way. And I won’t be offended if you sketch on the tablecloths.

Since this is a women’s hackathon, let me start off with a few points there, some things I suspect you’ve already heard.


Blah, blah, blah. Women in tech. Blah. Blah, blahty, blah.

I’m tired of women-in-tech being a discussion point. I just want to be in tech. I don’t want to be a unicorn, that’s just silly.

Nonetheless, we are doing better with girls in science, technology, engineering and math. The trend continues in high school and even through college. That’s where computers and engineering drops off so we still have to keep working on it but I don’t think that’s the real problem any more.


Women leave at twice the rates of men leaving the science, engineering, and technology workforce. 50% of the women who leave use their training to work for themselves, for a non-profit, or work in a startup. The other half abandon their training to work in a different field, and 20% of those who leave, leave the workforce entirely.

I wanted to mention this because I want you to stay…


Consider it a personal plea.

I prefer to work with more women, even though they tend to notice my shoes more than my men coworkers. Maybe because.

It isn’t that women are better than men: just different, with different perspective, different experiences. Diversity matters, especially as our technology grows more complex and more pervasive.

I’ve been in industry for 20 years, mostly in embedded systems, writing software for things that aren’t computers.

I got into software because that is how my brain is wired, code came easily for me, far more easily than public speaking.  I started out working on software for servers. It wasn’t glamourous. But I moved on from there, going to work with a team that did things closer to the hardware.

I fell in love a little bit the first time a motor moved because my software told it to. I hope some of you fell in love a little bit this weekend.


This is the dumbest slide. I wish I’d found something better!

That rush of affection for the hardware and the satisfaction of software puzzles are part of why I’ve stayed in engineering, even through some tough times.

But while I like software, I also like writing, program management, gardening, kittens, and cupcakes. To make a long term go of things, you need more than liking, even more than the crush I had on my motor.

It probably won’t come as a shock but, in industry, some days are not good: work is no fun, coworkers can be jerks, and it feels like everything is broken and will never, ever work.

For days like that, I say: applications matter. The way your software (or hardware) helps your users can make a huge difference to how you feel as an engineer. Applications are what can keep you going through the bad times.

Engineering is hard, there are plenty of reasons to leave: make sure you have reasons to stay. Once I got into working with hardware, I got to do some really neat things.


My first embedded systems job was at HP, in their Bioscience division where I got to make a DNA scanner, the very first on the market.  That part of HP became Agilent and soon after I wandered off to a little company.

We made inertial measurement units. Saying that was pretty much guaranteed to put a glaze on someone’s face and a quiet seatmate on any airplane. However, our units were used to keep airplanes in the air, to increase farming yields by 5% by helping tractors stay in aa straight line). and in race cars. This is why I’e been in a car going really fast around an oval, sometimes the application has only mattered for my own amusement.  Crossbow was of the first to put solid state MEMs sensors into the real world. I was the first technical woman in their company of 50. The other woman who worked there (when I started) was the receptionist.

But IMUs also work on bombs and I didn’t think how much that would bug me until I had evidence of one of my units, smashed nearly unrecognizable, having been mounted on and survived (sort of) a bunker buster. On that day, if you’d offered me a job being a Kindergarten teacher, I would have taken it and never looked back.

Happily, instead, I did the next best thing. I joined LeapFrog to make educational toys. I worked on their infant, toddler and preschool lines. It was hard work: consumer products are about making things cheaply. But working with kids as they tested things was incredibly rewarding.

A few years later, I got to work at a tiny startup, a gunshot location company, notifying dispatchers when guns are fired in city limits, excellent feeling of catching criminals and saving lives.

For me, when the drudgery of work gets to me: too many pointless meetings, stupid slights that might be gender based, all the fear of not being good enough… that is alleviated when I can put it aside to believe I’m helping someone. Whether it is a medical device saving lives, a toy that teaches a child to read, or even the routers that make the information of the internet available to more people, at the end of my day, applications matter to me.


From only personal data, applications seem to matter to other women too. There were more other women in educational toys and in medical devices. There were far fewer in military industrial. And wearables seems to be unsure so far, it is neat so I hope there will be more women there soon.

I like working on hardware because the application is easier to see, is more obvious. This is where embedded software and hardware hacking comes in, whether it is signal processing or low level software development.


You’ve already started, being here this weekend. I’m incredibly impressed by your willingness to give up a weekend to do this. I hope you’ve found some thing that fires the spark of your imagination, something that will give you strength if work (or school) has an unfortunate period.

Also, I hope you hold on tight to the community you find here and accomplishment. I have great faith they will help you persevere in difficult times.

Speaking of difficult times… How many are new to working with hardware? Did anyone fry a board? No? That’s sad. You should try it. At least a capacitor or something.

Note how robust the hardware was, even though I’m sure you touched the board when it was powered. Not being afraid of hardware is important, especially the relatively cheap stuff you have here. You might not believe how much satisfaction a little destruction can bring. More importantly, there is a lot of learning there, if only how to solder new diodes on.

But what if you did fall in love a little this weekend? What if you want to do this more?


I’m not going to tell you it is easy.

Most embedded software engineers started out as either a software engineer who got sucked down into the depths of the system. Or as a hardware engineer who enjoyed fiddling with the software.

Their educational background is either computer science (like the books on the left) or electrical engineering (books on the right). But embedded software is a combination of these two disciplines.

A new embedded systems engineer is cruising around with only half the knowledge they need. There has been a fair amount of talk about the “impostor syndrome” in engineering, where a person feels like they don’t belong and are pretty sure they’ll be discovered and ostracized.

I think this goes double for embedded engineers: until they can pick up the basics of the other discipline, they are definitely faking it. And there will probably always be some gaps. That is why many of my best friends are hardware engineers, they’ve helped me fill in the gaps.


And sometimes, the electrical engineers let me borrow their toys. Or help me build my own bench.

However, to get started, you don’t need a ton of book learning and a you don’t need a whole bunch of gear.

Those things can help but with the availability of Hacker Spaces and teams like you’ve met here, but they aren’t required.


What you really need is time and attention: to keep doing it.

The hardest part is getting started. You’ve done that this weekend. Now you just want the fun to continue.

So I hope you take your hardware home: I hope you fight over those boxes, or go ahead and buy your own gear (or borrow it from someone else). People who like hacking on hardware often like to get the latest stuff and are generous with their hand-me-downs.

Also: Ask, let people know you want to do this. And be generous with your gear.

Remember your first technological hardware crush and share it with other people.


As you share your learning, know that you are not alone. There is a huge community of people learning about hardware. They share what they learn.

You’ve already seen some things SparkFun and ElectricImp have for you. I don’t know if you saw that they have extensive tutorials and lots of reference code.

Adafruit is a lot like SparkFun: amazing hardware and excellent tutorials. MakerShed is an offshoot of Make magazine, a source for all sorts of inspiration.

Hackaday is blog site, showing you other people’s hacks, often how they built them and letting you interact with the makers. You can put your projects there and get advice, encouragement.

This slide could be a lot more crowded. Suffice to say that you are not alone in this.

I know from you will be taking away prizes, knowledge, enthusiasm and confidence. I have a few more thoughts I hope you take away from this weekend.


Software can teach children their letters and software can save lives by fighting crime and improving medicine. More than algorithms and data structures, software always has an application, one that can make the world a better place.

Building a weekend project to make a motor move and lights blink is awesome, especially if you do it from the web; it shows how we can touch the physical world through our devices, through our code.

You can go a lot further than this: the opportunities are thrilling. Working with hardware is the best sort of software.


Me, three hours later: dang it, I totally forgot to mention the podcast!

Thank you for sharing your lunch with me, I wish you the best of luck with your projects.Tweet me when you have a blog post about your piece, I want to see what happened and where you go from here.



Things I want

September 24, 2014

I suspect that these this exist. Or that I could build them if they don’t. And yet, I’d rather someone send me a link where I can just buy them.

  • A tiny board that I can hook to my computer to download sounds, then hook to a button + battery to play them. My neighbor down the street has some action figures that would be hilarious to mess with. Should run for a long time off a coin cell battery. Also, possible bonus points for making it BTLE updatable (but cheap is important too so it is only possible bonus points). [Update: Adafruit just announced what I want: Audio FX Sound Board. It is a little bigger than I'd hoped but everything else is pretty good. I just hope they get on with the rest of my list.]
  • A USB rechargeable ring of battery, 3.3V and at least 350 mAh. Would be nice if it was already the right size (and shape, with connectors) to plug a MicroView into. And by “ring”, I mean, should fit my index or thumb.
  • An LED that follows along with music, can tell me if my singing along is sharp or flat. Must work in the car, with the radio. Second version should work in shower, no external music, just whether I’m in a key (any key).
  • A handheld microphone that wirelessly (BTLE? iphone dongle?) connects to my phone to be used in live podcast recording. Also, an app with few bells and whistles but the ability to reliably record. Bonus points for an accelerometer in the mic that causes two channels to be recorded separately, depending on angle of mic.
  • 2 and 4 AA battery holder with (very efficient) power switchers that provide clean 3.3V power.

Let me know when you finish or find them.





Beagles in Paris

September 24, 2014

I’ve been working on a way to demonstrate a networking feature. I should tell you all about the networking feature but let’s just pretend that, like all routing protocols, we don’t really care about how it works.

Actually, that is why it is hard to demo networking protocols: either the demos do something and everyone says, “oh, I could do that over TCP/IP” or they don’t have any interface other than wireshark and everyone says, “wow, I’m bored.”

Yeah, I’ve been working in networking and missing my microprocessors quite a lot.

ANYWAYS… the demo! I have:

  • 8 BeagleBone Black, rev Cs
  • 8 LCD screen capes (these are absolutely marvelous)
  • 8 Webcameras
  • 8 brochure stands
  • 2 100W power supplies (each feeding four units, 5V 2A)
  • 1 hub to rule them all
  • 1 laptop to run the obligatory wireshark
  • Assorted cables (Power, Ethernet, one USB for config/debug)

We’re running something that acts like Dropbox so they all share the same data. (Seriously, I could tell you how but I’d use phrases like “Bit Torrent for the Internet” and get dirty looks from my workplace or crossed eyes from you.)

Before I go on with a few details about the build, how would you demonstrate Dropbox? As a walk-up, show-n-tell style demo on a crowded expo floor? Something that makes sense once you use it is remarkably complex for a demo.

For my demo, every second, each BBB takes a picture. It displays it on its screen and puts it in the shared directory. In another window, it uses a slideshow program to look at all of the pictures in the shared directory. Think of it like a security system, I show you what I see and what everyone else sees. This setup lets people see the how fast files are sync’d and the Ethernet traffic that passes on the wire to implement the protocol (look wireshark, no TCP traffic!).


The main difficulty I have working with the single board computers like BBB and Raspberry Pi is that I don’t know the overly crowded space. Good software might have terrible websites, yet vaporware always looks real. It took me a multiple hours of research and testing to settle on streamer to take still pictures and on feh to display them.

For the most part I used three units to do the setup and testing. Eventually, I got it working well-enough to go ahead and set up on all eight units. That was when most of the problems actually showed up, of course.

My pictures kept getting overexposed. They’d start out ok but get lighter all the time until all images turned white if the system was left alone. Of course, it took some time to figure out that the exposure setting was the problems since if I interacted with the units, it took much longer to get to white. Eventually I searched for possible causes, downloaded v4l-utils so I could try v4l2-ctl which communicates with the camera to change settings.  I added it to my start script and apt-get installed on all 8 units.

However, my pictures kept being overexposed at the top, for the top 20%. It wasn’t due to light flicker, pointing at a window (or covering the lens) got the same top part lighter than the rest image. It was definitely the image capture program. I’d put camorama as a step to verify the webcam worked from the display (it is a touch display, so pretty, so nice).  It didn’t have the same problem, but it doesn’t get stills. So I tried a different capture program: fswebcam. That didn’t help the problem and all a change of each control parameter didn’t help. However, fswebcam lets me take a bigger picture and then crop it down. So… problem solved-ish, once I apt-get installed on all 8 units.

I don’t know if that was an artifact of the camera I chose (the fairly expensive Microsoft LifeCam HD-3000). I tried a $6 from the random-cheap bin at Central Computer and it worked fine though the stills didn’t look as nice so I put it in a drawer, forgot about it. I may try to see if it causes the top-image-light problem but since I’m locked into the gear I have for this month, the only way is forward.

Though the slideshow program has been the stable and reliable part of the system for the last few weeks, I’m not sure I like feh. It has a term that will cause it to reload the image. So if I am on Charlie, looking at Alpha’s pictures, feh can reload every second so it shows the latest of Alpha’s pictures. Well, it can do that only if it is not also in automatic slideshow mode. It can reload images or change images. It is as though there exists only one timer in the world and feh must do the best it can with its feeble resources.

It is open source, I could download the code, understand it, fix it, and copy it to all of my units. Or I can make the slideshow a little faster so you are never stuck on one unit for too long.

The slideshow already gets a bit frenetic. Even with only three units it is a bit dizzying: the BBBs bright blue blinking lights, the screen’s orange blinking light and green shining one, the slideshow updating its window every second or ten, and the captured image updating every second. I had five units working Wednesday and will have seven or eight working all at once tomorrow.

I’m not sure how many they will run in Paris, it is ok with me if they only unpack three. And, I’m not sure I’ll have all eight working in the lab tomorrow because DeltaPuppy seems sick. Who gets a kernel oops in a mv command? I sort of expected that when I named GolfPuppy and HotelPuppy, those sound like slackers. Delta has spent more time getting its hardware put on different mountings so maybe it just got knocked around too much. (Yesterday, the mechE turned down my offer of ESD bag and carrying box, popped it into his bag; I begin to see why Delta is sick. Though, maybe this isn’t a sick puppy, just a victim of happenstance, he isn’t always sick…)

Our intern is going to Paris to herd the demo along (and a couple other dogsbody duties [omg, pun totally intended, snicker]). He didn’t even flinch when I gave him the two page long “here’s how you run it” instructions. Not even when I gave him the five page long “here’s how you build the system”, told him he needed to know in case anything went wrong. I think he’s really excited about going. I hope he brings me back something French.

I’m not going. I thought I might want to go. But things here are keeping me here and that’s ok.

The multi page instructions have been replaced with an expect script. Now it takes N lines to set up N units. And you don’t have to look up their identifiers, just know the first eight letters of the international phonetic alphabet. (The intern doesn’t know about this improvement yet, I’m looking forward to surprising him.) Also, expect is wonderful. I haven’t used it in years but it really is efficient. Now I know why my coworker asked why I was typing things instead of making a script.

Speaking of scripts, I wish I could turn off all the cruft that starts with the BBB. There are all these programs and I don’t really want them running (heck, I don’t want them there). I know I could edit init.d but I’m a little worried about breaking something. I haven’t yet seen a good guide to stripping down the BBB Debian system to the bare bones. Anyone have any suggestions?

Overall, I like the BBBs, I love these screens, I’m indifferent about the webcams, and I’m uncertain about the final mounting. I retain my Linux-is-hard-because-nothing-quite-works feeling. There is little standardization (one program likes to use man, another info, another has a sparse man page but gives a nicely detailed output with a command line –help invocation). And I like that this demo is built from off the shelf components, only a bit of extra software (most of which the demo team will provide in tutorial sessions). It has an “I built it, so can you” vibe going for it.


Musings on Smelltaste

September 4, 2014

There is a word for smell (like when we smell roses) and a word for taste (mmm… ice cream). But there should be a word for the combination of them. As I have identified the deficit, I will use smelltaste until someone gives me a better term.

There are times when the smelltaste is exceedingly different from the smell or the taste of something.  Take Japanese sake as an example, if you smell good sake, it is often floral. If you drink it, the tastes ranges but is often fruity. If you take a whiff and then a drink, it tastes like tears of happiness. Errr… I mean it is a combination of fruity and floral that reminds me of honey without sweetness (yeah, I know that makes no sense, but still).

On the other hand, if you sample the smelltaste of cheap whiskey, it is a sinus burning phenomenon followed by coughing pain.

As much as I love champagne, its smelltaste is not often as good as its taste (which, I think, is why I like the less yeasty, less scented sparkling wines).

When you want to learn about an alcohol, one of the first things you need to figure out is if it should be tasted or smelltasted.

Fresh-baked chocolate chip cookies and hot coffee are two items that are almost all smelltaste. The smell can be wonderful but the taste by itself is not as good as you might expect (yes, I did just give you an excuse to make cookies this afternoon, its for SCIENCE).

I got to thinking about this last night… while neither the smell nor the taste is reminiscent of anything particular, the black licorice smelltaste of Pastis reminds me of my childhood.