Sept. 28, 2009

The Saturday before last was Software Freedom Day, and I'd like to belatedly pay hommage to that weird hippie who many people in the software world seem to hold disdain for, Richard Stallman.

Even if you don't like Stallman's ideas, or his personality, or the way he looks, you are basically 100% 0wned by him.

How can that be? Let me quote from Wikipedia:

"Richard Stallman started GCC in 1985."

BAM! 0wned.

Basically it works like this: Stallman came up with the GNU General Public License, which is like those EULAs that you often have to agree to when installing software, except that it does the opposite to those EULAs in that it guarantees your freedoms as a user of that software rather than restricting them. You interact with thousands of pieces of Free Software on a daily basis, whether you realise it or not, and the GPL is the most widely used Free Software license.

If you have ever used a computer network (e.g. the internet, on which you are reading this), many of the routers through which your traffic travels contain firmware which was compiled using the compiler suite which he created. Likewise if you've ever driven a car, used a games console, television, refrigerator, or a mobile telephone, many of the devices you use would have had their firmware compiled with GCC. In the case of games consoles, pretty much all the games you play on consoles would have been compiled with a GCC variant. So even if the software on those devices is itself not licensed under a Free Software license, you are still using something which was created using a tool created by Stallman. Likewise, if you run any Apple products, or pretty much any OS except a Microsoft OS, a huge amount of the software you interact with on a daily basis was compiled with GCC. I always find it magnificently ironic when I hear or read about people with Macbooks or iPods or iPhones complaining about the GPL and Free Software. Even the firmware in your PC was probably compiled with GCC. Richard Stallman 0wns your computers and your devices.

If you ever use Google, or many of the other high profile internet sites we all interact with on a daily basis, you will often find that those site run GNU/Linux on their servers. The GNU part of GNU/Linux refers to the fact that a large amount of the software in the Linux ecosystem comes from the movement which Richard Stallman started. It's in part due to that movement that we have had the cheap, ubituitous internet experience we have had. Richard Stallman 0wns the internet.

Stallman was right, and as long as you use pretty much any technology at all, you have proved him right.

Free Software has won.

Sept. 26, 2009

The zipfile under the image above contains a Pure Data patch which procedurally generates a virtually infinite number of acid and breakbeat loops. I've found that it's quite a lot of fun to play with!

Start by loading the patch called 0_START.pd and then turn up the volume and the cutoff. After that hit the big red button a few times until you hear something you like.

I was making it into an RjDj scene, but I am not really sure if I'll ever get around to finishing it.

Garage Acid Lab screenshot

Sept. 13, 2009

update: Oh wow, I completely forgot that there is already an awesome indie game called Dyson, thanks for reminding me, Dan!

Here's another AsteroidsTNG prototype. This asteroid field goes on until MAXFLOAT before looping (I think) and it contains up to 2^32 unique asteroids. I had to remove the collision detection, so you can fly through asteroids, but don't let that stop you from exploring! Oh wow, I just tested this on Internet Explorer and it runs hellishly slow. Sorry IE user, whoever you are. :(

(click on the image to play)

I think if I was ever to turn this into a proper game, I would call it Dyson, after the physicist Freeman Dyson who came up with the concept of the Dyson tree, which I would hope to work into the game. A short time ago I had the great fortune of briefly meeting Freeman Dyson's daughter and tech luminary, Esther Dyson, source of the following great piece of advice:

"Fail cheap. Fail fast. Fail often. Always make new mistakes." -Esther Dyson

I am a huge fan of this philosophy, especially when it comes to rapidly prototyping software and games.

This game was written inside the jsGameSoup framework.

Writing games for javascript and the canvas tag feels a bit like being an eight year old again, trying to squeeze every last cpu cycle out of my parents' Apple //e. Good times!

Sept. 3, 2009

  • Google Android: GNU/Linux
  • Palm Pre OS: GNU/Linux
  • Nokia Maemo: GNU/Linux
  • Amazon Kindle: GNU/Linux
  • Sony Reader: GNU/Linux
  • Crunch Pad (vapour ware): GNU/Linux
  • Apple iPhone: FreeBSD <- :P

Anybody who started tinkering with GNU/Linux just for fun in their teens should initiate smug mode immediately, unless like myself your smug mode is stuck in the on position.

Aug. 8, 2009

One of the practical consequences of using proprietary software is that your right to use that software can be revoked at any time. Recent conflict between Ebay/Skype and the founders of Skype is an illustration of this. Ebay themselves, and millions of Skype users who rely on Skype for their day to day communications with family, business associates, and friends, have put themselves at risk by choosing proprietary software and protocols. Another illustration of this was the music software Logic Pro which alienated its Microsoft Windows user base when Apple bought the product in July 2002, and discontinued the Windows version. Quite apart from events like that, companies often close down, get bought out, go bankrupt, or discontinue a former line of software. This is as true for modern "cloud based" companies like Google as it has always been for companies like Apple and Microsoft. When you invest your time and energy in proprietary software, and software with closed formats, you are disempowering yourself. Free and Open Source Software is, practically speaking, a much safer bet.