Code, music, and other stuff.

Weekend Work on the Studio

I made some progress on my studio over the weekend:

Entry - bright Entry - dim

Drums - bright Drums - dim

Desk - bright Desk - dim

I hope to make even more progress over the holidays.

Early Smalltalk and Apple

I just read this great section from The Early History of Smalltalk:

By now it was already 1979, and we found ourselves doing one of our many demos, but this time for a very interested audience: Steve Jobs, Jeff Raskin, and other technical people from Apple. They had started a project called Lisa but weren’t quite sure what it should be like, until Jeff said to Steve, “You should really come over to PARC and see what they ae doing.” Thus, more than eight years after overlapping windows had been invented and more than six years after the ALTO started running, the people who could really do something about the ideas, finally to to see them. … Larry Tesler gave the main part of the demo with Dan sitting in the copilot’s chair and Adele and I watched from the rear. One of the best parts of the demo was when Steve Jobs said he didn’t like the blt-style scrolling we were using and asked if we cold do it in a smooth continuous style. In less than a minute Dan found the methods involved, made the (relatively major) changes and scrolling was now continuous! This shocked the visitors, espeicially the programmers among them, as they had never seen a really powerful incremental system before.

Alan KayThe Early History of Smalltalk

Open Sourcing SubWars

Over the last couple of years, I have been slowly working on SubWars - a GPS based submarine game. I have had way too many fresh starts - new codebases, always some mix of Ruby, Smalltalk and MagLev. We just had our second little boy, and I now have even less time for side projects - so I’m open sourcing the project. I’ll be working on getting different parts / versions up over the next couple of months, but the first little part is now up at GitHub.

I am yet again starting with a fresh codebase, this time I am writing the entire client side in Amber. There’s not much there now, but its a start.

Amber - Smalltalk Brought to the Web

So it’s no secret that I love Smalltalk. I recently found the Amber project and saw the awesome potential it has to help expose more people to the joy of Smalltalk. Here is an abstract and bio for the Amber presentation I’m working on.


Amber is an implementation of the Smalltalk-80 language that runs on top of the JavaScript runtime. With Amber, client-side web development finally gets the power and productivity that has existed for decades in other Smalltalk dialects.

This presentation will:

  • Demo a real world example of how Amber has been introduced into existing web applications written in Ruby
  • Show how to access and quickly wrap existing JavaScript libraries (e.g. Google Analytics, Google Maps, Ace editor)
  • Show how to edit, inspect, test, debug and save client-side code live, all from within a web browser
  • Discuss how Amber can be easily incorporated into existing web applications - regardless of the back-end (Ruby/Rails, PHP, Seaside, etc) and how it can co-exist with existing client-side JavaScript

When Avi Bryant created Clamato - on which Amber is based - he said “the main objective is to have a more pleasant environment in which to write the client-side of web applications.” Amber brings this Smalltalk environment, not just the language, to client-side web development. Amber is a way to expose more people to the joy of development in a Smalltalk environment without the commitment of changing existing back-end technologies.


JohnnyT (a.k.a. John Thornton) has been developing web applications for 15 years, the last 7 of which have been in Ruby. He was converted to Smalltalk in 2010 after looking into MagLev and discovering the magical world of GemStone powering it all. He started a local Utah Smalltalk Users Group (USMUG) to help him in his quest to share the joy of Smalltalk with everyone he can. He works on Amber and SubWars (an open-source GPS browser based submarine game) to scratch his Smalltalk itch and earns his living working for Alliance Health Networks in Salt Lake City, Utah.

Hello World!

I just set up this blog using Octopress - which is built on top of Jekyll. Pretty slick - it only took about an hour.

Hopefully there will be more posts soon.