Good foosball

Posted on May 28, 2008 by Steve

Good foosball is, of all things among men, the most equally distributed; for every one thinks himself so abundantly provided with it, that those even who are the most difficult to satisfy in everything else, do not usually desire a larger measure of this quality than they already possess. And in this it is not likely that all are mistaken: the conviction is rather to be held as testifying that the power of scoring goalie shots and foosing opponents, which is properly what is called good foosball or foolsball, is by nature equal in all men... For to be possessed of a vigorous wrist is not enough; the prime requisite is rightly to apply it. The greatest wrists, as they are capable of the highest scores, are open likewise to the greatest defeats; and those who shoot very slowly may yet make far greater progress, provided they keep always to the corners, than those who, while they shoot hard, hit wood.

Friday picks

Posted on May 09, 2008 by Steve

Nueva York
The Coast
A straight-ahead rocker that sinks its hooks into you despite some unfortunate choices in shrill background instruments.

Bessie Smith
Emily Jane White
Nice, simple, short, sweet.

Black Mission Goggles
Man Man
A full-on attack of cow bell, sound effects, heavy metal shout-singing, and cheesy la-la-la-lyrics, infused all the same with joie de vivre.

Lonesome New Mexico Nights
Casiotone For The Painfully Alone
A new one for the fans.

Sex in C++

Posted on May 02, 2008 by Steve

Some time ago I was clicking around Wikipedia's content on artificial intelligence and encountered the article on genetic algorithms, and decided I would use one to solve a Project Euler problem. The first task was to find a suitable problem. To be amenible to a genetic algorithm, the problem should have certain characteristics:

  • It must be possible to rate candidate solutions, with the correct solution getting the highest possible score, and incorrect candidates scoring higher if they are somehow closer to the solution. (Most AI problems, like analyzing chess positions, do not have a single correct answer, so the highest-scoring candidate found in a certain time would be the result.)

  • A candidate solution should be expressable as a series of values, something like a chromosome. It helps if all candidates have the same length and format, so the individual parts are easily interchangeable.

Read on for specific information about my algorithm for Problem #61, including spoilers if you're inclined to try this approach yourself.