Simulate Hardware With Tests

I’ve long been fascinated by the idea of automated testing of production software. The problem I faced in implementing anything like “automated testing” was that I couldn’t figure out how to do it with embedded firmware. Writing firmware can be tricky. There are often dependencies that you can’t control. Typical problems include:  How do you […]

Version Control is a Solved Problem

There are a lot of really interesting open problems in software but there’s one problem that I keep seeing professionals walk into that deserves a mention. Not because it’s an unsolved problem but because it has actually been solved. Many. Times. Repeatedly. Let me cut to the chase. If you write software, you need to […]

Optimize Second

When I was first starting out as an engineer, I was tasked with a job that sounded easy but quickly became a challenge for me. I was working with a senior engineer to develop a embedded controller for a piece of proprietary hardware and our system requirements called for frequent polynomial fits based on raw […]

Ideas Are The Easy Part

A friend of mine has a really neat idea. He wants to develop an online tailoring service that will leverage skilled people overseas to produce suits and clothing for people here in the U.S.A. In case you’ve never experienced custom made clothing, the fit is truly amazing and will almost always leave you wanting more. […]

Consider The Customers

It often surprises me when my fellow software engineers seem to forget our customers when designing software. There are at least three major customers for any piece of software and it pays to remember their needs with every software project. The first group of customers are our bread-and-butter. They are the users of the software; […]