cbbrowne@acm.org

# 5. Just Obscure...

• The Jargon File, v3.0(html)

• More obscure than one can readily imagine. Godel set up a representation of a "general theorem construction system," the Propositional Calculus, and provable manipulations of expressions using multiples and powers of prime numbers. From this, he established that not all statements that can be represented in the Propositional Calculus can be proven to be correct by "provably correct manipulations." There are true theorems where proofs cannot be proven within the system. The addition of the necessary axioms then augments the Calculus, providing a whole new set of statements that are correct but which cannot be proven to be so within the augmented calculus. We can then reiterate, and extend this to basically say that: "Any statement system will contain statements that cannot be proven correct within that system. "

This put the end to such projects in mathematics as Bertrand Russell's Principia Mathematica that sought to do a unified set of proofs of everything that could be important in mathematics. Godel proved that the set of "useful" proofs could not be complete.

• This web page links to information about computer CPU designs and their designers from the 1970s and onwards.

• True History Of The Net (Jokester...)

• Inventor of FORTRAN, of the Backus Naur Form (BNF), a notation used to describe the syntax of many modern programming languages, notably used to define Algol, and many subsequent families of languages including C and its descendants and Pascal and its descendants. Backus also created one of the earliest (if not the earliest) functional language called FP.

• The 24th ACM International Collegiate Programming Contest World Finals 2000

• Easter Egg Archive

• The rules:

• Supply a (real) manual.

• Explain the problem being solved

• Present the concepts, not just the features.

• Give 'em more than they deserve

• Make it enjoyable to read

• IDG Sending Out Legal Documents For Dummies

• Three Wrong Ideas from Computer Science

Namely:

• The difficult part about searching is finding enough results;!!!

• Anti-aliased text looks better;

• Network software should make resources on the network behave just like local resources.

I don't completely agree with him, and would expect that the "CS professors" of the world would disagree with the notion that these are strongly held beliefs in the realm of computer science. More likely they represent the misconceptions of CS students.

He argues fairly persuasively in decrying these concepts...

• Using Decision Tables

• Computists International

• Tabs versus Spaces

• Gazebo - the Gazette of Geek Culture

• BCD - Binary Coded Decimal

• Condorcet-DD

A vote tabulation and ranking system for deciding single or multi-winner contests (elections) using preference or approval ballots. Dual Dropping will compute the Schwartz Sequential Dropping (SSD) and Tideman's Ranked Pair (RP) results for each contest round and select the combined SSD and RP contest outcome with the lowest overall dropping cost. It has options to compute just the SSD or RP outcome, various optional tie-breakers, and alternative measures of defeat and dropping cost (winning votes and/or margin).

• This book is on a largely unsung topic; linkers and loaders are typically nearly invisible pieces of computing infrastructure vital to allowing programs to be constructed as sets of interlinking modules.

Unfortunately, there has been relatively little real progress in this area since the 1970s. The Unix "standard," ELF, is still largely tied to the structuring required to represent Position Independent Code (PIC) for sets of C functions, as well as static data.

Representing C++ object code requires extending this:

• There must be a collection of global object initializers and destructors run at the start and end of the main routine;

• Virtual function dispatch table; templates and inline procedures define potentially infinite families of procedures specialized by a type. vtables provide a way of accessing the numerous "actual" procedures based on what type is passed in at runtime.

Unfortunately, since there are no standards for this, and numerous differing implementations, even between compiler versions, it is tough to maintain binary interoperability of C++ applications.

• A site at IBM Research that publishes monthly computing puzzles

## 5.1. Unusual Computing

• What web page about computing would be complete without a reference to the classic document DEC WARS! tells the story of young Luke Vaxhacker and his fight against the evil Lord Vadic, preserving the galaxy against the dread Rmstar, armed only with a bytesaber.

• The Computer Computer dating agency

Where computers get together...

## 5.2. Political Computing

• Intel Secrets - What Intel Doesn't Want You To Know

• These reports suggest that the oft quoted "shortages" of programmers may not be so true as they appear to be. The basic thesis is that the "shortages" are in particular specialties, and do not apply across the computing industry.

It may be similar to what has occasionally been stated in Canada. There, there is an absolute shortage of: "Programmers with 5 years experience doing C++/object-oriented programming that are willing to accept salaries in the \$30,000-\$35,000 range." Of course, hardly anyone with five years experience would be willing to accept a salary that low.

• There are ample books on how to pseudo-learn something in 21 days; it is more realistic to expect a proper understanding of any area of study to take on the order of ten years.

• Ordinary Skill in the Art - Jeffrey Ullman's Knuth Prize Lecture

Contact me at cbbrowne@acm.org