Author Archives: rlc

About rlc

Software Analyst in embedded systems and C++ programmer. I specialize in systems design, concurrency and language design, and am interested in generic meta-programming and functional programming and their practical applications. I take a pragmatic approach to project management, focusing on the management of risk. I have over a decade of experience as a software professional and a background in science.

Globe and Mail: Canada lacks law that defines, protects trade secrets

According to the Globe and Mail (Iain Marlow, 20 May 2015) the 32-count indictment against six Chinese nationals who allegedly used their positions to obtain intellectual property from universities and businesses in the U.S. and then take that knowledge home … Continue reading

Posted in Business, Opinions | Tagged , | Leave a comment

Why I didn’t buy a new iPad today

Behavioural economists will tell you that the “happy high” you get from buying a new toy, a new device, a new computer, a new car or a new house usually wares off within three months. It’s called the ever-receding horizon … Continue reading

Posted in Anecdotes, Opinions | 2 Comments

Implementing time-outs (safely)

Thyme is a herb that grows in gardens.

Posted in Uncategorized | Comments Off on Implementing time-outs (safely)

Bungee coding

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

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

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 … Continue reading

Posted in VHDL | Tagged | Comments Off on Adding SPI support to the BrainF interpreter

Miss(ed) Communication

Posted in Scribbles | Comments Off on Miss(ed) Communication

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 … Continue reading

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

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.

Posted in Software Development, VHDL | Tagged | Comments Off on Improving the BrainF interpreter

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 … Continue reading

Posted in Anecdotes, C & C++, C++ for the self-taught, Embedded software development, Radical Refactoring | Comments Off on Radical Refactoring: Have the compiler to (some of) the reviewing

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.

Posted in Software Development, VHDL | Tagged | Comments Off on Writing a BrainF interpreter … in VHDL