Category Archives: software

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 [...]

Assigning Task Priorities with RMA

Embedded gurus Michael Barr and David Stewart have written a couple of great articles about assigning task priorities with RMA (the Rate Monotonic Algorithm): Introduction to Rate Monotonic Scheduling, by David Stewart and Michael Barr 3 Things Every Programmer Should Know About RMA, by Michael Barr The first article lays out the basics: RMA is [...]

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 [...]

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 [...]

Data is more agile than code

Peter Norvig talks about the need for a startup company to go fast – and also in the right direction – at his Startup School 2008 talk. “Sure you gotta go fast, but if you’re not getting feedback to figure out if you’re going in the right direction it doesn’t matter how fast you go.” [...]

Knuth hates XP

In this recent interview, Donald Knuth says: “Still, I hate to duck your questions even though I also hate to offend other people’s sensibilities—given that software methodology has always been akin to religion. With the caveat that there’s no reason anybody should care about the opinions of a computer scientist/mathematician like me regarding software development, [...]

Understanding C pointers: Part 1

As I said in “Understanding C pointers: Part 0,” I’m going to try to explain how C pointers work. Let’s start with the basics. Here’s some simple C code: int x = 23; int y = x; You can think of each variable as a box which holds the value of that variable. So in [...]