Custom BLE Services with the nRF SDK

It’s very hard to write an introduction to an article about BLE without sounding a little ridiculous. What are you going to say, that it’s all around us today? It’s been all around us for five years. It’s the #1 choice for IoT applications today, owing in no small part to the fact that you… Continue Reading Custom BLE Services with the nRF SDK

The Modbus CRC Endianness Kerfuffle

Modbus is a quaint protocol. It’s one of my favourite protocols — it’s not very convenient to use, but it’s pretty convenient to implement and remarkably flexible for an otherwise pretty opinionated protocol. Its specs are very self-contained and easy to follow. That being said, like all protocols that are a) from an entirely different… Continue Reading The Modbus CRC Endianness Kerfuffle

The Compatibility Struggle Looming Over the Horizon

It’s been nearly 20 years since Rob Pike’s infamously won the “Best at saying what we’re all thinking” prize with his talk about how systems software research is irrelevant. And, while systems software research is doing slightly (though not glamorously) better than in 2000, it’s still mostly circling the drain. That being said, it’s not… Continue Reading The Compatibility Struggle Looming Over the Horizon

Disk Space Isn’t Meaningless

It’s impossible to discuss Electron without the topic of space being brought up, and once that happens, you have to survive the talk about how storage is cheap today and space just doesn’t matter anymore. Here is why I think all that is bogus — for bonus points, without any unironic use of the terms… Continue Reading Disk Space Isn’t Meaningless

How Relevant are C Portability Pitfalls?

An article about C Portability Lessons for Weird Machines has been making the headlines on the Interwebs lately. It’s full of interesting examples, though none of them are from machines relevant to the last two decades of high-end computing. I think these lessons are still relevant today, though, and that you should still pay attention to… Continue Reading How Relevant are C Portability Pitfalls?

DMA-based SPI on SHARC ADSP-21489

If you have resorted to Google after having uselessly pored over AD’s reference manuals, hoping to find at least a proper hint about how to approach this, if not a bit of code, it’s OK, you can stop now. It’s right here. Your quest is complete. In the hope that no poor soul will have… Continue Reading DMA-based SPI on SHARC ADSP-21489

Design for Debuggability

There is a part of writing a Linux BSP that I dread profoundly, and it’s among the most trivial ones. Specifically, I’m talking about that part where you’ve written a new device driver, or modified something in an old one, or you just need to configure it. You’ve added the right incantation in the device… Continue Reading Design for Debuggability