Scratch — Programming for kids

Scratch website.

Description from their site:

Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.

Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.

Scratch is available free of charge, go to Download.
Currently available for Mac OSX and Windows ( system requirements)

Linux awk command

Have you ever had a column-oriented text file, similar to a spreadsheet, but the columns weren\'t in the order you wanted? For instance, suppose you
had the following information in a file named \"checkbook.orig\":

COST         DATE            BALANCE
10.00         040198           1000.00
20.00         040298             980.00
30.00         040298             950.00

    The information is good, but you\'d prefer to have the DATE column first, followed by the COST information in the second column, and the BALANCE column third.

Using awk, you can easily rearrange the columns. The following command reads the data from the file named \"checkbook.orig\", and writes the data to a file named \"\":
    awk \'{print $2, $1, $3}\' checkbook.orig >

This brief awk command reads each line of the original file, and for each line it reads, it writes an output line to the \"new\" file. As it writes each record to the new file, it rearranges the order of the columns, so that the columns now appear in the desired order!

If you prefer a little more control of the printed output, awk also has a \"printf\" function that\'s very similar to printf in the \"C\" programming language. Here\'s the same example, with a tab character in-between each column of the output:

    awk \'{printf (\"%s\\t%s\\t%s\\n\", $2, $1, $3) }\' checkbook.orig >

The awk command is a powerful programming utility that takes care of things like opening files and reading each line automatically, so all you have to do is tell awk how to process each line as it goes by.