blog dds

2017.08.15

Debugging in Practice: dgsh Issue 85

Fixing an insidious bug in the new Unix directed graph shell dgsh allowed me to demonstrate in practice 10 of the 66 principles, techniques, and tools I describe in the book Effective Debugging. Almost all steps all documented in the corresponding issue and commits. Here's a detailed retrospective.

Continue reading "Debugging in Practice: dgsh Issue 85"

2017.08.10

Display Git's and Current Directory on Terminal Bar

I typically have more than ten windows open on my desktop and rely on their names to select them. Being a command-line aficionado, most of them are terminals. I have them configured to display the current directory by setting the bash PROMPT_COMMAND environment variable to 'printf "\033]0;%s:%s\007" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'. The problem is that the directory I'm often in has a generic name, such as src or doc, so the terminal's name isn't very useful.

Continue reading "Display Git's and Current Directory on Terminal Bar"

2017.06.16

Impact Factor of Computer Science Journals 2016

Clarivate Analytics (ex Thomson Reuters, ex ISI) has published the 2016 InCites Journal Citation Reports. Following similar studies I have performed in the past, here is my analysis of the current status and trends for the impact factor (IF) of computer science journals.

Continue reading "Impact Factor of Computer Science Journals 2016"

2017.06.06

Modular SQL Queries with Unit Tests

I'm sure I'm not the only person on earth facing a complex and expensive analytical processing task. The one I've been working on for the past couple of years, runs on the GHTorrent 98.5 GB data set of GitHub process data. It comprises 99 SQL queries (2599 lines of SQL code in total) and takes more than 20 hours to run on a hefty server. To make the job's parts run efficiently and reliably I implemented simple-rolap, a bare-bones relational online analytical processing tool suite. To ensure the queries produce correct results, I wrote RDBUnit, a unit testing framework for relational database queries. Here is a quick overview on how to use the two.

Continue reading "Modular SQL Queries with Unit Tests"

2017.05.31

Open Collaboration at Eclipse

The International Conference on Software Engineering is the premier research conference on the topic. This year it began with a keynote address by the Eclipse Foundation Executive Director, Mike Milinkovich, on Open Collaboration: The Eclipse Way.

Continue reading "Open Collaboration at Eclipse"

2017.05.10

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"

2017.04.04

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"

2017.03.28

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"

2017.02.28

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"

2017.02.16

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"


Creative Commons License Last update: Tuesday, August 15, 2017 12:12 am
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.