. .

smalltalk

Smalltalk on the XO

January 4, 2010 8:28:53.515

The XO is another name for the OLPC - and it looks like some interesting Smalltalk (Squeak) work is going on to more fully integrate Smalltalk into the environment on that system - check out Milan Zimmerman's work to get Smalltalk hooked up to the activity system - meaning, making it possible to build apps that:

  • Are developed in Etoys (perhaps more precisely, in the underlying Squeak Smalltalk environment).
  • Run in Sugar, allowing interaction with the Datastore.
  • Participates in the Sugar environment, that is, can be saved/resumed in the Sugar Journal, can copy/paste onto a Journal.

Sounds pretty cool.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Condensing the Changes File

January 4, 2010 8:08:30.635

There's an option under the System menu in VisualWorks (available in ObjectStudio 8 using the VW launcher) to Condense Changes. Today's video covers what that menu item does, why you might want to use it, and - more importantly - what it actually does.

If you like this kind of video, why not subscribe to "Smaltalk Daily"?

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk in Small Places

January 1, 2010 19:05:42.966

Interesting:

The other day, I downloaded the source code for Squeak and compiled it in my Scratchbox on my Linux laptop. It compiled cleanly, and I moved it over to my N900. It ran fine there, with the exception of the screen being so small that it was hard to get much of anything done.

The trick, of course, to anything useful is to have a UI set that works on the screen in question. John Mcintosh did that for his Squeak port to the iPhone/Touch - for this to be more than a "I did it" exercise, it sounds like the same work would have to be done...

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

The Joys of Patch in Place

January 1, 2010 12:47:45.862

Smalltalk One of the things I really like about Smalltalk is the "living" nature of it - you make a change, and your environment notices it right away: no recompile, no taking your app down and up, no "have to rerun to that point"... it just takes the change and runs with it.

This morning I noticed a small bug in the archive links, for instance. Looking at my test server (on a Linux box here in the house), the problem was obvious enough; it was a stupid little bug. The part I like is how I addressed that in the running server (both here and over at my Cincom blog):

  • Had VisualWorks drop out a change set (all the changes I had made) as source code
  • Transferred the code to both servers, here and over at Cincom
  • Transferred the new version of the component in question, so the changes would be there if the server was restarted
  • Went to a small control panel I have in the app server and had it load the change

The last part is just a simple file-in - the Smalltalk image loads and compiles the code, and keeps going along its merry way. Even if that change involved shape changes to existing objects (i.e., redfining their class), things would be ok: the image modifies every such object that exists in the image. This change was simpler than that, but it's a really nice thing to have - it means that there's almost never a reason to take an Smalltalk server down. It can be patched in place, while it's serving requests.

I just think that's cool, and it makes a Smalltalk developer just a little more productive.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

How to Clone a Smalltalk Class

December 31, 2009 12:09:33.216

Ever had a situation where you needed to "clone" a class? The typical procedure looks like this:

  • File out your class
  • Open your favorite editor up and do a copy/replace operation
  • File the new class in

Admittedly, you don't need to clone a class that often, but if you've had to, you probably thought someting like "why isn't there a better way?" Well, it turns out that there is:

If you like this kind of video, why not subscribe to "Smalltalk Daily"?

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Get Ready for VW 7.7 and OS 8.2 Non-Commercial

December 31, 2009 0:24:13.159

Cincom Smalltalk

Cincom will be posting the new non-commercial downloads soon - VW 7.7 and OS 8.2 - you'll want to pay attention my corporate blog for the latest updates on that. There was a bit of packaging left to do when the holiday season came in, so you'll have to wait for the new year. It should be worth it though - lots of good stuff in both products, as I mentioned here earlier.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

smalltalk

Getting this Server Running

December 30, 2009 19:02:41.898

Smalltalk

One thing that a few people have expressed interest in already is this: what did I need to do to get this server running Smalltalk? Well, the first step involved some basic investigation: where could I find affordable VPS hosting? After looking around, I settled on slicehost for that (click here to sign up) - they have decent rates, the reviews I found looked positive (at least one of the inexpensive alternatives, which will remain nameless, had horrid reviews).

Before I go further, I should explain why I had to look into VPS (Virtual Private Server) or a Dedicated root server. If you run typical web software, it fires off a new instance every time a request is made; Smalltalk isn't like that. You have your Smalltalk image running all the time, listening on a port. So if you pick a hosting service that charges for CPU time, you'll get hit on that.

Anyway, I asked around about domain registrars, and got referred to GoDaddy - that was simple, although boy oh boy - do they ever want to upsell you on things :) Once I got that and slicehost set up, I needed to set the DNS records up - this post walked me through that easily. With that out of the way, a few things remained:

  • Getting Smalltalk onto the slicehost server
  • Getting the specific packages for my blog server onto the slicehost server
  • Setting up the Apache configuration (installing Apache first)

The first two were simple: I used a combination of wget and scp to transfer files up to my server, and then copied them into the directories I wanted them in. I set up a non-root user to run the Smalltalk server, and gave that user ownership of the appropriate directories, so that I didn't need to operate as root. Then I edited my files for the new setup, and started the server on a specific port. At this point, my Smalltalk server wouldn't start, telling me that the file (VM) didn't exist. This seemed strange; then I realized that I had a 32 bit VM and a 64 bit server. So, off to install the 32 bit libs:

sudo apt-get install ia32-libs

A minute or so later, the VM started fine, and doing this (not the port I'm using, btw) worked:

http://www.myNewDomain.com:12345/blog/blogView

Now I wanted to get rid of the port number in that url. With some help from Steve Rees, I did the following two things:

set up symlinks for the necessary mod-proxy load files in:

  • /etc/apache2/mods-available in /etc/apache2/mods-enabled
  • copied proxy.conf up out of the mods-available dir and into /etc/apache2
  • Edited that file:


 ProxyRequests On

        <Proxy *>
                AddDefaultCharset off
                Order deny,allow
                Deny from all
                Allow from .myNewDomain.com
        </Proxy>

Then, in httpd.conf (same directory), I added the following:


<Location /blog>
ProxyPass http://127.0.0.1:12345/blog
ProxyPassReverse http://127.0.0.1:12345/blog
</Location>

At which point, the base url, http://www.jarober.com/blog/blogView worked. And that was it - other than getting some files that I forgot to copy over the first time, it all worked fine.

So the bottom line? Getting a Smalltalk based server running on the net is pretty simple now, and not at all expensive. Over the next few years, I expect the price for VPS to drop even more, so it's only going to get easier. So if you're a Smalltalker and want to get your app running out on the net - just go do it :)

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

Previous (1107 total)