The Coming Death of Corporate Data Centers
Now that I'm running with a VPS setup, I'm wondering: why should a company run its own servers? Unless you're in the hosting business, there's really no point. Look at the prices for services like Slicehost or ArpNetworks, for instance - there's no way that running your own hardware is cheaper than that, when you count in all of the costs (labor, machine acquisition, backups, etc). Just point your domain at the VPS level of service you need and go - over the next few years, the companies that do that are going to save a ton of money compared to the ones that don't.
If you're running your own data center now, and you aren't in the hosting business, you're probably wasting money...
Technorati Tags: data center, vps, hosting
This SIte's Rationale
I've had a few people ask me why I set up this blog when I have the well established one over at Cincom - So I figure an explanation is in order. The main reason is simple: over time, I've branched my topics well beyond Smalltalk. In some of those cases (copyright, for example), it could be said that I've stretched the bounds of what should be discussed on a corporate sponsored site.
The more I thought about that, the more sense it made to me to set up a new blog. That would give me the freedom to discuss topics that might not be appropriate there, but that I wanted to explore in public. Now, don't expect to see my going political here - I'm under no illusions that anyone really cares what I think about politics :) Unlike so many people (celebrities, for instance), I know that my readers come here for a few topics (primarily Smalltalk), and politics isn't one of them.
So what can you expect to see? Well, the Cincom site will have all of the Smalltalk content it's always had, but the rest of the stuff will live over here. I'll be talking Smalltalk here, too - there will be a fair bit of overlap there. You can consider this site to be a superset of the other one.
When it Rains, it Pours, Home Edition
Yesterday, I was exchanging New Year's Greetings with Arden, and walking in my kitchen when I saw a big piece of siding in the back yard. Thinking "that can't be good", I went and got it, saw it was my house's color, and started looking up at the house. Sure enough:
So, that's a bad thing. I'll have to hire somone to repair that, and see about the state of the siding in general. We seem to get a lot of high winds here; I guess this is what happens.
The Mess that is TV Viewing
Tim Bray wrote up an excellent summary of the options for watching TV shows on your schedule (as opposed to the network's ideas) - it's applicable across the world, but especially outside the US. Here in the US, if I miss a show and haven't picked it up via one of the DVRs, we have plenty of options: Hulu, iTunes, Netflix - it's probably available somewhere legally.
I spent 2 weeks sharing Tim Bray's pain last year in France - as a traveler a DVR wasn't in the cards, and everything else (save iTunes, and even there, show availability is based on physical borders) just stops working.
This is just insane. It's a legacy of the old system, where shows came over the air on limited bandwidth, and you watched what they had and liked it. Now? With an IP based system, any show that's been released should be available for a fair price - the way it's set up now, the content providers are just driving the technically skilled to consider things like BitTorrent. As Tim wraps it up:
Speaking of functioning markets, watching episodes of a TV series (in the case of Lost, the most expensive ever produced), with no ads, for a low single-digit number of dollars seems like a good deal to me, even though I have in principle bought the right to watch these shows via my monthly TV bill. So that's my choice, given the choice. But if there's nobody who wants to take my money
That's the way a lot of the content/copyright business works right now. You stand there, wallet open, ready to pay someone - only they have everything locked up behind a wall of badly maintained spikes, and keep muttering unintelligible things - none of which involve a way to pay for the content you want access to...
Technorati Tags: dvr, time shifting, copyright
Smalltalk in Small Places
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...
Spotted on Facebook
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.
Golang?
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 :)
Is OAuth Dead?
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
The Joys of Patch in Place
![]() |
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: fix and continue, patch in place
Gears of War 2
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
2010? Isn't that the Future?
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 :)
Set Up a Server and...
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!
Ten Years On....
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?
A Song of Ice and Fire
![]() |
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
How to Clone a Smalltalk Class
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: class cloning, how to
TV Inanity
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?
More Snow
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...
Get Ready for VW 7.7 and OS 8.2 Non-Commercial
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
XBox Fun
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 :)
The Insanity of Traffic Calming
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
Getting this Server Running
![]() |
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:
- /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: slicehost, smalltalk server, apache
Launching A New Site
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 :)