"I believe OS/2 is destined to be the most important operating system, and possible program, of all time." - Bill Gates, 1987
"OS/2 is destined to be a very important piece of software. During the next 10 years, millions of programmers and users will utilize this system." Bill Gates, 1988
"In fact, I don't think 7-11s even take coupons. I should check that out..." - Bill Gates, 1992
"While we liked developing Windows applications, we never inhaled." - Philippe Kahn, 1992
"New GUIs from IBM and NeXT make Windows look old hat." - Datamation, 1992
" Why are manhole covers round? How many gas stations are there in the U.S.?" - Interview questions asked by Microsoft, 1992
(Dos + Windows + ATM) < OS/2 2.0!
2.0 is better than 1.
Air conditioned environment - Do not open Windows.
Bugs come in through open Windows.
Dogs crawl under gates, software crawls under Windows!
Don't be held back by yesterday's DOS! Try today's OS/2!
Dos: Venerable. Windows: Vulnerable. OS/2: Viable.
Scanning for Viruses...Windows Found! Please Remove.
DOS=HIGH? I knew it was on something...
Double your drive space! Delete Windows!
Friends don't let friends use Windows.
Have you crashed your Windows today?
He who laughs last uses OS/2.
How do you make Windows faster? Throw it harder!
How do you spell relief? OS/2!
I don't do Windows, but OS/2 does.
I love running Windows! NOT!
I smashed a Window and saw... *OS/2*
I use OS/2 2.0 and I don't care who knows!
If at first you don't succeed, work for Microsoft.
If Windows sucked it would be good for something.
If you want it done right, forget Microsoft.
It takes 2.0, baby, it takes 2.0...
MASOCHIST: Windows SDK programmer with a smile!
My best view from a Window was through OS/2.
One man's Windows are another man's walls.
OS/2 2.0: Taking the wind out of Windows.
OS/2 in '92!
OS/2: Bill Gates' worst nightmare!
OS/2: Logic, not magic.
OS/2: Not just another pretty program loader!
OS/2: The choice of the next generation.
OS/2: Windows done RIGHT!
OS/2: Windows with bullet-proof glass.
OS/2: The human way of Computing!
OS/2: Your brain. Windows: Your brain on drugs.
See the Future; See OS/2. Be the Future; Run OS/2.
The best way to accelerate Windows is at escape velocity.
To whom the gods destroy, they first teach Windows...
Turn your 486 into a Gameboy: Type WIN at C:\>
Wait for OS/2 2.0 - the best Windows tip around!
Walk through doors, don't crawl through Windows.
What I like about MS is its loyalty to customers!
What's so great that people are switching to Windows?
What?!? DOSSHELL *isn't* supposed to be a joke?
When DOS grows up it wants to be OS/2!
Why look thru Windows? Open the door to the future: OS/2
Windows 3.1 - The Best $89 Solitaire Game You can Buy!
Windows = Training wheels for OS/2!
Windows = Turn a 386/25 into a 4.77 Mhz XT
Windows is a pane
Windows is great if you can make it work.
Windows is to OS/2 what Etch-a-Sketch is to art.
Windows isn't crippleware: it's "Fuctionally Challenged"
Windows NT: From the makers of Windows 3.0!
Windows NT: Vapourware of the desperate and scared.
Windows NT? New Technology? I don't think so...
Windows NT? Want to run it? Check IEEE Spectrum "TERAFLOPS GALORE."
Windows: A View to be Killed.
Windows: an Unrecoverable Acquisition Error!
Windows: From the people who brought you EDLIN!
Windows: Just another pane in the glass.
Windows: The CP/M of the future!
Windows: The Gates of hell.
Windows? Homey don't play that!
Windows? WINDOWS?!? Hahahahahehehehehohohoho...
Windws is ine for bckgroun comunicaions
REDMOND, WA BUSINESS WIRE (31 marca) - Korporacja Microsoft poinformowala we czwartek o przekazaniu wersji beta Windows TP, nowego telepatycznego systemu operacyjnego, do 1500 miejsc testowych rozsianych na calym swiecie.
Zaprojektowany z wykorzystaniem Microsoft C for Neurons (ukaze sie niebawem) Microsoft TP omija malo wygodny interfejs, wspoldzialajac bezposrednio z mozgiem uzytkownika. Za pomoca Microsoft MindMouse (myszki umyslowej), uzytkownik moze zwizualizowac sobie obrazy w swoim umysle, a aplikacja stowarzyszona z danym obrazem (lub inaczej - "ikona myslowa") zostanie natychmiast uruchomiona. Uzytkownik moze wizualizowac obrazy w celu utworzenia obrazow w formacie Windows Bitmap lub wmyslec tekst bezposrednio do dowolnej aplikacji pracujacej w systemie Windows.
Windows TP jest w pelni zgodny ze wszystkimi poprzednimi wersjami Windows. Dane przechowywane w systemie Windows TP moga byc skopiowane do pamieci krotkoterminowej Uzytkownika (The Windows TP Clipboard), lub przekazane bezposrednio do pamieci dlugoterminowej za pomoca nowego, 32-bitowego systemu DNA (Direct Neuron Access). Uzytkownik moze potem podlaczyc sie do innego systemu Windows TP w celu przeniesienia danych.
Microsoft zapowiedzial takze pierwsza aplikacje, zaprojektowana specjalnie dla systemu Windows TP. CyberMail jest systemem poczty mentalnej, umozliwiajacej przekazywanie informacji za pomoca mysli. Uzytkownik wizualizuje sobie osobe, lub znak firmy, do ktorej zamierza przekazac wiadomosc. Wersja beta tego systemu jest juz od kilku miesiecy testowana w firmie Microsoft.
Zalozona w roku 1975 firma Microsoft jest swiatowym liderem w dziedzinie oprogramowania dla komputerow osobistych. Microsoft oferuje szeroki wachlarz uslug i produktow przeznaczonych zarowno dla biznesu, jak i do uzytku osobistego. Kazdy z produktow jest projektowany z mysla o ulatwieniu i uprzyjemnieniu pracy kazdemu korzystajacemu z dobrodziejstw nowoczesnej techniki obliczeniowej.
KONTAKT: Microsoft Corporation Liz Waghtor, 206/555-8080 (adres CyberMail: niska, pekata pani o ognistoczerwonych wlosach z ogromna gula, rosnaca w prawym rogu wargi. Niebieski tatuaz na prawym ramieniu mowi: "Billy G. -- Mezczyzna dla Mnie").
NOWY JORK, Reuter (1 kwietnia) - wiele jeszcze trzeba dopracowac, zanim ostateczna wersja Windows TP bedzie sie mogla ukazac - mowia beta testerzy produktu. Testerzy zglaszaja m.in. liczne problemy zwiazane z ikonami myslowymi.
"Rybi ogon moze czasami oznaczac pewne pozyteczne rzeczy, ale nie Program Managera! To nie jest intuicyjne." - mowi Clyde Revlon, ekspert MIS Technology. Jej wspolpracownik, McBalmy twierdzi podobnie: "Ktokolwiek potrafi zrozumiec te ikony, wymaga leczenia. Terier faceta z Yorkshire z pewnoscia jest cudowny, ale... nie jako File Manager?! Zlotego Szukacza moge zrozumiec, ale ten sweter, ktory ubiera terrier, jest zbyt ostry. Pozwolcie mi nim sterowac."
Testerzy zglaszaja takze niebezpieczne usterki w systemie Direct Neuron Access. "Kolory, wacham kolory. Dobry piesek, dobry, idz do mamusi, dobrze?" powiedziala Maggie Ferreaux, konsultant. Inni testerzy byli mniej wyrozumiali. "Pracuje nad prezentacja, a tu nagle okazuje sie, ze jedyna rzecza, o jakiej jestem w stanie pomyslec, sa pierwsze strony ksiazki telefonicznej Miami, litery A do C. Stracilem trzy godziny, zanim udalo mi sie wreszcie wyrzucic ja z pamieci. W ten sposob nie da sie pracowac!" - zali sie Max Piernich, pracownik Dzialu Sprzedazy firmy Carp Technology.
Microsoft oficjalnie potwierdzil te informacje, dodajac, ze zadna wersja beta nie jest doskonala. Obiecal takze, ze zapewni opieke tego samego neurologa, ktory pracowal przy rekonwalescencji pracownikow dzialu Kontroli Jakosci firmy Microsoft, testujacych wczesne wersje produktu.
Potwierdzajac, ze blad typograficzny w tekscie zrodlowym Neural C moze dac nieprzewidziane efekty, a kontrola skladni kompilatora nie jest jeszcze dokladna, rzecznik prasowy Microsofta zdementowal pogloski, jakoby niedawny zgon kilku beta testerow mial zwiazek z bledem typograficznym, popelnionym podczas korzystania z procedury EXECUTE_PROGRAM_IMMEDIATE interfejsu Neural C.
Pogloska ta jest jedna z wielu towarzyszacych nie opublikowanemu jeszcze systemowi Windows TP. Mowi sie, ze programisci zamiast nazwy procedury EXECUTE_PROGRAM_IMMEDIATE omylkowo wpisywali EXECUTE_PROGRAMMER_IMMEDIATE, co mialo tragiczne konsekwencje.
Osoby z Microsoft, pragnace zachowac anonimowosc mowia: "to jest w koncu tylko wersja BETA i bledow nalezy oczekiwac.", "Nie mozemy przewidziec kazdego bledu, jaki popelni uztykownik." oraz "ktokolwiek uzywa nie udokumentowanych wywolan, robi to na wlasna odpowiedzialnosc".
Microsoft jest przekonany, ze Windows TP nie bedzie sprawial zadnych klopotow, przynajmniej jesli chodzi o wersje poprzedzajace 2.0. "W koncu nie otrzymalismy od beta-testerow ani jednej informacji o problemach. Nie ma zatem podstaw, aby uwazac, ze Windows TP jest produktem chybionym."
(Originally from Dave Coble)
Na podstawie artykulu w LaughWebie, przeklad EW.
No, Windows is not a virus. Here's what viruses do:
Line Lotnicze AMIGA
Terminal lotniskowy jest ladny i kolorowy, z przyjacielskimi i milymi stewardesami, z latwym dostepem do samolotow i bezproblemowym startem. Dla bardziej wymagajacych podroznikow : moga oni podrozowac na wielu samolotach i odwiedzic wiele miejsc w tym samym czasie. Podczas tych wielokrotnych podrozy pasazer moze skozystac z lotow na linaiach MACa, DOSu, UNIXa, czy tez WINDOWSow.
Linie Lotnicze DOS
Sytuacja wyglada tak: Wszyscy pchaja samolot, az ten wzbije sie w powietrze i zacznie szybowac. Nastepnie wskakuja do niego i przez moment szybuja wraz z nim dopoty ten nie uderzy w ziemie. Potem od poczatku pchaja i szybuja itd...
Linie Lotnicze DOS z QEMM
Sytuacja jak wyzej, z tym ze z wieksza iloscia miejsca na nogi.
Linie Lotnicze MAC
Wszyscy na lotnisku, a wiec stewardesy, kapitanowie samolotow, bagazowi i urzednicy wygladaja tak samo, zachowuja sie tak samo i mowia w ten sam sposob. Zawsze, gdy o cos zapytasz, otrzymujesz odpowiedz, ze nie musisz tego wiedziec, nie chcesz tego wiedziec i ze wszystko bedzie zrobione bez twojej wiedzy - wiec zamknij sie.
Linie Lotnicze OS/2
Aby dostac sie na poklad samolotu musisz podstemplowac bilet 10 razy w dziesieciu roznych okienkach. Nastepnie musisz wypelnic ankiete, w ktorej wyjasnisz gdzie chcesz siedziec i czy powinno to wygladac jak na statku pasazerskim, w pociagu osobowym, czy tez w autobusie. Jezeli powiedzie Ci sie, dostaniesz sie na poklad i samolot szczesliwie wystartuje... bedziesz miec wspaniala podroz ... z wyjatkiem sytuacji, w ktorych zamarznie ster i klapy w pozycji, w ktorej bedziesz mial czas tylko na odmowienie modlitw zanim samolot zderzy sie z ziemia.
Linie Lotnicze WINDOWS
Lotniskowy terminal jest ladny i kolorowy, z milymi i pomocnymi stewardesami, z latwym dostepem do samolotu oraz bezproblemowym startem... potem samolot wybucha bez zadnego ostrzezenia...
Linie Lotnicze NT
Sytuacja wyglada tak: wszyscy wychodza na pas startowy, po drodze podaja haslo i kresla zblizony ksztalt samolotu. Nastepnie siadaja i robia halas jakby wlasnie nim lecieli.
Linie Lotnicze Unix
Kazdy przynosi jedna czesc samolotu ze soba na lotnisko. Potem wszyscy wynosza to na pas startowy i skladaja do kupy klocac sie ciagle o rodzaj samolotu, ktory buduja.
Do klienta (nowe linie lotnicze) przychodzi dealer sprzedajacy Amibusy.
Dealer: | ...jak juz mowilem nasze samoloty sa najlepsze. Tansze od konkurencyjnych DC286, DC386, DC486 nie mowiac o tych latajacych trumnach DC-5... |
---|---|
Klient: | [slucha] |
Dealer: | Nasz samolot moze leciec jednoczesnie w dwie strony... |
Klient: | Niesamowite... |
Dealer: | Uklad sterowania jest najgenialniejszy na swiecie. Daje pilotowi tyle mozliwosci... Swoja droga Pan wie jakie matoly lataja na DeCetach... Takiemu to wszystko podkladaja pod nos - tylko leci... (tu dealer przelyka sline z gorycza). Nie ma pojecia do jakiej finezji mozna dojsc pilotujac Amibusa. |
Klient: | Powiedzmy, ze kupie Amibusa, czy moge nim... |
[tu dealer przerywa] | |
Dealer: | Jasne ze tak!!! |
Klient: | ...poleciec do Londynu? |
Dealer: | Tak! ... Chociaz.. powiedzial Pan do Londynu? To dalej jak 50 km? W takim razie bedzie trzeba rozszerzyc stateczniki, standartowo montujemy po 1 m , ale jak pan chce leciec dalej to konieczne sa 2 m. |
Klient: | [slucha] |
Dealer: | Poza tym bedzie pan lecial nad woda? Radze zaopatrzyc sie w staly bak paliwa. Standartowo wyposazamy nasze samoloty w kanistry po O.8 tys. litrow. Rozumie pan... tak jest taniej. Ale trzeba dolewac w czasie lotu... Radze panu niech sobie pan zamontuje bak 80 tys litrow. Chociaz moze miec pan klopoty z kabelkiem paliwowym... |
Klient: | Acha... |
Dealer: | A w ogole to niech najlepiej pan pozyczy na ten lot DeCeta - one sie do takich nudnych zadan nadaja. Nie to co Amibusy... To sa maszyny... Prawdziwa finezja... zwrotne... |
Klient: | Moj znajomy ma Amibusa A-500, czy moglbym od niego pozyczyc troche paliwa do mojego A-1200? |
Dealer: | Lepiej nie. To tylko w tych kretynskich DeCetach do kazdego silnika mozna wlac to samo od DC-XT do DC-5. Wobraza pan sobie co to za marnotrawstwo? Po prostu brak ambicji. My stosujemy za kazdym razem rozwiazania unikatowe... |
Klient: | Dobrze, na koniec jeszcze jedno pytanie, kto produkuje wasze samoloty? |
Dealer: | ...obecnie? |
Klient: | tak |
Dealer: | zwykle znajdujemy je na polach z kapusta. |
Happy Windows 95 (Wait Is Over)
with apologies to Yoko Ono & John Lennon
(Happy Windows Bill) (Happy Windows Microsoft)
So this is Windows
A phenomenal upgrade
And so this is Windows
A phenomenal upgrade
And so this is Windows
A mind-boggling upgrade Happy Windows |
---|
MATEMATYK
jedzie do Afryki, odrzuca wszystko co nie jest sloniem i lapie jedna z
pozostalych rzeczy
DOSWIADCZONY MATEMATYK
najpierw przeprowadza dowod isnienia co najmniej jednego slonia a potem
postepuje tak jak MATEMATYK
PROFESOR MATEMATYKI
przeprowadza dowod isnienia co najmniej jednego slonia a jego zlapanie
pozostawi jako temat pracy magisterskiej dla swoich studentow
PROGRAMISTA
wykona nastepujacy algorytm:
GOTO Afryka, Przyladek Dobrej Nadziei REPEAT zlapany:=lap_zwierze; if zlapany<>slon then begin krok_na_zachod; if brzeg then begin krok_na_polnoc; GOTO zachodni brzeg end; end UNTIL zlapany=slon;
DOSWIADCZONY PROGRAMISTA
przed wykoneniem tego programu umiesci w Kairze jednego slonia, aby
algorytm kiedys sie sakonczyl
PROGRAMISTA ASSEMBLEROWY
wykona ten sam algorytm, ale na czworakach
INZYNIER
lapie losowo napotkane zwierze i uznaje je za slonia, jesli wazy tyle, co
ktorykolwiek ze znanych sloni (z dokladnoscia do 15%)
EKONOMISTA
nie lapie sloni: uwaza, ze slon zlapie sie sam, o ile tylko dobrze sie mu
zaplaci
KONSULTANCI
nigdy w zyciu na nic nie polowali i nie beda polowac, ale za to oferuja swe
uslugi jako doradcy dla polujacych
POLITYK
takze nie lapie sloni, ale podzieli sie sloniami, ktore zlapales, z ludzmi,
ktorzy na niego glosowali
PRAWNIK
nie lapie sloni, tylko dyskutuje z innymi PRAWNIKAMI, do kogo naleza
pozostawione przez slonie kupki
SPECJALISTA od PRAWA do PROGRAMOW
zwykle oglaszaja, ze cale stado nalezy do nich, jako dowod przedstawiajac
szczegolny wyglad i zapach jednej z kupek
NACZELNY DYREKTOR
organizuje szeroko zakrojona polityke slonilowstwa bazujac na zalozeniu, ze
slon to rodzaj szarej polnej myszy o duzo grubszym glosie
INSPEKTORZY z UBEZPIECZENIOWI
nie interesuja sie sloniami, ale podaza za innymi mysliwymi gromadzac
dowody, ze ich samochody byly zaladowane niezgodnie z przepisami
HANDLOWIEC
nie lapie sloni, ale zajmuje sie uzgadnianiem kontraktow na dostawe sloni
na dwa dni przet otwarciem sezonu polowan
SPRZEDAWCA OPROGRAMOWANIA
lapie pierwsze napotkane zwierze, wysyla do klienta i wystawia rachunek za
slonia
SPRZEDAWCA SPRZETU (komputerowego)
lapie kroliki, maluje na szaro i sprzedaje slonie w wersji desk-top
na podstawie Bajtka
Jak odpluskwiac program w "C"
(autor: zycie)
YOU KNOW YOU'VE BEEN ON THE COMPUTER TOO LONG WHEN...
Pyt: Jaka jest inna nazwa na nalepke "Intel inside" nalepiana na Pentiumy
Odp: Znak ostrzegawczy.
Pyt: Jak nazwano serie instrukcji FDIV (dzielenie) na Pentium?
Odp: Kolejne przyblizenia.
Pyt: Jakiego algorytmu uzyl Intel do dzielenia w Petium?
Odp: "Zycie to pudelko czekoladek" (informator: Forrest Gump z Intela)
Pyt: Dlaczego Intel nie nazwal Petium (numerkiem) 586?
Odp: Probowali doda 486 i 100 na prototypie i wychodzilo im 585.999983605
Pyt: Wedlug Intela, Petium jest zgodne ze standardami IEEE 754 i 854 w
zakresie obliczen zmiennoprzecinkowych. Jesli lecisz samolotem
projektowanym przy uzyciu Petium, jak nalezy wymawia "IEEE"?
Odp: Aaaaaaaiiiiiiiiieeeeeeeeeeeee
9.9999973251 | To tylko drobna pomylka, cholera, a nie blad |
8.9999163362 | Wystaczajaca dokladnosc, slyszysz? |
7.9999414610 | Prawie 300 POPRAWNYCH instrukcji |
6.9999831538 | Nie musisz wiedziec, co jest w srodku |
5.9999835137 | Nowa epoka pecetow -- i matematyki! |
4.9999999021 | Naprawde, juz to naprawilismy |
3.9998245917 | Dzielenie szkodzi zdrowiu |
2.9991523619 | A jak myslisz, dlaczego nazywaja to zmiennym przecinkiem? |
1.9999103517 | Szukamy kilku innych niedorobek. |
0.9999924459 | W srodku zalaczona errata. |
P: Ilu technikow z Microsoftu potrzeba, aby wymienic zarowke?
O: Trzech. Dwoch trzyma drabine, podczas gdy jeden wbija zarowke w oprawke
mlotkiem.
P: Ilu wiceprezydentow Microsoftu potrzeba, aby wymienic zarowke?
O: Osmiu. Jeden zajmuje sie zarowka, a siedmiu pilnuje, aby Microsoft dostal
2$ za kazda zarowke wymieniona na swiecie.
P: Ilu testerow Microsoftu potrzeba, aby wymienic zarowke?
O: My po prostu stwierdzamy stan ciemnosci w pokoju. Aktualnie nie
wymieniamy zarowek. Poniewaz wynik poprzedniego testu rowniez byl niepomyslny
(dead-bulb result), mamy pewnosc, ze projektanci juz pracuja nad poprawieniem
bledu.
P: Ilu praconikow Dzialu Sprzedazy firmy Microsoft potrzeba, aby wymienic
zarowke?
O: Mozemy wymienic zarowke w ciagu 7 do 10 dni roboczych. Jezeli zadzwonisz
przed druga i zaplacisz dodatkowo 15$, bedziesz mial zarowke wymieniona
na dzien nastepny. Nie zapomnij wpisac swojego nazwiska w prawym gornym
rogu pudelka z zarowka!
P: Ilu uzytkownikow Windows potrzeba, aby wymienic zarowke?
O: Jednego, ale bedzie przy tym podkreslal, ze bylo to tak latwe, jak by bylo
dla uzytkownika Macintosha.
P: Ilu menadzerow Microsoftu potrzeba, aby wymienic zarowke?
O: Powolalismy specjalna grupe robocza do przestudiowania problemu przepalania
sie zarowek i okreslenia co my, jako pracownicy nadzoru, mozemy zrobic, aby
zarowki pracowaly czysto i bezblednie.
P: Ilu programistow potrzeba, aby wymienic zarowke?
O: Ani jednego. Jest to problem sprzetowy.
P: Ilu programistow Microsoftu potrzeba, aby wymienic zarowke?
O: Zadnego. Bill Gates po prostu ustanowil Darkness(TM) jako nowy standard
przemyslowy.
In the beginning there was the computer. And God said %>Let there be light! #Enter user id. %>God #Enter password. %>Omniscient #Password incorrect. Try again. %>Omnipotent #Password incorrect. Try again. %>Technocrat #And God logged on at 12:01:00 AM, Sunday, March 1. %>Let there be light! #Unrecognizable command. Try again. %>Create light #Done %>Run heaven and earth #And God created Day and Night. And God saw there were 0 errors. #And God logged off at 12:02:00 AM, Sunday, March 1. #And God logged on at 12:01:00 AM, Monday, March 2. %>Let there be firmament in the midst of water and light #Unrecognizable command. Try again. %>Create firmament #Done. %>Run firmament #And God divided the waters. And God saw there were 0 errors. #And God logged off at 12:02:00 AM, Monday, March 2. #And God logged on at 12:01:00 AM, Tuesday, March 3. %>Let the waters under heaven be gathered together unto one place and let the dry land appear and #Too many characters in specification string. Try again. %>Create dry_land #Done. %>Run firmament #And God divided the waters. And God saw there were 0 errors. #And God logged off at 12:02:00 AM, Tuesday, March 3. #And God logged on at 12:01:00 AM, Wednesday, March 4. %>Create lights in the firmament to divide the day from the night #Unspecified type. Try again. %>Create sun_moon_stars #Done %>Run sun_moon_stars #And God divided the waters. And God saw there were 0 errors. #And God logged off at 12:02:00 AM, Wednesday, March 4. #And God logged on at 12:01:00 AM, Thursday, March 5. %>Create fish #Done %>Create fowl #Done %>Run fish, fowl #And God created the great sea monsters and every living creature that creepeth wherewith the waters swarmed after its kind and every winged = fowl after its kind. And God saw there were 0 errors. #And God logged off at 12:02:00 AM, Thursday, March 5. #And God logged on at 12:01:00 AM, Friday, March 6. %>Create cattle #Done %>Create creepy_things #Done %>Now let us make man in our image #Unspecified type. Try again. %>Create man #Done %>Be fruitful and multiply and replenish the earth and subdue it and have dominion over the fish of the sea and over the fowl of the air and over every living thing that creepeth upon the earth #Too many command operands. Try again. %>Run multiplication #Execution terminated. 6 errors. %>Insert breath #Done %>Run multiplication #Execution terminated. 5 errors. %>Move man to Garden of Eden #File Garden of Eden does not exist. %>Create Garden.edn #Done %>Move man to Garden.edn #Done %>Run multiplication #Execution terminated. 4 errors. %>Copy woman from man #Done %>Run multiplication #Execution terminated. 2 errors. %>Create desire #Done %>Run multiplication #And God saw man and woman being fruitful and multiplying in Garden.edn #Warning: No time limit on this run. 1 errors. %>Create freewill #Done %>Run freewill #And God saw man and woman being fruitful and multiplying in Garden.edn #Warning: No time limit on this run. 1 errors. %>Undo desire #Desire cannot be undone once freewill is created. %>Destroy freewill #Freewill is an inaccessible file and cannot be destroyed. #Enter replacement, cancel, or ask for help. %>Help #Desire cannot be undone once freewill is created. #Freewill is an inaccessible file and cannot be destroyed. #Enter replacement, cancel, or ask for help. %>Create tree_of_knowledge #And God saw man and woman being fruitful and multiplying in Garden.edn #Warning: No time limit on this run. 1 errors. %>Create good, evil #Done %>Activate evil #And God saw he had created shame. #Warning system error in sector E95. Man and woman not in Garden.edn. 1 errors. %>Scan Garden.edn for man, woman #Search failed. %>Delete shame #Shame cannot be deleted once evil has been activated. %>Destroy freewill #Freewill is an inaccessible file and cannot be destroyed. #Enter replacement, cancel, or ask for help. %>Stop #Unrecognizable command. Try again %>Break %>Break %>Break #ATTENTION ALL USERS *** ATTENTION ALL USERS: COMPUTER GOING DOWN FOR REGULAR DAY OF MAINTENANCE AND REST IN FIVE MINUTES. PLEASE LOG OFF. %>Create new world #You have exceeded your allocated file space. You must destroy old files before new ones can be created. %>Destroy earth #Destroy earth: Please confirm. %>Destroy earth confirmed #COMPUTER DOWN *** COMPUTER DOWN. SERVICES WILL RESUME SUNDAY, MARCH 8 AT 6:00 AM. YOU MUST SIGN OFF NOW. #And God logged off at 11:59:59 PM, Friday, March 6.
10. Drinks decaf diet soda.
9. Hasn't even considered charging by the hour.
8. Pours melted chocolate over a stack of floppies and yells, "I included an Easter Egg!"
7. When you ask how the project is coming along, he reads lines of code to you.
6. Uses the year of release for version numbering.
5. "Wanna open a file? Press Escape, Transfer, Load."
4. Thinks a voice-control interface is whispering, "Do it again, baby" at the monitor.
3. Uuencodes software and reads the file from right to left for secret messages.
2. Four words: Press F1 to reboot.
1. Wears pizza, eats T-shirts.
But, as usual, times change. We are faced today with a world in which little old ladies can get computers in their microwave ovens, 12 year old kids can blow Real Men out of the water playing Asteroids and Pac-Man, and anyone can buy and even understand their very own Personal Computer. The Real Programmer is in danger of becoming extinct, of being replaced by high-school students with TRASH-80s.
There is a clear need to point out the differences between the typical high-school junior Pac-Man player and a Real Programmer. If this difference is made clear, it will give these kids something to aspire to -- a role model, a Father Figure. It will also help explain to the employers of Real Programmers why it would be a mistake to replace the Real Programmers on their staff with 12 year old Pac-Man players (at a considerable salary savings).
The easiest way to tell a Real Programmer from the crowd is by the programming language he (or she) uses. Real Programmers use FORTRAN. Quiche Eaters use PASCAL. Nicklaus Wirth, the designer of PASCAL, gave a talk once at which he was asked "How do you pronounce your name?". He replied, "You can either call me by name, pronouncing it 'Veert', or call me by value, 'Worth'." One can tell immediately from this comment that Nicklaus Wirth is a Quiche Eater. The only parameter passing mechanism endorsed by Real Programmers is call-by-value-return, as implemented in the IBM/370 FORTRAN G and H compilers. Real programmers don't need all these abstract concepts to get their jobs done -- they are perfectly happy with a keypunch, a FORTRAN IV compiler, and a beer.
The academics in computer science have gotten into the "structured programming" rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the examples they use to show their particular point of view invariably fit on a single page of some obscure journal or another -- clearly not enough of an example to convince anyone. When I got out of school, I thought I was the best programmer in the world. I could write an unbeatable tic-tac-toe program, use five different computer languages, and create 1000 line programs that WORKED. (Really!) Then I got out into the Real World. My first task in the Real World was to read and understand a 200,000 line FORTRAN program, then speed it up by a factor of two. Any Real Programmer will tell you that all the Structured Coding in the world won't help you solve a problem like that -- it takes actual talent. Some quick observations on Real Programmers and Structured Programming:
What kind of operating system is used by a Real Programmer? CP/M? God forbid -- CP/M, after all, is basically a toy operating system. Even little old ladies and grade school students can understand and use CP/M.
Unix is a lot more complicated of course -- the typical Unix hacker never can remember what the PRINT command is called this week -- but when it gets right down to it, Unix is a glorified video game. People don't do Serious Work on Unix systems: they send jokes around the world on UUCP-net and write adventure games and research papers.
No, your Real Programmer uses OS/370. A good programmer can find and understand the description of the IJK305I error he just got in his JCL manual. A great programmer can write JCL without referring to the manual at all. A truly outstanding programmer can find bugs buried in a 6 megabyte core dump without using a hex calculator. (I have actually seen this done.)
OS is a truly remarkable operating system. It's possible to destroy days of work with a single misplaced space, so alertness in the programming staff is encouraged. The best way to approach the system is through a keypunch. Some people claim there is a Time Sharing system that runs on OS/370, but after careful study I have come to the conclusion that they were mistaken.
What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory -- it didn't go away when the power went off. Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymour Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymour, needless to say, is a Real Programmer.
One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and lineprinter in his toolkit, he can get along with just a front panel and a telephone in emergencies.
In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a "text editor" program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers [3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.
Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems -- EMACS and VI being two. The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in Women. No, the Real Programmer wants a "you asked for it, you got it" text editor -- complicated, cryptic, powerful, unforgiving, dangerous. TECO, to be precise.
It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text [4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse -- introduce subtle and mysterious bugs in a once working subroutine.
For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original FORTRAN code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job -- no Quiche Eating structured programmer would even know where to start. This is called "job security". Some programming tools NOT used by Real Programmers:
Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).
The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/- 3 kilometers of the surface of Mars. Nobody is going to trust a PASCAL program (or PASCAL programmer) for navigation to these tolerances.
As you can tell, many of the world's Real Programmers work for the U.S. Government -- mainly the Defense Department. This is as it should be. Recently, however, a black cloud has formed on the Real Programmer horizon. It seems that some highly placed Quiche Eaters at the Defense Department decided that all Defense programs should be written in some grand unified language called "ADA" ((r), DoD). For a while, it seemed that ADA was destined to become a language that went against all the precepts of Real Programming -- a language with structure, a language with data types, strong typing, and semicolons. In short, a language designed to cripple the creativity of the typical Real Programmer. Fortunately, the language adopted by DoD has enough interesting features to make it approachable -- it's incredibly complex, includes methods for messing with the operating system and rearranging memory, and Edsgar Dijkstra doesn't like it [6]. (Dijkstra, as I'm sure you know, was the author of "GoTos Considered Harmful" -- a landmark work in programming methodology, applauded by Pascal Programmers and Quiche Eaters alike.) Besides, the determined Real Programmer can write FORTRAN programs in any language.
The real programmer might compromise his principles and work on something slightly more trivial than the destruction of life as we know it, providing there's enough money in it. There are several Real Programmers building video games at Atari, for example. (But not playing them -- a Real Programmer knows how to beat the machine every time: no challange in that.) Everyone working at LucasFilm is a Real Programmer. (It would be crazy to turn down the money of fifty million Star Trek fans.) The proportion of Real Programmers in Computer Graphics is somewhat lower than the norm, mostly because nobody has found a use for Computer Graphics yet. On the other hand, all Computer Graphics is done in FORTRAN, so there are a fair number people doing Graphics in order to avoid having to write COBOL programs.
Generally, the Real Programmer plays the same way he works -- with computers. He is constantly amazed that his employer actually pays him to do what he would be doing for fun anyway (although he is careful not to express this opinion out loud). Occasionally, the Real Programmer does step out of the office for a breath of fresh air and a beer or two. Some tips on recognizing real programmers away from the computer room:
What sort of environment does the Real Programmer function best in? This is an important question for the managers of Real Programmers. Considering the amount of money it costs to keep one on the staff, it's best to put him (or her) in an environment where he can get his work done.
The typical Real Programmer lives in front of a computer terminal. Surrounding this terminal are:
What of the future? It is a matter of some concern to Real Programmers that the latest generation of computer programmers are not being brought up with the same outlook on life as their elders. Many of them have never seen a computer with a front panel. Hardly anyone graduating from school these days can do hex arithmetic without a calculator. College graduates these days are soft -- protected from the realities of programming by source level debuggers, text editors that count parentheses, and "user friendly" operating systems. Worst of all, some of these alleged "computer scientists" manage to get degrees without ever learning FORTRAN! Are we destined to become an industry of Unix hackers and Pascal programmers?
From my experience, I can only report that the future is bright for Real Programmers everywhere. Neither OS/370 nor FORTRAN show any signs of dying out, despite all the efforts of Pascal programmers the world over. Even more subtle tricks, like adding structured coding constructs to FORTRAN have failed. Oh sure, some computer vendors have come out with FORTRAN 77 compilers, but every one of them has a way of converting itself back into a FORTRAN 66 compiler at the drop of an option card -- to compile DO loops like God meant them to be.
Even Unix might not be as bad on Real Programmers as it once was. The latest release of Unix has the potential of an operating system worthy of any Real Programmer -- two different and subtly incompatible user interfaces, an arcane and complicated teletype driver, virtual memory. If you ignore the fact that it's "structured", even 'C' programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in -- like having the best parts of FORTRAN and assembly language in one place. (Not to mention some of the more creative uses for #define.)
No, the future isn't all that bad. Why, in the past few years, the popular press has even commented on the bright new crop of computer nerds and hackers ([7] and [8]) leaving places like Stanford and M.I.T. for the Real World. From all evidence, the spirit of Real Programming lives on in these young men and women. As long as there are illdefined goals, bizarre bugs, and unrealistic schedules, there will be Real Programmers willing to jump in and Solve The Problem, saving the documentation for later. Long live FORTRAN!
I would like to thank Jan E., Dave S., Rich G., Rich E. for their help in characterizing the Real Programmer, Heather B. for the illustration, Kathy E. for putting up with it, and atd!avsdS:mark for the initial inspriration.
REFERENCES
[1] Feirstein, B., Real Men Don't Eat Quiche, New York,
Pocket Books, 1982.
[2] Wirth, N., Algorithms + Datastructures = Programs,
Prentice Hall, 1976.
[3] Xerox PARC editors . . .
[4] Finseth, C., Theory and Practice of Text Editors -
or - a Cookbook for an EMACS, B.S. Thesis,
MIT/LCS/TM-165, Massachusetts Institute of Technology,
May 1980.
[5] Weinberg, G., The Psychology of Computer Programming,
New York, Van Nostrabd Reinhold, 1971, page 110.
[6] Dijkstra, E., On the GREEN Language Submitted to the DoD,
Sigplan notices, Volume 3, Number 10, October 1978.
[7] Rose, Frank, Joy of Hacking, Science 82, Volume 3, Number 9,
November 1982, pages 58 - 66.
[8] The Hacker Papers, Psychology Today, August 1980.
Real Software Engineers Don't Read Dumps
Real Programmers Don't Write Specs.
Jest trwale zrosniety ze swoim komputerem, pisze szybciej, niz komputer moze przetworzyc, mysli w asemblerze, wytrzymuje porazenia 380V i zna na pamiec wszystkie uklady scalone.
Siedzi 20 godzin dziennie przed komputerem, wpisuje 10 slow na sekunde, zna Pascal, BASIC, Assembler, Fortran, Logo, APL, Algol, Prolog, wytrzymuje 220V i zna wszystkie ksiazki.
Uzywa komputer 16 godzin na dobe, wpisuje 10 znakow na sekunde, zna doskonale Pascal, BASIC, C i Assembler, moze na krotko chwycic goraca lutownice i ma wszystkie ksiazki.
Spedza caly czas pracy i wszystkie przerwy przed komputerem, wpisuje 5 znakow na sekunde, zna doskonale Pascal i BASIC, drutuje bezpieczniki i wie, gdzie w bibliotece sa wlasciwe ksiazki.
Spedza tylko czas pracy przed komputerem, pisze jak sekretarka, z pomoca podrecznika umie programowac w asemblerze, potrafi wymienic bezpieczniki i wie, gdzie moze kupi ksiazki.
Traktuje komputer jako hobby, wpisuje 10 slow na minute, potrafi z pomoca podrecznika napisac krotkie programy w Pascalu, umie wymienic baterie w kalkulatorze i wie, ze sa ksiazki.
Siedzi przed komputerem od czasu do czasu, wpisuje jedno slwo na minute, potrafi przepisac krotkie programy w BASICu, poraza go bateryjka 9V i nie interesuja go zadne ksiazki, bo i tak ich nie rozumie.
Stanowi z komputerem jednosc, nie uzywa klawiatury, bo przekazuje swoje mysli bezposrednio do komputera, w razie potrzeby sam pisze szybko jezyk programowania, sam wytwarza potrzebne 220V i napisal wszystkie lepsze ksiazki.
High School/Jr.High
10 PRINT "HELLO WORLD" 20 END
program Hello(input, output) begin writeln('Hello World') end.
(defun hello (print (cons 'Hello (list 'World))))
#include "stdio.h" void main(void) { char *message[] = {"Hello ", "World"}; int i; for(i = 0; i < 2; ++i) printf("%s", message[i]); printf("\n"); }
#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); }
[ uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820) ] library LHello { // bring in the master library importlib("actimp.tlb"); importlib("actexp.tlb"); // bring in my interfaces #include "pshlo.idl" [ uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820) ] cotype THello { interface IHello; interface IPersistFile; }; }; [ exe, uuid(2573F890-CFEE-101A-9A9F-00AA00342820) ] module CHelloLib { // some code related header files importheader(); importheader( ); importheader( ); importheader("pshlo.h"); importheader("shlo.hxx"); importheader("mycls.hxx"); // needed typelibs importlib("actimp.tlb"); importlib("actexp.tlb"); importlib("thlo.tlb"); [ uuid(2573F891-CFEE-101A-9A9F-00AA00342820), aggregatable ] coclass CHello { cotype THello; }; }; #include "ipfix.hxx" extern HANDLE hEvent; class CHello : public CHelloBase { public: IPFIX(CLSID_CHello); CHello(IUnknown *pUnk); ~CHello(); HRESULT __stdcall PrintSz(LPWSTR pwszString); private: static int cObjRef; }; #include "windows.h" #include "ole2.h" #include "stdio.h" #include "stdlib.h" #include "thlo.h" #include "pshlo.h" #include "shlo.hxx" #include "mycls.hxx" int CHello::cObjRef = 0; CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk) { cObjRef++; return; } HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString) { printf("%ws\n", pwszString); return(ResultFromScode(S_OK)); } CHello::~CHello(void) { // when the object count goes to zero, stop the server cObjRef--; if( cObjRef == 0 ) PulseEvent(hEvent); return; } #include "windows.h" #include "ole2.h" #include "pshlo.h" #include "shlo.hxx" #include "mycls.hxx" HANDLE hEvent; int _cdecl main( int argc, char * argv[] ) { ULONG ulRef; DWORD dwRegistration; CHelloCF *pCF = new CHelloCF(); hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // Initialize the OLE libraries CoInitializeEx(NULL, COINIT_MULTITHREADED); CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, &dwRegistration); // wait on an event to stop WaitForSingleObject(hEvent, INFINITE); // revoke and release the class object CoRevokeClassObject(dwRegistration); ulRef = pCF->Release(); // Tell OLE we are going away. CoUninitialize(); return(0); } extern CLSID CLSID_CHello; extern UUID LIBID_CHelloLib; CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */ 0x2573F891, 0xCFEE, 0x101A, { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 } }; UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */ 0x2573F890, 0xCFEE, 0x101A, { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 } }; #include "windows.h" #include "ole2.h" #include "stdlib.h" #include "string.h" #include "stdio.h" #include "pshlo.h" #include "shlo.hxx" #include "clsid.h" int _cdecl main( int argc, char * argv[] ) { HRESULT hRslt; IHello *pHello; ULONG ulCnt; IMoniker * pmk; WCHAR wcsT[_MAX_PATH]; WCHAR wcsPath[2 * _MAX_PATH]; // get object path wcsPath[0] = '\0'; wcsT[0] = '\0'; if( argc > 1) { mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1); wcsupr(wcsPath); } else { fprintf(stderr, "Object path must be specified\n"); return(1); } // get print string if(argc > 2) mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1); else wcscpy(wcsT, L"Hello World"); printf("Linking to object %ws\n", wcsPath); printf("Text String %ws\n", wcsT); // Initialize the OLE libraries hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED); if(SUCCEEDED(hRslt)) { hRslt = CreateFileMoniker(wcsPath, &pmk); if(SUCCEEDED(hRslt)) hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello); if(SUCCEEDED(hRslt)) { // print a string out pHello->PrintSz(wcsT); Sleep(2000); ulCnt = pHello->Release(); } else printf("Failure to connect, status: %lx", hRslt); // Tell OLE we are going away. CoUninitialize(); } return(0); }
#!/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;
#include "stdio.h" #define S "Hello, World\n" main(){exit(printf(S) == strlen(S) ? 0 : 1);}
% cc -o a.out ~/src/misc/hw/hw.c % a.out
% cat Hello, world. ^D
10 PRINT "HELLO WORLD" 20 END
mail -s "Hello, world." bob@b12 Bob, could you please write me a program that prints "Hello, world."? I need it by tomorrow. ^D
% zmail jim I need a "Hello, world." program by this afternoon.
% letter letter: Command not found. % mail To: ^X ^F ^C % help mail help: Command not found. % damn! !: Event unrecognized % logout
Picard: | Mr. LaForge, have you had any success with your attempts at finding a weakness in the Borg? And Mr. Data, have you been able to access their command pathways? |
Geordi: | Yes, Captain. In fact, we found the answer by searching through our archives on late Twentieth-century computing technology. |
Geordi presses a key, and a logo appears on the computer screen. | |
Riker looks puzzled. | What the hell is 'Microsoft'? |
Data turns to answer. | Allow me to explain. We will send this program, for some reason called 'Windows', through the Borg command pathways. Once inside their root command unit, it will begin consuming system resources at an unstoppable rate. |
Picard: | But the Borg have the ability to adapt. Won't they alter their processing systems to increase their storage capacity? |
Data: | Yes, Captain. But when 'Windows' detects this, it creates a new version of itself known as an 'upgrade'. The use of resources increases exponentially with each iteration. The Borg will not be able to adapt quickly enough. Eventually all of their processing ability will be taken over and none will be available for their normal operational functions." |
Picard: | Excellent work. This is even better than that 'unsolvable geometric shape' idea. |
. . . 15 Minutes Later . . . | |
Data: | Captain, We have successfully installed the 'Windows' in the command unit and as expected it immediately consumed 85% of all resources. We however have not received any confirmation of the expected 'upgrade'. |
Geordi: | Our scanners have picked up an increase in Borg storage and CPU capacity to compensate, but we still have no indication of an 'upgrade' to compensate for their increase. |
Picard: | Data, scan the history banks again and determine if their is something we have missed. |
Data: | Sir, I believe their is a reason for the failure in the 'upgrade'. Appearently the Borg have circumvented that part of the plan by not sending in their registration cards. |
Riker: | Captain we have no choice. Requesting permission to begin emergency escape sequence 3F ... |
Geordi, excited | Wait, Captain I just detected their CPU capacity has suddenly dropped to 0% ! |
Picard: | Data, what does your scanners show? |
Data: | Appearently the Borg have found the internal 'Windows' module named 'Solitaire' and it has used up all the CPU capacity. |
Picard: | Lets wait and see how long this 'solitaire' can reduce their functionality. |
. . . Two Hours Pass . . . | |
Riker: | Geordi whats the status on the Borg? |
Geordi: | As expected the Borg are attempting to re-engineer to compensate for increased CPU and storage demands, but each time they successfully increase resources I have setup our closest deep space monitor beacon to transmit more 'windows' modules from something called the 'Microsoft fun-pack'. |
Picard: | How much time will that buy us? |
Data: | Current Borg solution rates allow me to predicate an interest time span of 6 more hours. |
Geordi: | Captain, another vessel has entered our sector. |
Picard: | Identify. |
Data: | It appears to have markings very similar to the 'Microsoft' logo. |
Over the speakers | THIS IS ADMIRAL BILL GATES OF THE MICROSOFT FLAGSHIP MONOPOLY. WE HAVE POSITIVE CONFIRMATION OF UNREGISTERED SOFTWARE IN THIS SECTOR. SURREDER ALL ASSETS AND WE CAN AVOID ANY TROUBLE. YOU HAVE 10 SECONDS. |
Data: | The alien ship has just opened its forward hatches and released thousands of humanoid shaped objects. |
Picard: | Magnify forward viewer on the alien craft |
Riker: | Good God captain! Those are humans floating straight toward the Borg ship with no life support suits ! How can they survive the tortures of deep space ?! |
Data: | I don't believe that those are humans sir, if you will look closer I believe you will see that they are carrying something recognized by twenty-first century man as doe skin leather briefcases, and wearing Armani suits. |
Riker and Pichard together horrified "Lawyers !!" | |
Geordi: | It can't be. All the Lawyers were rounded up and sent hurtling into the sun in 2017 during the Great Awakening. |
Data: | True, but appearently some must have survived. |
Riker: | They have surrounded the Borg ship and are covering it with all types of papers. |
Data: | I believe that is known in ancient venacular as 'red tape' it often proves fatal. |
Riker: | They're tearing the Borg to pieces ! |
Picard: | Turn off the monitors. I can't stand to watch, not even the Borg deserve that. |
For all you programmers out there we've hacked into a company called Microslop and stolen the code for their newest OS, Windoze 96. Here is the first bit:
(Don't try this at home!)
#include "windoze.h" #include "system_errors.h" #include "stdlib.h" char make_prog_look_big[1600000]; main() { if (detect_cache()) disable_cache(); if (ram<32768()) printf("Insufficient memory to run this application\n"); if (fast_cpu()) set_wait_states(lots); set_mouse(speed, very slow); set_mouse(action, jumpy); set_mouse(reaction, sometimes); printf("Welcome to Windoze 96\n"); if (system_ok()) crash(to_dos_prompt); else system_memory = open("a:\swp0001.swp", O_CREATE); while(1) { sleep(5); get_user_input(); sleep(5); act_on_user_input(); sleep(5); if (rand() < 0.9) crash (complete_system); } return (unrecoverable_system_error); }