I’m having a bit of a geek parent moment. I’m curious if you have already purchased a domain for your childrens future
blog or website. That namespace is only getting even more populated!
I’m having a bit of a geek parent moment. I’m curious if you have already purchased a domain for your childrens future
blog or website. That namespace is only getting even more populated!
My friend Jim and I were talking the other day and he asked me for some recommendations on a way to introduce his son to computer programming. I have shared, probably multiple times, with Jim how I learned BASIC when I was around 6 years old and how important I felt that was. My very first computer was a TI-99/4A with a cassette tape adapter to store my programs on. After a summer of mowing lawns I added an Extended BASIC cartridge to it. My mother bought me the computer when Texas Instruments decided to stop making computers. If I remember right it cost $99 at JC Penney’s including the RF adapter to plug it into your TV. How many computers can you buy today for $99?
The great thing about that computer was that you turned it on and it did nothing. It just sat there flashing a cursor at you waiting for some instructions. It had a built-in BASIC interpreter and I was off to the races after my uncle Tim, who took one BASIC class in college (1978!) while becoming a carpenter, showed me some ropes. By current standards it sounds horrible, but it was simply awesome. It was like getting an infinite number of crayons and all the paper you could fill with drawings.
Back to the question at hand. Today’s machines are so much more powerful, and the languages are more advanced, but that doesn’t do a lot for a 5-year-old kid that wants to play around with for loops and print statements. My answer came pretty quickly.
I decided to write this up in a blog post because I think the topic is interesting. However, I’m also very interested in what other people would suggest. I suspect a biased answer from my experiences. I also expect that, sadly, my age may show in my answers as well.
Nobody will ever write a line of BASIC code for anything real. However, I don’t think any future geek of my generation got through high school without going to Radio Shack and typing
10 PRINT "JAMIE ROCKS!"
20 GOTO 10
Just being able to do simple conditionals, loops and control statements in the simple world of Basic is an amazing thing. Sure even a 5-year-old can pick up an iPhone and do some cool things with various programs. But that is “user land”. Those two lines above are not in “user land”, they are in programmer world, and that is different.
For a kids 4 to 8 years old Basic can still be a lot of fun. Plus, they will learn the horrors of GOTO and realize that even though some modern languages accommodate GOTO it should never be used.
Even though your modern machine will come with a ridiculous wealth of software it will not come with a BASIC interpreter. Open source software to the rescue with the Chipmunk BASIC interpreter. I downloaded the Mac version and spent a little while reliving memories just now.
The complement to showing young minds BASIC and all the text-based fun is a Logo interpreter. Logo is a fun little language where you move a “turtle” around on a canvas and place a pen up and down to create graphics. It’s a wonderful little language that you can make pictures in. How great for kids to see the result of their code!
Logo interpreters were never bundled with machines but you can download ACSLogo for Mac OS X that works well and is a free download.
As I thought about these two selections they felt right. For kids interested in learning more about programming starting with BASIC and Logo just felt right. I did some searching on the topic and I found a number of other languages that are specifically designed for kids to learn to program. The ones I looked at seemed either too much “user land”, clicking and dragging to me or they were simply overly verbose and silly.
Of course if your kid is ready for something even more interesting, give them the really old beat up computer you have in the basement and install Linux on it and let them dive into the heart of the kernel. We live in amazing times! Maybe the crucial thing is to give your aspiring programmer the junky hardware to force creativity?
More high-resolution album art for others that may have these albums: Chan Poling “Calling All Stars”, Cities 97 Sampler Volume 8 and Dan Wilson “Live at Pantages”.
I don’t intend to make a habit of quoting myself, but I really like this.
I’ve written before about some of the ways I use Smart Playlists in iTunes to enjoy my music more. I’ve got a large music collection with 1,463 albums containing 19,392 songs. I have a challenge keeping new music highlighted in this big pool of nearly twenty thousand songs. Today I had an idea for a Smart Playlist that I’m finding very useful.
I call the playlist Three Plays and the basic idea is that any new track added to my collection should get three plays before it gets shuffled into the general archive. The playlist works like this:
The criteria are pretty straight forward:
I’m finding this really useful and a great playlist to just fire up when I sit down at the computer. Give it a whirl and see what you think!
I’ve been absolutely loving my new Canon 5D Mark II. It’s a serious camera and having a full-frame sensor means I’m shooting a lot with my Canon 70-200mm f/2.8L IS USM lens. Together though, that combination weighs over 5 pounds and I rarely want to put that around my neck. I tend to sling the camera over my shoulder instead which actually works quiet well, with one really big problem.
The dial pictured above is the mode dial. It is one of the most important controls and pretty much changes everything about the cameras behavior. I tend to shoot mostly in Av mode when I’m out and about. When I sling the camera over my shoulder with the 70-200mm lens I carry it “upside down” so the lens hangs in a natural way. Unfortunately, that means this knob will rest against my side, and as I walk it can move into a different mode!
You then lift the camera and shoot only to realize you are in some crazy mode and the pictures are horrible!
If there was ever a control that could use a small, flip-lock this is it. It needs a safety.
I don’t have an official bug report for this but I’m seeing a very ugly bug in Mac OS X Address Book or some part of the applications that work with its data. In short, it seems that in some situations Address Book can duplicate all the images associated with contacts, multiple times.
I keep really important data in my Address Book and as a result I do a weekly manual backup in addition to Time Machine backups. Look at the size of my weekly backups in this screenshot.
In a two-week period the duplication happened multiple times. From October 24 to October 30 it happened twice increasing the size of all images from 17 to 34MB and then again from 34 to 64MB. It happened again doubling from 64M to 120MB! The culprit here are the images associated with contacts and stored in ~/Library/Application Support/AddressBook/Images. This behavior is on my Mac Pro which is synchronized with MobileMe to my MacBook Pro and iPhone. However, the error isn’t the same on all synchronized Macs. Looking in the images directory on my Mac Pro there is 130.5MB of data with 8,782 files.
It amazes me when I actually attempt to take a survey on the web how poorly designed they are. Most of the time I disregard them, but sometimes a product that I like runs a survey and I would like to offer my feedback. I got one of those recently and on the third page, which by the way is already two pages too long, they present this screen. The question being asked is, in essence, “what one feature do you most wish the product had?”

To answer this they provide a list that is so long that it expands over the entire browser. In fact, that screen shot only shows about half of the options available. On a 30″ monitor I could not get all the options on the screen at one time. Ridiculous. Dumb. Failure.
At that point, I give up on the survey, and decide it is more fun to write this article. Sorry Strategic Vision, no feedback from me.
A little over a year ago I created a handful of stingers to use on video content that I create. The stinger serves a bunch of purposes. On the practical side it gives the movie player and data stream to get going. I often notice that in the first couple of seconds of video there are some breaks and with a stinger that happens before the content starts. Also, you can name your site and show what license terms apply to it (the later is something I forgot to do in my first stingers).
I decided to redo them and improved a number of things:
Several of my friends asked me how I create my stingers. It is really easy actually. I use Keynote to make the stinger itself, using transition effects that are on a timer. I then export the presentation to a Quicktime movie. I import the Quicktime movie of the transitions into iMovie and do trimming as well as adding audio. I then export them out of iMovie and re-import the completed stingers into iMovie to use in other videos. It sounds more complicated than it is. If you would like to use my Keynote file to start with go ahead and download Video Stingers v2.1.key.
For fun, here are the five new stingers.