Humor informático

Estos documentos los he conseguido en algún sitio, no preguntes dónde, porque ni sé ni creo que lo averigüe nunca. Pero el caso es que son divertidos, y están aquí para que te rías un poco. ¡Así que no hagas preguntas! :)


Oda al C

From: stumpf@gtenmc.gtetele.com (Jon S. Stumpf)
Newsgroups: rec.humor.funny


	0x0d2C
      ==========

May your signals all trap
    May your references be bounded
All memory aligned
    Floats to ints rounded


Remember ...


Non-zero is true
    ++ adds one
Arrays start with zero
    and, NULL is for none


For octal, use zero
    0x means hex
= will set
    == means test


use -> for a pointer
    a dot if its not
? : is confusing
    use them a lot


a.out is your program
	there's no U in foobar
and, char (*(*x())[])() is
	a function returning a pointer
	to an array of pointers to
	functions returning char

--------------------------------------
 jss - Jon S. Stumpf

Programación orientada al vacío con C--

    NEW PRODUCT ANNOUNCEMENT:  'C' Language Regression Package
              Antiquity Spoffware Solutions
                    Announces

              C-- Void Oriented Programming

 Antiquity Spoffware Solutions is proud to announce its latest
   fully integrated software package for C programmers.   C Programmers
   for years now have been frustrated with a myriad of functions
   designed for almost sickening efficiency and control.  Any programmer
   knows that a language so flexible has its drawbacks:  Universality.
   C-- combines all the power of BASIC, the readability of COBOL, and the
   wealth of string and graphics functions associated with FORTRAN.
   C-- does away with floats and doubles, chars and ints and
   manipulates data entirely in LONG integer form (for portability.)

	Here are some examples:

   /* This program generates an integer-oriented


#include <cmm.h>
#LOADREGULARCLIBRARYFUNCTION (STDIO.H)


MAIN *OPENCURLYBRACKETPOINTINGLEFT

   PRINTFORMATTEDOUTPUT ( "DEMONSTRATION OF C-- FUNCTIONS" ) SEMICOLON

	LET THENUMBER A EQUAL 10 SEMICOLON
	LET THENUMBER B EQUAL 20 SEMICOLON

	IF A .LT. B THEN DO SINGLEFUNCTION
		PRINTFORMATTEDOUTPUT( NUMBER, STRING, A, "IS SMALLEST" )
		    SEMICOLON
	OTHERWISE

	IF B .LT. B THEN DO SINGLEFUNCTION
		PRINTFORMATTEDOUTPUT( NUMBER, STRING, B, "IS SMALLEST" )
		    SEMICOLON
	OTHERWISE

	DO NOTHING SEMICOLON

*CLOSECURLYBRACKETPOINTINGRIGHT

   The above source, as you may have noticed, is not just a demonstration
   of the ASS software team's life-long persistance in the generation of
   efficient, compact, (and most of all) READABLE software.

   The tried and true principles behind line-buffered input are sure to
   delight the seasoned programmer.  C-- is sure to invoke images of
   keypunches and card readers and leave you happily chugging away at
   keyboard.

Write in C (letra de 'Let it Be' ligeramente modificada)

When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
"Write in C."


As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
"Write in C."


Write in C, Write in C,
Write in C, oh, Write in C.
LOGO's dead and buried,
Write in C.


I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.


If you've just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.


Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC's not the answer.
Write in C.


Write in C, Write in C
Write in C, oh, Write in C.
Pascal won't quite cut it.
Write in C.

Letra de 'Yesterday' ligeramente modificada

Yesterday,
All those backups seemed a waste of pay.
Now my database has gone away.
Oh I believe in yesterday.


Suddenly,
There's not half the files there used to be,
And there's a milestone
hanging over me
The system crashed so suddenly.


I pushed something wrong
What it was I could not say.


Now all my data's gone
and I long for yesterday-ay-ay-ay.


Yesterday,
The need for back-ups seemed so far away.
I knew my data was all here to stay,
Now I believe in yesterday.

Ríete de ...

Un helicóptero viajaba sobre Seattle cuando una avería eléctrica desactivó todo el equipo electrónico de navegación y comunicaciones. Debido a las nubes y la neblina, el piloto no podía determinar la posición del helicóptero ni hacia qué dirección estaba el aeropuerto.

El piloto vio un alto edificio, se dirigió hacia él, dio una vuelta alrededor, escribió un cartel a mano y lo mostró tras la ventana del helicóptero. El cartel decía "¿DÓNDE ESTOY?" en grandes letras.

La gente en el edificio elevado respondieron rápidamente al aparato: escribieron un gran cartel, y lo mostraron en una ventana. Su cartel decía "ESTÁ USTED EN UN HELICÓPTERO"

El piloto sonrió, saludó, miró en su mapa, determinó el curso para dirigirse al aeropuerto SEATAC, y aterrizó a salvo.

Una vez en tierra, el copiloto preguntó al piloto cómo el cartel de "ESTÁ USTED EN UN HELICÓPTERO" le ayudó a determinar su posición. El piloto respondió: "Sabía que tenía que ser el edificio de Microsoft porque me dieron una respuesta técnicamente correcta, pero completamente inútil".



Restaurante Microsoft


Esta fue la conversación en un restaurante llamado Microsoft.
-------------------------------------------------------------
 
-Cliente:  Camarero!
-Camarero: Hola, me llamo Bill y soy su Camarero de Soporte. Cuál parece ser el problema?
-Cliente:  Hay una mosca en mi sopa!
-Camarero: Pruebe de nuevo, quizás ahora la mosca ya no esté.
-Cliente:  No, aún está ahí.
-Camarero: Quizás es la forma en la que usted usa la sopa; pruebe a comerla con tenedor.
-Cliente:  Aunque use el tenedor, la mosca sigue ahí.
-Camarero: Quizás la sopa no es compatible con el plato; qué clase de plato está usted usando?
-Cliente:  Un plato de SOPA!
-Camarero: Hmmm, eso debería funcionar. Quizás es un problema de configuración, cómo está configurado el plato?
-Cliente:  Usted me lo trajo en una bandeja, qué tiene esto que ver con la mosca en mi sopa?
-Camarero: Podría usted recordar todo lo que hizo antes de darse cuenta de la mosca estaba en su sopa?
-Cliente:  Me senté y pedí la Sopa del Día!
-Camarero: Ha considerado usted la posibilidad de actualizarse a la última Sopa del Día?
-Cliente: Tienen ustedes más de una Sopa del Día cada día?
-Camarero: Sí, la Sopa del Día se cambia cada media hora.
-Cliente:  Bien, de qué es la Sopa del Día disponible ahora?
-Camarero: La Sopa del Día actual es de tomate.
-Cliente:  Bien. Tráigame la sopa de tomate y la cuenta. Se me está haciendo tarde.

  [El camarero sale y vuelve con otro plato de sopa y la cuenta.]

 -Camarero: Aquí tiene, señor. La sopa y su cuenta.
-Cliente:  Esto es sopa de patatas.
-Camarero: Sí, la sopa de tomate no estaba todavía lista.
-Cliente:  Bueno, a estas alturas ya tengo tanta hambre que comer, cualquier cosa.

  [El camarero se va]

 -Cliente:  Camarero! Hay un mosquito en mi sopa!
                ----------
 La cuenta decía:

     Sopa del Día ....................................................... $ 5.00

     Actualización a la nueva Sopa del Día ................ $ 2.50
     Acceso a soporte técnico ..................................... $10.00

 ---------------------------------------------------------
 El texto ha sido reproducido de un boletín que decía (literal):
"Textos traducidos, acentuados y formateados sin permiso de lo/s autore/s."
Pues eso.




	¿Sabías que Microsoft es una empresa ecologista?
	Sí, porque:
	1) Sus sistemas operativos son los sistemas operativos que menos
recursos usan del mercado
	2) Sus sistemas operativos son reciclables, ya que los cambian para
poder sacar otros nuevos al mercado, pero por dentro siguen siendo la misma
mierda

Microsoft:
	Micro$oft
	Microchof

Windows:
	Shell 3.1
	Juindozz
	Windoze
	Winblows

Windows '95:
	Estafa 95			(Swindlows '95/Rip off '95)
	Sistema aperitivo		(Aperitive system)
	Bill-guería

Windows NT:
	Windows No Tira
	Windows Ni Tocarlo

INet Explorer:
	INet Exploder

MS-DOS:
	MS-DOG
	Emulador de 8086		(8086 emulator)
	Mierda-Squerosa DOS		(Mass of Shit DOS)
	Microsoft Death Of your System

FAT:
	Fat you!
	Failure Allocation Table	(Tabla de localización de fallos)
	File Aleatorizating Table	(Tabla de aleatorización de ficheros)
	Fucking Accidental Table	(Tabla "fastidiosamente" accidental/accidentada)
	Failure Abducted Table		(Tabla de fallos abducida)
	File Abomination Table		(Tabla de abominación de archivos)
	File Abortion Table		(Tabla de aborto de archivos)
	Failure Abundant Table		(Tabla abundante en fallos)


Algunos de estos insultos son obra del colega Víctor Martín 'Akira', y yo me he inventado todos los de la FAT y los de MS-DOS menos el primero. El resto los he encontrado en documentos, sobre todo de Linux, o en la lista de chistes de la ULPGC ¿A que no te atreves a usar este link?


Macs vs Unix

by Mike Berry, April 11th 1995
UNIX: cd /usr/local/etc/httpd/cgi-bin/registration

MAC : 	click on usr
	find, then click on local
	find, then click on etc
	find, then click on httpd
	find, then click on cgi-bin
	find, then click on registration
	fuck, windows all over the place.
	close usr
	close local
	close etc
	close httpd
	close cgi-bin

	oh, wait, a shortcut!!!

	"Apple"-F : find registration
	wait
	wait some more
	"show" registration
	close find application


UNIX:   cp test.txt /

MAC :   Click on "test.txt"
	Then hold down the "option" key
	if (disk_icon is visible) 
	  {
	    drag(test.txt to disk_icon)
	  }
        else
          {
	   let go of the "option" key 
	   move everything around sporadically until disk_icon appears
	    drag(test.txt to disk_icon)
  	  }



UNIX: rm test
MAC : if (you_know_the_super_special_i'd_tell_you_but_i'd_have_to_kill_you_top_secret_key_combination) 
	{
	  then do_it;
	}
      else
	{
	  if (you_can_see_the_trashcan) 
		{
		  drag "test" to trashcan
		}
	  else
		{
		  move everything sporadically until you can 
		  see the trashcan
		}
	Click on Special->Empty Trash
	}


UNIX: emacs
MAC : simpletext
nuff said.
UNIX: rm -rf /*

MAC : Are you sure you want to do this? y
No, really, Are you sure you want to do this?y
No, really, can we call your parents first?n
I don't really think you meant to do that. y
No, really, Are you sure you want to do this?y
Perhaps we should discuss the files, one by one.
I think we're getting a divorce.y
"I ... love ... trash" (stupid sesame street extension)
Sorry, system folder is in use.  Quit application?y
Sorry, cannot quit system folder. 
Sorry, Item "Trash" cannot be removed because has items in it that
are in use.


Foto cachonda

The Unix Hierarchy of Being

People who come into contact with the Unix system are often told, "If you have trouble, see so-and-so, he's a guru", or "Bob there is a real Unix hacker."

What is a "Unix Wizard"? How does he differ from a "guru"?

To explore these and other questions, here is a draft of the "The Unix Hierarchy":

NAME      DESCRIPTION AND FEATURES

Beginner  - insecure with the concept of a terminal
          - has yet to learn the basics of vi
          - has not figured out how to get a directory
          - still has trouble with typing RETURN
            after each line of input

Novice    - knows that "ls" will produce a directory
          - uses the editor, but calls it "vye"
          - has heard of "C" but never used it
          - has had a bad experience with rm
          - is wondering how to read mail
          - is wondering why the person next door
            seems to like Unix so very much

User      - uses vi and nroff, but inexpertly
          - has heard of regular expressions but
            never seen one
          - has figured out that "-" precedes options
          - has attempted to write a C program, but
            decided to stick with Pascal
          - is wondering how to move a directory
          - thinks that dbx is a brand of stereo component
          - knows how to read mail and is wondering how
            to read the news

Knowledgeable
User          - uses nroff with no trouble, and is beginning
            to learn tbl and eqn
          - uses grep to search for fixed strings
          - has figured out that mv(1) will move directories
          - has learned that "learn" doesn't help
          - somebody has shown him how to write
            C programs
          - once used sed but checked the file afterwards
          - watched somebody use dbx once
          - tried "make" but used spaces instead of tabs

Expert    - uses sed when necessary
          - uses macros in vi, uses ex when necessary
          - posts news at every possible opportunity
          - is still wondering how to successfully reply
            to mail
          - writes csh scripts occasionally
          - writes C programs using vi and compiles
            with make
          - has figured out what && and || are for
          - uses fgrep because somebody said it
            was faster

Hacker    - uses sed and awk with comfort
          - uses undocumented features of vi
          - writes C code with "cat >" and compiles with
            "!cc"
          - uses adb because he doesn't trust source
            debuggers
          - figured out how environment variables are
            propagated
          - writes his own nroff macros to supplement the
            standard ones
          - writes Bourne shell scripts
          - installs bug fixes from the net
          - uses egrep because he timed it

Guru      - uses m4 and lex with comfort
          - writes assembler code with "cat >"
          - uses adb on the kernel while the system
            is loaded
          - customizes Unix utilities by patching the source
          - reads device driver source with breakfast
          - uses "ed" because "ex" is a Berkeleyism
          - can answer any Unix question after a little
            thought
          - uses make for anything that requires two or
            more commands
          - has learned how to breach security but no longer
            needs to try
          - is putting James Woods/Henry Spencer egrep
            into his next Unix release

Wizard    - writes device drivers with "cat >"
          - fixes bugs by patching the binaries
          - posts his changes to Unix utilities to the net,
            and they work
          - can tell what question you are about to ask,
            and answers it
          - writes his own troff macro packages
          - is on a first-name basis with Dennis, Bill,
            and Ken


Paquete de funciones de cierto profesor/profesora de la ULPGC

#include <stdio.h>
#include <stdlib.h>
#include <sys/signal.h>
#include <string.h>

#define GANAS_DE_SONREIR	2

int explicar (char conseto[])
{
	signal (S_STACKOVERBOOKING, sonrisa_tonta);
	printf ("%s es... es... ¿cómo se llama?\n", conseto);

	if (!fin(conseto))
		explicar (otro_conseto);	/* llamada recursiva */
	else {
		if (random(100) > GANAS_DE_SONREIR) {
			sonrisa_tonta ();
			cara_tonta ();
			printf ("amor... tización\n");	/* Decimos algo con amor */
			mover (pulgares, TOPE_GUAY);	/* Gesto con los pulgares */
			printf ("topeeeee...\n");	/* tope-guay */
		}

		return -1;
		/* Si se ha terminado la explicación, algo falla */
	}
}



int contestar_alumno (char pregunta[])
{
	if (!saber(respuesta(pregunta))) {
		fprintf (stderr, "Es que eso es muy complicado para que ustedes\n");
		fprintf (stderr, "lo entiendan...\n");	/* Salimos por la tangente */
		return -1;
	} else {
		explicar (conseto(pregunta));

		/* Si ejecutamos lo siguiente explicar devolvió -1 */
		if (alumno.decir() == "dinero") {
			printf ("Muy bien. Lo has entendido\n");
			printf ("Una palabra muy bonita\n");
		} else {
			for (int i = 0; i < 5; i++) printf ("no...\n");
			dar_paso_de_Michael_Jackson ();
		}

		return 0;
	}
}




int escribir (FILE *pizarra, char *consetos[])
{
	set_font_size (4);
	set_font_style (symbol);

	for (int i = 0; i < random(50); i++) fprintf (pizarra, consetos[i]);

	if (alumnos.ponercara(no_entiendo_nada)) return 0;
	else if (alumnos.ponercara(aahhh_ya_entiendo)) return -1;
}

Hipótesis sobre el significado de IBM

	Idiots Build Me				(Me construyeron unos idiotas)
	Inferior But Marketable			(Inferior aunque vendible)
	It's Better Manually			(Mejor hazlo a mano)
	Insidious Black Magic			(Magia negra insidiosa/acechante)
	It's Been Malfunctioning		(Ha estado funcionando mal)

	Excepto el primero, todos han sido extraidos del Jargon File, versión
4.0.0 del 24 de julio del 96.

MCSA (Más chistes sobre acrónimos)

MICROSOFT    Most Intelligent Customers Realize Our Software
             Only Fools Teenagers
APPLE        Arrogance Produces Profit-Losing Entity
WINDOWS      Will Install Needless Data On Whole System
DOS          Defective Operating System
MACINTOSH    Most Applications Crash; If Not, The Operating
             System Hangs
PENTIUM      Produces Erroneous Numbers Through Incorrectly
             Understanding Mathematics
BASIC        Bill's Attempt to Seize Industry Control
IBM          I Blame Microsoft
DEC          Do Expect Cuts
CD-ROM       Consumer Device, Rendered Obsolete in Months
OS/2         Obsolete Soon, Too.
WWW          World Wide Wait
COBOL        Completely Obsolete Business Oriented Language
AMIGA        A Merely Insignificant Game Addiction
LISP         Lots of Infuriating & Silly Parenthesis
MIPS         Meaningless Indication of Processor Speed
SCSI         System Can't See It
GIRO         Garbage In Rubbish Out
ISDN         It Still Does Nothing
PCMCIA       People Can't Memorize Computer Industry Acronyms

Sacados de la lista de chistes de la ULPGC, cortesía del colega
Akira

IMAGINE (John Lennon)

Imagine there's no Windows,
It's easy if you try.
No fattal errors or new bugs
To kill your hard drives.

Imagine Mr. Bill Gates
Leaving us in peace!

Imagine neverending hard disks,
It isn't hard to do.
Nothing to del or wipe off
And no floppy too

Imagine Mr. Bill Gates
Sharing all his money.

You may say I'm a hacker,
But I'm not the only one.
I hope someday you'll join us
And your games will fit in RAM

Imagine 1-Giga RAM
I wonder if you can.
No need for left-shifts or setups
And no booting again and again.

Imagine all the systems
Working all life-time!

You may say I'm a hacker,
But I'm not the only one.
Maybe someday I'll be a cracker
And then I'll make Windows run.

Addicted To Vi (with apologies to Robert Palmer)

You press the keys with no effect,
Your mode is not correct.
The screen blurs, your fingers shake;
You forgot to press escape.
Can't insert, can't delete,
Cursor keys won't repeat.
You try to quit, but can't leave,
An extra "bang" is all you need.

You think it's neat to type an "a" or an "i"--
Oh yeah?
You won't look at emacs, no you'd just rather die
You know you're gonna have to face it;
You're addicted to vi!

You edit files one at a time;
That doesn't seem too out of line?
You don't think of keys to bind--
A meta key would blow your mind.
H, J, K, L?  You're not annoyed?
Expressions must be a Joy!
Just press "f", or is it "t"?
Maybe "n", or just "g"?

Oh--You think it's neat to type an "a" or an "i"--
Oh yeah?
You won't look at emacs, no you'd just rather die
You know you're gonna have to face it;
You're addicted to vi!

Might as well face it,
You're addicted to vi!

You press the keys without effect,
Your life is now a wreck.
What a waste!  Such a shame!
And all you have is vi to blame.

Oh--You think it's neat to type an "a" or an "i"--
Oh yeah?
You won't look at emacs, no you'd just rather die
You know you're gonna have to face it;
You're addicted to vi!

Might as well face it,
You're addicted to vi!

Copyright 1989, by Chuck Musciano.  All Rights Reserved.

Windows(tm) '95 source-code!!!!!

/*
                        TOP SECRET Microsoft(c)  Code
                        Project:          Chicago(tm)

  Projected release-date:

  Summer 1994^H^H^H^H^H^H^H^H^H^H^HSpring 1995

*/

#include "win31.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"


/*
  Reference:
  Internal memo #99281-95 from:
                        William H. Gates III
                            to:
                        Executive managers Chicago(tm)-project

  William H. Gates III wrote:
  "I have serious doubts about the 'EASY' installation-definition.
   It might prevent customers to think that they actually bought something
   _good_. Therefore I want the installation-definition to be 'HARD'.


                                                Carry on,
                                                        God^H^H^HBill
  "
*/
#define INSTALL = HARD

void main()
{
        while(!CRASHED)
        {
                display_copyright_message();
                display_bill_rules_message();
                do_nothing_loop();
                if(first_time_installation)
                {
                        make_50_megabyte_swapfile();
                        do_nothing_loop();
                        totally_screw_up_HPFS_file_system();
                        search_and_destroy_the_rest_of_OS/2();
                        hang_system();
                }
                write_something(anything);
                display_copyright_message();
                do_nothing_loop();
                do_some_stuff();
                if(still_not_crashed)
                {
                        display_copyright_message();
                        do_nothing_loop();
                        basically_run_windows_3.1();
                        do_nothing_loop();
                        do_nothing_loop();
                }
        }

/*
  Reference:
  Internal memo #99683-95 from:
                        Executive managers Chicago(tm)-project
                            to:
                        William H. Gates III

  Executive managers Chicago(tm)-project wrote:
  "Dear Sir,
   Since we have found that this last piece of code within the 'if'-statement
   will never execute, we descided NOT to include it in the final code.
   This way we will save atleast another 5 megabytes of consumer-diskspace!

                        Thank you for listening to us,
                            the executive managers of the Chicago(tm)-project
  "
*/
/*
        if(still_not_crashed)
        {
                write_cheer();
                finished();
        }
*/
        create_general_protection_fault();
}

Código del Windows 95 (y 2)

                   TOP SECRET MICROSOFT CODE

#include <nonsense.h>
#include <lies.h>
#include <spyware.h> /* Microsoft Network Connectivity library */
#include <process.h> /* For the court of law */

#define say(x) lie(x)
#define computeruser ALL_WANT_TO_BUY_OUR_BUGWARE
#define next_year soon
#define the_product_is_ready_to_ship another_beta_version

void main()
{
  if (latest_window_version>one_month_old) {
    if (there_are_still_bugs)
    market(bugfix);
    if (sales_drop_below_certain_point)
      raise(RUMOURS_ABOUT_A_NEW_BUGLESS_VERSION);
  }
  while(everyone_chats_about_new_version)
  {
    make_false_promise(it_will_be_multitasking); /* Standard Call, in lie.h */
    if (rumours_grow_wilder)
      make_false_promise(it_will_be_plug_n_play);
    if (rumours_grow_even_wilder)
    {
      market_time=ripe;
      say("It will be ready in one month);
      order(programmers, stop_fixing_bugs_in_old_version);
      order(programmers,start_brainstorm_about_new_version);
      order(marketingstaff,permission_to_spread_nonsense);
      vapourware=TRUE;
      break;
      }
  }
  switch (nasty_questions_of_the_worldpress) {
    case WHEN_WILL_IT_BE_READY:
      say("It will be ready in", today+30_days," we're just testing");
      break;
    case WILL_THIS_PLUG_AND_PLAY_THING_WORK:
      say("Yes it will work");
      ask(programmers, why_does_it_not_work);
      pretend(there_is_no_problem);
      break;
    case WHAT_ARE_MINIMAL_HARDWARE_REQUIREMENTS:
      say("It will run on a 8086 with lightning speed due to"
          "the 32 bits architecture");
      inform(INTEL, "Pentium sales will rise skyhigh");
      inform(SAMSUNG, "Start anew memorychip plant"
        "'cos all those customers will need at least 32 megs");
      inform(QUANTUM,"Thanks to our fatware your sales will triple");
      get_big_bonus(INTEL,SAMSUNG, QUANTUM);
      break;
    case DOES_MICROSOFT_GET_TOO_MUCH_INFLUENCE:
      say("Oh no, we are just here to make a better world for everyone");
      register(journalist, Big_Bill_Book);
      when(time_is_ripe)
      {
        arrest(journalist);
        brainwash(journalist);
        when(journalist_says_windows95_is_bugfree) {
          order(journalist, "write a nice objective article");
          release (journalist);
        }
      }
      break;
  }
  while (vapourware)
  {
    introduction_date++; /* Delay */
    if (no_one_believes_anymore_there_will_be_a_release)
      break;
    say("It will be ready in",today+ONE_MONTH);
  }
  release(beta_version)
  while (everyone_is_dumb_enough_to_buy_our_bugware) {
    bills_bank_account += 150*megabucks;
    release(new_and_even_better_beta_version);
    introduce(more_memory_requirements);
    if (customers_report_installation_problems) {
      say("that is a hardware problem, not a software problem");
      if(smart_customer_says_but_you_promised_plug_and_play) {
        ignore(customer);
        order(microsoft_intelligence_agency, "Keep an eye on this bastard");
      }
    }
    if (there_is_another_company)
    {
      steal(their_ideas);
      accuse(company, stealing_our_ideas);
      hire(a_lot_of_lawyers); /* in process.h */
      wait(until_other_company_cannot_afford_another_lawsuit);
      buy_out(other_company);
    }
  }
/* Now everyone realizes that we sell bugware and they are all angry at
us */
  order(plastic_surgeon, make_bill_look_like_poor_bastard);
  buy(nice_little_island); hire(harem);
  laugh_at(everyone,
     for_having_the_patience_year_after_year_for_another_unfinished_version);
}


void bugfix(void)
{
  charge (a_lot_of_money)
  if (customer_says_he_does_not_want_to_pay_for_bugfix)
    say("It is not a bugfix but a new version");
  if (still_complaints)
  {
    ignore(customer);
    register(customer, big_Bill_book);
    /* We'll get him when everyone uses Billware!!*/
  }
}

You can't parse this (You can't touch this)

my assignments hit me so hard
make me say, "oh my lord
thank you for blessin me
with a load to code and a 2 hype seat"
right here, in front of a Sparc
looks good in the light, looks better in the dark
but it tells me -  in a manner quite harsh
"This is a string I can't parse"

(I told ya, kludge-boy)
Can't Parse This
(yea, a fatal error and you know)
Can't Parse This
(look at that code, maaaan)
Can't Parse This
(yo lemme bust some funky diagnostics)

"fresh new bugs, and errors
your code is more than compiler terror
it's rotten - to the core
i don't like it but you know i'll get more
than i can handle
hold on
identifier not found or your semicolon's gone
step back - step back
can't you see i'm developing a crack
in my hardware - your code's a farce
cause this is a string I Can't Parse"

(yo i told ya)
Can't Parse This
(why you sittin there, man)
Can't Parse This
(yo, sound the terminal bell, ya got mail, sucka)

compile-time bugs disrupt my rhythm
it's tellin me trash is what i'm givin him
it's garbage, in and out
but instead of a nice little a.out
i get feedback
fed back
to me by this here RISC machine
no fun
what's it gonna take in the 90s to run these programs
4GLs?
either learn those or wind up in hell

that's longWORD because you know
Can't Parse This
Can't Parse This

top-down!

Stop!  Compile Time!

go with the flow
it is said if you can't write in C then you probably are dead
so wave K&R in the air
waste a few nights, run your fingers thru your hair
this is it
no dinner - code like this and you'll surely get thinner
sitting 
on your rump
watch your machine cause it's gonna do a dump
dump dump dump (core dumped)

Can't Parse This
Can't Parse This
(ya better get Turbo cause I can't)
I Can't Parse This
(ring the bell, your mail's been returned)

shutdown!

Stop!  Link Time!

Can't Parse This
Can't Parse This
Can't Parse This

slowdown!
Stop!  Run Time!

every time I program
it complains about my code
maybe i'm in the wrong book or Emacs is in the wrong mode
now i know that i'll never stop doing this
cause our 3rd party software keeps on giving us fits
i did an RTFM
read K&R all day
it's "Error!" "Big Error!" "Nasty Error!" "FATAL ERROR!"
so instead i'll go and play

Can't Parse This
Can't Parse This
I Can't Parse This
(yeah)
Can't Parse This
(i told ya, wahoos,)
Can't Parse This
(too many symbols)
Can't Parse This
(yo, we're outa here)
Can't P-- bus error (core dumped)

(c) 1991 Radio Free Lerxstwood

Gateway to heaven (Stairway to heaven)

There's a lady who knows
All the systems and nodes
And she's byteing a Gateway to Heaven
She telnets there, she knows
All the ports have been closed
With a nerd she can get
Files she came for

Woohoohoo
Woo Hoo Hoo HooHoo
And she's byteing a Gateway to Heaven
There's an motd
But she wants to be sure
Cos she knows sometimes hosts have
Two domains
In a path by the NIC
There's a burdvax that pings
Sometimes all of our flames
are cross-posted

Woohoohoo
Woo Hoo Hoo HooHoo
And she's byteing a Gateway to Heaven
And it's processed by root
Unix Labs will reboot
NCR will then listen to reason
And a prompt will respawn
For those yet to logon
And the networks will echo much faster

Woohoohoo
Woo Hoo Hoo HooHoo
And she's byteing a Gateway to Heaven
If there's a lookup in your netstat
don't be .alarmed now
it's just a pinging from the link queen
Yes there are two routes you can type in
but in the long run
there's still time to change the net you're on
(I hope so!)

And as we find stuff to download
We ftp and we chmod
There was a sysadm we know
Who changed the server to her own
She had root privs and she used chown
She hacked out on the DDN
And if you tail her stdin
Then you will find what you had lost
And get it back with cpio
To be a hack and not to scroll...

And she's byteing a Gateway to Heaven

Eileen "ET" Tronolone 

Tap my wire ("Light my fire")

You know that I would be untrue
You know that I would be a 'foo'
If I was to say to you
We couldn't hack ourselves to root

Come on hackers tap a wire
Come on hackers tap a wire
Try to set the mode-bits higher

The time to sit and watch is gone
No time to linger in the shell
Try to make crack-programs run
Yes we will make the tty's bell

Come on hackers tap a wire
Come on hackers tap a wire
Try to set the mode-bits higher

Maarten Los 

Órdenes de UNIX con resultados curiosos

   * % make fire
     Make: Don't know how to make fire. Stop.
   * % why not?
     No match.
   * % gotta light?
     No match.
   * % "How would you rate Bush's incompetence?
     Unmatched ".
   * % [Where is Jimmy Hoffa?
     Missing ].
   * % [Where is my brain?
     Missing ].
   * % ^How did the sex change^ operation go?
     Modifier failed.
   * % ^How did the sex change operation go?
     Bad substitute.
   * % If I had a ( for every $ Congress spent, what would I have?
     Too many ('s.
   * % man: why did you get a divorce?
     man:: Too many arguments.
   * % \(-
     (-: Command not found.
   * % cd /tmp
     % touch this; chmod 000 this
     % ln -s /usr/bin/touch U
     % U this
     U: cannot touch this: no write permission
   * % ar m God
     ar: God does not exist
   * % sleep with me
     bad character
   * % ^What is saccharine?
     Bad substitute.
   * % drink bottle: cannot open
     opener: not found
   * % nice man woman
     No manual entry for woman.
   * % man p***y
     No manual entry for p***y.
   * % rm God
     rm: God nonexistent
   * % ar r God
     ar: creating God
   * % man you
     No manual entry for you.
   * % scan for <<"Arnold Schwarzenegger"^J^D
     "Arnold Schwarzenegger": << terminator not found
   * % cat "door: paws too slippery"
     cat: cannot open door: paws too slippery
   * % look into "my eyes"
     look: cannot open my eyes
   * % lost
     lost: not found
   * % mkdir yellow_pages; cat > yellow_pages
     yellow_pages: Is a directory
   * %touch me
     %chmod 000 me
     %touch me
     touch: cannot touch me: permission denied
   * % ar x "matey, the treasure"
     ar: matey, the treasure does not exist
   * % make ' ' bang ' ' with gun
     make: Fatal error: Don't know how to make target ` '

Evolución de un programador

High School/Jr.High
===================
10 PRINT "HELLO WORLD"
20 END

First year in College
=====================
  program Hello(input, output)
    begin
      writeln('Hello World')
    end.

Senior year in College
======================
  (defun hello
    (print
      (cons 'Hello (list 'World))))

New professional
================
#include <stdio.h>

void main(void)
{
    char *message[] = {"Hello ", "World"};
    int i;
    for(i = 0; i < 2; ++i)
        printf("%s", message[i]);
        printf("\n");
    }

Seasoned professional
=====================
#include <iostream.h>
#include <string.h>

class string
{
private:
  int size;
  char *ptr;
public:
   string() : size(0), ptr(new char('\0')) {}
   string(const string &s) : size(s.size)
   {
         ptr = new char[size + 1];
         strcpy(ptr, s.ptr);

   }
   ~string()
    {
      delete [] ptr;
    }
    friend ostream &operator <<(ostream &, const string &);

   string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
     return(stream << s.ptr);
}

string &string::operator=(const char *chrs)
{
    if (this != &chrs)
    {
      delete [] ptr;
      size = strlen(chrs);
      ptr = new char[size + 1];
      strcpy(ptr, chrs);
    }
    return(*this);
}

int main()

{
    string str;
    str = "Hello World";
    cout << str << endl;
    return(0);
}

Apprentice Hacker
===================
#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg:  > !\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";

    }
  } else {
    print ($msg);
  }
  1;

Experienced Hacker
===================
#include <stdio.h>
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Seasoned Hacker
===================
% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker
===================
% cat
Hello, world.
^D

New Manager
===================
10 PRINT "HELLO WORLD"
20 END

Middle Manager
===================

mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello,  World."?
I need it by tomorrow.
^D

Senior Manager
===================
% zmail jim
I need a "Hello, world." program by this afternoon.

Chief Executive
===================
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

Los códigos de error desconocidos de Win '95

Recently the following undocumented error-codes were found. MicroSoft
forgot to explain them in the manuals, so here they are:

WinErr: 001 Windows loaded - System in danger
WinErr: 002 No Error - Yet
WinErr: 003 Dynamic linking error - Your mistake is now in every file
WinErr: 004 Erronious error - Nothing is wrong
WinErr: 005 Multitasking attempted - System confused
WinErr: 006 Malicious error - Desqview found on drive
WinErr: 007 System price error - Inadeqaute money spent on hardware

WinErr: 008 Broken window - Watch out for glass fragments
WinErr: 009 Horrible bug encountered - God knows what has happened
WinErr: 00A Promotional literature overflow - Mailbox full
WinErr: 00B Inadeqaute disk space - Free at least 50MB
WinErr: 00C Memory hog error - More Rame needed. More! More! More!
WinErr: 00D Window closed - Do not look outside
WinErr: 00E Window open - Do not look inside
WinErr: 00F Unexplained error - Please tell us how this happened
WinErr: 010 Reserved for future mistakes by our developers

WinErr: 011 Window open - Do not look outside
WinErr: 012 Window closed - Do not look inside
WinErr: 013 Unexpected error - Huh ?
WinErr: 014 Keyboard locked - Try anything you can think of.
WinErr: 018 Unrecoverable error - System has been destroyed. Buy a new
one. Old windows licence is not valid anymore.
WinErr: 019 User error - Not our fault. Is Not! Is Not!
WinErr: 01A Operating system overwritten - Please reinstall all your
software. We are terribly sorry.
WinErr: 01B Illegal error - You are not allowed to get this error. Next
time you will get a penalty for that.

WinErr: 01C Uncertainty error - Uncertainty may be inadeqaute.
WinErr: 01D System crash - We are unable to figure out our own code.
WinErr: 01E Timing error - Please wait. And wait. And wait. And wait.
WinErr: 01F Reserved for future mistakes of our developers.
WinErr: 020 Error recording error codes - Remaining errors will be lost.
WinErr: 042 Virus error - A virus has been activated in a dos-box. The
virus, however, requires Windows. All tasks will automaticaly be closed
and the virus will be activated again.

WinErr: 079 Mouse not found - A mouse driver has not been installed.
Please click the left mouse button to continue.
WinErr: 103 Error buffer overflow - Too many erros encountered. Next
errors will not be displayed or recorded.
WinErr: 678 This will end your Windows session. Do you want to play
another game?
WinErr: 683 Time out error - Operator fell asleep while waiting for the
system to complete boot procedure.
WinErr: 815 Insufficient Memory - Only 50.312.583 Bytes available

Historia de la Red

First there was God. He was quite lonely so he created Dennis.
Dennis was unimpressed with God.

So,... God created Brian.

But, Brian got bored with God.

So Brian and Dennis started playing, and they created C. God saw C,
and saw that it was good. So he decided to let Brian and Dennis play
some more. Then Brian and Dennis created Unix. God saw Unix, and he
was jealous.  So he created Bill to torment Brian and Dennis and obscure
their creation (for God could not destroy Unix, for he secretly admired
its perfection).

So Bill created Microsoft. And Microsoft created Windows. And God saw
that it was bad, but it had market share, so he was happy. Then Bill
got cocky, and his ego got bigger than God's. So to knock Bill down a
couple of pegs, God put into effect, a wondrous plan.

First God created Tim. And Tim created the World Wide Web (using Unix,
of course). This was good, but not THAT good. So God created Marc. Marc
created Mosaic (using  Unix, of course). Mosaic created a huge feeding
frenzy that has got a lot of people who are reading this their jobs.

But that's a different story. Mosaic was good, and God saw it was good,
so he allowed Marc to start Netscape. Back to this later.

But all this time Brian and Dennis started to make something better
than Unix called Plan 9 (because God was successful in foiling Brian
and Dennis' previous seven plans [there was no Plan 8 because Brian
and Dennis pulled the wool over God's eyes and just jumped to Plan 9,
which was too bright a move for even God to figure out.] )

Eventually, God figured out how to create Larry.

No one knows how or why he created Larry, except perhaps to reduce
productivity at the Jet Propulsion Labs at NASA. [Rumors are that God
created Larry because he secretly liked what Dennis and Brian had done
with C, but didn't think C and Unix was enough -- this probably isn't
true because God believed he had destroyed Brian and Dennis' plans by
destroying Plans 1-7, and by creating Microsoft to slay their beloved
Unix.

Anyhow, Larry created Perl (using Unix and C, of course), and God saw it
was good, so he made Randal. Larry and Randal wrote books about Perl.
And everyone saw that this was good, except snobs who were too much
into C, Windows, and Intel. (It so happens that Randal was so cool he
figured out a way to break into Unix at Intel, and Intel sued him for
it but that's another story also -- chances are Randal would not have been
able to break into *Plan 9* at Intel, but Intel isn't cool enough to be
running Plan 9) Anyhow, back to Randal. So Randal and Larry wrote books,
but they had to be nice because of the people they worked for. So then
came Tom. But back to Tom later.

Anyhow, God saw Netscape (made using Unix and C, of course), and he saw
it was good, and that annoyed Bill quite a bit. And that made Him very
happy, and made Marc very rich. But Bill was very very rich. But that's
a *completely* different story.

But as good as Larry's creation, Perl, was, it couldn't do everything,
so God created Scott. Scott announced Java, and this was big news. Now
Java really pissed Bill off, because Bill also created Blackbird, and
Java killed Blackbird. This was bad because killing Blackbird also meant
killing the Microsoft Network. And many rejoiced over that, but that,
too is another story.

Now Java, obviously had done much to annoy Bill. For Java was so good that
Bill had to license Java. All this time, Scott poked lots of fun at Bill
because Sun, which was where Scott worked, made a better OS, derived -- of
course -- from Unix, which was better than Bill's and Microsoft's Windows.

Anyhow, even God's creations Steve and Steve who created Apple
couldn't make Bill license the much superior MacOS. But finally, Bill
had to license Java. So justice was served, and Bill's ego was served
him on a platter for him to eat his words. Or something. That part is
unclear. So by this time Windows and Microsoft and Bill in general really
sucked. Especially considering the advantages that Brian and Dennis' C
and Unix, running Marc's Netscape and Mosaic over Tim's World Wide Web,
doing cool CGI stuff with Larry's Perl, which you learned from Randal
and Tom, and got to program with Scott's Java.

And God realized he had put Bill down too far. So then God made it so that
Marc's Netscape and Mosaic could run on Windows. We already know that
Bill had to license Java from Scott. We know that Bill missed the boat
for not beating Tim to the punch on the World Wide Web. The last straw
was for God to make it possible for Larry's Perl to run on Bill's Windows.

So back to Tom. Tom was a Perl God. And God didn't like this, but Tom's
a God so there isn't much God could do, so He couldn't stop Tom from
saying things like "install an operating system on your poor lonely
computer the way God and Dennis intended", and "Espousing the eponymous
/cgi-bin/perl.exe?FMH.pl execution model is like reading a suicide
note -- three days too late."

The moral to the story? God is fickle. That's why Microsoft and Bill and
Windows exists. Do what God intended, install C, Unix, Mosaic/Netscape,
Java, and Perl on your system, and make Brian, Dennis, Larry, Tim, Tom,
Randal, Scott, and even Steve and Steve, I'm sure, happy by doing so.

Oh yeah, Linus was cool too. He's the guy you thank for being able to
run all the cool stuff on your crappy little Pee Cee. (anything with
x86 on it, by default, is crappy, no PERSONAL flames intended)

The Swapper ("The Seeker", de los "Who")

I've looked in kernel memory,
I've looked in the tables.
I try to find some core
For fifty million pages.
They call me the swapper.
I've been searching low and high.
Unix won't run out of memory
Till the day I die.

I asked Dennis Ritchie,
I asked Ken Thompson.
I asked comp.unix.wizards,
But they couldn't help me either.
They call me the swapper.
I've been searching low and high.
Unix won't run out of memory
Till the day I die.

People tend to hate me,
Cause I swap too slow.
As I page out their jobs
They want to shake my hand.
Focusing on swap space,
Investigating pagefaults,
I'm a pagedaemon,
I'm a very desperate hack.

Unix won't run out of memory
Till the day I die.

I learned how to raise resident set size.
Yeah, but look at this process it's mem'ry bound!
I'm happy when you segfault,
and when you run thrash.c I crash.
I get values but I
Don't know how or why!

I'm looking for core,
You're looking for CPU,
We're running on the same box,
And we don't know what to do!
They call me the swapper.
I've been searching low and high.
Unix won't run out of memory
Till the day I die.

Si Micro$oft hiciera coches

The Top-14 ways things would be different if Microsoft built cars. (drumroll, please...)

1. A particular model year of car wouldn't be available until AFTER that year, instead of before.

2. Every time they repainted the lines on the road, you'd have to buy a new car.

3. Occasionally your car would just die for no reason, you'd have to restart it. For some strange reason, you would just accept this.

4. You could only have one person at a time in your car, unless you bought a car '95 or a car NT, but then you'd have to buy more seats.

5. You would be constantly pressured to upgrade your car. Wait a sec, it's that way NOW!

6. Sun Motorsystems would make a car that was solar powered, twice as reliable, 5 times as fast, but only ran on 5% of the roads.

7. The oil, alternator, gas, engine warning lights would be replaced with a single "General Car Fault" warning light.

8. People would get excited about the "new" features in Microsoft cars, forgetting completely that they had been available in other brands for years.

9. We would still be waiting on the "6000 sux 58'" model to come out.

10. We'd all have to switch to Microsoft Gas (tm).

11. Lee Iacocca would be hired on as Bill G.'s chauffeur.

12. The US government would be GETTING subsidies from an automaker, instead of giving them.

13. New seats will force everyone to have the same size ass.

14. Ford, General Motors and Chrysler would all be complaining because Microsoft was putting a radio in all its models.

Extracto de apuntes

Este texto es un extracto de los apuntes de clase de "Informática de la Gestión Empresarial" del Kalamá, que indican cómo piensa en general un informático respecto a estos temas.
(...) Como siempre, el análisis económico primará sobre todos los otros posibles análisis y determinará la elección de un proyecto. Esto es una prueba más de la carencia total de escrúpulos y la ausencia de moral de un sistema caduco, decadente e inhumano como el capitalista. La existencia del hombre debe prevalecer sobre la aplicación del sistema, y no supeditarse a él.

Frases simpáticas

  • Última hora: por fin nombran almirante al comandante Norton
  • Cuando estoy con mi Amiga, me encanta usar el joystick...
  • Cielos el VIRUS CACHONDO me reclama 40 discos virgenes o mata al módem.
  • 'File not found reading drive c:' (E)sperar regreso (D)ejarle una nota
  • Le dije al DOS: DATE CUEN..., y Él me dijo: Fecha no válida.
  • ...De los autores de Edlin... Windows 95
  • Poner Ventanas a mi PC es como poner puertas al campo
  • ...UNIX, OS/2, WINDOWS (El bueno, el feo y el malo)...
  • La instalación de Windows 95 anula la garantía de su PC.
  • Gabardinas Windows 95 se cuelgan solas
  • Sois más falsos que la barra de proceso de instalación de Windows 95!!
  • Gran oferta: Hoy, con W'95, regalamos dos botones reset de repuesto.
  • Win 95 Optimization Pack ***Freeware*** Includes: HDFORMAT, DELTREE...
  • Te repites más que la instalación de windows 95
  • Mi Windows95 no se cuelga
  • ... Hemos avanzado mucho desde que creamos el DOS, ahora todo es más atractivo visualmente. (Bill Gates)
  • ... Si el Windows NT se pudiera ejecutar en cualquier ordenador, todo el mundo podría comprobar que se cuelga demasiado.
  • VirusDOS-Scan: [Windows-95] encontrado: lo elimino (s/n)?
  • Multitarea significa que dos programas pueden fallar simultáneamente
  • Busco novia Plug&Play (conectar y listo :-)
  • El hijo de Bill Gates fue por causa de UN FALLO DE PROTECCIÓN GENERAL
  • Windows'95 - S.O. Multitarea: Esta dando tarea a más de uno...

  • Las tres virtudes del buen programador (según Larry Wall)

    1. Vagueza. La calidad por la que haces un gran esfuerzo para reducir el gasto general de energía. Te hace escribir programas que te ahorran trabajo que otra gente puede encontrar útiles, y documentar lo que escribes para no tener que responder tantas preguntas sobre ello. Por ello, la primera gran virtud del programador. También por ello, este libro.
    2. Impaciencia. El enfado que sientes cuando el ordenador hace el vago. Esto le hace escribir programas que no sólo reacciona a tus necesidades, sino que además se adelanta a ellas. O al menos lo intentan. Por ello, la segunda virtud de un programador.
    3. Altanería. Excesivo orgullo, del tipo del cual hace que Zeus te machaque por ello. También la calidad que te hace escribir (y mantener) programas de los que otra gente no quiera decir cosas malas sobre ellos. Por ello, la tercera virtud del programador.

    Nueva letra de Something

    Something in the way it fails,
    Something in the way it coredumps...
    
    I don't want to leave it now
    I'll fix this problem somehow
    
    Somewhere in the memory I know,
    A pointer's got to be corrupted.
    Stepping in the debugger will show me...
    
    I don't want to leave it now
    I'm too close to leave it now
    
    You're asking me can this code go?
    I don't know, I don't know...
    What sequence causes it to blow?
    I don't know, I don't know...
    
    Something in the initializing code?
    And all I have to do is think of it!
    Something in the listing will show me...
    
    I don't want to leave it now
    I'll fix this tonight I vow!
    

    Letra de UNIX man ("Nowhere man")

    He's a real UNIX Man
    Sitting in his UNIX LAN
    Making all his UNIX .plans
    For nobody.
    
    Knows the blocksize from du(1)
    Cares not where /dev/null goes to
    Isn't he a bit like you
    And me?
    
    UNIX Man, please listen(2)
    My lpd(8) is missin'
    UNIX Man
    The wo-o-o-orld is at(1) your command.
    
    He's as wise as he can be
    Uses lex and yacc and C
    UNIX Man, can you help me
    At all?
    
    UNIX Man, don't worry
    Test with time(1), don't hurry
    UNIX Man
    The new kernel boots, just like you had planned.
    
    He's a real UNIX Man
    Sitting in his UNIX LAN
    Making all his UNIX .plans
    For nobody ...
    Making all his UNIX .plans
    For nobody.
    

    De cuando a BillyPuertas le tiraron una tarta a la cara

    "Brussels police department, how may I assist you?"
            "Uh.. yes.. I just got hit in the face with a cream pie."
            "Okay, sir. Have you called the Brussels police department before?"
            "No"
            "Well, let me get a little information about you for our records. Your
    name?"
            "Bill Gates"
            "Country?"
            "The USA"
            "Native language?"
            "English."
            "Okay, sir. Your police department ID number is BP31415927. Please use
    this number the next
            time you call. Now, you say you were hit in the face with a pie?"
            "Yes, I was just about to meet with the Belgian Prime Minister. One
    person distracted me while
            another hit me with a cream pie."
            "We've had other customers report that they were hit in the face with
    a custard pie. Are you sure it
            was a cream pie?"
            "Well, I have white stuff all over my face and I don't see any
    custard, so I really don't think it was
            a custard pie."
            "Have you visited the Prime Minister before?"
            "Yes"
            "Were you hit in the face with a pie then?"
            "No"
            "Hmm... have you visited any other Prime Ministers in the past month?"
            "Yes"
            "Any pies then?"
            "No"
            "Okay, well.. let's try something. Go outside the building and come in
    again. I'll wait."
            "Just a minute.." (several minutes pass) "Okay, I'm back."
            "Did you get hit by another pie?"
            "Of course not"
            "Well sir, I don't know what could have caused the first pie, but it
    looks like things are working
            fine now. I'll make a note of the problem, though. If it happens
    again, please note the exact details
            of the situation and call us again. Thank you for calling the Brussels
    Police Department. (click)"
    

    Chistes cortos


    El lenguaje de los vendedores de ordenadores

    What they say:                  What they mean:
    
    New                             Different colors from previous version.
    All New                         Not compatible with previous version.
    Exclusive                       Nobody else has documentation.
    Unmatched                       Almost as good as the competition.
    Design Simplicity               The company wouldn't give us any money.
    Fool-proof Operation            All parameters are hard-coded.
    Advanced Design                 Nobody really understands it.
    Here At Last                    Didn't get it done on time.
    Field Tested                    We don't have any simulators.
    Years of Development            Finally got one to work.
    Unprecedented Performance       Nothing ever ran this slow before.
    Revolutionary                   Disk drives go 'round and 'round.
    Futuristic                      Only runs on a next generation supercomputer.
    No Maintenance                  Impossible to fix.
    Performance Proven              Worked through Beta test.
    Meets Tough Quality Standards   It compiles without errors.
    Satisfaction Guaranteed         We'll send you another pack if it fails.
    Stock Item                      We shipped it before and can do it again.
    

    Propuesta de nuevas instrucciones para el PDP-11

    Proposed Additions to the PDP-11 Instruction Set:
    
    BBW     Branch Both Ways	(Salta a los dos lados)
    BEW     Branch Either Way	(Salta a cualquier lado)
    BBBF    Branch on Bit Bucket Full	(Salta si /dev/null está lleno)
    BH      Branch and Hang		(Salta y cuélgate)
    BMR     Branch Multiple Registers	(Salta por varios registros)
    BOB     Branch On Bug	(Salta si hay un fallo en el programa)
    BPO     Branch on Power Off	(Salta al apagarse la máquina)
    BST     Backspace and Stretch Tape	(Borra y estira la cinta ¿?)
    CDS     Condense and Destroy System	(Condensa ¿? y destruye el sistema)
    CLBR    Clobber Register	(Machacar registro)
    CLBRI   Clobber Register Immediately	(Machacar registro _inmediatamente_)
    CM      Circulate Memory	(«Publica» el contenido de la memoria)
    CMFRM   Come From -- essential for truly structured programming
    (Ven de -- esencial para la programación estructurada de verdad)
    CPPR    Crumple Printer Paper and Rip	(Desmenuza el papel de la impresora y rájalo)
    CRN     Convert to Roman Numerals	(Convertir a números romanos)
    

    Comunicación con Marte con Linux

    /*
     * [...] Note that 120 sec is defined in the protocol as the maximum
     * possible RTT.  I guess we'll have to use something other than TCP
     * to talk to the University of Mars.
     * PAWS allows us longer timeouts and large windows, so once implemented
     * ftp to mars will work nicely.
     */
    (from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])
    

    Pequeño programa

    Este pequeño programa está en la firma de Marco Foglia, un programador de Linux:
    #include <math.h>
    main(){int i=5;for(;i;)printf("%c\n",(int)(81+7.3*sin(i---5.75)));}
    
    Coge un compilador de C y prueba este código...

    Chiste informático

    Un biólogo, un estadista, un matemático y un informático están en un Safari en África. Mientras conducen por la sabana, se paran y miran al horizonte con los prismáticos.

    El biólogo: «¡Mirad! Un grupo de cebras! ¡Y hay una blanca! ¡Fantástico, seremos famosos!»

    El estadista: «¡Eh, calmaos, no es significativo. Sólo sabemos que hay una cebra blanca!»

    El matemático: «En realidad, sólo sabemos que existe una cebra que es blanca por una cara»

    El informático: «¡Oh, no, un caso particular!»


    Sobre Dios...

    Richard M. Stallman (líder del proyecto GNU, y programador principal de EMACS), Linus Torvalds (líder del desarrollo de Linux) y Donald E. Knuth (entre otras cosas, autor de TeX y de los, probablemente, mejores libros escritos nunca sobre programación) se enzarzan en una discusión sobre quién ha tenido un mayor impacto en el mundo informático.

    Stallman: «¡Dios me dijo que yo había programado el mejor editor del mundo!»

    Torvalds: «¡Pues a mi Dios me dijo *yo* he programado el mejor sistema operativo del mundo!»

    Knuth: «Un momento, un momento. Yo nunca dije nada de eso»


    Fuentes de Windows 98

    Tras una ardua labor de investigación, se ha podido destapar el verdadero codigo fuente de W98.
    #include "Win30.h"
    #include "Win31.h"
    #include "Win95.h"
    #include "AlgoMas.h"
    #include "CodigoAntiguo.h"
    #include "NormasDeBillGates.h"
    #include "CosasDeRelleno.h"
    #include "Monopoly.h"
    
    #define INSTALAR TODO_SIN_EXCEPCION_Y_A_LO_BESTIA
    #define CASCAR -5483021548692487811456214478252114545621
    
    static char Escritorio[16000000]; /* 16 Mb */
    static char Accesorios[8000000]; /* 8 Mb */
    static char Explorer4[4000000]; /* 4 Mb */
    static char ProgramasDeUsuario[2000000]; /* 2 Mb */
    static char MemoriaLibre[2000000]; /* 2 Mb */
    
    int main()
    {
    	while (NoCasque()) {
    		MostrarMensajeCopyright();
    		MostrarMensajeNormasBillGates();
    		DesactivarBotonReset();
    		BucleParaNoHacerNada();
    
    		if (PRIMERA_INSTALACION) {
    			while (TamanyoDiscoSwap() <
    				(ESPACIO_PARA_WINDOWS_ENTERITO * 5)) {
    				Ocupar50MbParaDiscoDeSwap();
    				BucleParaNoHacerNada();
    			}
    
    			EliminarSistemaDeArchivosHPFS();
    			EliminarCualquierRastroDeOS2();
    
    			DeshabilitarInstalacionDeNetscape();
    
    			DeshabilitarInstalacionDeRealPlayer();
    
    			if (QuedaAlgunRastroSospechoso())
    				ColgarSistema();
    		}
    
    		MostrarAlgunaCosaBonitaPeroInutil();
    		MostrarMensajeCopyrightOtraVez();
    		BucleParaNoHacerNada();
    		HacerVerQueHaceAlgo();
    
    		if (SigueSinCascar()) {
    			MostrarMensajeCopyrightOtraVez();
    			BucleParaNoHacerNada();
    			EjecutarWin31();
    
    			if (AunSigueSinCascar())
    				EjecutarWin30();
    
    			BucleParaNoHacerNada_1();
    			BucleParaNoHacerNada_2();
    			BucleParaNoHacerNada_3();
    
    			BucleParaNoHacerNada_Etcetera();
    		}
    
    		if (UsuarioNoAceptaWindowsComoAlgoUtil())
    			goto VETE_A_SABER_DONDE;
    
    		if (SeHaDetectadoCache())
    			DeshabilitarCache();
    
    		if (CPU_Rapida()) {
    			EstablecerEstadosDeEspera(MUCHISIMOS);
    
    			EstablecerRaton(VELOCIDAD, MUY_LENTO);
    			EstablecerRaton(ACCION, DESPLAZARSE_A_SALTOS);
    			EstablecerRaton(REACCION, A_VECES);
    
    			EstablecerTeclado(VELOCIDAD_PARPADEO, MUY_LENTO);
    
    			EstablecerTeclado(VELOCIDAD_REPETICION, MUY_LENTO);
    		}
    
    		/* printf("Bienvenido a Windows 3.0"); */
    		/* printf("Bienvenido a Windows 3.1"); */
    		/* printf("Bienvenido a Windows 95"); */
    		printf("Bienvenido a Windows 98");
    
    		if (CPU != INTEL) {
    			DeshabilitarRaton();
    			DesconfigurarTeclado();
    
    			ColgarSistema(INDICADOR_MSDOS);
    		} else {
    			MemoriaDeSistema = open("a:swp0001.swp", O_CREATE);
    
    			while (NoHayaSuficienteEspacioEnDisco())
    				printf("Inserte un nuevo disco en la unidad A:");
    		}
    
    		while (NOS_SALGA_DE_LOS_HUEVOS) {
    			sleep(5000);
    			ObtenerEntradaUsuario();
    			sleep(5000);
    			ReaccionarAPeticionUsuario();
    		}
    
    		if (ObtenerNumeroAlAzar() != BINGOOOO)
    			GenerarErrorDeProteccionGeneral();
    
    		/* Fin de bucle principal */
    	}
    
    	/* Finalizar sesión */
    
    	if (AunNoHaCascadoDelTodo()) {
    		if (ObtenerOtroNumeroAlAzar() != BINGOOOO) {
    			MandarExplorerALaMierda();
    
    			if (HayAlgoAbierto()) {
    				Accion = MostrarMensaje("¿Desea guardar los datos?");
    				if (Accion == SI)
    					GuardarDatos_JAJAJA();
    
    				MandarloTodoAlCarajo();
    			}
    		}
    
    		printf("Windows se está cerrando");
    
    		while (HAYA_PRISA)
    		sleep(5000);
    
    		if (UsuarioYaLlegaTardeDondeTeniaQueIr())
    			printf("Ahora puede apagar el equipo.");
    	}
    
    	return ((int)((long)((float)((double)((re double)CASCAR)))));
    }
    

    Más instrucciones para el PDP-11

    Proposed Additions to the PDP-11 Instruction Set:
    
    DC      Divide and Conquer (dividir y vencer)
    DMPK    Destroy Memory Protect Key (destruir la clave de protección de
    memoria)
    DO      Divide and Overflow (dividir y desbordar)
    EMPC    Emulate Pocket Calculator (simular calculadora de bolsillo)
    EPI     Execute Programmer Immediately (ejecutar programador inmediatamente)
    EROS    Erase Read Only Storage (borrar dispositivo de sólo lectura)
    EXCE    Execute Customer Engineer (ejecutar ingeniero de clientes)
    HCF     Halt and Catch Fire (parar la ejecución y ¿capturar el fuego?)
    IBP     Insert Bug and Proceed (introducir fallo en el programa y seguir)
    INSQSW  Insert into queue somewhere (for FINO queues [First in never out])
                                   (insertar en algún sitio)
    PBC     Print and Break Chain (imprimir y romper cadena)
    PDSK    Punch Disk (romper disco)
    

    Esteban Manchado 'ZoSo' - a2092@correo.dis.ulpgc.es