Rotates.org

November 17, 2009 - Perseverance pays off

Imagine having a web server that stores your objects and data just like a live app. Imagine being able to write in the same language on the server and on the client. Something this awesome has been a long time coming, but it’s finally here!

I’ve of course been playing with Persevere and absolutely loving it. Part of the big delay with ‘the Chaos remake’ has been the complexity of creating a robust way to get data from the clients to the server, and for the server to remember that data and be able to process it in the same way. Well now, thanks to this fantastic piece of kit, I can do all of that. Each server instance is a live JavaScript interpreter, with its own persistent object storage database – i.e. objects created are both accessible at any time, and saved.

What does this mean? Well, with the help of haXe (another brilliant tool) I can now write the code for the remake in one language, and ‘compile’ various parts of it to different platforms. I can write most of the game logic and other critical stuff and then have it work the same on the server as it does if it was just running on your own machine – and Persevere will make sure that it acts in that same ‘in-memory’ persistent way.

There are other projects on the go which I’m going to use as testbeds for Persevere – it’s not without possible issues, scalability being the big one at the moment, as one of my projects may end up being quite heavily used (one hopes anyway) and Java (the underlying tech behind Persevere) may not be up to that kind of task.

I can see Persevere being just the beginning of a whole paradigm shift for many parts of the internet into persistent object-based servers – it certainly doesn’t make sense with rich web apps to have to jump through all the current hoops and endure the inefficiences that go with the current ‘single shot’ model of web languages. Bring it on!

November 3, 2009 - Leaky pipes

Well, a tumultuous relationship with Yahoo Pipes has ended after a long struggle with various bugs, inefficiencies, annoyances and finally service refusal. There’s no doubt Pipes is a very useful and clever system, but it has some very serious downsides:

  • Caching – every pipe is rigorously cached, and updates are so infrequent as to allow bugs to go unspotted during testing, and suddenly rise after the fact.
  • Crap editor – I know YQL allows you to actually type out your stuff, but Pipes forces you to use its extremely buggy visual editor, which (among other things) fails to resize properly, does not allow copy and paste, frequently puts operators inside the wrong loop (and thus overwrites a painstakingly written item creator or whatever), seems to suddenly stop working at random – especially if one of your feeds is broken or returning malformed data, which results in ALL of your pipe, even unconnected nodes, breaking ingloriously.
  • Usage limits – despite the fierce caching, they still apply a fairly unsatisfactory usage limit, and without warning will shut down your pipes if they go over the limit.
  • Inefficient operators – sometimes you really have to go several times around the block to do very simple things, and you’ll quickly run into these issues.

All in all, I know Pipes is free and efficient, but upon my pipes being blocked because of a bug at my end which made too many requests, I had to quickly write my own PHP version to do the same job – and I found I had more control, it was on the whole an easier experience, and I have control over my own caching and debugging.

The people who use pipes are invariably developers – so as a word of warning: if you can do it yourself, take the time to do so, don’t rely wholely on third party services.

August 5, 2009 - Slipspace

Something I’ve been working on alongside the other 1,407 things in the pipeline…check back often for updates! Cursor keys or WASD to move, space to fire, and page up/page down to change your ship’s speed. I’ll let you work out the rest for yourself 🙂

Oh, and click somewhere inside the game to enable control!

Play at half size or full size.

June 15, 2009 - Mine’s bigger than yours

It’s been nearly 5 years since I upgraded my PC, and last week things came to a head when my creaking old system started wiping its own backup drive randomly. So, I set myself a budget of £1,000 and went to www.scan.co.uk and built up a machine. To cut a short story even shorter, I ended up getting the following spec:

  • Intel Core i7 920 (4 cores @ 2.66GHz)
  • 6GB of CAS7 RAM
  • GTX 275
  • 300GB WD VelociRaptor

And installed Windows 7 RC1 (which is absolutely fantastic – well done Microsoft, about bloody time!) on the whole caboodle. The results are highly pleasing – it can cope with the 21 megapixel raws I throw at it all day long now! The moral of this story is this: these days, you can get a hell of a machine for a lot less money than it used to cost.

Oh, and on an unrelated note… if you’re a web developer, you may want to check this out. I’ve created two sites with it now and I’m never going back to the old ways. This thing makes putting websites together lightning fast and the results are joyous in all browsers – yes, even IE6. Marvellous! Give it a go!