The Economics of Programming Languages – in the 1950’s

I was having a look at this paper on the development of Fortran:

http://www.softwarepreservation.org/projects/FORTRAN/paper/p165-backus.pdf (which I found here )

And I noticed the following quote:

1.2. The Economics of Programming

Another factor which influenced the development of FORTRAN was the economics of programming in 1954. The cost of programmers associated with a computer center was usually at least as great as the cost of the computer itself. (This fact follows from the aver- age salary-plus-overhead and number of programmers at each center and from the computer rental figures.) In addition, from one-quarter to one-half of the computer’s time was spent in debugging. Thus programming and debugging accounted for as much as three-quarters of the cost of operating a computer; and obviously, as computers got cheaper, this situation would get worse.

This economic factor was one of the prime motivations which led me to propose the FORTRAN project in a letter to my boss, Cuthbert Hurd, in late 1953 (the exact date is not known but other facts suggest December 1953 as a likely date). I believe that the economic need for a system like FORTRAN was one reason why IBM and my successive bosses, Hurd, Charles DeCarlo, and John McPherson, provided for our constantly expanding needs over the next five years without ever asking us to project or justify those needs in a formal budget.

As Hal Varian says, “Ignore basic economic principles at your own risk. Technology changes. Economic laws do not.”

I would continue to bet on programming languages that save programmers time, or otherwise make them more productive.

On Eggs and Baskets

This is a worrying story:

http://blog.mibbit.com/?p=8

He did get his account reinstated, but being similarly quite dependent on Google for various services, this story was something of a wake up call for me. It’s tough – they do offer a lot of attractive things for free, but single points of failure are bad, and even worse when they have a less than stellar support infrastructure to help you through the rough spots.

Redirect All Requests to a Single Page

I found this little tidbit useful. I guess it’s not that hard to figure out yourself, but it might make a nice FAQ. Basically, in the midst of moving some of my server stuff over to Slicehost, I knew my web server wouldn’t be able to respond for a few minutes, so I wanted to put a reasonable looking “Sorry, we’ll be back soon” message, rather than just letting it fail. On a Debian or Ubuntu system, this ought to be enough:

In the /etc/apache2/apache2.conf file, the last line looks like so:

Include /etc/apache2/sites-enabled/

Comment it out, and put this in instead:

#Include /etc/apache2/sites-enabled/
AliasMatch .* /var/www/backsoon.html

All it takes is an /etc/init.d/apache2 reload to make the change take effect, and another one once you’re up and running again.

Slicehost + Ubuntu Intrepid Upgrade

As I wrote previously, I started looking around for a new hosting provider, as Layered Tech is jacking up their prices too much. This isn’t something I consider ‘fun’, as it will involve a lot of time swapping things over, with the potential for problems, but the amount of money disappearing every month is too much to ignore at this point.

After some dithering, I finally went ahead and spent some money for a minimal slice at Slicehost. Linode seems pretty competitive too, but I more or less flipped a mental coin. I was actually ready to go ahead the other day, but I stopped to think some more after seeing that Slicehost has been acquired by Rackspace. In terms of seeing hard working people rewarded for their efforts, I am of course happy for the guys at Slicehost, but it also leaves a few questions:

  • Sometimes, perhaps not immediately, but after a while, there is less incentive to bust your butt if you cashed in in a big way.

  • Rackspace is not my kind of hosting outfit: they don’t even list their prices where people can see them, like Slicehost, Layered Tech, and most everyone else does. I’ve heard they’re good, but quite expensive. I don’t need ‘managed’ servers – I can do that myself.

  • The FAQ says that Slicehost will continue as a going concern in its own right, but there’s always the chance that they were acquired for their tech, and that the FAQ just says that they will continue to operate to keep their current clients from bolting.

Of course, good things could come out of the deal too, so I decided to put my paranoia aside and test the waters. There are a lot of things to like about a system like Slicehost’s: it’s relatively quick and easy to set up new slices, fiddle with the resources that each slice has, and so on, compared with a physical server. Furthermore, they have a reputation for not ‘overbooking’ their servers, which is why I wanted to get away from a VPS in the first place, many years ago.

Setting up a slice was very quick and easy, but unfortunately got off to a rough start: their “fraud detection” system had a problem with me being in a different place than my billing address. Luckily, they were very fast at correcting the problem. As an aside, I think that fraud detection is probably best left to the credit card companies, although of course I don’t really know their business, so maybe that particular check has saved them some money/frustration in the past.

Upgrading the Slicehost Ubuntu to Intrepid

In any case, once I got it up and running, I wanted to test out the upgrade to Intrepid, as that’s going to be out in less than a week, and I might as well upgrade while I have ‘fresh’ servers to play with, and prior to installing a bunch of stuff.

It went very well. I did a do-release-upgrade -d, hit ‘yes’ to everything, rebooted, and everything was fine! Admittedly, I don’t have anything running on the server yet, so that kept things short and sweet, and didn’t require the upgrade of various systems which might have had troubles, but so far so good

If you’d like to sign up for Slicehost, it looks like they give you a referral code. Mine can be utilized by going here.

Programmer Fuel

I can’t stand the taste of coffee – neither American, nor Italian – it all tastes like dirt to me.

Programmer Fuel

However, I too occasionally need a kick to keep me going even when I’m tired, and I’ve found just the thing here in Austria. Red Bull is the most famous Austrian “caffeine/energy drink”, but they also have a variety of similar products, which sell at lower prices. Recently, I noticed that you can even get the stuff in 1.5 liter bottles, rather than the more expensive 1/4 liter cans. Be careful though: I had a bit too much the other day, and my wife had to detach me from the ceiling.

If I had a good head for business, I’d find a way to make money exporting the stuff. At a bit more than a Euro per liter, it’s way cheaper than expensive cans of Red Bull.

Oslo – October 20-22

A quick note: I’m going to be in Oslo from the 20th to the 22nd of October. I probably won’t have time to meet anyone, unfortunately, but if you are up for it, send me an email with a cell phone number and we’ll see what can be arranged.

Also, I’m trying out Dopplr. I’m not a frequent traveller, but I really like to meet people when I do go someplace new:

http://www.dopplr.com/traveller/davidnwelton

Visitors

I use Google’s Analytics system for several web sites I run, but find it a bit cumbersome for just getting a quick overview of what’s happening. For years, I’ve used my friend Salvatore’s visitors program to analyze web logs. It claims to be a “fast web log analyzer” and it is blazing fast – so fast that for all the sites I run, it only takes a few seconds to process a year or two’s worth of log files. For instance:

3724130 lines processed in 68 seconds
55 invalid lines, 0 blacklisted referers

And that’s not a particularly fast server that it’s running on, and of course it’s running with a high “nice” value. Visitors is probably not suited to huge sites, as that’s its only mode of operation – it doesn’t save data – but it’s a great option for everything but the biggest of log files.

Using it every day, there are a few things that I wanted to improve or tweak, so with Salvatore’s permission, I went ahead and put the code under version control over at Google Code: http://code.google.com/p/visitors/

Caveat Emptor Dominium

Ok, my apologies, the Latin is incorrect, but the idea is this: I have run into an important limitation of Google’s domain registration system. Buyer beware.

Lately, I have been using Google Apps to register domains. At $10 a year for new domains, which come with all the nifty Google applications, email and so on, it’s a really good deal. However, there appears to be a potentially crucial problem: you can’t sell or transfer the domains, as far as I can tell. I would love to hear that I am wrong on this, but the person helping me through Google’s support channel first told me to “enter the new credit card details in the Google Checkout account associated with the domain”. Uh, sorry, but I want to transfer the whole thing, lock, stock and barrel. After another round of email, I got this:

To assign a different Google Account to the subscription you’ll need to
modify your billing information by following the steps listed below:

  • Enable automatic renewals for your account.
  • When you receive email notification of the impending charge, visit the
    link to the ‘Ordering page.’ – Authorize a new purchase for your domain
    registration renewal. This will replace the old subscription and charge
    your new billing information on the subscription expiration date.
    Automatic renewals will also be enabled going forward.

If you don’t have automatic renewals enabled, your email notification
won’t include an ‘Ordering page’ link to change the Google Checkout
account and purchase or renew Google Apps. You must first enable
auto-renew to be sent this link.

I don’t want to have to wait for the email notification, though! The domain won’t be automatically renewed until sometime next spring.

Hopefully this is either an oversight on my part or something Google will fix soonish, as buying a domain name that you can’t sell or otherwise give to someone else is of very limited use for some things. No, I haven’t gone into business as a domain name speculator/squatter, the domain in question is InnsbruckExpats.com, a site I registered for a friend a bit more than a year ago.

Amazon and the case of the missing globalization

Being an American guy married to an Italian woman and living in Austria, I don’t really have a problem with “globalization”. Actually, I’m something of a fan, which is one reason I’m disappointed in the globalization of Amazon’s services.

If you order a book from Amazon.com in the US, it will be shipped to you from the nearest shipment center. If you go to a large site like Google, Microsoft, or Yahoo, it’s quite likely that they provide services in your language.

Amazon, however, appears to be completely split up along country lines. Your amazon.com account is completely seperate from your amazon.co.uk account, and amazon.de isn’t even available in English! This completely violates the sensible reasoning behind the two features outlined above. If you’re somewhere like Italy or Denmark or Eastern Europe, you should be able to log in to amazon.com, in your language, order a book, and have it shipped from the nearest shipping center. Instead, you have to log in to each site (they don’t share account info), which is only available in one language. So, for instance, an English speaking guy in Austria wanting to order books from the nearest country with an Amazon site goes to amazon.de and finds that there is no option to get the site in English. If I want to order from amazon.co.uk I have to enter all my login information from amazon.com again, and don’t get the same recommendations and other features that come from Amazon knowing about my purchasing history.