Monday, February 17, 2003

OO Shape Examples in many languages, so you can compare real code

Sunday, February 16, 2003

FP Koans
"Of all the (31) languages I've been exposed to in this shootout , I've been most impressed with Ocaml, for a number of reasons. It wasn't the easiest for me to pick up the basics, but it was far from the hardest. I think that Ocaml's multi-paradigm features (Functional, Imperative and OO) make it a very practical and general purpose language. I'm generally impressed with its ease of use, speed, and the error detection of the compiler (due to its nice typing system). I also think it is great that Ocaml offers both a bytecode compiler and a native code compiler (for some platforms). Ocaml's support for Unix, objects and threads are all a big plus for me. Ocaml's compilers are also regarded as being very, very fast, which is nice for a programmer, as it reduces the edit/compile/debug cycle. The fact that it does garbage collection, and (in my tests) it produces code comparable in speed to C/C++ makes it very valuable to me as a programmer. Speed, elegance and programming safety. What more could a programmer ask for? Out of all the languages in the shootout, I can see Ocaml becoming my main development language of choice."
OCaml vs Ruby (with a bit of C++ and Java thrown in)
OCaml vs C++ (with a little Java thrown in) (here OCaml earns the moniker of "LFSP: Language designed For Smart People", as opposed to others, "LFM: Languages designed For the Masses" :)
More C++ deficiencies from an OCaml/functional-language pint of view
Experiences with using an uncommon language for large scale, real world development
Programming For Fun Challenge

Saturday, February 15, 2003

1. Google's immortal cookie:
"Google was the first search engine to use a cookie that expires in 2038. This was at a time when federal websites were prohibited from using persistent cookies altogether. Now it's years later, and immortal cookies are commonplace among search engines; Google set the standard because no one bothered to challenge them. This cookie places a unique ID number on your hard disk. Anytime you land on a Google page, you get a Google cookie if you don't already have one. If you have one, they read and record your unique ID number." -- Google: Big Brother of the Year

2003 Big Brother Awards

WOMDs
(Thanks to James)

Thursday, February 13, 2003

"The distance between insanity and genius is measured only by success." -- Bruce Feirstein
Gridlock
"There's no way to rule innocent men. The only power any government has is the power to crack down on criminals. When there aren't enough criminals, one makes them. One declares so many things to be a crime that it becomes impossible for men to live without breaking laws. ... Create a nation of law-breakers, and then you cash in on the guilt. --Ayn Rand "Atlas Shrugged"

Wednesday, February 12, 2003

Just wrote up an example of how to derive types from an O'Caml statement.
"If this were a dictatorship, it'd be a heck of a lot easier, just so long as I'm the dictator." --GW Bush
Why a German jew did not flee Nazi Germany while he still could
"No man escapes when freedom fails; the best men rot in filthy jails. And those who cried, 'Appease! Appease!', are hanged by those they tried to please." --Horace Mann
Word of the day:
lacuna: An empty space or a missing part; a gap: “self-centered in opinion, with curious lacunae of astounding ignorance” (Frank Norris)
Seven Lessons from the ICFP Programming Contest
www.111111111111111111111111111111111111111111111111111111111111.com
(Keep clicking "ENTER" until you hit the end)

Tuesday, February 11, 2003

"The only security of all is in a free press. The force of public opinion cannot be resisted when permitted freely to be expressed. The agitation it produces must be submitted to. It is necessary, to keep the waters pure." --Thomas Jefferson
"Software engineering (SE) has probably largest concentration of snake oil salesmen. Even object-oriented design cannot compete with SE ;-). Such "dynamic" figures as Yourdon, Ben Shneiderman and partially Gerard Weinberg... can change their own position twice a week, as they sense that something new becomes fashionable" Skeptical Software Engineering Bibliography
Structure and Interpretation of Computer Programs
Tutorial on Recursion Programming
Useless Movie Quotes
Diatribe On Programming Language Design Features
xgoogle: search IRC channels

Sunday, February 09, 2003

The Twists and Turns of the Amiga Saga
A hundred years ago:

- Only 14 Percent of the homes in the U.S. had a bathtub.
- Only 8 percent of the American homes had a telephone.
- Alabama, Mississippi, Iowa, and Tennessee were each more heavily populated than California
- The population of Las Vegas, Nevada, was 30.
- The five leading causes of death in the U.S. were:

    #1 - Pneumonia and influenza
    #2 - Tuberculosis
    #3 - Diarrhea
    #4 - Heart disease
    #5 - Stroke
More...
TI-99/4A Shrine
This was my first computer. My parents got if for me back in 1980 or 81.

Saturday, February 08, 2003

Unofficial X-Chat Perl Scripting Documentation
tinyURL
"Scientists say they've discovered that cats purr to help them get better when they're injured. The researchers at the Fauna Communications Research Institute in North Carolina call the purr a natural healing mechanism. They say the purr helps their bones and organs to heal and grow. It works in a similar way to ultrasound on humans..."
More...
Interesting projects at the Human Computer Interation Institute
Magic Lenses and some interactive demos
"People assume when the Cold War was over ... nuclear weapons went away. They have not... There's only one thing that can destroy the United States of America as we know it today ... and that's those Russian nuclear warheads."
Rob Pike on systems research
I have written a small patch for Bastrama

Friday, February 07, 2003

Everything's genealogical hyperlinked map of the most important programming languages: The Programming Languages Genealogy Project
"Pike is very similar to C#. In fact, one could easily think that some engineers at Microsoft and the other companies behind C# were Pike-users..."
"O'Caml has lots of modern features, like garbage collection (as in Java), closures (lacking in both Java and C++), parametrized modules (like C++ templates on steroids), automatic type inference (you don't have to write typing information by hand, the compiler can figure it out)..." --O'Caml FAQ
Computer Language Shootout Scorecard

Tuesday, February 04, 2003

Wrote a tiny patch for lilgp. Details here
Valgrind: memory checker
xxdiff: graphical diff
Despite its widespread use and costs, little hard evidence exists that peer review improves the quality of published research

Friday, January 31, 2003

Artificial Chemistries
Hierarchical Marshalling Library
Flux
PubLib
CTOOLS: AVL Tree, hash tables, sets, single- and doubly- linked lists (with merge sort), stack, and queue
Optimizing Newspaper Advertisement Layout with Genetic Algorithms
Beauty of Programs
Meety: helps you communicate with your acquaintances when you need to find suitable dates for a meeting. In the simplest cases it will allow you to:
  • describe the meeting,
  • select a first set of dates,
  • announce the meeting to interested parties,
  • collect answers and choose the best date,
  • send confirmations.
Cephes: mathematical library
Modeling car traffic on swarming and ant behavior, and evolving traffic light patterns to minimize congestion
Journals on Evolutionary Computation
Evolutionary Multiobjective Optimization
Computational Embryology

Saturday, January 25, 2003

A Tutorial Introduction to Attribute Grammars
ANTLR: ANother Tool for Language Recognition
PCCTS: an earlier version of ANTLR, for C
PCCTS Tutorials: 1 2
OpenZZ: an interpreted dynamic parser
Styx: a scanner/parser generator designed to address some shortcomings of the traditional lex/ yacc combination
ClearParse
Attribute Grammar Compilers
Accent: A Compiler Compiler for the Entire Class of Context-Free Languages
Using alife for music composition
More...

Wednesday, January 22, 2003

Two engineering students were walking across campus when one said, "Where did you get such a great bike?" The second engineer replied, "Well, I was walking along yesterday minding my own business when a beautiful woman rode up on this bike. She threw the bike to the ground, took off all her clothes and said, 'Take what you want.'" "The second engineer nodded approvingly, Good choice; the clothes probably wouldn't have fit."
Doctor, you forgot something!
(Thanks to James)

Monday, January 20, 2003

"Civil disobedience is not our problem. Our problem is civil obedience." --Howard Zinn