Tuesday, March 13, 2007

Cure for the programming humdrums.

This book never fails to inspire me to write code. It is one of the few computer books (perhaps along with this) that I can say actually affected my perspective on programming. Since programming is as much a part of me as performing music is a part of a musician, these two books have had profound effects on my life.

As much as I like toying with hardware, at the end of the day I am a programmer. I may no longer care to follow the current fads and coding crazes, but I still love to code.

I'm hoping some bedtime reading of the former (Literate Programming) will help cure my current programming humdrum.

Tiny, tiny interpreter

I've yet to find a suitable scripting language for the Turtle. Its probably about time to consider rolling one of my own. I will probably use Tcl (circa 6.7) as a model. Rather than be "string" based, this language will be "array of byte" based, which will require some additional parsing. However, parse-on-the-fly model of early Tcl will be used (i.e. no intermediate byte code, no complex parse tree).

Friday, March 09, 2007

(Re)Kickstarting the Turtle

I've been taking a break from the Turtle (the iCreate robotic platform). But, now I'm trying to get myself back into the groove.

The way my mind works: I'm not motivated very much by hobbyist pursuits. That is, my CFT is usually grounded in building something practical. This is not a criticism of the wonderful Maker mentality. It's just that I don't seem to possess that gene (the one where you hack/make for just the intellectual gratification).

Now, mind you, when I draw or paint I am doing it solely for my own gratification. But, these days, with such limited CFT, I tend to want to make stuff that has some practical purpose (even if it is just to further my knowledge -- so I can do greater things). Maybe its my 40 year old brain screaming "do something useful".

I am working on some C functions to allow the AVR chip to control the Turtle. Of course, there is nothing special about this. I just really need to get something running so I can start programming the Turtle to do something "interesting".

Over the next few days, I need to determine what "interesting" is.

Wednesday, March 07, 2007

Logo is Lisp (sort of)

I've had an interest in Logo for the past 20+ years. Or, more specifically, I've known about Turtle graphics for over 20 years. I never really immersed myself in the Logo language though. I've always end up implementing Turtle graphics in my favorite language du jour.

Now that I have kids, I have to ask myself: When it is time for them to learn how to deeply interact with the computer (beyond browsing, games and paint programs), is Logo still the language I want to introduce to them?

Scratch is amazing, but something is missing when you don't "talk" to the computer in a written language (Scratch is a visual programming environment). Most of what you need is there, but there is no poetry.

I am very fond of Logo (and not just from a teaching kids perspective). I like its simplicity. I like the way it has a low entry level but no apparent "top" that would cause you to defect to another language. Logo is a dialect of Lisp. It's a simple Lisp with syntax added and parens removed.

I still think it is relevant. Do you?

P.S.
My 8 year old son plays with Scratch from time to time. We haven't tried any "educational" stuff with it yet. Still, my son has an aptitude for math. Does he need it hidden by the layered GUI facade of Scratch?

Distracted by interesting books... again.

For a little nighttime reading, I've been re-reading Mindstorms. This led me to purchase Turtle Geometry. Both books were published around 1980, but are still more than just historically interesting documents.

Currently, I am mini-obsessed with working through at least some of Turtle Geometry. I know -- this is hurting my CFT projects, but I've been sleepy and too focussed on my day job to do any C & micro controller hacking at night.

Back soon...

Friday, March 02, 2007

BLOGnBOX

I've been spending time bouncing between here and BLOGnBOX (a blog about blog software).

I've obviously have too much Copious Free Time ;-)