Heroes of software engineering

Whether it's the people who invented Fortran, the challenges of polar exploration, the need for more women in software or anything you've ever wanted to Ask the Institute, our blog covers everything that's new and innovative about research software.

In addition to one-off posts, we run a number of blog series that investigate a specific concern or address a particular issue.

A day in the software life

Researchers from all disciplines talk about the software they use to make their research possible.

Desert Island Hard Disks

You find yourself stranded on a beautiful desert island. What software would you choose to bring with you and what luxury item would you take to make life easier?

Top tips

A quick introduction to a wide range of subjects related to software and research: everything from using Github to writing a press release.

Continue Reading

MailBoxes.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

This is the eighth - and likely the last - in my short series about heroes of software engineering, so I will write about something different. Readers may have noticed that several of my previous heroes are now in their 70s or even 80s, so today instead features some of the current generation of innovators. These are the people behind Dropbox, including founders Arash Ferdowsi and Drew Houston and the men and women of the Dropbox software engineering team.

Think Sync!

I first started using Houston and Ferdowsi’s software in early 2009, and I was immediately impressed. The key for me was the way their design concentrated on the synchronisation problem of files across devices. In addition, you can also store your files on your own machines, with the exception of smartphones and other mobile devices.

Dropbox works so reliably and efficiently that I often switch between devices from one meeting to the next, safe in the knowledge that my notes and file changes are always there and bang up to date. The ease of sharing folders with collaborators around the world is also a killer app. People who opt to pay for the so-called Packrat feature (unlimited undeletes) can also use the service as a backup system, but that is secondary to the advantages that…

Continue Reading

Penguin.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

The next post in my series on heroes of software engineering focuses on Brian KernighanFirst of all an apology to my hero: I’ve been mispronouncing Dr Kernighan’s name for the last 35 years. In checking some facts for this blog piece I now realize the g is silent. Did you know that?

I suspect most readers will think my title refers to The C Programming Language by Kernighan and Ritchie: one of the world’s most popular books on programming and a programming language. Some people refer to this book as simply K&R, whilst others reserve that for the version of the C language that existed before ANSI standardised it. However, Kernighan’s only contribution to C, as a language and an implementation, is writing most of that book. (Ritchie wrote the chapter on system calls and the reference manual part.) The definition of C and the first C compiler were entirely Ritchie’s work.

Kernighan is one of software engineering’s…

Continue Reading

Atlas.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

The next post in my series on heroes of software engineering focuses on David Howarth – and the Atlas Supervisor. This software system was so good and revolutionary that Per Brinch Hansen described it as:

“the most significant breakthrough in the history of operating systems”

What came first: the chicken or the egg? In the computer world one might ask “what came first: the compiler or the operating system?” (You might also argue that the question is irrelevant as it was a while before high level languages were suitable for such machine-level work as writing operating systems.) In my case, and I suspect many others of my age or older, it was the compiler. My first computer was the Elliott 803B, which came with no operating system whatsoever but did have an Algol 60 compiler. The compiler was just loaded into the empty memory and ran on the raw hardware - that was once the norm.

Then in the early 1960s along came a computer – the Atlas – that was not just a tiny bit faster than the previous generation, it was a hundred times faster! That was one of the factors that led its co-designers (first Manchester University and then joined by the commercial company Ferranti) to the conclusion that an…

Continue Reading

Condor.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

The next post in my series on heroes of software engineering focuses on Miron Livny and the men and women of his HTCondor software engineering team at the University of Wisconsin–Madison. This is my second post about a team rather than an individual, this time to the designers and engineers of a piece of software that has been around for something like a quarter of a century: HTCondor (known as simply Condor before a naming dispute in the USA last year). Before I tell you about HTCondor, let me have a small rant.

Software systems (and programming languages) are too often disparaged for being old. Come on people: we are talking about software sustainability! If it works and is great, don’t knock it. You don’t hear mathematicians going on about how set theory or calculus is getting long in the tooth.

Miron Livny, the lead for the HTCondor development, says…

Continue Reading

HerculesAndHydra_0.jpgIn this series, Ian Cottam (IT Services Research Lead, The University of Manchester) talks through his heroes of software engineering, from the inventor of the World Wide Web to the team behind "The most amazing software you’ll never see".

  1. Welsh and Quinn: bringing Pascal to the British Isles from its origin in Switzerland
  2. Mcillroy and Thompson: without whom there would be no pipelines
  3. Tim Berners-Lee: inventor of the World Wide Web
  4. The men and women at Transitive: helping Apple move from the PowerPC to Intel x86
  5. Miron Livny and HTCondor: creators of a high-throughput computing software framework
  6. David Howarth: creator of the Atlas Supervisor.
Continue Reading

Rosetta.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

“Rosetta. The most amazing software you’ll never see.” Apple

Background and a disclaimer

The next post in my heroes of software engineering focuses on a company rather than an individual. Transitive was a spin-out company from my University (Manchester, UK) that started around October 2000. My story today is about how they helped Apple move to Intel x86 processors, from the PowerPC chip series, by working with Apple engineers to produce the dynamic binary translator that Apple called Rosetta. Transitive no longer exists – in 2008 its staff and offices were acquired by IBM – and, in a sense, neither does Rosetta (but more of that later).

Disclaimer: I worked at Transitive for just over a couple of years from its inception, but this is no self-aggrandisement piece as I had a senior management role, and can therefore exclude myself from the large set of heroes of this tale. (One could compare managers with Johnson’s lexicographers: “harmless drudges”. Some of the best drudges remove the crud that gets in the way of engineers, so that they can be creative and produce work of…

Continue Reading

TBL.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

Software Engineering Hero #3 in my series is Tim Berners-Lee. 
Of all my heroes in this series of posts, he is perhaps the one who needs the least introduction, as the inventor of the Web (and not the Internet as he often has to correct journalists).

All my heroes “stood on the shoulders of giants” to achieve what they did. The designers of the Internet, with all its established protocols, were Berners-Lee’s giants, as were his parents who both programmed the commercial (Ferranti) version of the Manchester Mark 1 back in the early 1950s. 
It is fascinating to consider that that there were hypertext systems before Berners-Lee’s World Wide Web. Interestingly, they were often put forward by computer scientists, rather than software engineers. In theory they were better than (what would become) the web, as they had, for example, links that didn’t break; two-way links; and links stored in a separate database, not the document itself.

As we all know, it was the engineering, pragmatic design (of Berners-Lee’s) that scaled massively and was taken up at such an impressive rate. It also helped that the technologies he…

Continue Reading

Pipes_0.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

This is the second in a series of blog posts on my heroes of software engineering. The first post in the series focused on Welsh and Quinn.

#2 Mcillroy and Thompson

I estimate that at least once a (working) day for the last 35 years I have typed into a terminal window a (UNIX) pipeline. Today, for example, on my Mac I did this:

./listusersdropoff <tttt |
grep -v manchester.ac.uk |
grep -v mbs.ac.uk | wc -l

Which tells me how many external to Manchester people are using our file DropOff service. (If you leave off the last stage in the pipeline, it gives me the list of external users.) Interestingly, my shell script (listusersdropoff) is pretty much just another pipeline that finds email addresses in our logs, and is a good illustration of something Brian Randell once said "Good ideas are made great when applied recursively" (or words to that affect).

My heroes today are Doug Mcillroy and Ken Thompson. The latter is known to all as the main inventor and implementor of the UNIX operating system (amongst many other software engineering things of note). Thompson's name is often quoted alongside the late Dennis Ritchie's -­…

Continue Reading

CDC6600.jpgBy Ian Cottam, IT Services Research Lead, The University of Manchester.

This is the first in a series of blog posts on my heroes of software engineering. I hope you will find it (and subsequent ones) of interest.

# 1 – Welsh and Quinn

My first heroes are Jim Welsh and Colm Quinn. Why? Because their 1972 paper [1] was the first one that convinced me that there was a discipline worthy to be called software engineering and that what they did was a tour de force, leaving me open mouthed in admiration of the magic they had dared to conjure.

Welsh and Quinn did the work in 1971, their paper appeared in 1972, and I came across it around 1974, if memory serves. It was a time of mainly batch mode, room-sized mainframes. Networking was something a few futurists thought about, and our source and data files existed on punched cards or paper tapes, which were hand-carried to your computer centre or even sent through the post, with results coming back on large format line printer paper.

So, just what did Welsh and Quinn achieve that so impressed my 22 year old self? They brought Pascal to the British Isles from its origin in Switzerland. I say British Isles as they were based at the Queen’s University…

Continue Reading
Subscribe to Heroes of software engineering