Goal Mapping Alpha

It’s finally ready! As promised, the alpha version of my Goal Mapping software is ready.

For those of you who aren’t down with geek lingo, an “alpha version” is a complete piece of software, but it has only been tested by the developer (me), so it has loads of bugs, it’s probably ugly, and may not do everything that later version will do.

For those of you who didn’t have a chance to read my previous post about Goal Mapping, here’s a brief rundown:

Goal Mapping enables you to create a plan with concrete steps to go from where ever you are now to where ever you want to be. You create the map, then the software calculates the best path to reach your goal and tells you what your chances of success are.

I’m pumped to hear suggestions from people using this, but I’m really practicing what I preach with this release, because frankly I’m embarrassed of this software. I know it’s ugly, and I know it has bugs. What kind of a perfectionist am I!?

  • In particular, it’s not compatible with any version if Internet Explorer. The fix would have pushed the release of the software past today, and that was unacceptable to me.
  • It works on Windows in Firefox 3.5 and Chrome. It hasn’t been tested on a Mac, or in Opera, Safari, or any of the many lesser used browsers.
  • My immediate plans are on this ultra high tech to do list, and I’ll continue to update that list as I receive feedback. Over the next few weeks, you should see the software stabilize dramatically.

Instructions for using the software are built right into it, so without further adieu, I give you:

Goal Mapping, by Pete Michaud →

Linux Account Backup

If you’re on a linux host, you might find this useful. It will backup all the websites for a given user on the host into an archive folder that you can download regularly. This script runs weekly on my host, and backs up my dozen or so sites and databases. You’ll need a shell user probably, and the ability to set up CRON jobs.

Create the folders

In the root directory of your account, above the web root, create a folder called backup, and inside that create another folder called archive.

CHMOD those sufficiently for your shell user to write to, probably 755 is good.

Create the Files

In the backup folder, place two files — domain.sh, and mysql.sh:


cd /home/[username]/
suffix=$(date +%y%m%d)
for domain in *.*
    echo "Processing $domain"
    test -d "$domain" || continue
    tar -cf /home/[username]/backups/archives/${domain}.$suffix.tar ${domain}/    


cd /home/[username]/backups/
mkdir mysql
suffix=$(date +%y%m%d)
MYSQL="$(which mysql)"
databases="$($MYSQL -u [sqluser] -h [server] -p[pass] -Bse ‘show databases’)"

for database in $databases
  echo "Processing database $database"
  mysqldump –opt -u[user] -p[pass] -h [server] ${database} > mysql/${database}.$suffix.sql
tar -cf archives/mysql_backup.$suffix.tar mysql/*
rm -r mysql/

Make sure those files are in the right format — if you’re on a windows machine, FTPing into your linux server, and if you try running them and get a hard time, try using the dos2unix utility via the shell on them to convert the characters.

Try running both of those files on the command line, to make sure they don’t error out. You should see a zip for each of your sites in the archive folder, plus one zip containing the database dumps for all your databases. If you do, then move on.

Set up the CRON Job

CRON jobs are just scheduled tasks on a linux machine. You can set them up to execute at any interval you want. Most hosting companies have simple CRON interfaces now so you don’t have to futz around with the actual text files. If you do have to futz, and you need help, here’s a CRON tutorial.

Set up two CRON jobs to run each backup script at a low traffic time. I run mine at midnight on Saturday. You can run your more or less frequently, and at whatever time you want.

Tell someone you Love them today

This step isn’t necessary to get your backups working, but it may improve your life or mood.


Spiraltastic photograph by brothergrimm@Flickr

Spiraltastic photograph by brothergrimm@Flickr

I had a conversation about a Roomba once with someone who believed that it used the golden spiral to trace its path from the center of a room. To prove that it used a Sin function with a continuously increasing amplitude, I wrote this demonstration.

The real robot uses a constant speed, with a variable turning angle. My demonstration doesn’t use a vector. Instead it uses a combination of Sin and Cos to give absolute coordinates for each path step.

Take a look »


The Kaleidoscope snowflake is a Javascript toy. Click the link below to reflect.

To be beneficent when we can is a duty; and besides this, there are many minds so sympathetically constituted that, without any other motive of vanity or self-interest, they find a pleasure in spreading joy around them, and can take delight in the satisfaction of others so far as it is their own work.
-Immanuel Kant

The beneficent mind is a reflective mind, inclined to consider snowflakes as they fall »

Conway’s Game of Life

Conway’s Game of Life is a cellular automaton. That means that there is an area in which “cells” live, and each step the simulation takes, the cells change state based on rules. In the game of life, cells can either be alive or dead, and they follow 4 simple rules:

  1. Any live cell with fewer than two live neighbors dies, as if by loneliness.
  2. Any live cell with more than three live neighbors dies, as if by overcrowding.
  3. Any live cell with two or three live neighbors lives, unchanged, to the next generation.
  4. Any dead cell with exactly three live neighbors comes to life.

So, you decide where the cells start, then you play the simulation.

Play the Game of Life » (Doesn’t work in Internet Explorer, sorry folks!)

(Here are some clever starting patterns you can use)

(Here’s a more rigorous definition of Cellular Automata)