Back in 2001, while a PhD student at Uppsala University and IAR Systems, I wrote what has to be the most popular and long-lived article I ever did: “Getting the Least out of Your C Compiler“. It was an Embedded Systems Conference class that I also presented in 2002 (after that, I changed jobs to Virtutech and therefore C programming was no longer my official topic). However, the text has lived on. It was featured as a chapter in the “Firmware Handbook” edited by Jack Ganssle, translated into German by IAR Germany, and has popped up in various places from time to time.
Last week, it resurfaced at Embedded.com, with an attribution that was initially wrong.
Continue reading “Getting the Least of our your C Compiler – The Best Article I have ever written?”
In the April 2009 issue of Communications of the ACM, Mike Shapiro of Sun (or should we say Oracle now?) has an interesting technical article about what he calls “purpose-built languages“. The article was earlier published in ACM Queue. Essentially, it is about domain-specific languages. He describes how many of the most useful little languages in use for the developmentof large systems have grown up without formal design, a grammar, or even a name.
Continue reading “Mike Shapiro on Purpose-Built Languages”
In my series (well, I have one previous post about checkpointing) about misunderstood simulation technology items, the turn has come to the most difficult of all it seems: determinism. Determinism is often misunderstood as meaning “unchanging” or “constant” behavior of the simulation. People tend to assume that a deterministic simulation will not reveal errors due to nondeterministic behavior or races in the modeled system, which is a complete misunderstanding. Determinism is a necessary feature of any simulation system that wants to be really helpful to its users, not an evil that hides errors.
Continue reading “Simulation Determinism: Necessary or Evil?”
I have an old Apple LaserWriter 12/640 PS network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden’s first 300 MHz Pentium II machines… since then, my home machines have moved from MacOS 8 to Windows NT 4 to Windows 2000 to Windows XP and now Windows Vista 32- and 64-bit. But the trusty LaserWriter remains, keeps printing, and is still on its first toner cartridge!
However, moving to Vista has made the printing bit harder.
Continue reading “Off-Topic: Vista, Laserwriter 12/640 PS, and FoxIt”
I have installed Google Maps on my trusty SonyEricsson G900 (last of its kind, unfortunately, as UIQ is shut down and SE is moving to Nokia S60 etc.), and I find it an almost too fun and useful toy-tool. However, today, something really funny happened. For some reason, when asked to display my current location, it decided that I was in Northern Greece — to within 5000 m.
Continue reading “Off-Topic: My Phone wants a vacation in Greece”
One thing that surprises me is how rare the feature of checkpointing or snapshotting is in the land of virtual platforms, despite the obvious benefits of that feature. Indeed, checkpointing was one of the first cool things demonstrated to me when I joined Virtutech back in 2002. Today, I could not ever imagine doing without it. Not having checkpointing is like having a word processor where you only get to save once, when your document is finished, with no option of saving intermediate states.
But not everyone seems to consider this an important feature, judging from its relative rarity in the world of EDA and virtual platforms. Why is this? Let’s look at some possible explanations.
Continue reading “Checkpointing: Meaningless, Difficult, or just Overlooked?”
For the longest time, the IBM Journal of Research and development, and its entire archive, was online at IBM and for free to access. This publication was, I assume, seen as a way to publicize IBM systems and their research efforts. But now, it has unexplicable gone to a for-pay format. It costs 1500 USD/year to access it, which is pretty steep I think. Compare with sources like the Microprocessor Report, or regular IEEE or ACM memberships. I think this is a really dumb move, and I will miss reading their often quite interesting articles. Who will pay to read only about IBM systems and research?;