In Tech, Reasoning by Analogy is Bad

One of the easiest ways to “settle” a technical discussion is to resort to an analogy. It took me three minutes of browsing HN (why do I keep doing that to myself?) to find the first one today. When operating systems and computers are discussed, a car analogy is sure to pop up within minutes.

I want to argue that reasoning by analogy is bad when technology is involved. And, more generally, that analogies and “common sense” are bad things to rely on in matters of science and engineering.

Continue reading In Tech, Reasoning by Analogy is Bad

Computers, Programming and Free Information

I just read that the Max Planck Society discontinued its agreement with Elsevier and this sent me whirling back to a time when I was involved in research — and that was the time when I gained even more of an appreciation for the programming community.

Continue reading Computers, Programming and Free Information

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 them, and that you  should still write “proper” code. Here is why.

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 to bang his head against the desk trying to piece together the countless pieces of this puzzle, I did a quick write-up to show you how to do SPI communication with DMA on ADSP-21489. This should probably work (with obvious adaptation) on any DSP in the same family, and it should be easy to adapt if your DSP is the SPI slave, not the master, as below.

Continue reading DMA-based SPI on SHARC ADSP-21489

Why is Azure Such a Big Deal for Linux?

We are nearing the twenty-year anniversary of the Halloween documents, and in this context, I find myself routinely answering the same question: why is Azure so important for Linux and Microsoft? Why is it such a big deal?What’s this EEE that old people keep talking about?

Continue reading Why is Azure Such a Big Deal for Linux?

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 tree, you boot, and nothing happens. The module isn’t probed, or your changes are silently ignored.

Continue reading Design for Debuggability

RISC-V: You Should Be Looking Into It Today

If you’d have told me five years ago that soon enough I will be able to drop a Cortex M IP in my design, at no price at all, there is a good chance that I would have said something snarky about optimism and how harsh reality actually is.

And yet here we are. Arm just started giving Cortex M IP cores away.

Continue reading RISC-V: You Should Be Looking Into It Today

What the Linux CoC tells us about FOSS in 2018

It turns out that the rumours about impending doom are false. I have left my bunker today and it appears that the sky has not yet fallen, and that the world as we know it still exists. And yet, the unthinkable has happened: Linus Torvalds apologized for his behaviour, and has even decided to take time off in order to improve it. And a controversial (?) Code of Conduct has been adopted.

I do not want to defend or attack this decision in this post (although, for the record, I would certainly defend it). What I want to talk about is how the FOSS world has changed in the last fifteen years or so, and why I think this happened.

Continue reading What the Linux CoC tells us about FOSS in 2018