Smalltalk: The Good Parts Is Moving

by doug on January 31, 2010

AOTS Olivia Munn
AOTS’ Olivia Munn

The Smalltalk: The Good Parts Blog is moving a new server: http://hackingthevalley.com/ and to a new RSS feed. This server will still host my Smalltalk experiments.

I know. It seems like we just got here a few weeks ago. And now we’re moving?? Crazy.

Actually, what’s crazy was trying to maintain 4 blogs. In a moment of unrealistic spontaneity, I hallucinated that I would be able to teach 4 classes, walk the dogs, prune the damn apple trees, mentor 150 students, and create content for 4 blogs—and watch AOTS every afternoon.

Something had to give, so the blog has to move. There’s no way I’m giving up AOTS.

I’m going to consolidate the PHP, Ruby, and Smalltalk Good Parts blogs into a single new Wordpress blog (HackingTheValley.com), and shut down hackingthevalley.blogspot.com. Fortunately I have only a few posts to import. I can do this in a couple of days.

This blog will be turned off in 30 days and Feedburner will disconnect those who are using the old RSS feed. If you want to transfer to the new feed, click here to add the Smalltalk: The Good Parts RSS feed.

So the moral of the story is, one blog per mere mortal.

Happy hacking…

Doug

Share and Bookmark
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • LinkedIn
  • Posterous
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter

{ 0 comments }

My Collection of Vintage Smalltalk Books

by doug on January 27, 2010

Every time I’m swept up in an new project I gird my loins by gathering a phalanx of books around me. I start by downloading all of the free PDF’s I can find. Stephane Ducasse, author the the Robots books, has an exhaustive list of free out-of-print Smalltalk books. So I got them all. I don’t know how many of these books I’ll ever read, but I feel good having them there, just in case.

Smalltalk PDF's

I like real books, so I scoured the used book list on Amazon and was able to find paper copies of many of my free PDF’s.

Most of these books were first published in the 80’s and 90’s, with a few of the Squeak books arriving after 2000.

Of all of these books, my favorite is SMALLTALK-80 by Adele Goldberg and David Robson (1989). Though the book’s cover gives it a quaint vintage look, the content is contemporary and the writing admirably clear—perfect for a student like me.

I like this book so much that I carry it with me on my walks around San Francisco and read it while I sit in Starbucks eating pastries and drinking espressos. Now and then some generic dude will see my antique book and comment, “Damn. Is that language still around? Why would you want to learn that when you could learn Java?”

I also have a soft spot in my heart for Squeak: Learn Programming with Robots by Stephane Ducasse, which I’ve mentioned previously. This book is good-spirited and all about having fun with programming. It’s an absolutely painless, fun introduction to Smalltalk. A kid can handle this book easily—even an adult kid.

My buddy Bill G. observed me collecting these dusty, out of print tomes. Back in the 80’s he did some Smalltalk programming in The Valley. He said, “There used to be an all-Smalltalk books store in Palo Alto on University Avenue, right down the road from Xerox. That’s how hot Smalltalk was in those days.” He paused. “I think that place is a Starbucks now.”

That’s cool with me. I need a clean, well-lighted place to hang out and read my books and get hassled by Java programmers.

Happy hacking…

Share and Bookmark
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • LinkedIn
  • Posterous
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter

{ 2 comments }

Which Flavor of Smalltalk Is Right For Me?

by doug on January 25, 2010

Learning two languages at once can be hazardous to your mental health.

Now that I know I can deploy Seaside on my Slicehost server, I can move on to the next step, which is deciding which version of Smalltalk I should learn.

The languages I’m familiar with come in only one flavor: vanilla. With C++, PHP , Ruby, and Python there’s no choice at all: you take what they give you. But there are many varieties of Smalltalk to choose from; they all do great stuff, they all have the great features, and  they’re all just different enough that it’s in your best interest to choose one and stick with it. Some are free and som you have to pay for. Which one do you choose?

I’ll cut the suspense and say that my first choice for learning Smalltalk is Squeak. But my choice was entirely accidental. I didn’t choose Squeak on its merits, and it has many. I simply stumbled upon it.

I was taking a math course and wanted to graph some of the equations we were discussing in the class. I considered using PHP but working with PHP’s low-level GD library had already killed off too many of my brain cells. Then by accident, I happened across a book named Squeak: Learning Programming With Robots. I could see at a glance that I could make this Squeak robot do my bidding. Here’s my first Smalltalk program: drawing a square. In fact, drawing 100 squares.

Here’s a small screencast of how Squeak looks in the hands of a rank amateur.

Share and Bookmark
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • LinkedIn
  • Posterous
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter

{ 3 comments }

Today I felt a compulsion to install Smalltalk on my little 256MB Slicehost slice. It was an itch I just had to scratch.

My first step was to admit (to myself) that I don’t know the first thing about deploying any kind Smalltalk anywhere. I can deploy PHP and Rails in my sleep, but I’m clueless about Smalltalk. I would have to do some research.

My first resource was James Robertson’s blog. He’s the Smalltalk evangelist for Cincom Smalltalk and has created countless Smalltalk tutorials and screencasts over the years. I’ve been following his experiences installing VisualWorks Smalltalk on his Slicehost server and noted that he mentioned having a problem running his 32-bit VM on a 64-bit server. He solved that problem by installing the ia32-libs. I anticipated that I would run into the same problem since I am running a 64-bit version of Ubuntu.

My second resource was the Linode.com support library. My original plan was to install both VisualWorks and Squeak, but as time slipped away, I realized that I had dreamed too grandly. I don’t know much about Squeak, but I know nothing about VisualWorks. I realized it would be less painful to go with Squeak. I googled “deploy pharo” and found a nice Seaside deployment guide on the Linode site. I took that path of least resistance and decided to install Pharo and Pier (a CMS written in Smalltalk).

I cut and pasted the Linode commands into the terminal and in 5 minutes I was ready to go. But, when I issued the command to start Seaside, I got the message: “Could not find squeak”. I recalled James Robertson’s gotcha and installed the 32-bit Intel libraries. I’m running Ubuntu, so I used this command:

sudo aptitude install ia32-libs

I won’t post the Linode article here; you can check it out for yourself if you’re interested. I just cut and pasted away as directed. Seaside started up on port 8080 perfectly. I poked around a little, took a few screenshots, then shut it down. It’s completely unsecured, and since I don’t know how to make it safe yet, I don’t want to leave it running unprotected. Right now I’m happy with taking baby steps.

By the way, here’s the command I used to run a squeak without a gui (headless). I’m saving it here for future reference; I had to do considerable digging to find it.

/opt/pharo-vm-15-2/squeak -vm-display-null /srv/www/pier-app-1.2/Contents/Resources/pier.image

My next step is to configure Apache to proxy Seaside. Once I get the proxy working, and learn more about securing the site, I’ll leave Seaside running. By the way, I have proof of life. Cool.

When I saw this page I rewarded myself with a cup of hot chocolate.

Keep hacking…

Share and Bookmark
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • LinkedIn
  • Posterous
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter

{ 3 comments }

Hello world!

by doug on January 14, 2010

Welcome, intrepid voyager. You have somehow landed in my Smalltalk learning blog. As I work through the process of learning to program in Smalltalk I will be writing about my experiences here.

I am a teacher at the City College of San Francisco, where I’ve been teaching Perl, Ruby and PHP since 2000. As an inquisitive person, I’m always interested in new ideas. In this case, an old idea and a new idea — Smalltalk and Seaside— have caught my eye. In this blog I will document my trials and tribulations as I learn Smalltalk.

By the way, I don’t pretend to know, at the beginning, which parts of Smalltalk are the good parts. I realize that the most languages have good parts. And every language has its own set of gotchas. It will be fun learning just how good Smalltalk is.

My plan is to learn enough Smalltalk to teach a course at CCSF. Of course, that idea presupposes that there will be enough students to support a class. One of the obstacles any language, new or old, must face is the tendency of people to run with the herd (Java, PHP, Python, etc) and to shun languages that don’t have name recognition: Smalltalk and Lisp, for example. I believe that Seaside is a killer app for Smalltalk, and I will be focusing my efforts on building an application as part of my learning regimen.

Happy hacking…

Share and Bookmark
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • FriendFeed
  • LinkedIn
  • Posterous
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter

{ 3 comments }