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.

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 | Leave a comment

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

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

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

Optimization by puzzle

Given a query routine that takes a name and may return several, write a routine that takes a single name and returns a set of names for which each of the following is true: For each name in the set, … Continue reading

Posted in Algorithms, C & C++, C++ for the self-taught, Software Design, Software Development, Software Engineering | 1 Comment

Looking for bugs (in several wrong places)

I recently went on a bug-hunt in a huge system that I knew next to nothing about. The reason I went on this bug-hunt was because, although I didn’t know the system itself, I knew what the system was supposed … Continue reading

Posted in Anecdotes, Software Development, Software Engineering, Software Testing | Tagged | Comments Off

Re: E-mail

The Globe&Mail dedicated half a page of the Report on Business section to managing your inbox today. People who work with me know that if you want to get ahold of me quickly, E-mail is not the way to go … Continue reading

Posted in Opinions | Comments Off

ICS Security: Current and Future Focus

The flurry of DNP3-related vulnerabilities reported to ICS-CERT as part of Automatak’s project Robus seems to have subsided a bit, so it may be time to take a look at where we are regarding ICS security, and where we might … Continue reading

Posted in Industrial Automation, Smart Grid | Tagged , , | 6 Comments

Is Open Source software security falling apart?

There have been a number of well-publicized security flaws in open source software lately — the most well-publicized of course being the OpenSSL Heartbleed bug1. Then there’s the demise of Truecrypt, recent bugs in GnuTLS and recent bugs in the … Continue reading

Posted in Opinions, Software Development, Software Testing | Comments Off

“A camel is a horse designed by a committee”

I don’t usually use this blog to vent frustration, but I’ve been reading standards lately… There are four versions of the horse: Pony. Horses as the Good Lord intended them. Strong and sturdy, yet soft and cuddly; obedient yet intelligent; … Continue reading

Posted in Software Engineering | Comments Off

What the industry should do with the upcoming Aegis release

Automatak will be releasing the Aegis fuzzing tool publicly and for free for the first time in a few days. Like I said yesterday: Can hardly wait: "2 weeks until Aegis™ release" — Ronald (@blytkerchan) March 1, 2014 to … Continue reading

Posted in Industrial Automation, Smart Grid | Comments Off