Scratch and programming for kids

Scratch is another graphical programming language oriented towards children. It is built in Java and has a programming environment and a runtime environment. The runtime environment is only needed if you want to share your (read-only) program with others via the web. The programming environment is a little too modal and other ways ridged for my tastes -- that is, with my "kid" hat on. When you watch kids play they clearly have a center and a periphery. Their tools need to model this.

RESTful search

I am working on a small project to build a web application using current best-practices and tools. To start, I am working on the RESTful interface -- the application's API. What I did not understand was how to do a RESTful search. Searching is not a GET because there is no one resource or all resources returned. It is not a POST because nothing is being updated. What I discovered looking around the web was that when using REST you are not limited to the gang-of-four HTTP methods -- GET, PUT, POST, and DELETE -- but instead are open to a whole other set of methods [a][b]. There is a SEARCH method at IETF in early draft state. This is good enough for my needs.

I will use Java for this project. I know how to implement the interface using the Servlet framework but I wanted to use a framework designed for RESTful interaction. I found the Restlet framework and really like what I see so far. (I have not coded anything yet and so don't know how practical it is.) There is also JSR 311, "JAX-RS: The Java API for RESTful Web Services", which is an annotation-oriented design. I like the Restlet's class-oriented design much better.

Paper craft and architectural and landscape projects

There seems to have been a resurgence in paper craft models. I think part of the reason is the ability of tools like Pepakura Designer to take a 3D model and determine the parts needed and layout them out on pages. (I would love to know how this is done -- at a moderate level of detail.) It occurred to me that you might be able to use this with Google's SketchUp to create models of architectural and landscape projects. Perhaps the resulting paper craft models are not of a quality suitable for client presentation but it sure would be fun.

Damn Small Linux

I have been thinking about teaching my kids how to use eToys. To do this, it would be best if they each had their own box and so I have been looking for cheap laptops. I found two Thinkpad T20's for $100 on Craigslist in various states of repair and bought them. I have worked on T20's in the past and so I know their idiosyncrasies well.

One of the idiosyncrasies is getting X Windows to work. I first installed Ubuntu and everything worked but at a glacial pace. The T20 only has a 700Mhz CPU after all. But even at 700Mhz X Windows should fly. The real problems are 1) Gnome is a system hog and 2) this machine only has 128Mb. (It still feels weird that 128Mb is not much RAM. I remember very well Carnegie Mellon University's 3M machines which were to have 1 million bytes of memory, 1 million pixels on screen, and 1 million instructions per second!) So I installed Xubuntu. And this time the pace was faster but only by a smidge. And boot time was still many minutes in duration. Application switching could take a minute.

Searching for a smaller Linux distribution I came across Damn Small Linux and installed that. Well, installed is the wrong word as I first ran it from the LiveCD. It booted the T20 within seconds. X worked. Internet worked. Everything worked. And worked fast. This was a truly usable system on a T20.

The down side, and this is something I am still fighting with, is that it is not a true Debian distribution. It has its own packaging and distribution system. DSL's author had to make significant changes to the Debian core to make a workable distribution that fit on a business-card CD. DSL is intended to be a system for recovering a broken box. I understand this and the understand the impact the changes would have on DSL's ability to use existing Debian packages. However, the impact is only for a few classes of packages. Most POSIX and GTK applications will run fine. I wish the time and effort put into building the packaging system had been used to allow for the installation of standard Debian packages instead.

Before I wrestle too much longer with DSL I need to get Squeak installed. Wish me luck.

Another tag cloud

Leigh Dodds had a link to the fun Wordle tag cloud. Here is mine from What is striking is the large number of links I have tagged as "to-read". Too many interests for the time I have.