Unix Architecture Evolution Diagrams
Today I put online two diagrams depicting the architecture of the Unix operating system, one for the 1972 First Research Edition and one for FreeBSD, one of its direct descendants. Here are the details on how I created these diagrams.
Continue reading "Unix Architecture Evolution Diagrams"
Research Priorities in Software Technologies
In the words of the web's inventor Marc Andreessen, "software is eating the world". Ever more products, services, and entire industries, existing ones as well as new, are running on software. In a report recently published by the European Commission, I argue that significant investment in software engineering research can help Europe stay on top and even lead a world that is increasingly defined and shaped by software.
Continue reading "Research Priorities in Software Technologies"
The 1980s Research Unix Editions Are Now Available for Study
In 2002 Caldera International licensed the source code distribution of several historic Unix editions. This included all Research Unix editions up to the Seventh Edition, but excluded the 1980s 8th, 9th, and 10th Edition. This was unfortunate, because these editions pioneered or implemented several features that were very advanced at the time, such as streams inter-process communication, graphics terminals and the associated Sam text editor, network filesystems, and graphics typesetting tools.
Continue reading "The 1980s Research Unix Editions Are Now Available for Study"
The Psychology of the AWS Outage
Unless you've been living on another planet, you're certainly aware that over the past couple of hours Amazon's AWS S3 service has experienced a serious outage, which has affected thousands of sites and services around the world. For reasons I will elaborate in this post, the coverage of this outage has been blown completely out of proportion. So, what's the difference between the perceived risk associated with the AWS outage and the actual risk of this outage?
Continue reading "The Psychology of the AWS Outage"
The Road to Debugging Success
A colleague recently asked me how to debug a Linux embedded system that crashed in the Unix shell (and only there), when its memory got filled through the buffer cache. He added that when he emptied the buffer cache the crash no longer occurred.
Continue reading "The Road to Debugging Success"
Measures of Donald Trump's Inaugural Address
Computers allow us to measure objectively the properties of text. I applied some established text and sentiment analysis algorithms on Donald Trump's inaugural address and compared the results with the same metrics of past well-known presidents. Presidential speeches are nowadays typically a team effort. Nevertheless, I thought that the speech writing team's output reflects the president's choices regarding staffing, policy, and style. Moreover, as luck would have it, in this case it was reported that Donald Trump wrote the inaugural address himself. The findings of this exercise surprised me.
Continue reading "Measures of Donald Trump's Inaugural Address"
How to avoid redoing manual corrections
Say you have an automated process to create a report, which you then have to polish by hand, because there are adjustments that require human judgment. After three hours of polishing, you realize that the report is full of errors due to a bug in the initial reporting process. Is there a way to salvage the three hours of work you put into it?
Continue reading "How to avoid redoing manual corrections"
Debugging PCSecrets Synchronization
A reader of my Effective Debugging book commented that debugging is learned through experience. I think he's partly right, so I'll periodically describe here techniques and tools I use when debugging. A problem I faced today was the inability of the PC-based PCSecrets program to sync with the Secrets for Android counterpart. Here is how I troubleshot and solved the problem.
Continue reading "Debugging PCSecrets Synchronization"
Computer vs Human 0-1
Earlier today the Athens State Orchestra played the Symphony No. 3 in C minor, Op. 78 by Camille Saint-Saens, which is also known as the Organ Symphony. The French organist and composer Thierry Escaich was supposed to play the organ. There was a slight delay at the beginning: a lady appeared on stage and explained that there were technical problems with the organ's "brain".
Continue reading "Computer vs Human 0-1"