elliot's blog

ROROX version 0.2

I've got round to putting my ROROX (Ruby on Rails on XAMPP) project onto RubyForge. They can hopefully provide more bandwidth and exposure for it than I can on my puny blog. I notice a similar project (Instant Rails) has masses of traffic (17,000 downloads), so hopefully I can attract at least a fraction of that. I'm also going through the rigmarole of announcing it on Freshmeat, notifying the XAMPP people, and adding it the the XAMPP Add-Ons repository (phew!).

For this release, I've upgraded Switchtower, added lots of explanation, included the compilation scripts after tidying them up, and compiled Ruby with tcltklib (a small addition to the tarball size, but useful in that it provides a more full Ruby - I use it as my only Ruby interpreter on my development machine, so I need as much of it turned on as possible). I did toy with finding a way of doing two compilation methods (one with all my gunk compiled in, one stripped down) but it adds so little overhead I decided to just keep it simple.

Kevin Kelly on how music can be free

Interesting article about how freely-downloadable music doesn't have to mean the end of people making money from music. People will pay for convenience, personalisation, and value-added, difficult-to-copy extras, even if they won't pay for music. Open source is doing the same thing for software, and the industry is recognising and responding to the trend. The music industry should take a leaf from the software industry's book.

Biscuit

Today I have been testing Biscuit, yet another web application framework in the style of Rails. This one is fairly lightweight and written in PHP. I got off to a flying start, and found I could do a fair amount without too much trouble (e.g. pulling records from the database and rendering them as HTML). The trouble started when I tried to do inserts and updates: as the system is centred on PostgreSQL, and I was using MySQL, the insert and update queries didn't work correctly out of the box. I dug around in the code and found that despite using PEAR::DB as a database layer, manual SQL statement construction was still going on. I fixed and generalised this using the PEAR::DB autoExecute methods, which will take an array of field values, keyed by field names, and construct an insert or update statement. This got everything working (at least for MySQL).

However, the next problem occurred with validation. I could get it to sort of work, but displaying the error messages under the fields isn't straightforward. Despite using the supplied functions for this, I didn't get very far. And at this point I gave up.

It's a fairly good, neat little framework, but it feels a bit like a hobby project which isn't really designed to work across multiple databases (unlike Ruby on Rails, which does work). Plus there are some hard-coded bits and pieces in there which ought to have been generalised out more. Another missing feature is the ability to specify which field is used for the primary key: if you've got legacy tables without an field called id, you could be a bit buggered. It's this plus other niggles (like the lack of an implementation for <form> tags, no URL rewriting built in, etc.) which has driven me straight back to Rails.

I have looked at Cake before, which is more complex, but more satisfying to use. It feels more generic, and covers more of the functionality of Rails. However, using these two has made me aware how great the documentation is for Rails. Granted, it's not perfect, but it is very, very good. Compared to this, Biscuit has a sketchy tutorial, while Cake has some fairly good documentation (though frustratingly incomplete in places). Don't underestimate the importance of documentation when deciding which open source software to use: for me, it's the number one consideration. I'd rather have a sparse piece of software with excellent documentation than something all-singing and all-dancing which I can't comprehend. Plus of course Dave Thomas' Ruby on Rails book is superb.

Ultracorps - I am enjoying this!

I'm really enjoying playing Ultracorps, and so far it's going well. At the end of turn 3, this is where I am in the rankings (out of 393 players):

My rankings in Ultracorps

Not bad, eh? Sad too, though. Plus I haven't had to deal with any real baddies yet, or opposition players (i've stayed out of their way so far).

Boardgame geek

Back from a good Christmas. Notable highlights:

  • Madeleine worked out that Christmas was different from other days. She was highly excited by the stocking hanging on her bed, and stayed awake until 2.30 am on Christmas morning.
  • We spent Christmas at home (me, Nicola, Madeleine). On Boxing Day, Nicola's Uncle Ray visited with his wife Tina and their three teenage children. We spent a couple of nights at Nicola's sister Paula's house, with her husband Matthew and my nephew Henry. Madeleine loved it. Then had a couple of friends over for New Year's Eve. Quiet and relaxing.
  • I got several nice books, including The Naming of Names (about plant classification), Life in the Undergrowth (the book of the TV series - did you know some species of terrestrial scorpion can survive underwater for two days, and others can go without food for up to 12 months?); a couple of essential comedy books, Britain: What a State and How to Survive a Robot Uprising; the new Fall LP; DVDs of The League of Gentlemen series 3 and Extras; plus lots of other goodies.
  • At Paula's, my interest in board games was rekindled for the first time in many years. I used to love games when I was growing up. During my teens, most of my time was taken up with role-playing games (mainly Traveller, but also Call of Cthulu, Paranoia, Dungeons and Dragons), board games (Valley of the Four Winds, Kung Foo 2100, Quirks, the Judge Dredd board game, and lots of others), and war games (Warhammer, and my favourite, Car Wars). Anyway, we played a game called Carcassonne with Paula and Matthew, a simple but tactically-challenging tile game, where you have to claim territory as it is placed on the board. We bought our own copy later in the week from a nice little gaming shop in Altrincham, and I also bought Zombies!!!, a fast-paced, tongue-in-cheek board game which is a homage to zombie movies. You play a "shotgun guy" trying to cut a swathe through the zombies to reach the helipad. It nicely captures the claustrophobic feeling of an encroaching zombie horde and is recommended for a quick hour of mayhem.
  • My interest thusly rekindled, I found an online version of Carcassonne called Toulouse which you can play for free versus other people or computer players. They also have a version of the Settlers of Catan (the most popular game on Boardgame Geek) called Xplorers, which is pretty engrossing too. I also joined up to a trial game of Ultracorps, a massively-multiplayer, browser-based space conquest game. I was a big fan of Stars!, and a few years ago was desperate for the release of Stars! Supernova, which disappeared. So I was delighted to see Ultracorps turn up, which is pretty similar to Stars! (but far simpler). So far, it is pretty good (though the interface is a bit clunky and showing its age). I'm doing pretty well, and am ranked 14th for firepower at the moment (out of 393 players). Could be tempted to pay for a subscription. And what with Jono alerting me to Second Life, which is a fascinating, vast virtual world, I can see a lot of evenings playing games on the horizon.

As an aside, one game I really loved when I was growing up was Laserburn: an obscure, but really good miniatures gaming system set in the future, with highly detailed rules covering how laser weapons blind and maim opponents. The rules also had a good line in sardonic black humour. Any game where you can cut someone's arm off with a power sword has to be good. Nice to see that Tabletop Games, the originators of the game, are still in business, and Laserburn is still available for purchase (20 or so years after I bought my copy).

As another aside, how come Wikipedia can tell me more about the games I played when I was growing up than Games Workshop can (the company who supplied most of the decent board games in the 80s)? No sense of history, those people.

ROROX - useful to someone

ROROX (Ruby On Rails On XAMPP) is now available for download. It's a bit rough round the edges, but at least one person has already downloaded it and successfully installed it.

Note I've put it up under my new "commercial" name we are programmers. I've decided to put my previous name nooq to one side for now. I still kind of like it, but everyone I know thought it was too obscure and not obvious to spell. So I decided to go for the extremely direct approach instead. I also bought up flickrlilli.org.uk for FlickrLilli.

Dell poses hazard to my sanity; and piracy

A while back, I bought a Dell Inspiron 1100 for home use. A few months later, Dell recalled a load of Inspiron power packs, though fortunately not those for my model. They have now released another warning about batteries causing burns on people's desks. It comes to something when you have to monitor the safety of your laptop, as well as everything else.

I've been thinking about piracy a lot recently. On the news this morning, the BBC reported that the music industry is experiencing a massive boom in sales, both through record downloads (an increase of 400% over last year) and CDs:

The race for number one and demand for digital music players will push sales to an all-time high, the British Phonographic Industry (BPI) predicted.

Such a shame piracy has destroyed the music industry, isn't it? I'm starting to get really annoyed having to sit through a FACT (Federation Against Copyright Theft) presentation before every film I watch at the cinema or on DVD. On top of this, I watched a Bill Bailey DVD at the weekend, and had to sit through another patronising dramatisation about piracy at the end of the DVD. Yes, I know piracy is a problem; but perhaps the solution is to reduce record company and record shop profit margins per CD (e.g. record shops take about 30% of the cover price of a CD; the artist and/or writer gets about 10%). Give people what they want: cheap, easy-to-download music they can play wherever they want and get fair use from. There should be more places like Bleep.

Here's an interesting dilemma, on that subject: I have some friends who have a 20 year old video taped off the TV of nursery rhymes, dramatised by actors against painted sets. I think it was some one-off special. The point is, they have recently had this transferred to DVD, so their daughter can watch it, as the video was wearing out. Their daughter loves it. The video is no longer available, and it hasn't been released as a DVD (and probably never will be).

Technically, this is piracy; but should this deny their daughter the opportunity to see this programme? I can still read books my dad read when he was growing up, and can give my children's books to my daughter. But I have no right to do this with TV programmes I watched as a nipper. The difference is perhaps that books can last forever, while multimedia erodes over time. It won't be long before you can't even buy a video player (in the same way I am using an ancient turntable to play my vinyl, as new ones as so specialised they are extortionately expensive). So all the videos I have will be obsoleted, with no legal way for me to make backups of them. Sad that our culture has become so throwaway, with responsibility for preserving the past in the hands of commercial companies who would prefer to sell the profitable parts of it to us again (endlessly), and discard the rest. I know this isn't a radical or new thought, but it continually depresses me to watch culture transmuting relentlessly into commerce.

When I was a lad and the web was a baby

I was browsing my old email today (actually looking for an address to send a Christmas card to) when I came across an email to a friend, dated 17th November 1994, explaining how I'd been setting up my first home page. There are a few interesting points to note: my first exposure to the web was via lynx (text-only command line web browser); I still called it "the world wide web"; I had to explain hyperlinks to my friend; my view that the web/internet would be commercially important one day turned out to be right (it was by no means self-evident at the time); and I ended up doing pretty much what I said I probably would, even though I'd only been using the internet for about two months when I made the prediction. Anyway, here's the quotation:

I'm setting up my home page on the world wide web. If you want to have a look, try opening a package like netscape, xmosaic, mosaic or lynx, Once you get in, do one of the following:

* Type 'g' if in lynx

* Click on 'Open' if in netscape or xmosaic or mosaic

When you get the little box, or the prompt at the bottom of lynx changes to a 'URL to open', then type in

http://www.cs.bham.ac.uk/~ezs/home.html

That should connect you to my home page, which has got exciting things to go to. If you point at the underlined words and click on them with the left mouse button, you'll be transported to exciting locations across the world. I might even set up a lit crit type page within it, and stick some interesting addresses in it, to save you the hassle of having to look for them yourself. I spend at least an hour a day 'surfing' - I reckon it'll be an important skill in the future, as businesses will realise that the web and the net are full of pertinent business information, and will need people like me to find it, or write programs to find it.

Ephemera

Do you ever get this: you think about an obscure actor or film, and next thing you know they are on television? I think they are called "coincidences", but sometimes I wonder. E.g. I was thinking about Lou Diamond Phillips the other day (you know, the one out of Young Guns (I think) and those other bratpack films normally starring Kiefer Sutherland, whose film career mysteriously seems to have ended). Can't remember why. Next thing I know, I'm watching Numb3rs (which is OK, but seems desperately far-fetched, to make the point that maths can help make sense of a senseless world). And there's Lou, playing a sniper (on the side of the police, but with a hard cold view of the world, ironically at odds with the humanity of the mathematicians, who are generally seen as cold and hard). Funny.

I like these photos and think they are amusing. I may try to work them into a presentation soon.

I've been trying to complete my work with Ruby on Rails on XAMPP (ROROX - I know the name will catch on). Was nearly there, then the bastards went and released version 1.0 of Rails. Have got all the latest source etc., recompiled everything, extracted it into a XAMPP add-on, and moved all my applications to it. Took one evening, and as soon as I get some spare time, I'm going to put it out there. On the subject of Rails: might try to write a submission for RailsConf. Just need to think of an interesting slant.

Really nice blog entry by Jonathon Schwartz. I will surely be quoting this baby. Particularly this:

"Opening up Solaris and giving it away for free has led to the single largest wave of adoption Solaris has ever seen - some 3.4 million licenses since February this year (most on HP, curiously). It's been combined with the single largest expansion in its revenue base. I believe the same will apply to the Java Enterprise System, its identity management and business integration suites specifically. Why?

"Because no Fortune 2000 customer on earth is going to run the heart of their enterprise with products that don't have someone's home number on the other end. And no developer or developing nation, presented with an equivalent or better free and open source product, is going to opt for a proprietary alternative."

r0ml Lefkowitz's blog has an entry which links to the open source licence statements in the Microsoft Windows release notes. Haven't been able to find them any time I wanted to, so r0ml has done me a favour. r0ml makes the point that this sort of makes Windows "hybrid open source"; I like to make the same point when I'm explaining open source to people.

Thinking about open source

A few things have prompted me to think about how open source is gradually being recognised as "enterprise-ready":

  • Articles in IT Week and Computer Weekly give a nice summary of the OSDL's survey of why companies deploy Linux desktops. Surprisingly, the respondent companies' top reasons for going with Linux on the desktop were due to pressure from employees, and due to successful roll-outs by competitors. In one of my talks, intended for IT SMEs, I use one of these arguments to try to persuade SMEs to go with open source: "Look, here are some successful companies like you who are already using open source; why aren't you?". It seems odd that this is a better reason for doing something than for other business reasons, like cost, stability, security, removal of vendor lock-in, etc.. But there you go: it seems to work for the companies I deal with, as well as enterprise types looking to do Linux roll-outs.
  • Computer Weekly runs a series each week called "Hot Skills", where they highlight skills IT professionals should learn to make themselves employable. What's interesting is that for the past half dozen episodes, the technologies have been open source: PHP, Python, Linux, LAMPP, PostgreSQL. Contrast this with the bulk of the paper, where open source is frequently completely absent, and there is a gross emphasis on monolithic dinosaur companies and their god-awful, horrifically expensive, locked-in, old-fashioned software.
  • My article "Why you should care about open source" is now available online as part of the British Computer Society's Annual Review 2006. Looking at the rest of the articles, there are a good number about open source; compare this with last year's review, where none of the articles had "open source" in the title.

So open source is (slowly) gaining more acceptance in the mainstream (enterprise). My feeling is that it's not so much acceptance as recognition: I reckon most decent/big companies use open source somewhere, whether they know it or not, and this wave of interest is simply highlighting the fact that executives have realised this and are formalising casual use. Open source was there all along: big companies are only just now admitting it.

Syndicate content