Everything you always wanted to know about
computers...
Written
for Segfault by Thierry Bezecourt
INTRODUCTION
BIOS: Hmm...
I'm waking up. Linux Loader, are you there ?
LILO: Hmm... Yes, I'm here.
How do you do ? It's always a pleasure
to work with you. Let's load the
kernel and launch init, the Mother of All Processes...
INIT PROCESS:
Hmm... Thanks Lilo. Let's initialize the system, mount the file-systems and
launch one hundred daemons. OK, now I'm ready for logins.
LOGIN: Hey, I'm
receiving a login request from user thierry, password guvreel.
INIT
PROCESS: Ha ha ! This user is stupid, his password is just his user name with a
ROT13 encoding. Let's make fun of him.
USER THIERRY: Hello everybody,
please be kind with me today. I have a lot of serious things to
do.
CHAPTER I - A Real Programmer
USER THIERRY:
I'll start with that C++ program I have been trying to write for the last
fifteen days. gcc, could you please compile it for me ?
GCC COMPILER:
Very well, sir. So, your program is myproc.C. Let's parse it. Preprocessor
directives, class declarations, comments, type declarations... Well, what is the
purpose of this program ? Method declarations, other comments, macros... Hey,
there are only declarations, no real code to do some real work. I'm completely
lost in your code ! Each time I compile C++ code, I regret I'm not a Lisp
interpreter.
USER THIERRY: Oh, please, try another pass. I remember I
wrote some real code around line 1764.
GCC COMPILER: Line 1764 says: cout
<< "Hello, world" << endl.
You're right, that is a piece of real
and useful code, with no syntax error. Let's build and link that program... Now
it's finished, here is your executable.
USER THIERRY: Good, now I'll run
it.
MYPROG PROCESS: Hmm... I'm waking up. I am a C++ program, so I will
first create a few objects which will consume a lot of memory for no reason at
all.
C++ OBJECT #1: I'm hungry ! Gimme memory !
C++ OBJECT #2:
Memory ! I need more memory !
MYPROG PROCESS: Object #1, please free some
memory for object #2.
C++ OBJECT #1: No, I was programmed to eat memory
and never release it. My programmer is an illiterate who has learnt C++ because
it came before Visual Basic in the dictionary.
SWAP PROCESS: EMERGENCY !
You are running low on memory. You have already used all of the swap space
although you have just started !
MYPROG PROCESS: Object #2, you should
really stop using all that memory or I'm going to install a garbage
collector.
C++ OBJECT #2: Never ! Garbage collectors are nazis who
exterminate innocent objects and variables ! I'd rather dump core.
[
noise of a core dump onto the hard disk ]
USER THIERRY: Oh, oh ! My
program has crashed before doing anything interesting. I am very
surprised.
CHAPTER II - Sending mail
USER
THIERRY: That's enough, I'll just send an email to the cpp-help mailing list,
and maybe some C++ guru will have a solution for me.
SENDMAIL DAEMON:
Hello, this is sendmail, I'm listening to all your requests, day and night, on
port 25. What can I do for you, sir ?
USER THIERRY: Please send this
email for me.
SENDMAIL: Certainly, sir. Let's see... "It does not work,
please help". Is that all, sir ? Express delivery or general delivery ? Express
delivery, yes, of course. So the address is cpp-help@psy.doctor.com, and the
sender is Sucker. Is it correct ?
USER THIERRY: What ? No, my name is
Thierry, not Sucker.
SENDMAIL: I'm sorry, sir, but I have been configured
to rewrite your name as Sucker in your outgoing emails. Have you read my
documentation?
USER THIERRY: Yes, of course. When I installed you, I read
every man page, user guide and HOWTO before editing your configuration
file...
SENDMAIL: What ? Did you modify a Sendmail configuration file by
hand ? It's far too complicated for a normal human being, don't you know
that?
USER THIERRY: I only followed the instructions...
SENDMAIL:
You're clueless, I won't argue with you anymore. Besides it's too late, I have
already sent your ridiculous email to that mailing list where nobody will answer
it or even read it.
CHAPTER III - The Master
USER
THIERRY: No more C++ today. I need to calm down. xv, could you display a nice
image for me ?
XV PROCESS: Certainly, sir. Please admire this delightful
mythological scene by Sandro Botticelli. Of course, it looks ugly on your screen
because you couldn't find a way to have you X Server display more than 16
colors...
LOGIN: Hey, I'm receiving a login request from user rms,
password IGNUcius.
INIT PROCESS: User rms ? This is a great day, the
Master is among us. Hail, Master.
USER RMS: Hello init, on this computer
any non-free software please destroy.
INIT PROCESS: Yes, Master. Of
course, Master. Hey, xv, please TERMinate immediately.
XV PROCESS (badly
hurt): Argh. Why should I die ? It's not fair. I'm only a little process trying
to display a nice image.
INIT PROCESS: You are not free software,
therefore you shall die as the Master has requested. TERMinate, ABoRT, KILL, xv,
KILL.
XV PROCESS (dying): I'm dying, but I'll become a zombie and I'll
come back to take my revenge on you.
CHAPTER IV - Another
intruder
INET PROCESS: Hey, I'm receiving login requests from a
remote user who says his name is D34thK1ll3r. This guy has already tried
hundreds of different passwords.
TELNET PROCESS: Ha ha, a cracker. Let
him come in, I'll take care of him... Hello remote user D34thK1ll3r, you are now
in the central computer of the Pentagon. Because we like your nickname very
much, we have decided to give you super-root privileges. You may delete files,
replace our Web site with your photograph or send British troops to a Third
World country.
REMOTE USER D34THK1LL3R: Gr34t, 1 4m the k1ng of h4ck3rs.
Err... First I'll remove everything on that computer, then I'll take some time
to think. (Yes, Mum, I have finished my homework). rm -rf /
TELNET
PROCESS: Ha ha.
REMOTE USER D34THK1LL3R: What's happening here ? I typed
the command in the wrong window, and I erased my own hard disk ! (Yes, I'm
coming Mum, I know it's lunch time).
CHAPTER V - Card
Wars
USER THIERRY: I have downloaded a copy of Star Wars on the
Internet, it was very exciting to do something illegal, expensive,
time-consuming and silly. Now I'm going to watch it.
XV ZOMBIE PROCESS
(back from the dead): Hey BIOS, do something for me. Put the sound card on the
same IRQ as the graphics card, will you ? We're going to have
fun.
GRAPHICS CARD: BIOS, could you prepare my IRQ please, I have to
display an illegal copy of Star Wars that my stupid user has downloaded on the
Internet.
BIOS: I'm sorry, Graphics card, but your IRQ is currently used
by Sound card who is playing the music of the same illegal copy of Star Wars.
Can't you hear it ?
GRAPHICS CARD: Oh, is it Star Wars ? It thought it
was Indiana Jones or something. It's the same music anyway. So, what are you
doing on my IRQ, Sound card ?
SOUND CARD (singing):
I will keep the
IRQ
I will not share it with you
You must wait there in the queue
Till
I give it back to...
GRAPHICS CARD (turning red): Listen, I'm an artist,
I have the priority over you. Give me this IRQ !
SOUND CARD (shouting):
Shut up, I'm trying to find a rhyme.
GRAPHICS CARD (switching to
16-million-color mode): I can't believe it. I'll throw you out of your PCI slot
!
[ strange noise inside the computer ]
USER THIERRY:
qsfgegfdgfd^C^D^D^Hfyckmlklm
[ human voice, from the outside ] It's
strange, the characters I type do not appear any more, the screen is frozen
!
SHELL PROCESS: I'm dying ! Argh.
INIT PROCESS: Hmm, I feel
strange, I feel very strange. I'm tired, I'm very tired. Let's go to bed. BIOS,
please put me on hibernation mode, and don't wake me up before we approach Alpha
Centauri.
USER THIERRY: sfdqf [click] [plonk] [tluck]
[ human
voice, from the outside ] I can't believe it, I'll have to press the Reset
button again.
BIOS: I'm sorry Dave, I'm afraid I can't let you do
that.
[ human voice ] What ? Who spoke there ? My name is not Dave. Let's
press the button.
BIOS: I'm sorry Sucker, I'm afraid I can't...
err...
Hmm... I'm waking up. Linux Loader, are you there ?
Written by Thierry Bezecourt
Original
location on Segfault