Jump to content
 

Programming Lore

Sign in to follow this  
  • entries
    16
  • comments
    7
  • views
    680

Contributors to this blog

About this blog

Over the years a number of stories have circulated on the internet related to programming. As Robert Jordan writes "The Wheel of Time turns, and ages come and pass, leaving memories that become legend. Legends fade to myth, and even myth is long forgotten when the Age that gave it birth comes again."

This is of course a take on the famous quote that "those who do not learn History are doomed to repeat it" - George Santayana

In this blog we will post some of the most famous stories which have over the years become "Programming Lore"

 

Entries in this blog

Conway's Law

Conway's Law

Melvin Conway quipped the phrase back in 1967 that "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations." Over the decades this old adage has proven to be quite accurate and this has become known as "Conway's Law". Researchers from MIT and Harvard have since shown that there is strong evidence for this correllation, they called it the "The Mirroring Hypothesis".  When you read "The mythical ma

Orunmila

Orunmila

How long is a nanosecond?

How long is a nanosecond?

Exactly how long is a nanosecond? This Lore blog is all about standing on the shoulders of giants. Back in February 1944 IBM shipped the Harvard Mark 1 to Harvard University. It looked like this: The Mark I was a remarkable machine at the time, it could perform addition in 1 cycle (which took roughly 0.3 seconds) and multiplication in 20 cycles or 6 seconds. Calculating sin(x)  would run up to 60 seconds (1 minute). The team that ran this Electromechanical computer had o

Orunmila

Orunmila

Heisenbugs

Heisenbugs

The basic idea behind this principle is that taking measurements influence the thing you are measuring. In microcontrollers we all get intruduced to this idea at some point when you are trying to figure out if the oscillator is running, and measuring it with a scope probe you realize - of course only after a couple of hours of struggling - that the 10pF impedence load the scope probe is adding to the pin is actually causing the oscillator, which was working just fine, to stop dead. In

Orunmila

Orunmila

Epigrams on Programming

Epigrams on Programming

Epigrams on Programming Alan J. Perlis Yale University This text has been published in SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 13.  The phenomena surrounding computers are diverse and yield a surprisingly rich base for launching metaphors at individual and group activities. Conversely, classical human endeavors provide an inexhaustible source of metaphor for those of us who are in labor within computation. Such relationships between society and device are no

Orunmila

Orunmila

The Ballmer Peak

The Ballmer Peak

If you are going to be writing any code you can probably use all the help you can get, and in that line you better be aware of the "Ballmer Peak". Legend has it that drinking alcohol impairs your ability to write code, BUT there is a curious peak somewhere in the vicinity of a 0.14 BAC where programmers attain almost super-human programming skill. The XKCD below tries to explain the finer nuances. But seriously many studies have shown that there is some truth to this in the sense that

Orunmila

Orunmila

BOFH

BOFH

Some reading is just compulsary in Computer Science, like Shakespere is to English, you will get no admiration from your peers if it comes out that you have never heard of the Bastard Operator from Hell. There is a whole collection of BOFH stories online here http://bofh.bjash.com/index.html#Original and even a WikiPedia page of course https://en.wikipedia.org/wiki/Bastard_Operator_From_Hell. The stories were originally posted on Usenet around 1992 Simon Travaglia. I would recommend yo

Orunmila

Orunmila

They write the stuff !

They write the stuff !

They write the stuff - what we can learn from the way the Space Shuttle software was developed As a youngster I watched the movie "The right stuff" about the Mercury Seven. The film deified the picture of an Astronaut in my mind as some kind of superhero. Many years later I read and just absolutely loved an article written by Charles Fishman in Fast Company in 1996, entitled "They write the stuff", which did something similar for the developers who wrote the code which put those guys up the

Orunmila

Orunmila

Real Programmers don't use Pascal

Real Programmers don't use Pascal

Real Programmers don't use Pascal I mentioned this one briefly before in the story of Mel, but this series would not be complete without this one.   Real Programmers Don't Use PASCAL Ed Post Graphic Software Systems P.O. Box 673 25117 S.W. Parkway Wilsonville, OR 97070 Copyright (c) 1982 (decvax | ucbvax | cbosg | pur-ee | lbl-unix)!teklabs!ogcvax!gss1144!evp Back in the good old days -- the "Golden Era" of computers, it was easy to separate the men from t

Orunmila

Orunmila

Intercal -- the Language From Hell

Intercal -- the Language From Hell

Abandon all sanity, ye who enter here! (The section above is of course Dante's description of the inscription to the gates of Hell) Computers work in essentially the same way, executing instructions, moving data around, etc. Programming languages are mere abstractions allowing us to tell the same computer how to do the same things using different "words and methods". These abstractions provided by languages like C, C++ or even Java, GoLang or LISP were created on the back of many yea

Orunmila

Orunmila

Dijkstra and Computer Architecture

Dijkstra and Computer Architecture

While we are on the topic of the wisdom of Dijkstra let us not forget what he said about computer architecture. I refer you to EWD 32, Paragraph 5.  http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD32.html  The first time I read that I almost fell on the floor.  It is so true.  Most of the time we are awed every time the CPU architects have clearly anticipated our needs and built the correct facilities into the MCU's.  But occasionally, you get a strange oversight like th

N9WXU

N9WXU

The King's Toaster

The King's Toaster

The King's Toaster Anonymous Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob and a lever. "What do you think this is?" One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "Using a four-bit microcontroller, I would write a simple pro

Orunmila

Orunmila

Dijkstra on Webster, users, bugs and Aristotle

Dijkstra on Webster, users, bugs and Aristotle

Every programmer should read what Edsger Dijkstra wrote as part of their Education. The University of Texas hosts a comprehensive  Archive of Dijkstra's writings Perhaps my faovourite piece is what he wrote about "Users" in EWD618. In the context of the article Dijkstra was calling this kind of stereotyping out saying that  Read the full paper here : On Webster, users, bugs and Aristotle  

Orunmila

Orunmila

The Blinkenlights

The Blinkenlights

One of those classic little jokes has always been the sign warning the average "non-technieschen peeper" to "Keep your hands in your pockets, relax and watch the Blinkenlights!". It too has it's WikiPedia page of course.     Another version of the story was later created. "Simplified" for those not proficient in German to this: ATTENTIONThis room is fullfilled mit special electronische equippment. Fingergrabbing and pressing the cnoeppkes from the computers is allo

Orunmila

Orunmila

The Cargo Cult

The Cargo Cult

Software Engineering is complex. The essense of Fred Brooks's "No Silver Bullet" was that software takes long to develop because it takes humans long to deal with this complexity. Today we so often run into the situation where someone publishes some clever idea or solution, and others enthusastically implement this in their project only to be disappointed by the fact that it does not seem to give them the expected benefit. Things that come to mind first are "modular code", Design Patterns a

Orunmila

Orunmila

The Black Team

The Black Team

There is this beautiful story about testing. I think the moral of the story is that if you do something really well, and people get recognition for doing that, it can become an inspiration to excell. The credit here should not just go to The Black Team, but also to management that allowed this to develop into such a "thing". When I was establishing a testing team at my previous employer I started off by sending this story to each of the hand-picked members. They felt like programming w

Orunmila

Orunmila

The Story of Mel

The Story of Mel

The story of Mel Kaye is perhaps my favorite bit of Lore. Mel is often referred to as a "Real Programmer", of course a parody of the famous essay Real Men Don't Eat Quiche by Bruce Feirstein which led to the publication of a precious tongue-in-cheek book on stereotypes about masculinity, but I digress. The story itself is famous enough to have it's own Wikipedia page. Even though this was written 36 years ago back in 1983 it still resonates well. The story shows us, by the mistakes of other

Orunmila

Orunmila

Sign in to follow this  
×
×
  • Create New...