October 31, 2009

Machinarium

I found this game through a review on Ars Technica. The visuals are stunning:

I bought it. It's about 16 euros, and for that you can download a Mac, Windows and Linux version, and you get the soundtrack in mp3 format as well. No registration codes or DRM of any kind, so once you buy it you can install it on any machine you have without hassle. Super!

Ah yes, the gameplay. It's actually a very nice game. It's all puzzles, of course, but they're never intimidating. Plus you always get one free hint in each area, and if that doesn't help you there's a walkthrough as well. The temptation of using the latter is dampened by the fact that you have to beat a small sidescrolling shooter before you can access the solution to that area.

It's not always perfect though. I have hit on the right solution on a few occesions, only to see it fail because I wasn't necessarily standing in the right spot. Sometimes a meter to the right or left makes all the difference.

The story is very simple and nice. The way it is told is also quite unique. It makes for a very strange yet endearing atmosphere. Even though it's all about robots you find out they have emotions just like the rest of us. These Tin Men have hearts already. Well, most of them.

Anyway, lovely game, and well worth the time.

October 10, 2009

Skribler

I just released a new project on Sourceforge. It's something I have been working on quite a bit over the course of the past month or so (I had plenty of time while being unemployed ;). The project is named Skribler, and it is part structured editor, part framework for setting up a structured editor for domain-specific languages.
Skribler has two related goals. One is to make it easy to define custom domain-specific languages. The other is to get rid of the need for parsers by persisting the abstract syntax trees, not the source code. It is the latter which really started this work. It's really a very simple idea, and I don't know of any editor which takes this approach.
Below are two screenshots of Skribler in action. You'll probably notice the highlights on the text: this indicates the selected element and what you can do with it. It is the whole point of a structured editor that you can only do things which don't invalidate the structure.

Right now there are two languages defined in Skribler. One is a pure demonstrator based on Martin Fowler's Record Configuration language from his Language Workbenches article. The other is a lite version of WASA Templates, which is a high-level language for defining webpages by combining small templates. Skribler allows you to define the template composition, and has a basic compiler which then performs the compositions as specified. I'm using this right now to build a new personal website, and it's quite usable. Yes, I'm eating my own dogfood here. :-)
Anyway, it's alpha software, very much in the prototyping stage, and I love it! I welcome any feedback if you tried it out, as well as comments on the ideas that are behind it.
PS. If anyone is looking for a software engineer in the region of Aalst, keep on looking. I'm off the market again; starting a new job next monday. Jay!

September 23, 2009

Web = Random Acts of Kindness ?

I love this guy's take on the web. Doubly so because it's actually an optimistic view coming from a *gasp* lawyer... As usual, found through TED.

September 17, 2009

Cambrian Games

Cambrian Games is a very cool blog by Abraham Parangi. Games, graphics and ALife. 'Nuff said. Go check it out!

September 13, 2009

IndiGo

While on holiday in the Dordogne (go figure) I added a small animation framework to BlueSG, and here is a screenshot (which, I know, isn't animated) of it in action:

These are 512 animated fish (imagery courtesy of Lost Garden), and they are swimming at about 45fps. That may not be much, but for the simplistic thing that it is, this is fine. It is also more than enough for my current needs.

PS. If anyone in the region of Aalst is looking for a full-time software engineer, feel free to contact me.

August 29, 2009

Sustainable code

I have found the First International Workshop on Software Research and Climate Change an intriguing combination of topics. It's a workshop asking what software research can contribute to the challenge of climate change.

There are certainly a number of things we can do, but I can really only come up with supporting tasks. I was hoping there is something more fundamental to be found in software research.

Here is a point against this hope: the fact that all software seems to expand to consume the available resources. And when the machine is no longer able to keep up we simply ask for a new and bigger machine. After all, there will always be a better machine right ? (Thank you, Moore's law!)

In terms of climate change this is similar to saying that we let the system grow until it consumes all available resources (air, water, food,...), after which we ask for a new and bigger Earth. After all, there's always a better Earth, right ? Right ? Erm, wait...

So one solution to the climate change problem lies in finding a way to double the Earth's resources every 18 months or so. I'm guessing that's going to be a tough target to hit.

The really interesting question to me is how to grow software without it outgrowing the machines it's on. If we knew the answer to that we would not only improve the overall state of software, but we might actually have something essential to contribute to the problem of climate change.

Sustainable code, it's a great idea.

Anyone know how to get there ?

August 26, 2009

Dan Pink on the science of motivation

I found the following talk through TED. It's a case made by Dan Pink against sticks and carrots. And it's based on actual science. Warning: this may start you questioning what you think you know about motivation (which is, of course, the whole point).

Dan Pink owns a blog, which is a fun read. Given his postings of XKCD and Dilbert comics I somewhat suspect him of being a geek.

PS. If you're not following TED: shame on you!