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!

August 24, 2009

Nerds, Jocks, and Lockers

I love the story behind this math teacher's challenge. I heard a different version of this where it was a guard doing rounds and toggling the state of cell doors. The question at the end was how many convicts could just walk out after the guard had finished his rounds. I actually turned this into an exercise for first year students of the course "computertechnologie" back in my predoc years at Ghent. The catch was that they had to code up the algorithm in Motorola MC68000 assembler (most did a great job too). Yup, fun times.

August 07, 2009

First go at Rhonda

I talked about Rhonda in a previous post, stating that I couldn't wait to get my hands on it. Well the Rhonda developers must have been listening because they released a first beta shortly after. Before I get to my impressions, here is a quick model I made using the beta:

Okay, so it's not exactly worthy of the museum, but it was a nice initial test. And my impressions after making it are these: Rhonda is fun, but not as intuitive as I had hoped. The drawing part is very straightforward of course, especially if you're using a pen tablet. The problem is positioning your model in such a way that what you draw ends up in the right place and adds to the model. The control scheme for doing that is, sofar, not nice. My model never seems to twist quite the way I want it to. And once you have drawn more than a handful of lines they start hampering your visibility.

All in all I feel that (so far) Google SketchUp is quite a bit more straightforward to use than Rhonda. Here is a model I made in SketchUp:

But then again, this model has no organic shapes to it. I wouldn't want to create a model of a tree in SketchUp. For such things freehand drawing still seems like the way to go. So I'll experiment with Rhonda some more, and will definitely be trying the next beta. But dear developers: please give me better control over my model !

The really big question at the end of all this though: can you somehow take your freehand model and generate a solid one (i.e. with surfaces) ?

August 06, 2009

Koopa Cobol Parser

I just uploaded the very first release of the Koopa Cobol Parser project on sourceforge. You can find the website for the project here.

If you're wondering "why?", then this project probably isn't for you. A short answer is that there exist no free, extensible, adaptable Cobol parsers which are able to handle real legacy Cobol code. Koopa tries to fill that gap.

While it is still very much an alpha release, there are some redeeming features:

  • It makes extensive use of unit testing at the level of individual grammar rules. This helps with quick, detailed detection of problems.
  • It includes an ANSI 85 testsuite, which it is able to process quite well. There are some failures, but these are quite reasonable.
  • It has been run on over 1.5GB of industrial Cobol code, and again performs quite well.

So if you're looking for a no-strings-attached flexible Cobol parser, give Koopa a try!

PS. If you're wondering about the name, the thought process went something like: Cobol Parsing -> Co Pa -> Koopa...

August 03, 2009

Why marketing is too important to be left to the marketing department

“If you’re going to interrupt everybody with an ad, it better be something everybody wants to buy. So what do you end up with? Average products for average people.”

Yes, this is software related. This talk by Seth Godin can only be classified as +1 Insightful. Definitely worth watching. (Found through joelonsoftware, another worthwhile blog.)