Sunday, March 16, 2003

Word of the day:
desideratum: Something considered necessary or highly desirable
Subscriptions (see bottom of page) should be working again.
"A program generator (a meta-program) solves a particular problem by constructing another program (an object-program) that solves the problem at hand. Usually the generated (object) program is "specialized" for the particular problem and uses less resources than a general purpose, non-generator solution..." --Taxonomy of meta-programming systems
Unlambda: Your Functional Programming Language Nightmares Come True
TWiki, a flexible, powerful, and simple, secure, Web-based collaboration platform
Cameron Laird's personal notes on language comparisons

Friday, March 14, 2003

How do you reuse existing classes in a way the programmer had not originally considered?

"Ideally, one would like a module system that allows programmers to piece together chunks of code like tinker toys. The OCaml module system, like other ML variants, is a really solid step in that direction. It has structures, which are like classes but without inheritance, that collect and name a chunk of code. It has signatures, which are like interfaces, that simply have the code type signatures without the actual code. Finally, they have functors, which Java doesn't have, which allow programmers to write parameterized structures."

"The engineers are the creators of wealth; the VCs are the beneficiaries." --An Engineer's View of Venture Capitalists

Thursday, March 13, 2003

"This fall, I hosted a two-day brainstorming session for 30 or so people... and in addition to the usual "sit around a big table and talk to each other" format, we set up an in-room chat channel accessible over the WiFi network... The in-room chat created a two-channel experience -- a live conversation in the room, and an overlapping real-time text conversation."
Oblomov by Ivan Goncharov (1858)
Richar Hamming's three questions for new hires at Bell Labs:
1. "What are you working on?" 2. "What's the most important open problem in your area?" 3. "Why aren't they the same?" (Ouch!)
Disruptive Programming Language Technologies
Brain prosthesis mimics hippocampus

Wednesday, March 12, 2003

The I Am The Greatest programmer "firmly believes that he is the greatest programmer to have walked the earth and has the three-line version of Tetris to prove it. He spent most of his undergraduate days in the terminal room and only got a degree because he could break security and decrypt the exam answers. Thinks in a mixture of C and assembly language, thinks Real Programmers are sissies, has memorised even the unwritten volumes of Knuth (who he believes sold out the moment he started writing TeX) and has most of the source to obsolete Unix kernels in his room"

The My Favorite Toy Language programmer "knows the solution to the problem. The only problem is, we haven't got a compiler for the language that it should be implemented in. MFTL knows only two languages; his favourite toy language and the language you need to compile its compiler. (If a language can compile its own compiler then it isn't a toy!)."

Academic Programmers: A Spotter's Guide

The Mail Archive: an archiving service for electronic mailing lists.

Tuesday, March 11, 2003

"Many people are wondering how our President George W. Bush went from a stumbling, error-prone, inarticulate speaker to a fairly coherent presenter, especially in the last 9 months..." --Bush The Articulate

Monday, March 10, 2003

Lovecraft's Pnakotic Manuscripts, Douglas Adam's Where God Went Wrong and Who is This God Person Anyway?, Borges' First Encyclopedia of Tlon and many others imaginary books listed in The Invisible Library
"Your latest article was so inspiring." #6 on The Top Ten Lies Told by Graduate Students
- Safe multithreading! Immutable data structures are not subject to data race conditions, and consequently don't have to be protected by locks

- The ability to have your cake and eat it: imagine you have a complex OO system processing messages - every component might make state changes depending on the message and then forward the message to some objects it has links to. Wouldn't it be just too cool to be able to easily rollback every change if some object deep in the call hierarchy decided the message is flawed? How about having a history of different states?

- Many housekeeping tasks made for you: deconstructing data structures (PatternMatching), storing variable bindings (lexical scope with closures), strong typing (TypeInference), garbage collection, storage allocation, whether to use boxed (pointer-to-value) or unboxed (value directly) representation...

Some Advantages of Functional Programming
More... (ML/OCaml specific)


Pancito
: mathematical image transformation using functional languages
Should open source software be restricted?

Saturday, March 08, 2003

Amazing, high-quality map of terror from indymedia.
(Thanks to James)

(Thanks to James)
"A key piece of evidence linking Iraq to a nuclear weapons program appears to have been fabricated, the United Nations' chief nuclear inspector said yesterday in a report that called into question U.S. and British claims about Iraq's secret nuclear ambitions."

Monday, March 03, 2003

"intellectual freedom is essential to human society--freedom to obtain and distribute information, freedom for open-minded and unfearing debate and freedom from pressure by officialdom and prejudices. Such a trinity of freedom of thought is the only guarantee against an infection of people by mass myths, which in the hands of treacherous hypocrites and demagogues, can be transformed into bloody dictatorship. Freedom of thought is the only guarantee of the feasibility of a scientific democratic approach to politics, economics and culture" --Andrei Sakharov

Sunday, March 02, 2003

Oil industry analyst admits Iraq war is being fought for oil
(Thanks to Mike)
BerliOS is a free service to Open Source developers offering easy access to the best in CVS, mailing lists, bug tracking, message boards/forums, task management, site hosting, permanent file archival, full backups, and total web-based administration
On hiring mainstream language programmers
Sheer hypocricy from the White House
Refactoring Functional Programs
"A difference between classic OO approach and a language based approach...: With OO, you model your problem as a collection of interacting thingies. While [with the language based approach] you define a (domain specific) language in which to best express the solution to your problem. You create the language by extending/modifying your language toolkit. Then you solve the problem." --Traditional vs Non-Traditional languages in the real-world

Friday, February 28, 2003

"When Stevie Wonder sat down at the keyboard center stage, President Bush in the front row got very excited. He smiled and started waving at Wonder, who understandably did not respond. After a moment Bush realized his mistake and slowly dropped the errant hand back to his lap."
To some people there is nothing more despicable than someone standing for peace
Western Support for Terrorism

Iraqui Batteries from 200 BC

Wednesday, February 26, 2003

"Welcome to the first televised debate between George W Bush and Saddam Hussein, live from United Nations headquarters in New York"

Bush: "First of all I would just like to welcome my evil friend to the UN, one of the great American institutions for the propulsion of freedom throughout the world."

Saddam: "Thank you, Great Satan. I hope that in today's debate we may find some common ground between the Iraqi people's commitment to peace and human progress and America's desire to destroy the Middle East."

FunnelWeb: a Literate Programming tool
Poor Man's Testing Framework
"Learn at least one new [programming] language every year." --Language of the Year Project
More...
OCaml Weekly News

Tuesday, February 25, 2003

"There is no "America", there is no "Democracy"... there is only IBM and ITT, Union Carbide and Exxon"
"there is ONLY one holistic system of systems... one Vast and Immanent, interwoven, interacting, multi-variate, multi-national dominion of dollars!"
Another petition against the war.

Sunday, February 23, 2003

200 Pictures from 133 Protests around the World on February 15/16, 2003
The basics of P and NP complexity classes, from CodeJournal

A* algorithm tutorial
Online viewer for PostScript, PDF and Word
You need:

- 3 plastic caps
- a cylindrical cork
- a wooden toothpick
- a transparent vessel

Now you can build yourself a One Atmosphere Plasmoid

Bear Pond Books, of Montpelier, VT, will destroy customer's purchase records upon request, as a means of fighting government snooping
GrepLaw

Base 3 is neat
Google Sets
Know Your System Administrator
FLOSS: Free/Libre/Open Source Software Survey for 2003

Monday, February 17, 2003

OCaml on Wiki
Bruce McAdam's Publications on functional programming
"Write a function foo that takes a number n and returns a function that takes a number i, and returns n incremented by i." --A comparison, in 20 languages

(Thanks to James)
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.