<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4979293005088963107</id><updated>2011-11-27T17:26:01.539-08:00</updated><category term='slobol'/><category term='haystack'/><category term='poem'/><category term='needle'/><category term='funny'/><category term='halting'/><category term='c-'/><category term='programming'/><category term='song'/><category term='christmas'/><category term='chip'/><category term='sartre'/><category term='simple'/><category term='fifth'/><category term='nazicard'/><category term='evolution'/><category term='dna'/><category term='programmer'/><category term='hello world'/><category term='computer'/><category term='god'/><category term='lithp'/><category term='programming language'/><category term='software engineer'/><category term='error'/><category term='car'/><category term='humor'/><title type='text'>programming humor</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-610546631139042758</id><published>2009-07-10T06:42:00.000-07:00</published><updated>2009-07-10T06:42:00.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='lithp'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>The Lesser-known Programming Languages #12: LITHP</title><content type='html'>This otherwise unremarkable language is distinguished by the absence of an "S" in its character set; users must substitute "TH". LITHP is said to be useful in protheththing lithtth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-610546631139042758?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/610546631139042758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/07/lesser-known-programming-languages-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/610546631139042758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/610546631139042758'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/07/lesser-known-programming-languages-12.html' title='The Lesser-known Programming Languages #12: LITHP'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-2195529306106981724</id><published>2009-06-10T06:47:00.000-07:00</published><updated>2009-06-10T06:47:00.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fifth'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>The Lesser-known Programming Languages #21: FIFTH</title><content type='html'>FIFTH is a precision mathematical language in which the data types refer to quantity. The data types range from CC, OUNCE, SHOT, and JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM and BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY, CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, and WHATEVERSAROUND.&lt;br /&gt;&lt;br /&gt;The many versions of the FIFTH language reflect the sophistication and financial status of its users. Commands in the ELITE dialect include VSOP and LAFITE, while commands in the GUTTER dialect include HOOTCH and RIPPLE. The latter is a favorite of frustrated FORTH programmers who end up using this language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-2195529306106981724?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/2195529306106981724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/06/lesser-known-programming-languages-21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/2195529306106981724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/2195529306106981724'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/06/lesser-known-programming-languages-21.html' title='The Lesser-known Programming Languages #21: FIFTH'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-7923750487964189047</id><published>2009-05-10T06:46:00.000-07:00</published><updated>2009-05-10T06:46:00.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><category scheme='http://www.blogger.com/atom/ns#' term='c-'/><title type='text'>The Lesser-known Programming Languages #18: C-</title><content type='html'>This language was named for the grade received by its creator when he submitted it as a class project in a graduate programming class. C- is best described as a "low-level" programming language. In fact, the language generally requires more C- statements than machine-code statements to execute a given task. In this respect, it is very similar to COBOL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-7923750487964189047?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/7923750487964189047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/05/lesser-known-programming-languages-18-c.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7923750487964189047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7923750487964189047'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/05/lesser-known-programming-languages-18-c.html' title='The Lesser-known Programming Languages #18: C-'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-6980872920475554210</id><published>2009-05-03T00:25:00.000-07:00</published><updated>2009-05-05T18:16:24.326-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nazicard'/><title type='text'>Introducing Nazicard</title><content type='html'>&lt;h3&gt;What is Nazicard&lt;/h3&gt;Nazicard is a blog advertising widget used by over 300000 bloggers! By joining our ever-growing network, you'll be able to expand your audience by displaying your ad on over 300000 blogs. Sign up today to network with other bloggers and find out why hundreds of thousands of bloggers are using Nazicard.&lt;h3&gt;Awesome, Sign Me Up&lt;/h3&gt;We truly understand how you feel. Nazicard is run by bloggers for bloggers and we think it's incredible. By signing up with Nazicard you'll notice an instant tenfold increase in traffic. To sign up, simply send your name, social security number, date of birth and bank account details to Nazicard on twitter.&lt;h3&gt;Terms and Conditions&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Nazicard reserve the right to change these terms and conditions without notice.&lt;/li&gt;&lt;li&gt;Discussion and debate are encouraged, but critical comments will result in a permanent lifetime ban.&lt;/li&gt;&lt;li&gt;Banned members no longer exist. Mention of a banned member will result in a permanent lifetime ban.&lt;/li&gt;&lt;li&gt;Members who sign up for another company's widget will receive a permanent lifetime ban.&lt;/li&gt;&lt;li&gt;Members are forbidden to use the words &lt;abbr title="power"&gt;*****&lt;/abbr&gt; and &lt;abbr title="batcave"&gt;******&lt;/abbr&gt;. Asking why will result in a permanent ban.&lt;/li&gt;&lt;li&gt;The above figures are an estimate only. Querying the figures will result in a permanent lifetime ban.&lt;/li&gt;&lt;li&gt;The above terms apply to Nazicard, independent social networking sites, your own blog and private email.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-6980872920475554210?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/6980872920475554210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/05/introducing-nazicard.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/6980872920475554210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/6980872920475554210'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/05/introducing-nazicard.html' title='Introducing Nazicard'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-5151282833816967536</id><published>2009-04-30T06:50:00.001-07:00</published><updated>2009-04-30T06:50:00.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><title type='text'>Top 25 Explanations by Programmers</title><content type='html'>&lt;ol&gt;&lt;li&gt;Strange...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I've never heard about that.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It did work yesterday.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Well, the program needs some fixing.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;How is this possible?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The machine seems to be broken.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Has the operating system been updated?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The user has made an error again.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is something wrong in your test data.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I have not touched that module!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Yes yes, it will be ready in time.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You must have the wrong executable.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Oh, it's just a feature.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I'm almost ready.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Of course, I just have to do these small fixes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It will be done in no time at all.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's just some unlucky coincidense.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I can't test everything!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;THIS can't do THAT.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Didn't I fix it already?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's already there, but it has not been tested.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It works, but it's not been tested.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Somebody must have changed my code.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There must be a virus in the application software.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Even though it does not work, how does it feel?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-5151282833816967536?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/5151282833816967536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/04/top-25-explanations-by-programmers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/5151282833816967536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/5151282833816967536'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/04/top-25-explanations-by-programmers.html' title='Top 25 Explanations by Programmers'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-1936092087926270866</id><published>2009-04-15T06:41:00.000-07:00</published><updated>2009-04-15T06:41:00.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='simple'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>The Lesser-known Programming Languages #10: SIMPLE</title><content type='html'>SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming Language Environment. This language, developed at the Hanover College for Technological Misfits, was designed to make it impossible to write code with errors in it. The statements are, therefore, confined to BEGIN, END and STOP. No matter how you arrange the statements, you can't make a syntax error. Programs written in SIMPLE do nothing useful. Thus they achieve the results of programs written in other languages without the tedious, frustrating process of testing and debugging.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-1936092087926270866?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/1936092087926270866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/04/lesser-known-programming-languages-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/1936092087926270866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/1936092087926270866'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/04/lesser-known-programming-languages-10.html' title='The Lesser-known Programming Languages #10: SIMPLE'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-852327677906982942</id><published>2009-04-13T13:09:00.000-07:00</published><updated>2009-04-13T13:15:56.960-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='chip'/><title type='text'>Announcement: Bullchip Industrial Technologies</title><content type='html'>&lt;p&gt;Bullchip Industrial Technologies &amp; Computer Hardware Corporation, pronounced BITCH is proud to present you the world's first ever and first commercial soon-to-be available NISC-processor (NISC, No Instruction Set Computer).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The N-1 gives an outstanding performance at 287 Volts of 30679 NIPS (No Instructions Per Second). It's design is particular suited for embedded solutions. Current negotiations are with and including Nestor Martin, a major French Heating Appliences manufacturer. The cpu-core can double as thermostatic controller and active heat element. Several Nuclear Reactor Power Plants, troughout Europe and Vulcano exploration companies have shown considerable intrest in our technology. And we hope to contract the NASA and ESA, space exploration organisations for use of our NISC-cpu's in their future rocket engine designs.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Availability will be after April 1st of 2009, when we can overcome the current restrictions of cooling this device. As the clamps needed to seat the pasive cooling fans are melting because of the heat involved. We are investigating desings from Rolls Royce and Saab Avionics to use jet propulsion engines as active coolings. We feel that the energy needed for cooling is insignificant compared to the energy used (14 Giga Watt) to drive the MultiMegaScallar 10 layerd 2'000'000 Micron designed N-1 NISC chip.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For software engineers BITCH Corp. has designed it's in-house NISC OS, called NOPE (No Operational Programming Environment) to fluently solve major programming restrictions found in all current cpu designs. With a minimal development time and energy even Home users can create entire programmes to drive space ships, nuclear power plants, industrial washing machines or microwave ovens.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Whether you drive it at 1Hz or 3Ghz (peak), we'll promise you this cpu is HOT.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;More Info Call BITCH Corp. (telno. not yet available)&lt;/p&gt;&lt;p&gt;Or write to P.O. Box 1, Opium Town, Nirvana&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Credit: Manuel Timmers&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-852327677906982942?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/852327677906982942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/04/announcement-bullchip-industrial.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/852327677906982942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/852327677906982942'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/04/announcement-bullchip-industrial.html' title='Announcement: Bullchip Industrial Technologies'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-841993531195092346</id><published>2009-03-31T06:36:00.000-07:00</published><updated>2009-03-31T06:36:00.876-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineer'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><title type='text'>Real Software Engineers</title><content type='html'>Real software engineers don't read dumps. They never generate them, and on the rare occasions that they come across them, they are vaguely amused.&lt;br /&gt;&lt;br /&gt;Real software engineers don't comment their code. The identifiers are so mnemonic they don't have to.&lt;br /&gt;&lt;br /&gt;Real software engineers don't write applications programs, they implement algorithms. If someone has an application that the algorithm might help with, that's nice. Don't ask them to write the user interface, though.&lt;br /&gt;&lt;br /&gt;Real software engineers don't eat quiche.&lt;br /&gt;&lt;br /&gt;If it doesn't have recursive function calls, real software engineers don't program in it.&lt;br /&gt;&lt;br /&gt;Real software engineers don't program in assembler. They become queasy at the very thought.&lt;br /&gt;&lt;br /&gt;Real software engineers don't debug programs, they verify correctness. This process doesn't necessarily involve executing anything on a computer, except perhaps a Correctness Verification Aid package.&lt;br /&gt;&lt;br /&gt;Real software engineers like C's structured constructs, but they are suspicious of it because they have heard that it lets you get "close to the machine."&lt;br /&gt;&lt;br /&gt;Real software engineers play tennis. In general, they don't like any sport that involves getting hot and sweaty and gross when out of range of a shower. (Thus mountain climbing is Right Out.) They will occasionally wear their tennis togs to work, but only on very sunny days.&lt;br /&gt;&lt;br /&gt;Real software engineers admire PASCAL for its discipline and Spartan purity, but they find it difficult to actually program in. They don't tell this to their friends, because they are afraid it means that they are somehow Unworthy.&lt;br /&gt;&lt;br /&gt;Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure.&lt;br /&gt;&lt;br /&gt;Real software engineers write in languages that have not actually been implemented for any machine, and for which only the formal spec (in BNF) is available. This keeps them from having to take any machine dependencies into account. Machine dependencies make real software engineers very uneasy.&lt;br /&gt;&lt;br /&gt;Real software engineers don't write in ADA, because the standards bodies have not quite decided on a formal spec yet.&lt;br /&gt;&lt;br /&gt;Real software engineers like writing their own compilers, preferably in PROLOG (they also like writing them in unimplemented languages, but it turns out to be difficult to actually RUN these).&lt;br /&gt;&lt;br /&gt;Real software engineers regret the existence of COBOL, FORTRAN and BASIC. PL/I is getting there, but it is not nearly disciplined enough; far too much built in function.&lt;br /&gt;&lt;br /&gt;Real software engineers aren't too happy about the existence of users, either. Users always seem to have the wrong idea about what the implementation and verification of algorithms is all about.&lt;br /&gt;&lt;br /&gt;Real software engineers don't like the idea of some inexplicable and greasy hardware several aisles away that may stop working at any moment. They have a great distrust of hardware people, and wish that systems could be virtual at ALL levels. They would like personal computers (you know no one's going to trip over something and kill your DFA in mid-transit), except that they need 8 megabytes to run their Correctness Verification Aid packages.&lt;br /&gt;&lt;br /&gt;Real software engineers think better while playing WIFF 'N' PROOF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-841993531195092346?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/841993531195092346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/03/real-software-engineers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/841993531195092346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/841993531195092346'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/03/real-software-engineers.html' title='Real Software Engineers'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-6524922806779877830</id><published>2009-03-10T06:08:00.001-07:00</published><updated>2009-03-10T06:15:18.228-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='car'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>Selecting a programming language</title><content type='html'>&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Assembler&lt;/span&gt; - A formula I race car. Very fast but difficult to drive and maintain.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FORTRAN II&lt;/span&gt; - A Model T Ford. Once it was the king of the road.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FORTRAN IV&lt;/span&gt; - A Model A Ford.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FORTRAN 77&lt;/span&gt; - a six-cylinder Ford Fairlane with standard transmission and no seat belts.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;COBOL&lt;/span&gt; - A delivery van. It's bulky and ugly but it does the work.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;BASIC&lt;/span&gt; - A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;PL/I&lt;/span&gt; - A Cadillac convertable with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;C&lt;/span&gt; - A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler).&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;ALGOL 60&lt;/span&gt; - An Austin Mini. Boy that's a small car.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Pascal&lt;/span&gt; - A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Modula II&lt;/span&gt; - A Volkswagon Rabbit with a trailer hitch.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;ALGOL 68&lt;/span&gt; - An Aston Martin. An impressive car but not just anyone can drive it.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;LISP&lt;/span&gt; - An electric car. It's simple but slow. Seat belts are not available.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;PROLOG/LUCID&lt;/span&gt; - Prototype concept cars.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Maple/MACSYMA&lt;/span&gt; - All-terrain vehicles.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FORTH&lt;/span&gt; - A go-cart.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;LOGO&lt;/span&gt; - A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;APL&lt;/span&gt; - A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Ada&lt;/span&gt; - An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-6524922806779877830?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/6524922806779877830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/03/selecting-programming-language.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/6524922806779877830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/6524922806779877830'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/03/selecting-programming-language.html' title='Selecting a programming language'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-979271280242421557</id><published>2009-03-03T06:43:00.000-08:00</published><updated>2009-03-10T06:49:27.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='slobol'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>The Lesser-known Programming Languages #13: SLOBOL</title><content type='html'>SLOBOL is best known for the speed, or lack of it, of its compiler. Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-979271280242421557?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/979271280242421557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/03/lesser-known-programming-languages-13.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/979271280242421557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/979271280242421557'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/03/lesser-known-programming-languages-13.html' title='The Lesser-known Programming Languages #13: SLOBOL'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-7377936415926255414</id><published>2009-02-27T06:44:00.000-08:00</published><updated>2009-03-10T06:45:58.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sartre'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programming language'/><title type='text'>The Lesser-known Programming Languages #17: SARTRE</title><content type='html'>Named after the late existential philosopher, SARTRE is an extremely unstructured language. Statements in SARTRE have no purpose; they just are. Thus SARTRE programs are left to define their own functions. SARTRE programmers tend to be boring and depressed, and are no fun at parties.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-7377936415926255414?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/7377936415926255414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/02/lesser-known-programming-languages-17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7377936415926255414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7377936415926255414'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/02/lesser-known-programming-languages-17.html' title='The Lesser-known Programming Languages #17: SARTRE'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-8794422883488023076</id><published>2009-02-07T13:36:00.000-08:00</published><updated>2009-02-07T14:22:04.110-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hello world'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>The Evolution of a Programmer</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;High school/Jr. High&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;10 PRINT "HELLO WORLD"&lt;br /&gt;20 END&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;First year in college&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;program Hello(input, output);&lt;br /&gt; begin&lt;br /&gt;   writeln ('Hello world');&lt;br /&gt; end&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Senior year in college&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;(defun hello&lt;br /&gt; (print&lt;br /&gt;       (cons 'HELLO (list 'WORLD))))&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;New professional&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;main (argc,argv)&lt;br /&gt;int argc;&lt;br /&gt;char **argv; {&lt;br /&gt;printf ("Hello World!\n");&lt;br /&gt;}&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Seasoned pro&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;#include &amp;lt;stream.h&amp;gt;&lt;br /&gt;&lt;br /&gt;const int MAXLEN = 80;&lt;br /&gt;&lt;br /&gt;class outstring;&lt;br /&gt;class outstring {&lt;br /&gt;  private:&lt;br /&gt;&lt;br /&gt;  int size;&lt;br /&gt;  char str[MAXLEN];&lt;br /&gt; &lt;br /&gt;public:&lt;br /&gt;  outstring() { size=0; }&lt;br /&gt;  ~outstring() {size=0;}&lt;br /&gt;  void print();&lt;br /&gt;  void assign(char *chrs);&lt;br /&gt;};&lt;br /&gt;void outstring::print() {&lt;br /&gt; int i;&lt;br /&gt; for (i=0 ; i&amp;lt; size ; i++)&lt;br /&gt;   cout &amp;lt;&amp;lt; str[i];&lt;br /&gt; cout &amp;lt;&amp;lt; "\n";&lt;br /&gt; }&lt;br /&gt;void outstring::assign(char *chrs) {&lt;br /&gt; int i;&lt;br /&gt; for (i=0; chrs[i] != '\0';i++)&lt;br /&gt;    str[i] = chrs[i];&lt;br /&gt; size=i;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;main (int argc, char **argv) {&lt;br /&gt; outstring string;&lt;br /&gt;&lt;br /&gt; string.assign("Hello World!");&lt;br /&gt; string.print();&lt;br /&gt; }&lt;/pre&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Manager&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;/* George, I need a program to output a string&lt;br /&gt;    "Hello World!"  */&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-8794422883488023076?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/8794422883488023076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/02/evolution-of-programmer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8794422883488023076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8794422883488023076'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/02/evolution-of-programmer.html' title='The Evolution of a Programmer'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-8750179328607729022</id><published>2009-02-01T14:13:00.000-08:00</published><updated>2009-02-07T14:19:28.911-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='halting'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Recent Results in Theory of Computing - The Halting Problem is Solvable</title><content type='html'>&lt;div&gt;A fundamental question in the graduate computer science carriculum can be posed as follows: Given an average grad student doing a Ph.D, will the student ever complete his dissertation? This problem has been termed the "Halting Problem" and it has been an open problem thus far. In the following, we show that the halting problem is solvable. Furthermore, the problem can be solved within the time stipulated by the Graduate College for Ph.Ds or, in the worst case, with only a constant number of petitions for extensions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The halting problem was first formulated by Alan Turing, who observed a number of his graduate students being apparently busy all the time but never graduating. Turing tried to solve the problem by first stopping all assistantships after the sixth year and then by purging all games from the research computers. Needless to say, his efforts were fruitless. Later, Church almost succeded in solving the problem when he placed notices in grad students' mailboxes indicating attractive jobs in industry with several orders of magnitude higher remuneration. The so called Church's thesis was that the halting problem is solvable, given enough financial motivation. Church's idea backfired when grads found out that they have to actually work to earn money in the outside world. Thus, far from solving the halting problem, Church aggravated it (After this, we are not sure whether Church himself graduated). Recently, Cook et al have shown that the halting problem falls under a new complexity class, "NP Hairy". (NP hairy is the class of hopelessly complicated problems with no known solutions. The hardest problem in NP hairy has been shown to be the problem of trying to claim standard deductions in the 1040 form). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the following, we show that the halting problem is indeed solvable. For this, we assume the existance of a "Super Grad", who is capable of working in any area in CS (except possibly numerical analysis).  For notational convenience, we call this super grad, S sub G sup i,j sub * (written using a funky theoretical CS font). The property of Super grad is that, given the description of any grad (mostly in terms of the number of newsfiles he/she reads every day) and a description of his/her thesis topic, Super grad will either halt with a dissertation or keep publishing technical reports indefinitely. Now, we give Super grad a description of himself/herself and his/her own thesis topic. If Super grad halts, we are done (and so is he/she) otherwise we get a stream of technical reports. But by the "fundamental research theorem" of CS Departments (refer to the graduate study manual) any five arbitrary technical reports on unrelated topics can be compiled into a Ph.D thesis. Thus, we are done in the second case too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, how long does it take for a dissertation to be completed? The time is either less than or equal to the duration allowed by the Grad College for the completion of a Ph.D or it is greater. In the latter case, infinite number of petitions can be filed for extensions. Since the Grad College never remembers previous petitions, the total number of petitions received by the Grad College is always one, a small constant.   (QED)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-8750179328607729022?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/8750179328607729022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/02/recent-results-in-theory-of-computing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8750179328607729022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8750179328607729022'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/02/recent-results-in-theory-of-computing.html' title='Recent Results in Theory of Computing - The Halting Problem is Solvable'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-7921146000570306429</id><published>2009-01-31T13:48:00.000-08:00</published><updated>2009-02-07T14:22:04.111-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haystack'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='needle'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>How to find a needle in a haystack...</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Macintosh:&lt;/span&gt; You click on "Find", then type in "needle".  The Mac then takes so long to pull the haystack apart that you forget what you wanted the needle for.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;UN*X:&lt;/span&gt; You spend half an hour trying to figure out how to do it.  In desperation, you post to a newsgroup for help.  The day afterwards, someone mails you a two-line shell script which burns the haystack, finds the needle with a magnet and then rebuilds the haystack from its ashes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Windoze:&lt;/span&gt; You click on "Find" then type in "needle".  It only takes 3 minutes to find the haystack if you've got more the 8Mb, but the magnet provided is too weak to find the needle.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Risc-OS:&lt;/span&gt; You select the "Find" option from the pop-up menu and then type in "needle".  Half the time it finds the needle in less than a quarter of a second, but the other half it crashes and says "Find has suffered a fatal internal error (type=5) and must exit immediately".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Prolog:&lt;/span&gt; You ask it to find the needle, and it figures out for itself that it needs to burn the haystack.  Unfortunately the magnet runs out of stack space.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Postscript: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;You describe the exact curvature of each bit of straw to the interpreter which then looks for the needle and attempts to return it only to find it is a level 1 interpreter and has no such facilities and bombs out reporting..&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Error: /undefined in needle: %interp_exit --nostringval-- --nostringval-- --nostringval-- false --nostringval-- --nostringval-- false --nostringval-- --nostringval-- --nostringval-- Current file position is 22"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Forth: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;You attempt to run your carefully designed Forth program to find the needle and it replies with "Stack Underflow." Upon checking you find that of course the needle has accidentally been popped off at the end of the last straw sorting routine and has now been added back to the haystack.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;MS-DOS:&lt;/span&gt;  Halfway through the haystack it finds a nail.  It interprets this as an "end-of-haystack" indicator and refuses to search any further.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;C: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Accidentally trashes a pointer and burns down the three nearby cities instead.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Credits: Keith Lucas, Gothick, Charlie Gibbs, Chris Reuter&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-7921146000570306429?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/7921146000570306429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/01/how-to-find-needle-in-haystack.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7921146000570306429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/7921146000570306429'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/01/how-to-find-needle-in-haystack.html' title='How to find a needle in a haystack...'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-4327950252823015066</id><published>2009-01-23T14:22:00.000-08:00</published><updated>2009-02-07T14:37:41.183-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Weird Error Messages</title><content type='html'>&lt;div&gt;The personal computer ISKRA-1030 (made in USSR, supposed to be XT clone) can generate an error message:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Write protect error reading device CON"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The stardent compiler has a -w option: no warnings.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;ben [1] cc -w idontwantwarnings.c&lt;/div&gt;&lt;div&gt;"idontwantwarnings.c", line 1: warning: 4 warnings suppressed by no warn option&lt;/div&gt;&lt;div&gt;ben [2] &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some of the better error messages from Apple's MPW compiler, from a posting by Bruce Hoult on comp.sys.mac.programmer:&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"String literal too long (I let you have 512 characters, that's 3 more than ANSI said I should)"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"...And the lord said, `lo, there shall only be case or default labels inside a switch statement'"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"a typedef name was a complete surprise to me at this point in your program"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"`Volatile' and `Register' are not miscible"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"This struct already has a perfectly good definition"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Only one parameter per register please "&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"type in (cast) must be scalar; ANSI 3.3.4; page 39, lines 10-11 (I know you don't care, I'm just trying to annoy you)"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"This array has no size, and that's bad"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Huh ?"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"can't go mucking with a `void *'"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"we already did this function"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"The target of this goto is a label in a block that has an automatic variable with an initializer"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer AND your window wasn't wide enough to read this whole error message"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Call me paranoid but finding `/*' inside this comment makes me suspicious"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"This function has an explicit return type and deserves a return value"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"You are comparing two structures that have holes in them"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Too many errors on one line (make fewer)"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Symbol table full - fatal heap error; please go buy a RAM upgrade from your local Apple dealer"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;"Trailing comma not permitted in enum definition.  (This time I'm letting you off with a warning)"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See, a computer with good manners, and people are saying that the internet is going down hill, HA:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Connected to mailhost.trt-philips.fr:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;DATA&lt;/div&gt;&lt;div&gt;550 you could say goodbye&lt;/div&gt;&lt;div&gt;554 lavenne@trt-philips.fr... Remote protocol error: Connection&lt;/div&gt;&lt;div&gt;reset by peer during final wait with mailhost.trt-philips.fr&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The FORTRAN V compiler for the UNIVAC 1108 once spit out the following diagnostic:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;THE ABOVE ASSIGNMENT STATEMENT IS REDUNDANT AND HAS BEEN DELETED.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This occurred when through some fluke, most likely a card reader stuttering, an arithmetic assignment statement was duplicated on adjacent cards.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Bonus message:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In UNIVAC's old (and I do mean OLD) DOD COBOL, I once saw the diagnostic:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;THE ABOVE REFERENCE IS NUGATORY&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Extra bonus:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then there was the MAD compiler (incorporated as part of the U of Maryland's combined two-language compiler, RALPH -- compiled both FORTRAN and MAD, and allowed one to switch languages mid-program)...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you made a sufficiently large number of errors, you received a large portrait of Alfred E. Neumann.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-4327950252823015066?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/4327950252823015066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/01/weird-error-messages.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/4327950252823015066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/4327950252823015066'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/01/weird-error-messages.html' title='Weird Error Messages'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-8033397407270097816</id><published>2009-01-15T14:06:00.000-08:00</published><updated>2009-02-07T14:22:04.113-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='god'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='dna'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Human Genome Decoded</title><content type='html'>For many years molecular biologists have been mystified by the fact that very little of an organism's DNA seems to serve any useful function.&lt;br /&gt;&lt;br /&gt;The reason why only 30% of human DNA performs any useful function is that the rest of it is comments.  Once we decode a typical human genome, we see that the contents begin as follows:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/* HUMAN_DNA.H&lt;br /&gt; *&lt;br /&gt; * Human Genome&lt;br /&gt; * Version 2.1&lt;br /&gt; *&lt;br /&gt; * (C) God&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;/* Revision history:&lt;br /&gt; *&lt;br /&gt; * 0000-00-01 00:00  1.0  Adam.&lt;br /&gt; * 0000-00-02 10:00  1.1  Eve.&lt;br /&gt; * 0000-00-03 02:11  1.2  Added penis code to male version. A bit messy&lt;br /&gt; *                        will require a rewrite later on to make it neater.&lt;br /&gt; * 0017-03-12 03:14  1.3  Added extra sex drive to male.h; took code from&lt;br /&gt; *                        rhino-dna.c&lt;br /&gt; * 0145-10-03 16:33  1.4  Removed tail.&lt;br /&gt; * 1115-00-31 17:20  1.5  Shortened forearms, expanded brain case.&lt;br /&gt; * 2091-08-20 13:56  1.6  Opposable thumbs added to hand() routine.&lt;br /&gt; * 2501-04-09 14:04  1.7  Minor cosmetic improvements -- skin colour made&lt;br /&gt; *                        darker to match my own image.&lt;br /&gt; * 2909-07-12 02:21  1.8  Dentition inadequate; added extra 'wisdom' teeth.&lt;br /&gt; *                        Must remember to make mouth bigger to compensate.&lt;br /&gt; * 4501-12-31 14:18  1.9  Increase average height.&lt;br /&gt; * 5533-02-12 17:09  2.0  Added gay option, triggered by high population&lt;br /&gt; *                        density, to try and slow the overpopulation problem&lt;br /&gt; * 6004-11-04 16:11  2.1  Made forefinger narrower to fit hole in centre&lt;br /&gt; *                        of CD.&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;/* Standard definitions&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;#define SEX male&lt;br /&gt;#define HEIGHT 1.84&lt;br /&gt;#define MASS 68&lt;br /&gt;#define RACE Caucasian&lt;br /&gt;&lt;br /&gt;/* Include inherited traits from parent DNA files.  *&lt;br /&gt; * Files must be pre-processed with MENTAL program to provide proper&lt;br /&gt; * inheritance features.&lt;br /&gt; */&lt;br /&gt;&amp;gt;&lt;br /&gt;#include "mother.h"&lt;br /&gt;#include "father.h"&lt;br /&gt;&lt;br /&gt;#ifndef FATHER&lt;br /&gt;   warn("Father unknown -- guessing\n")&lt;br /&gt;#include "bastard.h"&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;/* Set up sex-specific functions and variables&lt;br /&gt;*/&lt;br /&gt;#include &amp;lt;sex.h&amp;gt;&lt;br /&gt;&lt;br /&gt;/* Kludged code -- I'll re-design this lot and re-write it as a proper&lt;br /&gt;* library sometime soon.&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;struct genitals&lt;br /&gt;{&lt;br /&gt;#ifdef MALE&lt;br /&gt;   Penis *jt;&lt;br /&gt;#endif&lt;br /&gt;   /* G_spot *g;   Removed for debugging purposes */&lt;br /&gt;#ifdef FEMALE&lt;br /&gt;   Vagina *p;&lt;br /&gt;#endif&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Initialization bootstrap routine -- called before DNA duplication.&lt;br /&gt; *Allocates buffers and sets up protein file pointers&lt;br /&gt; */&lt;br /&gt;DNA *zygote_initialize(Sperm *, Ovum *);&lt;br /&gt;/* MAIN INITIALIZATION CODE&lt;br /&gt; *&lt;br /&gt; * Returns structures containing pre-processed phenotypes for the organism&lt;br /&gt; * to display at birth.&lt;br /&gt; *&lt;br /&gt; * Will be improved later to make output less ugly.&lt;br /&gt; */&lt;br /&gt;Characteristic *lookup_phenotype(Identifier *i);&lt;br /&gt;/*..and so on. */&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;[ Note that God uses three-space tabs ]&lt;br /&gt;&lt;br /&gt;So is it any wonder that, as one philosopher put it, God is in the details?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-8033397407270097816?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/8033397407270097816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/01/human-genome-decoded.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8033397407270097816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/8033397407270097816'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/01/human-genome-decoded.html' title='Human Genome Decoded'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-4154622241864198873</id><published>2009-01-08T16:01:00.000-08:00</published><updated>2009-02-07T16:08:55.344-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='song'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Another Glitch in the Call</title><content type='html'>&lt;div style="text-align: center;"&gt;We don't need no indirection&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We don't need no flow control&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;NO data typing or declarations&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Did you leave the lists alone?&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Hey!  Hacker!  Leave those lists alone!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;All in all it's just another pure-Lisp function call.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;All in all it's just another pure-Lisp function call.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We don't need no semi-colons&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We don't want no structured code&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;No procedure calls of functions&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Did you leave my C alone?&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Hey!  Q.A.!  leave my C alone!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We don't need no formal methods&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We don't need no pseudo code&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;No recursive functions in the body&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Did you leave with an exit code?&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We want&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Multiple exits from the code!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Implicit variables from typos!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;And when the program works okay&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Re-write the whole thing in COBOL!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Hey!  Hacker!  Leave my Fortran alone!&lt;span class="Apple-style-span" style="font-size: 13px; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt;Credit: Sarah Hartwell&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-4154622241864198873?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/4154622241864198873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2009/01/another-glitch-in-call.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/4154622241864198873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/4154622241864198873'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2009/01/another-glitch-in-call.html' title='Another Glitch in the Call'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4979293005088963107.post-195304894476098061</id><published>2008-12-24T13:53:00.000-08:00</published><updated>2009-02-07T14:22:04.114-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='poem'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='christmas'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>The Worm Before Christmas by Clement C. Morris</title><content type='html'>&lt;div style="text-align: center;"&gt;Twas the night before finals, and all through the lab&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Not a student was sleeping, not even McNabb.&lt;/div&gt;&lt;div style="text-align: center;"&gt;Their projects were finished, completed with care&lt;/div&gt;&lt;div style="text-align: center;"&gt;In hopes that the grades would be easy (and fair).&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The students were wired with caffeine in their veins&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;While visions of quals nearly drove them insane.&lt;/div&gt;&lt;div style="text-align: center;"&gt;With piles of books and a brand new highlighter,&lt;/div&gt;&lt;div style="text-align: center;"&gt;I had just settled down for another all nighter ---&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;When out from our gateways arose such a clatter,&lt;/div&gt;&lt;div style="text-align: center;"&gt;I sprang from my desk to see what was the matter;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Away to the console I flew like a flash,&lt;/div&gt;&lt;div style="text-align: center;"&gt;And logged in as root to fend off a crash.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The windows displayed on my brand new Sun-3,&lt;/div&gt;&lt;div style="text-align: center;"&gt;Gave oodles of info --- some in 3-D.&lt;/div&gt;&lt;div style="text-align: center;"&gt;When, what to my burning red eyes should appear&lt;/div&gt;&lt;div style="text-align: center;"&gt;But dozens of "nobody" jobs.  Oh dear!&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;With a blitzkrieg invasion, so virulent and firm,&lt;/div&gt;&lt;div style="text-align: center;"&gt;I knew in a moment, it was Morris's Worm!&lt;/div&gt;&lt;div style="text-align: center;"&gt;More rapid than eagles his processes came,&lt;/div&gt;&lt;div style="text-align: center;"&gt;And they forked and exec'ed and they copied by name:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;"Now Dasher!  Now Dancer!  Now, Prancer and Vixen!&lt;/div&gt;&lt;div style="text-align: center;"&gt;On Comet!  On Cupid!  On Donner and Blitzen!&lt;/div&gt;&lt;div style="text-align: center;"&gt;To the sites in .rhosts and host.equiv&lt;/div&gt;&lt;div style="text-align: center;"&gt;Now, dash away!  dash away!  dash away all!"&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;And then in a twinkling, I heard on the phone,&lt;/div&gt;&lt;div style="text-align: center;"&gt;The complaints of the users.  (Thought I was alone!)&lt;/div&gt;&lt;div style="text-align: center;"&gt;"The load is too high!"  "I can't read my files!"&lt;/div&gt;&lt;div style="text-align: center;"&gt;"I can't send my mail over miles and miles!"&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;I unplugged the net, and was turning around,&lt;/div&gt;&lt;div style="text-align: center;"&gt;When the worm-ridden system went down with a bound.&lt;/div&gt;&lt;div style="text-align: center;"&gt;I fretted.  I frittered.  I sweated.  I wept.&lt;/div&gt;&lt;div style="text-align: center;"&gt;Then finally I core dumped the worm in /tmp.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;It was smart and pervasive, a right jolly old stealth,&lt;/div&gt;&lt;div style="text-align: center;"&gt;And I laughed, when I saw it, in spite of myself.&lt;/div&gt;&lt;div style="text-align: center;"&gt;A look at the dump of that invasive thread&lt;/div&gt;&lt;div style="text-align: center;"&gt;Soon gave me to know we had nothing to dread.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;The next day was slow with no network connections,&lt;/div&gt;&lt;div style="text-align: center;"&gt;For we wanted no more of those pesky infections.&lt;/div&gt;&lt;div style="text-align: center;"&gt;But in spite of the news and the noise and the clatter,&lt;/div&gt;&lt;div style="text-align: center;"&gt;Soon all became normal, as if naught were the matter.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Then later that month while all were away,&lt;/div&gt;&lt;div style="text-align: center;"&gt;A virus came calling and then went away.&lt;/div&gt;&lt;div style="text-align: center;"&gt;The system then told us, when we logged in one night:&lt;/div&gt;&lt;div style="text-align: center;"&gt;"Happy Christmas to all!  (You guys aren't so bright.)"&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[Note: The machines dasher.cs.uiuc.edu, dancer.cs.uiuc.ed, prancer.cs.uiuc.edu, etc. have been renamed deer1, deer2, deer3, etc. so as not to confuse the already burdened students who use those machines. We regret that this poem reflects the older naming scheme and hope it does not confuse the network adminstrator at your site.  -Ed.]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Credits: David Bradley, Betty Cheng, Hal Render, Greg Rogers, and Dan LaLiberte&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4979293005088963107-195304894476098061?l=programminghumor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programminghumor.blogspot.com/feeds/195304894476098061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programminghumor.blogspot.com/2008/12/worm-before-christmas-by-clement-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/195304894476098061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4979293005088963107/posts/default/195304894476098061'/><link rel='alternate' type='text/html' href='http://programminghumor.blogspot.com/2008/12/worm-before-christmas-by-clement-c.html' title='The Worm Before Christmas by Clement C. Morris'/><author><name>John</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
