Single

The return of the platform game: From Jet Set Willy to LittleBigPlanet

I’m not much of a “gamer”, although I have to admit I am able to reference my life by what computer game I was playing since I was about 10 years old (for the record – Jet Set Willy, on the trusty ZX Spectrum) – maybe before then, if you include the clunky Radio Shack games I played on my Dad’s computers.

Jet Set Willy (1984: ZX Spectrum), Sonic the Hedgehog (1991: Sega Megadrive), Monkey Island (1990: PC), Doom (1993: PC), Worms (1995: PC), Abe’s Oddysee (1997: PS1), Grand Theft Auto (1997: PC), Rainbow Six (1998: PC) and many more; they all chart a certain personal view of the evolution of console and computer gaming. And it’s incredible to think how things have changed.

I can mark eras of my life in the same way you might signpost your autobiographical memory with where you were living. Sad but true. It tends to be just the one game as I don’t devote masses of time to gaming – when I find a game that I like, I stick with it.

Recently, I persuaded my wife that a PS3 would be a great addition to our family because “a PS3 is so much more than just a games console – you can use it to view all those digital photos and videos of our son”. And I’m glad I did as I think I’ve found the game to mark the next era - LittleBigPlanet. This game is incredible. It has brought the traditional platform game into the future with a fun, creative and collaborative online world that is constantly changing and ever evolving. Irrespective of what it represents in terms of amazing media and technological innovation, it also represents a return to pure and simple platform based game-play, with a few twists. And, possibly most importantly, it is impossible not to feel happy playing this game. It looks like we’re going to have some fun with this one…

Single

Stephen Fry on free software

Happy birthday to GNU!

Single

Google Chrome – first look

Last night Google “mistakenly” released a comic book presentation of a their new Chrome browser application. Well it certainly got the buzz going and has whetted my appetite to give it a whirl. Less than an hour ago, Google made the download available and I’ve just been in a live walk-through (that hung my Firefox – oh the irony!), looking at some of its major features. In a nutshell – it is quick. More later…
[UPDATE: The verdict - it is fast. Much more screen space. Ideal for web apps. Won't replace Firefox/ IE / Safari. Yet.]

Agile web app deployment with SVN, rsynch, Phing and more

We are a small development team, at Harvest Digital, handling multiple tasks throughout the day, across different environments and projects. It makes for an exciting challenge. Our roles/ skills are clearly defined and our small size means we can react quickly to change, with little margin for communication errors and so on (see Getting Real and Less is more: Jumpstarting Productivity with Small Teams). But, when it comes to deploying to a staging or production server, I am ashamed to admit that we had often introduced a huge potential for human error by doing much of the work manually. Each project is different and so there is no consistent deployment process across the board.

Deployment is often the last step in the process to get any attention and it is one that can be unnecessarily tedious and prone to error. With more agile development projects, where deployments may be required several times a day, we obviously cannot afford the time nor the potential mistakes that may be made by manually deploying a project.

At its simplest level, deployment may just involve making sure that the target server (i.e. staging or production) has the latest revision of files from the project’s source control repository (we use SVN). But factor in automated tests and database migration and you can see how easily things can go wrong. Especially if you are deploying several times a day. You need to automate as many steps in the process as possible, thereby eliminating any manual tasks that introduce potential error and duplication.

Whenever we reach a point in a project where the code can be considered stable, we should tag it in SVN as a release. This gives you the ability to deploy a particular release based on its tag, instead of just the latest revision in the repository. By convention you never create revisions in the tag folder – tags are simply named snapshots of the source repository. We typically use version numbers as tags with some scheme based on feature-set or milestone and release date that can be ordered alpha-numerically e.g. “rel_belfast_2.04″. This allows us to say with certainty what is deployed at any one time, without having to scan logs etc. Tags give context to a release name (you can easily associate the release with project milestones) that revision numbers and timestamps do not. Tags are usually kept in a ‘tags’ subfolder, in the top level of the repository.

For a while now at Harvest, we’ve been working with symfony – an excellent PHP framework – that includes a few tools to help simplify the deployment process (such as Pake). These tools allow for remote syncronisation of files with rsync (the benefits of synchronisation over standard FTP are much touted elsewhere) via SSH (with the shell command: e.g. symfony sync staging) and semi-automate the build process (including database schema changes, data dumps etc: e.g. symfony propel-build-all myApp) by using Pake on the target machine.

But there is still a lot of room for improvement, particularly when it comes to database migrations and SVN integration. Plus, symfony is not our only set-up. We need an automated deployment process that can be applied across all our projects. This is where I’ve previously seen shell scripts being used but Phing can do much of this heavy lifting work for us, as it has many standard deployment tasks built-in to it. According to the Phing blurb:

Features include file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations), file system operations, interactive build support, SQL execution, CVS operations, tools for creating PEAR packages, and much more.

Phing (PHing Is Not GNU make) is a project build system based on Apache Ant and is available through the PEAR installer. If you use --alldeps on Phing, it’ll grab, funnily enough, all the dependencies. But most are good packages (e.g. PHPUnit, PHPdoc and VersionControl_SVN). It can be used in a multitude of ways, including unit testing, creating docs, running SQL – which allows us to keep database schema changes in version control. The beauty of Phing is everything can be configured easily through the build.xml file (and then further with properties files) – so that the project’s deployment configuration can be kept in version control too.

In short, we love this thing called Phing!

For more detail on advanced tasks such as database migration take a look at these posts from Federico Cargnelutti and Dave Marshall.

Single

Open source: utopian-dreams, recession-proofing and socialism…

Those who know me will undoubtedly have at some point had the pleasure of listening to me ranting on about the power of the open source movement – or, more generally, social collaboration online. On the bus yesterday I read an editorial piece – “Collaboration is the new revolution” – in the Guardian newspaper that certainly struck a few chords. Here’s a few extracts, by way of a summary:

1) Open source paves the way for the odd utopian dream:

Sir Thomas More’s description of Utopia as a place where “nobody owns anything, but everyone is rich” is not a bad way to describe the open source movement in which people around the world collaborate with each other to produce services that anyone can use – or improve on – for nothing.

2) Open source is recession proof:

One of the interesting things about the collaborative movement is that it is probably recession-proof, though you won’t see it in economic statistics because it mostly does not involve cash transactions.

3) Open source is robust and well-trusted by large successful organisations:

Big corporations, such as IBM, Google and Amazon, are devourers of open source software because they find it cheap, efficient, low-maintenance and reliable. But UK government departments, including health and the foreign office, have proved risk-averse with hardly any open source in their infrastructure.

4) Open source is socialism (well, social collaboration at least):

…open source combines the cooperative spirit that was at the heart of the Labour party in the past with the entrepreneurial skills needed today.

And with nothing more to add to that summary, I’m off to join the revolution (well, okay, I’m off down the pub to carry on ranting to anyone who’s too polite to stop me).

Single

No more mobile tweets?

Twitter has announced they will cut outbound SMS alerts for users in the UK because it was costing too much!

Whatever you say about Twitter, I was enjoying the ability it gave me to receive updates via SMS. In fact, it was this feature that won me over to using it and helped demonstrate what it was all about to mates. I figured that the initial free SMS alerts that appeared in my Twitter account would run out one day and then I’d have to pay for more credits – easy business model. I’d happily have paid too. So why pull it? Maybe its all part of some ploy by Twitter to gather a crowd reaction – so that when they announce payment plans for SMS alerts, they already have the crowds’ support. Yeah – okay, that may be a tad cynical but I do hope they listen to their UK users (and, in fact, anyone who used the UK based SMS alerts). The reaction is already gathering pace – with comments and tweets a plenty – and now a Facebook group. SMS is huge here and it seems to be a glaringly obvious way to actually turn Twitter into a revenue making business, in the UK at the very least.

Single

SWO: Semantic Web Optimisation?

It looks like the semantic web is about to gain traction with the Yahoo! Search open platform that was announced last month. In summary, Yahoo! is hoping to spread the use of semantic web standards by supporting microformats and RDF – promising enhanced search results for content adhering to such standards.

And with this promise of an enhanced search presence will come the marketing need for publishers to create content that capitalises on this. Just as SEO emerged as an industry all of its own, I expect Semantic Web Optimisation to emerge as an industry all of its own in the very near future.

[Before submitting this post, I quickly searched on the topic (yes - I appreciate the irony of having used Google!) and came across this article - essentially saying the same thing as me above. But please can we not fall into the trap of applying version numbers after "Web" for every evolution in web technology that occurs!]

Single

The rise and rise of websites

Another graph. This time showing how the number of websites has grown since 1990. Actually, things only really started to grow about ten years ago in 1998, a year or two after I first played about on the Internet at university. It took six years (1990-1996) for the number to reach 100,000. In 2008, it is now 162 million! While the numbers have risen and risen, what is also interesting to note is the dip in numbers during 2002. Post dot-com bubble slump? Anything to do with 9/11? Or was it simply that a lot of domain names, bought during the dot-com boom years – with little more than a holding page to show, expired at this time? This little blip aside – it seems the upwards curve is un-stoppable. Will it ever reach saturation point?

Websites (1990 - 2008)

Single
Single

Google App Engine

Google has just releasedGoogle App Engine” – which will let you run your web applications on Google’s infrastructure. It sounds similar to Amazon’s offerings (S3, EC2 and SimpleDB) and the ill-fated Zimki:

  • Dynamic webserving
  • Persistent storage
  • Automatic scaling and load balancing
  • APIs for authenticating users and sending email
  • Fully featured local development environment

Python is the only language supported at the moment but they say more languages will be supported in the future. With the weight of Google behind it, this service looks set to provide an excellent all-in-one route to rapid web-app development. So long as you are happy using Python and all of Google’s Web services.

You are browsing all posts categorized Technology

Calendar

May 2012
M T W T F S S
« Apr    
 123456
78910111213
14151617181920
21222324252627
28293031