Technology

Putting dating in context

Oliver Brown
— This upcoming video may not be available to view yet.

It’s that day again, April 1st, and boy the internet make it more fun. And of course Google are at again. Personally I don’t think they’ll ever beat Pigeon-Rank but they have to try.

The first thing I have to point out about Google is be very careful around April 1st. They have launched a number of genuine services on April 1st (including Gmail) that turned out to be real. None the less I’m fairly sure Google Romance is less than sincere…

And another thing, GameFAQs have decided it’s bad to cheat.

Patently not here

Oliver Brown
— This upcoming video may not be available to view yet.

I was reading about DotGNU recently and there interesting idea for getting round software patents. Outsource some calculation that requires patented software to a country that doesn’t recognise software patents and access it as a web service.

Well obviously that won’t work. If a government is serious about the patent law it will just make that sort of thing illegal (the same way Garry Glitter can be convicted of child sex offences here once he returns).

DotGNU and Freedom

Eolas, plug-ins and stupidity

Oliver Brown
— This upcoming video may not be available to view yet.

Internet Explorer (and possibly every other browser including Firefox and Opera is about to become a lot more annoying. Apparently a company called Eolas has a patent on browsers with plug-ins. Or to be more precise they have a patent on:

“Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document”

The result is Microsoft having to come up with a way round it to avoid paying license fees. Any plug-in content on a web page (Flash, Shockwave, the dodgy XForms support or any ActiveX control) will have to be explicitly activated before you can interact with it. In most circumstances this isn’t so bad - except for those annoying floating ads: you’ll have to click them twice to get them to go away.

If you have automatic Windows update, you’ll get it on April 11th as a critical update. Wikipedia article.

Baekdal article.

XForms

Oliver Brown
— This upcoming video may not be available to view yet.

Although I haven’t been writing much about programming and computers lately, I have still been reading.

XForms is another thing, like Mono, that I found out about quite a while ago that has recently resurfaced as possibly useful. XForms is a whole rethink about how information should be collected and sent of the web. The keyword here is information. HTML forms don’t really send information, they send data. There is no real structure to what is sent - all you have is name/value pairs (although depending on the capabilities of the server you can at least send variable length arrays with the foo[] naming convention).

XForms improves on this by separating forms into different parts, primarily models and user interface (well technically what I’m referring to as models is split into abstract models and instances but that’s like talking about classes and objects). The models are just chunks of XML that are sent to the page. The user interface (essentially just input tags like the HTML equivalents) modifies this XML and then sends it back.

The structuring of the data may well be enough to warrant the adoption of XForms, but it’s a little better than that. When I say the XML (or more correctly the model) is modified by the user interface, the modifications are held in memory by the client (probably a browser) and any references to the model should change accordingly. This allows some stuff that would usually require clever AJAX, complete calls to the server or at least just plain JavaScript can be done fairly trivially.

There are a lot more possibilities, this really is just the tip of the iceberg. To find out more, search for XForms :P

There is a problem though, support in browsers. You can get a plugin for IE6 that handles XForms but requires the page include the plugin. You can get an extension for Firefox that handles it “natively”. Neither work that well and when I tried it neither worked properly with a page intended for the other (IE obviously couldn’t use a page without the plugin and the plugin stopped the XForms working for Firefox). But the same was true (if not worse) for JavaScript when it first came out.

Got Mono?

Oliver Brown
— This upcoming video may not be available to view yet.

A few years ago Microsoft released the .NET platform. It was supposed to be an open standard that anyone could implement although in reality only Microsoft did. That’s all changed now as Mono is gaining momentum.

Mono is a cross-platform implementation of .NET complete with a execution environment (JIT compiler, garbage collector and so on) as well compilers for C# and VB.net. There are sections of it that a largely complete but all the important stuff is there.

The best thing about Mono is that it has stimulated development of .NET tools by people who normally wouldn’t touch Microsoft if they could avoid - specifically lots of open source developers. This includes the creation of some brand new programming languages such as Boo and Nemerle.

Normally a programming language with very few users is useless - libraries won’t exist and you’ll have to do lots from scratch and things are generally bad. However since every CIL language can use and extend features written (and compiled) in any other, this problem goes away. You can take a C# class and extend it in Boo and then put it in an ASP.NET page written in VB.NET.

An important part of Mono for cross platform use is the development of GTK#, a managed version of GTK that allows you to write cross platform windows applications with essentially a native look and feel. Mono Project

Making the most of dial-up

Oliver Brown
— This upcoming video may not be available to view yet.

Ooooh. We’ve just set up an ad-hoc wireless network and are now sharing a 56k dial-up connection between three computers… Clever but not that useful.

Galaxia Ruby

Oliver Brown
— This upcoming video may not be available to view yet.

Okay, Galaxia on Rails would my be a more apt name for a version of Galaxia in Ruby on Rails. But Galaxia Ruby sounds better to non-programmers.

This follows the tradition I’ve been recently following of learning new languages by writing bits of Galaxia in them. There is a real possibility I might get a version out this time :P

This version may even have AJAXy goodness and things. But don’t hold your breath…

Ruby on Rails may rock

Oliver Brown
— This upcoming video may not be available to view yet.

I’ve been vaguely aware of Ruby for a while but never really gave it more than a cursory glance. If you didn’t know Ruby is a language that has been around for a while that got far more interesting when Rails, a framework for it was released.

After reading around I don’t think I’m really a fan of Ruby syntax per se (I’m definitely a fan of the punctuation heavy C-style syntax as opposed to the keyword heavy Basic-style syntax) but Rails seems to be an amazing framework.

Since I might be starting a job soon (and if not soon at least eventually) that will focus on PHP, starting to learn something new might not be ideal. But if it really as good as it’s fans say then things might be fine.

I suggest anyone involved in web development who hasn’t checked it out yet do so. There is a good introductory article on ONLamp.com.

Oooh, “extended interview”

Oliver Brown
— This upcoming video may not be available to view yet.

Well the interview went well. Although it didn’t feel like it at first since the first thing I had to do is optimise a SQL query which I kind of fumbled my way through. The result - they want me in for an afternoon to perform some programming task to see how I actually work.

Although I keep thinking of ways for it to go badly, I did that before the first interview and everything worked out fine…

I have an interview

Oliver Brown
— This upcoming video may not be available to view yet.

Woohoo, I have an interview.

Before they offered me a face-to-face interview they wanted to do a telephone interview first. This consisted of a series of technical questions I really wasn’t prepared for (“What’s the difference between an inner join and an outer join in SQL?”, “What are the restrictions on cookies?”, “What do the HTTP status codes 302 and 303 mean?”).

But since they offered me the interview I guess I did quite well :)

(On an unrelated note, “Woohoo” is not in the Google spellchecker database but “Whoop” is….)

jobs, interviews, web developer, PHP developer