How Not To Demolish a Building
"You're Doing it Wrong" really does capture this :)
. .
The author of this blog, James Robertson, passed away in April 2014. This blog is being maintained by David Buck (david@simberon.com).
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...
I found this (links to Facebook) to be terribly amusing:
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.
I see someone in comp.lang.smalltalk asked what Smalltalkers think about Google's Golang. As it happens, I discussed that on my Cincom blog awhile ago :)
I love standards - there are always so many to choose from :) Awhile back, I was interested in building an OAuth implementation for Smalltalk, so that my Twitter interface would work with it. Well: in reading this post from Dave Winer, I may have discovered why my code wasn't working with Twitter, even though I was (I think, anyway) following the spec. I built a Digest Auth implementation from the spec once, and I've dealt with Facebook, so I'm not completely green at this stuff.
A bit more digging, and what appears but this, from the same site that has the OAuth tutorials I was following:
A few weeks ago at IIW, Dick Hardt of Microsoft, Brian Eaton of Google, and Allen Tom of Yahoo! presented WRAP, a competing specification to OAuth. WRAP is a smart specification that includes a lot of good and useful ideas. If it was presented as a white paper on how OAuth could be made better, I would be singing a very different tune. It is a very good protocol draft which has clearly learned many lessons from two years of hands-on OAuth experience. I encourage anyone working in this space to read and study WRAP.
It sounds like OAuth is dying before it so much as saw the light of real usage. It also sounds like (read further into that article) a 2.0 spec will get put together, but it'll be more like a "from scratch" than a 2.0. I guess that means that Twitter will be keeping that Basic Auth interface around :)
Technorati Tags: OAuth, authenticaton, WRAP
![]() |
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):
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: fix and continue, patch in place
I just finished "Gears of War 2", and it was pretty cool - I have to say, riding the Brumak through the Locust horde at the end was pretty fun, using the chain gun and rockets to lay waste to everything in the way :)
If you get the game, leave the credits rolling - there's a small hint as to where the next game in the series will be going.
Technorati Tags: xbox, gears of war
I spotted this on Rich's Comix Blog, and boy, does it capture my feelings:
In the meantime, 2010! Can you believe it? Still sounds like the distant future to me.
So where's my flying car :)
Watch the hack attempts. The logs show attempts at hacking php (sorry, not in use), and MySQL (sorry, not installed). It's not that I believe Smalltalk is unhackable, but it should be a lot harder just based on how many of the black hats are out there have any Smalltalk knowledge (I'm guessing that's a small number)
With that said, it's the end of 2009, and 2010 is 5 hours away - So Happy New Year to all!
And still no one has a name for the decade. "The Zeros" doesn't quite cut it - and it seems that my favorite, "The Aughts", never caught on. So during the teens, what the heck are we going to call the last decade?
![]() |
My friend Mike gave me the first two books of
George Martin's "
A Game of Thrones |
Heck, I like the books well enough that they are modifying the way I exercise. More than once, instead of heading out to jog, I've gotten on the stationary bike so that I can read a few chapters :) Highly recommended series - it's not your run of the mill "swords and sorcery" fare by any means.
Oh, and yes - I am looking forward to the HBO series :)
Technorati Tags: fantasy
Ever had a situation where you needed to "clone" a class? The typical procedure looks like this:
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: class cloning, how to
My wife likes (or rather, liked) the show Eastwick, which not only met a cancellation, but did so in a very odd fashion:
So, in a turn of complete idiocy, ABC skipped an episode of Eastwick. A really important one where we were supposed to find out what happened to Jamie and Darryl. They skipped it, apparently, to cut down on the remaining episodes they had to air before winter hiatus is over. I, for one, am extremely upset about this and I hope that someone at ABC reads this and can feel my ire through the computer screen. Imagine me right now, I am glowering at you, execs.
You know, the most fanatical fans have DVRs. Would it hurt ABC (et. al.) to air shows like this at, say, 2 AM, when they aren't showing anything useful anyway, and at least let those fans with DVRs have closure?
This is hardly Snowmageddon, but we still have more snow that you usually see in December around here:
Now, off to borrow the snow blower...
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: visualworks, objectstudio, cincom smalltalk
I've spent a lot of time this week playing "Gears of War 2", after having gone through the "Modern Warfare 2" campaign twice (on different hardness levels). Gears of War is a longer game, and some of the segments require you to get something "just right" to get past - I was stuck flying the Reavers against Skorge for quite awhile before I moved on, for instance.
The big thing you need to adapt to as you change shooters is the minor controller variations - there's a fair bit of difference between MW2, Gears of War, and Halo, for things as simple as throwing/evading grenades. Speaking of Halo, I haven't gotten very far in Halo 3, but then again, that's probably related to all the time I've put into Gears of War 2 :)
One of my pet peeves in the neighborhood I live in is traffic calming - which, as practiced in this part of Maryland, seems to equate to "drop random shapes we made with playdo into the street and see what happens". Consider these, on one of the two routes out of our neighborhood:
With that first one, see how the car parked in the street (and that happens a lot there) effectively blocks access in one direction? With the second, see how one end of the device has been chipped off? That was a snow plow 4 years ago. Every day, school buses have the devil's own time navigating these, and I have no idea what a Fire Truck would do.
In the hall of bad ideas, these are really bad. I have a hot tip for the rocket scientists who come up with this stupidity: Just Narrow the Whole Road! It'll slow down traffic, and cause fewer ancillary problems.
Technorati Tags: stupidity
![]() |
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:
|
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:
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: slicehost, smalltalk server, apache
I've decided to set up a new blog, outside of Cincom - it makes sense to me to start posting most of the non-Cincom related stuff here, with the Cincom blog concentrating mostly on Smalltalk. My plan for the short term is to link from the established blog over to this one, giving short summaries of what I'm writing about - thus letting my readers know what I'm up to.
Getting a Smalltalk server running here (slicehost) was pretty easy (other than the trouble I had with Apache, but that's my own limited expertise at play there). I got the basics working fast though - domain registration with GoDaddy, discount code from one of the many podcasts I listen to, slicehost account set up, stuff uploaded, and now it all seems to work. We'll see how it goes :)