## Wallpaper: Mais où est donc Marie-France ?

May 24, 2009

A new wallpaper fresh from yesterday. Shot at the annual outing of Club Photo Boisbriand.

"Mais où est donc Marie-France ?" 1920x1200 Wallpaper

## Not Loosing the Perspective

May 19, 2009

My first true computer, a TI 99/4a (which I talk about also in a previous entry), had 16 or 48 KB of RAM, depending whether or not you had one of the memory expansion cartridges, and that limited quantity of memory severely curbed the complexity of the programs one could write on the machine. However, the limited complexity of the programs, the relative crudeness of the development environment (a BASIC shell) and the slow execution speeds weren’t very obvious to me back then. They were somewhat mitigated by the novelty of the computer itself as a machine, and by the perpetual intense excitement of discovery. The arduous design of programs to save memory, fit more graphics or more code, or even getting our programs to work at all was less about constraints than challenge.

The same kind of constraints—or challenge—followed me over the years as I moved on to different computers. Despite their being more powerful, both faster and sporting more memory, the challenge remained there because while the computers got better, so did I at programming. I kept asking more out of the machine, writing increasingly complex programs needing either more memory or more speed, often both. That meant better algorithms, better data structures, and better implementations1.

## The Fizzbuzz problem

May 12, 2009

You are given the following assignment:

You are to write a program that must fulfill these simple requirements:

For the numbers from 1 to 100,

• If the number is a multiple of 3, print fizz instead of the number.
• If the number is a multiple of 5, print buzz instead of the number.
• If the number is a multiple of 15, print fizzbuzz instead of the number.
• Otherwise, print the number itself.
• Each output should be followed by a new line.

Can you code that and get it right in less than one minute? In less than two? How many retries will be necessary? Open your favorite editor for your favorite programming language. Ready? Set? Go!

## Suggested Reading: A Field Guide To Genetic Programming

May 9, 2009

Riccardo Poli, William B. Langdon, Nicholas F. McPhee — A Field Guide to Genetic Programming — Lulu, 2008, 240 pp. ISBN 978-1-4092-0073-4

This is not an ordinary textbook as it does not follow the expected pattern but is rather an extensive survey of the field of genetic programming. Each chapter introduces a major concept or issue in genetic programming and covers the subject in a rather authoritative way, supported by copious documentation—the last 57 pages of the books are occupied by the bibliography.

## Suggested Reading: An Introduction to Genetic Programming for Scientists and Engineers

May 9, 2009

David A. Coley — An Introduction to Genetic Algorithms for Scientists and Engineers — World Scientific, 2005, 227 pp. ISBN 981-02-3602-6

This short book introduces the major concepts in genetic programming under the angle of multi-objective optimization in high-dimensional spaces. We learn about the elementary operator of genetic programming such as cross-over, mutation, and candidate selection (with or without elitism). A good quick introduction to genetic programming, with just the right dash of math!

## Suggested Reading: The Trouble With Physics

May 9, 2009

Lee Smolin — The Trouble with Physics: The Rise of String Theory, the Fall of a Science, and What Comes Next — Mariner Books, 2006, 392 pp. ISBN 978-0-618-91868-3