Category Archives: programming

Ember is hiring in Boston!

My company, Ember, is hiring for embedded software engineers and QA engineers in Boston: http://www.ember.com/company_careers.html We develop the chips, software, and tools for wireless sensor networks. I’ve worked at Ember since December, and it’s the best place I’ve ever worked (and I’ve worked at some pretty good places!) And, no joke, all of my coworkers [...]

Embedded software and open source

Embedded guru and author Jack Ganssle’s latest “Embedded Muse” newsletter has a lot of good commentary on open source in embedded software projects: http://www.ganssle.com/tem/tem199.htm I subscribe to very few newsletters, and Jack’s is one of them.  I read every issue, it’s that good. If you work in embedded software, or software of any kind, you [...]

I love embedded, and so does Woz!

I love working in the embedded world.  Hardware + software = a great time and a great career. I came across this fantastic quote by Steve Wozniak in “Making it Big in Software,” by Sam Lightstone.  Woz is talking about designing the Apple II: “And I did every piece of software from the ground up, [...]

Technology vs. Psychology

Do you write software for a living?  Or design hardware?  Or maybe some of each?  While the particular projects any two software or hardware designers do may be worlds apart, we can characterize what we do in the same way: our work is 20% technology and 80% psychology. Most of the work we do is [...]

Define the problem, define done

I. M. Wright’s latest post “Green fields are full of maggots” talks about defining the problem and defining done. My favorite quote (which is, itself, a quote): “What’s so evil about general solutions? After all, your code could be both a floor wax and a dessert topping.” He makes some great points about building software [...]

Presentation Presence

A software vendor gave a sales presentation at my office today. The vendor sent two people to present – a sales guy and an engineer. The sales guy started the pitch with an overview of the software. Sounds great, says us, but we need a bunch of technical details to know if it’s worth pursuing. [...]

How to tell you’re a bad programmer

How to tell you’re a bad programmer: 1. You think you’re an awesome programmer. 2. But no one else has ever told you so. 3. You’ve never looked at old code you wrote and thought, “Ewwww! That is horrible code! What was I thinking???” 4. You’ve never looked at someone else’s code and thought, “Dang, [...]

Baby Steps

A few seemingly unrelated thoughts, and then a tie-’em-all-together thought: 1. Rands’ recent post on “Saving Seconds” really resonated with me. I forwarded it to my wife and said, “See, this is how I think!” so that she could better understand why I optimize the shortcuts on our PC, or the way I load the [...]

Using Stack Overflow

Joel Spolsky and Jeff Atwood are starting a new website called Stack Overflow, it’s going to be a free programming Q&A website. I’m a fan of both of those guys (I even have an autographed copy of Joel’s book!), so I signed up to be a beta user to see how it develops. I was [...]

The Death Of the Desktop

And no, this “death of the desktop” post is not about how mobile devices or the browser is taking over the world – it’s about taking a step back and rethinking how we actually use computers (desktop, mobile or otherwise), and then trying to take a more usable step forward. Thanks to Chris Jones for [...]