version 1.211, 2018/08/24 05:41:56 |
version 1.212, 2018/12/19 03:51:58 |
|
|
<table border=0 cellspacing=0 cellpadding=2 width="80%"> |
<table border=0 cellspacing=0 cellpadding=2 width="80%"> |
<tr> |
<tr> |
<td valign="top"> |
<td valign="top"> |
|
6.2: <a href="#62">"A 3 line diff"</a><br> |
6.1: <a href="#61">"Winter of 95"</a><br> |
6.1: <a href="#61">"Winter of 95"</a><br> |
6.0: <a href="#60a">"Another Smash of the Stack"</a>, |
6.0: <a href="#60a">"Another Smash of the Stack"</a>, |
<a href="#60b">"Black Hat"</a>,<br> |
<a href="#60b">"Black Hat"</a>,<br> |
|
|
<a href="#51c">"Sonate aux insomniaques"</a><br> |
<a href="#51c">"Sonate aux insomniaques"</a><br> |
5.0: <a href="#50">"What Me Worry?"</a><br> |
5.0: <a href="#50">"What Me Worry?"</a><br> |
4.9: <a href="#49">"The Answer"</a><br> |
4.9: <a href="#49">"The Answer"</a><br> |
4.8: <a href="#48">"El Puffiachi"</a><br> |
|
</td><td valign="top" width="1%"> |
</td><td valign="top" width="1%"> |
<br> |
<br> |
</td><td valign="top"> |
</td><td valign="top"> |
|
4.8: <a href="#48">"El Puffiachi"</a><br> |
4.7: <a href="#47">"I'm still here"</a><br> |
4.7: <a href="#47">"I'm still here"</a><br> |
4.6: <a href="#46">"Planet of the Users"</a><br> |
4.6: <a href="#46">"Planet of the Users"</a><br> |
4.5: <a href="#45">"Games"</a><br> |
4.5: <a href="#45">"Games"</a><br> |
|
|
The Songs 5.2 - 6.0 |
The Songs 5.2 - 6.0 |
</td></tr></table> |
</td></tr></table> |
<br clear=all> |
<br clear=all> |
|
|
|
<hr> |
|
<a name=62></a> |
|
<h2><a href="62.html">6.2</a>: "A 3 line diff"</h2> |
|
<table border=0 cellspacing=0 cellpadding=2 width="100%"> |
|
<tr> |
|
<td valign="top" width="30%"> |
|
1:54 <a href="https://ftp.openbsd.org/pub/OpenBSD/songs/song62.mp3">(MP3 1.7MB)</a> |
|
<a href="https://ftp.openbsd.org/pub/OpenBSD/songs/song62.ogg">(OGG 3.0MB)</a><br> |
|
<br> |
|
<em> |
|
In OpenBSD developer circles few memes carry as strongly as "The 3 |
|
line diff". This is a humorous warning, but also a true story. More |
|
than half the developers ("the new kids") don't know this story but |
|
still repeat the meme -- it has nearly become apocrypha. |
|
<p> |
|
Unfortunately, in software development not all problems are as trivial |
|
as we think. |
|
<p> |
|
The event happened at a hackathon in Portugal more than a decade ago. |
|
<p> |
|
In a eureka moment Art declared he had found a stunningly simple |
|
solution for a problem long pondered, and he could fix it in 2 -- no |
|
-- 3 lines. In the following weeks his change grew larger and larger, |
|
introducing (or exposing) other problems. We stood and stared. It |
|
was far from a 3 line diff, and was eventually discarded. |
|
<p> |
|
I am not writing words of mockery here. This is a common occurance in |
|
complex software development. To do great things, we must reach for |
|
the sky. Sometimes we fail, and quite often it is messy. |
|
<p> |
|
There is of course a danger we'll believe we are invincible, and push |
|
a change which is too disruptive to others. For that reason, we |
|
operate as a team. We can try to avoid hubris. |
|
<p> |
|
Therefore to this day posing a question like "And you can fix the |
|
problem in 3 lines?" is a humorous way of keeping each other honest. |
|
<p> |
|
</em> |
|
</td><td valign="top" width="1%"><br> |
|
</td><td valign=top> |
|
Just sit right back and you'll hear a tale,<br> |
|
A tale of a fateful diff,<br> |
|
That started on a set of stairs<br> |
|
Right by a pizza joint.<br> |
|
<br> |
|
Art was a mighty coding man,<br> |
|
And he was mighty sure<br> |
|
The only change that was required<br> |
|
Was a three-line diff, a three-line diff.<br> |
|
<br> |
|
The coding started getting tough,<br> |
|
The change began to swell,<br> |
|
Despite the confidence of the programmers<br> |
|
The system would then crash,<br> |
|
the system always crashed.<br> |
|
<br> |
|
The simple change became complex<br> |
|
Just too many things overlooked,<br> |
|
With Grabowski,<br> |
|
And the testers too, <br> |
|
Theo watching and skeptical<br> |
|
Miod Vallat,<br> |
|
And Kettenis, and Dale, and...<br> |
|
Hacking Grabowski's diff.<br> |
|
<br> |
|
So this is a tale of our programmers,<br> |
|
They've been here for 20 years.<br> |
|
They'll have to do the best they can,<br> |
|
It's an endless task.<br> |
|
<br> |
|
Grabowski and the others too<br> |
|
Will do their very best<br> |
|
To get the changes into prod<br> |
|
It is an epic slog,<br> |
|
<br> |
|
No QEMU, only DDB,<br> |
|
Not a single luxury,<br> |
|
Like Ritchie and Thompson did<br> |
|
It's as primitive as can be<br> |
|
<br> |
|
So check a new diff every week,<br> |
|
Your head is sure to hurt<br> |
|
While all the puzzled programmers<br> |
|
Gawk at Grabowski's diff<br> |
|
<br> |
|
Working on a marginal diff.<br> |
|
<br> |
|
</td><td valign=top align=right> |
|
<img width=227 height=334 src="images/62_right.gif"><br> |
|
</td></tr></table> |
|
<em> |
|
Lyrics by Carson Harding based upon tale from Theo de Raadt. |
|
Vocals by Johnny Nordstrom, Chris Wynters, Scott Peters (of Captain Tractor). |
|
Composition, arrangement, instruments, and recording by Jonathan Lewis. |
|
This song was released 13 months after 6.2 due to various factors. |
|
<br> |
|
</em> |
|
<br> |
|
|
<hr> |
<hr> |
<a name=61></a> |
<a name=61></a> |