rhtml-minor-mode-update

For those who use emacs with Ruby on Rails, and perhaps even use rhtml-minor-mode, I have published an update:

http://www.welton.it/freesoftware/files/rhtml-minor-mode.el

It now handles .html.erb extensions for layouts/ files and layouts/application.html.erb files (or .rhtml).

Something that would still be nice to see is some hacking to better integrate partials, which currently don’t really know exactly where they fit in their parent document. That would take some work though, as you’d have to scan for use of the partial in question and perhaps do some other parsing of ruby code. If you’re clever though, you could probably get the most common cases by looking for something like :partial => ......

Language Geekery: Reia Programming Language

This looks kind of interesting:

http://wiki.reia-lang.org/wiki/Reia_Programming_Language

In short: it’s a Ruby/Python type of language on top of Erlang. It has a mishmash of Ruby and Python syntax, and also does objects, implemented as Erlang processes.

Funny quote:

Reia uses an indentation-sensitive syntax. This allows Reia to look similar to Erlang without relying on “ant turd” tokens (i.e. , ; and .) to structure relationships between forms.

That made me laugh, and is in all seriousness, something that I do find to be a bit annoying in Erlang, especially when refactoring code. You can’t just move a line of code from one place to another; you move it, then change the line endings in both places.

My preference would be to do something more Ruby style rather than Python style for the following reason: the indentation thing makes it harder to use straight-up Python for templating purposes, whereas Ruby can be used as-is. Templates are something that I wouldn’t particularly want to do in Erlang, either, so doing them with this language might be a very nice alternative.

Anyway, it looks to be in its infancy. Unfortunately, it seems to require a more recent version of Erlang than what ships with Ubuntu Hardy. Maybe Intrepid will have something recent enough to run it.

It’s a little known fact that I originally wrote Hecl in Erlang, although, sadly, I can’t find the code any more.

Android Phone – I want one!

Early details:

  • Coming out in October.
  • UK in early November, Europe by first quarter 2009.
  • Simlocked to T-Mobile.
  • Source code! When the phone comes out. Hopefully someone will use it to unlock the thing.
  • 179$ – not bad.
  • MP3’s from Amazon.
  • Market app built in.
  • Neat use of Google Maps street view.

I’m sold, I want one. It might not be quite as flashy as the iPhone, but I want something open.

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.

Proprietary software, sustainability and “good enough”

I’ve long had the sneaking suspicion that, from the “free software” point of view, the most “threatening” proprietary software systems were not the most tightly locked down ones, where it’s difficult to do anything without paying a fortune and control is absolute, but rather those that coopt as much as they can from the open source world. You get source code, you get an open and hackable system, you get to talk with the people who wrote the code, who will tell you all about it if you want to know. You can recompile it for different platforms, or tweak it how you want. You get to talk with other users of it, and maybe even share hacks and additions you’ve created. Just that you still may have to pay for it, and you don’t get the rights to redistribute as you see fit.

Gianugo Rabellino, CEO of SourceSense, speaks very well of Atlassian and what they’re doing with systems like JIRA, which is a very open commercial offering:

http://boldlyopen.com/2008/09/11/sustainable-software-look-down-under/

With the challenge “Can your Open Source vendor do this?”. I don’t think he’s far off the mark; the fundamental problem with open source businesses is finding a way to introduce scarcity, as I’ve talked about before:

https://journal.dedasys.com/articles/2007/02/03/in-thrall-to-scarcity

That’s not to say it’s not possible (it is, obviously), or that open source doesn’t work (it has, beyond my wildest dreams), just that we still haven’t figured out the part that connects developers with money. One of the most successful (in terms of making Linux user friendly) companies to date is basically running on the “find a guy who already made a bundle elsewhere and is a good patron” model.

The worst of HR

Since we’re considering a move back to the US, I’ve been idling perusing job ads; a number of which seek “rock star” this and “ninja” that, which sound ludicrous, to put it in polite terms. On the other side of the coin, once an HR department has you in their clutches, you cease to be a person, and are a “resource”, as in “we had two resources working on the problem”.

Maybe they should just come out and say they are looking for “rock star resources”.

Potential sweet spot for Erlang web apps

I bumped into this while reading various things:

http://beebole.com/blog/2008/09/02/web-application-on-erlang/

And was interested, because it fits nicely with a half-formed idea of my own: Erlang is never going to be a nice language for doing HTML templates, but getting JSON into and out of it is pretty easy, so it could potentially work very well where your application is divided between Javascript for all the template/rendering/frontend duties, and Erlang on the server, with something like Mnesia, Couchdb or Postgres as the data store. That sort of application wasn’t really possible several years ago, but with the right target audience, you could probably get away with doing an app that requires Javascript to function these days.

Babies, Parents and Home Offices – Advice?

I’m back to working at home after completing a recent contract, much faster than the client expected, I’m proud to say, as I was able to leverage some open source software to do exactly what they needed.

While I love being able to see Helen and Ilenia more during the day, it also brings up that old question of Adam Smith’s: the division of labor. It’s pretty difficult to concentrate at all with a baby in the house, despite having an office with a door. When she’s noisy, she’s really noisy, and there’s nothing like the yowl of an unhappy baby to get a parent’s attention, even if he’s not the one currently taking care of her. Also, perhaps most importantly: she’s adorable and full of smiles for me, and loves to play… as do I, certainly more so than working! Since she won’t take a bottle yet (well, I did succeed once, but it’s not easily repeatable), my wife is still the one Helen’s primarily attached to, but even so, needs some time when I take care of the baby so she can do her stuff too.

I’m curious what sorts of arrangements other people have worked out? Fortunately, one option would simply be to spend the time with Ilenia and Helen and forget about work for the most part, but that’s pretty extreme. It’s not as if I don’t have computer time, but the biggest problem is the constant interruptions, which make it difficult to do more than read and write a little bit. Serious coding requiring concentration is pretty much only for late at night or early mornings these days.