Implementing time-outs (safely)

Thyme is a herb that grows in gardens.
Continue reading

Posted in Uncategorized | Comments Off

Bungie coding

For the last few weeks, I’ve been doing what you might call bungie coding: going from high-level to low-level code and back. This week, a whole team is doing it — fun!
Continue reading

Posted in Embedded software development, Software Development, Software Engineering | Comments Off

Adding SPI support to the BrainF interpreter

While at Chicago’s O’Hare airport, waiting for my connecting flight to Reno, I had a bit of time to start coding on my BrainF interpreter again — once I had found an outlet, that is1. My goal was to add something that would allow something else to communicate with the interpreter. There are a few buses I like for this kind of thing, and SPI is one of them.

Continue reading

  1. Apparently, power outlets at Chicago O’Hare are a rare commodity, to the point that their internal website points you to “Power stations” of which there were three in my vacinity, but all of them were fully — ehm.. — used. I finally found an outlet in the foodcourt with a gentleman standing next to it, but only using one socket, so I connected my laptop the the other so socket and a small constellation of devices to the various USB ports on my laptop… []
Posted in VHDL | Tagged | Comments Off

Vlinder Software announces the first release candidate for Arachnida version 2.3

Arachnida is an HTTP(S) server an client framework for embedded devices. It supports HTTP/1.1 and makes it easy to integrate an HTTP server into your application, on devices that may not have a file system. In this release, we’ve introduced … Continue reading
Posted in Vlinder Software | Tagged | Comments Off

Miss(ed) Communication

"Customers are happy with the way it is!"

Miss(ed) Communication

Posted in Scribbles | Comments Off

Radical Refactoring: Breaking Changes

One of the most common sources of bugs is ambiguity: some too-subtle API change that’s missed in a library update and introduces a subtle bug, that finally only gets found out in the field. My answer to that problem is radical: make changes breaking changes — make sure the code just won’t compile unless fixed: the compiler is generally better at finding things you missed than you are.
Continue reading

Posted in Anecdotes, C & C++, C++ for the self-taught, Embedded software development, Radical Refactoring | Comments Off

Improving the BrainF interpreter

As I wrote in a previous post, I wrote a BrainF interpreter in VHDL over a week-end. I decided to improve it a bit.
Continue reading

Posted in Software Development, VHDL | Tagged | Comments Off

Radical Refactoring: Have the compiler to (some of) the reviewing

One of the most common sources of bugs is ambiguity: some too-subtle API change that’s missed in a library update and introduces a subtle bug, that finally only gets found out in the field. My answer to that problem is radical: make changes breaking changes — make sure the code just won’t compile unless fixed: the compiler is generally better at finding things you missed than you are.
Continue reading

Posted in Anecdotes, C & C++, C++ for the self-taught, Embedded software development, Radical Refactoring | Comments Off

Writing a BrainF interpreter … in VHDL

I’ve written parsers and interpreters before, but usually in C++ or, if I was feeling like doing all of the hard work myself, in C.

Continue reading

Posted in Software Development, VHDL | Tagged | Comments Off

A different take on the “optimize by puzzle” problem

I explained the problem I presented in my previous post to my wife overt dinner yesterday. She’s a professor at law and a very intelligent person, but has no notion of set theory, graph theory, or algorithms. I’m sure many of my colleagues run into similar problems, so I thought I’d share the analogies I used to explain the problem, and the solution. I didn’t get to explaining how to arrive at computational complexity, though.

Continue reading

Posted in Algorithms, C++ for the self-taught, Software Design | Comments Off