blog dds


A General-Purpose Swap Macro

A couple of days ago I came up with a general-purpose macro for swapping values in C programs. My colleague Panagiotis Louridas suggested an improvement, and this prompted me to see the two macros got compiled.

Continue reading "A General-Purpose Swap Macro"


Google in China

Google "don't be evil" Inc. launched a self-censored version of its service for China.

Continue reading "Google in China"


A Tree of Mentors

In the FreeBSD project, new committers are assigned a mentor who overlooks their work, until they are judged to be confident enough to work on their own. As lots of things in the open-source landscape, having a mentor is a loan, which we should pay back by mentoring somebody else.

Continue reading "A Tree of Mentors"


Disappearing Hardware

Let's start the new year with a retrospective look at hardware advances. I've ordered some older and current hard disks that were lying around by date. We're taking for granted the increases in disk size, but also impressive is the reduction in size of the control electronics.

Continue reading "Disappearing Hardware"


Project Asset Portability

It's said that real computer scientists don't program in assembler; they don't write in anything less portable than a number two pencil. Joking aside, at the end of the 1970s, the number of nonstandard languages and APIs left most programs tied to a very specific and narrow combination of software and hardware. Entire organizations were locked in for life to a specific vendor, unable to freely choose the hardware and software where their code and data would reside. Portability and vendor independence appeared to be a faraway, elusive goal.

Continue reading "Project Asset Portability"

Creative Commons License Last update: Saturday, December 14, 2019 6:01 pm
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.