Monthly Archives: January 2012

The Blue Marble Original

Blue Marble 2012.

There’s a couple iconic photographs from space that everyone is familiar with. The most recognizable is probably this one I used a couple years ago during the 40th anniversary celebration of the Apollo missions showing Buzz Aldrin standing on the dusty surface of the moon. A few other notables are ones like Earthrise, The Pale Blue Dot and the STS-1 mission liftoff  (note the white external fuel tank, one of only 2 to have it) but above them all stands the Blue Marble, an incredibly breath taking view of our earth as seen by the Apollo 17 crew on their mission to the moon.

It’s a beautiful photo and one that changed my, and certainly many others, view of the world. I don’t know why I used to think this but before seeing this picture I imagined the world being mostly cloudless, not covered in the swaths of thick cloud that you see in the picture above. It also puts your entire life in perspective, much like the Pale Blue Dot does, knowing that in the end we’re all clinging to this giant water covered rock shooting through space.

Over the years NASA has set about recreating the Blue Marble as technology progressed, mostly just as an aside to one of their many Earth sensing programs. The big difference between the original and these subsequent releases is that the newer ones are composite images, I.E. they’re not a single photograph. You can see this quite clearly in the 2005 version which shows how the Earth would look like if there was no cloud cover, something that’s simply impossible to photograph. The most recent addition to this lineage of whole Earth pictures is the Blue Marble 2012 and it’s quite spectacular:

The original picture is some 8000 x 8000 pixels large (64 megapixels) and gives you an incredible amount of detail. The resolution is high enough for you to be able to pick out topographical details with relative ease and you can even see the shadows that some of the clouds are casting on the ground below them. The original article that was linked to me had a lot of interesting comments (a lot on how the Americas appear to be somewhat distorted) but one that caught my attention was a question about one of the differences between the two pictures.

Why, they asked, is there no thin blue halo in the original picture?

The halo they were referring to is clearly visible if you view the larger version of the new Blue Marble picture and seems distinctly absent in the original. The planet hasn’t radically changed (geologically, at least) in the time between the pictures so the question is a curious one. To figure this out we have to understand the differences in how both these images came to be and in there is where our answer lies.

The original Blue Marble was taken by a single 70mm Hasselblad camera with a 80mm lens at a distance of approximately 45,000KM away from the Earth. The newer version is a composite reconstruction from several images taken by the Suomi NPP satellite which orbits at around 500KM above the Earth’s surface. Disregarding the imaging technology used and the reconstruction techniques on the modern version it becomes apparent that there’s a massive difference in the distance that these pictures were taken. Looking at the halo you’ll notice that it’s quite small in comparison to the size of the Earth so as your distance from Earth increases the smaller that halo will appear. So for the original Blue Marble the halo is pretty much invisible because the resolution of the camera is insufficient to capture it. The newer picture, being much closer and having a higher effective resolution, is able to capture it.

These kinds of images are always fascinating to me, not just for their beauty but also for the story behind what went into creating them. The number of man hours that went into creating something like this that appears so simple is staggering and demonstrates that we, as a species, are capable of great things if we put our minds to it. The Blue Marble 2012 might not become the icon that its predecessor was but its still an awe inspiring image to look at and even more interesting one to contemplate.

Limbo Screenshot Wallpaper spider chase

Limbo: Dark, Engaging, Atmospheric, Delightful.

Growing up as a gamer my gaming intake consisted predominately of platformers. The reasoning behind this is simple, the hardware at the time wasn’t capable of doing much more, and thus most games developers went the platformer route in order to make the most of their chosen platform. As the power of PCs and consoles started to increase and things like real 3D were possible the platformer started to take a back seat to other genres that had, up until then, played second fiddle to the platformers. The genre has experienced something of a resurgence in recent times with the independent developers rebooting the platformer genre for modern times. Limbo is one such title, and one that I feel I should have played earlier.

Without any hint of explanation of who you are, what your motivations might be or even what the controls are you are placed in control of what appears to be a small boy. His only defining features being the glowing eyes that pierce through dark world that he exists in. You then being your journey to nowhere, navigating your way through numerous obstacles many of them designed with a single purpose in mind: killing you in the most gruesome ways possible. Indeed the dark world that this boy finds himself in seems to be some kind of semi-futuristic place that’s hell bent on ensuring that the kid never makes it to his final destination, wherever that might be.

For a game with such simple graphics and limited colour palette the atmosphere that Limbo generates is nothing short of staggering. There’s little music or sounds to speak of, leaving the only constant sound being the soft wind and your footsteps. It’s strangely engaging, not exactly something I expected but taking a step back I can see a similar style in games like Silent Hill. The elements that are included then are done so deliberately and elegantly, giving you the feeling that the game’s creators spent an incredible amount of time on the all the little things that make up the Limbo world.

Whether intentional or the game play of Limbo has a sense of dark comedy about it. Whilst you’ll try your best to make sure that the little bugger makes it through each section safely it is inevitable that you’ll end up killing him in some of the most hilarious ways possible without even thinking about it. For me the first time was simply cratering him when I misjudged the distance to the floor below, his limbs flying off in opposing directions and the little glowing orbs blinking out. As the game progresses the ways in which you can die become more and more ludicrous, to the point where you’ll meet your end at the hands of fantastical futuristic contraptions.

On the flip side though I can see people playing Limbo as something of a survival horror rather than the dark comedy that I played it as. There are some moments that, if played with the lights off and late at night, would definitely give you a bit of a scare. Granted its nothing like the original Resident Evil series, something which gave me nightmares for a week after playing  it through in one sitting, but the atmosphere alone is enough to set some people on edge. Maybe my view of Limbo as a dark comedy is just a coping mechanism I developed so as not to get attached to the little guy…

The core game play of Limbo is that of a classic platformer mashed up with modern day physics puzzles. Neither of these aspects are terribly complex with the platformer sections being relatively forgiving and the physics resembling all other games that utilize the Box2D physics engine. Still many of the challenges will having you engaging in a good helping of trial and error to see which solution works best. There are also many ancillary challenges available for those achievement junkies that will test your problem solving skills more rigorously should the core of the game not prove challenging enough.

Thinking back on my play through of the game it’s interesting to remember how the environments changed from the dark, foreboding forest at the beginning to some kind of futuristic factory belonging to a mad scientist. As far as a plot goes that’s about all you’ll be able to get out of Limbo (save for a couple moments in the game and at the end) and what it means is left as an exercise to the reader but looking at the title you can probably guess what the changing scenery is a commentary on.

Limbo is one of those games that just simply begs to be played at least once and all in one sitting. It’s a short game, something that can be easily knocked over in an afternoon, but for a game of this type that short length works well in its favour. Whilst there’s little plot to speak of the story telling that Limbo achieves without a single line of written or spoken dialogue is quite an achievement and is one of the reasons why it has received such critical acclaim. Limbo then is a game that I believe anyone who calls themselves a gamer should play, just because it’s such an unique experience. One that is unlikely to be repeated at any time in the near future.

Rating: 9.0/10

Limbo is available on PC, PS3 and Xbox360 right now for $9.99, $15 and 1200 Microsoft Points respectively. Game was played entirely on the PC with 3.3 hours played and 23% of the achievements unlocked.

 

iOS SDK: Lazy Image Downloading.

I’ve had a couple people ask me for the code behind the image loading that’s referenced in my updates for fast scrolling post and I’m making good on a promise to post the code for everyone else to use. It’s shown below:

ImageDownloader.h

//
//  ImageDownloader.h
//  Lobaco
//
//  Created by David Klemke on 14/10/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import
@class Post;

@protocol ImageDownloadDelegate;

@interface ImageDownloader : NSObject {
	Post *post;
	NSIndexPath *indexPathInTableView;
	id  delegate;

	NSMutableData *activeDownload;
	NSURLConnection *imageConnection;
	bool downloadPostImage;
}

@property (nonatomic, retain) Post *post;
@property (nonatomic, retain) NSIndexPath *indexPathInTableView;
@property (nonatomic, assign) id  delegate;
@property bool downloadPostImage;
@property (nonatomic, retain) NSMutableData *activeDownload;
@property (nonatomic, retain) NSURLConnection *imageConnection;

- (void)startDownload;
- (void)cancelDownload;

@end

@protocol ImageDownloadDelegate

-(void)imageDidLoad: (NSIndexPath *)indexPath;

@end

ImageDownloader.m

//
//  ImageDownloader.m
//  Lobaco
//
//  Created by David Klemke on 14/10/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "ImageDownloader.h"
#import "Post.h"

#define kImageHeight 75

@implementation ImageDownloader

@synthesize post;
@synthesize indexPathInTableView;
@synthesize delegate;
@synthesize activeDownload;
@synthesize imageConnection;
@synthesize downloadPostImage;

#pragma mark

- (void)dealloc
{
	[post release];
	[indexPathInTableView release];
	[activeDownload release];
	[imageConnection cancel];
	[imageConnection release];
	[super dealloc];
}

- (void)startDownload
{
	self.activeDownload = [NSMutableData data];
	//NSLog(@"%@",[post.data objectForKey:@"ProfileImage"]);
	NSURL *url;
	if (downloadPostImage)
	{
		url = [[NSURL alloc] initWithString:[post.data objectForKey:@"PostImage"]];
	}
	else
	{
		url = [[NSURL alloc] initWithString:[post.data objectForKey:@"ProfileImage"]];
	}

	NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:url] delegate:self];
	self.imageConnection = connection;
	[url release];
	[connection release];
}

- (void)cancelDownload
{
	[self.imageConnection cancel];
	self.imageConnection = nil;
	self.activeDownload = nil;
}

#pragma mark -
#pragma mark Download support (NSURLConnectionDelegate)

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [self.activeDownload appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    // Clear the activeDownload property to allow later attempts
    self.activeDownload = nil;

    // Release the connection now that it's finished
    self.imageConnection = nil;
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    // Set Image and clear temporary data/image
    UIImage *image = [[UIImage alloc] initWithData:self.activeDownload];

    if (image.size.width != kImageHeight && image.size.height != kImageHeight)
    {
        CGSize itemSize = CGSizeMake(kImageHeight, kImageHeight);
        UIGraphicsBeginImageContext(itemSize);
        CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
        [image drawInRect:imageRect];
		if ([self downloadPostImage])
		{
			self.post.postImage = UIGraphicsGetImageFromCurrentImageContext();
		}
		else
		{
			self.post.profileImage = UIGraphicsGetImageFromCurrentImageContext();
		}
        UIGraphicsEndImageContext();
    }
    else
    {
		if ([self downloadPostImage])
		{
			self.post.postImage = image;
		}
		else
		{
			self.post.profileImage = image;
		}
    }

    self.activeDownload = nil;
    [image release];

    // Release the connection now that it's finished
    self.imageConnection = nil;

    // call our delegate and tell it that our icon is ready for display
    [delegate imageDidLoad:self.indexPathInTableView];
}

@end

There’s definitely room for improvement in there (you can remove some of the application specific logic) but it works well and I never had an issue with it. Let me know if you run into any problems though!

7th of February: R18+ D-Day.

3 years and 15 posts have all been leading up to this: In a little under 2 weeks the House of Representatives in Australia will sit down to vote on the bill to introduce a R18+ rating for games into Australia:

The first parliamentary session in the new year is set for the 7th February – giving the poor fellas a nice long break – where the bill to introduce the new age rating will be voted on by the lower house. If it passes there, it will go on to the senate, which has the ability to pass it into law.

Current minister for human services and ex federal minister for home affairs, Brendan O’Connor, is the man behind the bill and he’s been pushing it forward for quite some time according to Games Industry (requires free account sign up). Thanks to his vocal public support, it is believed the bill will pass easily in its first parliament debate, though the outcome of the senate hearing is still up in the air.

I can’t tell you how happy this makes me. Whilst I’m grateful for the Australian government giving me a near endless stream of blog fodder over the years I’ll be far more happy to see this changed than have to write another article telling you why Australia needs it. At the moment everything is looking pretty good for the R18+ rating to make it through the lower house without too many troubles. What’s still something of mystery is how the bill will go in the Senate as whilst there are some supporters like Senator Kate Lundy and Senator Stephen Conroy I couldn’t dredge up anyone else who’s gone on record supporting it.

Theoretically there’s not much to oppose in the bill, especially with the final draft of the guidelines being fairly in line with what we have currently and just including the provision for content that’s already acceptable in other mediums. How this is viewed by the senators though remains to be seen but should it get through we could see many of the previously banned titles making their way onto our shelves before the end of the year. Whilst I’m sure none of them will enjoy the retail success that they would have if they weren’t blocked in the first place it’s better than getting nothing from Australia at all.

It’s been a long time coming but we’re finally on the cusp of seeing real change that was heavily influenced by the grass roots efforts of the gaming community in Australia. I’m so glad I count myself amongst the teaming masses of people who put their support behind getting a R18+ rating into reality and this shows that given enough time and effort we really can effect change in Australia. The fight’s not over yet, but it’s a hell of a lot closer to being won than it is to being lost.

When the Common Factor is You.

I feel that a lot of problems in our society stem from externalizing blame rather than taking it on internally. I’m not about to get on my high horse here and start pointing fingers at other people, I’ve spent more time than I’d like to admit blaming others for problems I created, but I do see a worrying trend of people looking for something to blame rather than taking a long hard look at themselves. I think I know the reason why, at least for myself.

Internalizing blame is a mentally exhausting activity, especially when you have an easy reason to blame others. Indeed I spent far too much of my University project year blaming others for my failings, not recognizing that I should have just manned the fuck up and fixed my shit. It took me a good couple years to come to terms with the fact that in all the interactions where failure was identified it was just as easy to ascribe the fault with myself as it was with anyone else. Actually doing so at the time was an impossibility, thanks to my over-inflated ego that was still recovering from its teenage know-it-all years.

YouTube Preview Image

That video hits the nail on the head. Many people ascribe the blame for failed relationships to the person on the other side. It’s easy to understand why as well, that person has hurt you in some way and now that they’re not part of your life putting the fault on them makes it easier to deal with. Taking a step back and looking at yourself however, whilst immensely difficult, can be quite revealing. This isn’t to say that the other side is always blameless, but a relationship is always a 2 way street.

Since realizing this my life has become inexorably more complicated, seeing me getting stuck in analytical cycles constantly, but I do feel a lot more comfortable in accepting and dealing out blame where its appropriate. Sure I’m not immune to externalizing blame entirely but I do feel I’m getting better, enough so that a repeat of the University incident should hopefully never happen again.

Our RepRap Longboat Prusa and The State of DIY 3D Printing.

My followers on Twitter will be aware that for the past few weeks I’ve been working with a couple other guys on building a 3D printer, namely a RepRap Longboat Prusa. I’ve been interested in them for a long time, mostly because they tickle my sci-fi nerd side just right, but apart from endlessly fantasizing about them I hadn’t really pursued them further. One of my long time gamer friends asked me late last year if I’d be interested in going halves for a kit. After I mentioned the idea to another friend he jumped on board as well and the 3 of us waited eagerly for the kit to arrive.

In total we’ve spent about 48 man hours total over 3 days putting it together, getting the wiring done and then troubleshooting the software and interfaces. It’s been an eye opening experience, one that challenged my electronics knowledge like it hasn’t been in quite a few years, and the result is what you see below:

YouTube Preview Image

We decided not to attempt to print anything since at this point it was getting close to midnight and we didn’t want to keep the Make Hack Void space open any longer than we already had. But from seeing it do the dry run it appeared to be functioning correctly (it’s printing a small cup in the video) albeit a little stiff at some points. We think that’s due to 2 things, the first being that the large gear on the extruder platform is warped slightly and sometimes hits the mounting hardware near it. Secondly we were running the steppers at a low voltage to begin with so with a little more juice in them we’ll probably see them become more responsive. We’ve still yet to print anything with it but the next time we get together you can guarantee that will be pretty much all we’ll do after we’ve spent so long on getting it running.

What this project opened up my eyes to was that although there’s a torrent of information available there’s no simple guide to go from beginning to end. Primarily this is because the entire movement is completely open source and the multitude of iterations available means there’s near endless numbers of variations for you to choose from. Granted this is probably what a lot of the community revels in but it would be nice if there was some clear direction in going from kit to print, rather than the somewhat organized wiki that has all the information but not all in a clear and concise manner.

The software for driving the machines is no better. We started off using the recommended host software which is a Java app that for the most part seems to run well. At the moment though it appears to be bugged and is completely unable to interface with RepRap printers, something we only discovered after a couple hours of testing. RepSnapper on the other hand worked brilliantly the first time around and was the software used to initiate the dry run in the video above. You’ll be hard pressed to find any mention of that particular software in the documentation wiki however which is really frustrating, especially when the recommended software doesn’t work as advertised.

I guess what I’m getting at here is that whilst there’s a great community surrounding the whole RepRap movement there’s still a ways for it to go. Building your own RepRap from scratch, even from a kit, is not for the technically challenged and will require you to have above entry level knowledge of software, electronics and Google-fu. I won’t deny that overcoming all the challenges was part of the fun but there were many road blocks that could have been avoided with better documentation with overarching direction.

All that being said however it’s still incredible that we were able to do this when not too long along the idea of 3D printing was little more than a pipe dream. Hopefully as time goes on the RepRap wiki will mature and the process will be a little more pain free for other users ,something I’m going to contribute to with our build video (coming soon!).

Bastion Screenshot Wallpaper Title Screen

Bastion: The Calamity Was a Hell of a Thing.

The number of quality, well polished games that independent developers have been releasing recently has been great for the games market. Gone are the days where the idea of making a game was constrained only to the big developer houses or specific platforms and today we have a thriving independent ecosystem to support these talented developers. One such game to come out of the indie scene is Bastion a game that’s received much praise and developed something of a cult following. I’m not sure why I avoided it at the time but after getting frustrated with the end-game situation in Star Wars: The Old Republic and on the recommendation from friends I gave Bastion the once over.

Bastion puts you in control of a character known solely as The Kid. You awaken in your bed to find the whole world around you has fallen to pieces and every move you make is narrated by a gravely, disembodied voice. You then make your way to the Bastion, a safe place that everyone in Caelondia (The Kid’s home ) agreed to head in times of danger. There he meets a stranger, later revealed to be named Rucks, who’s voice is the one that narrates your every move. Ruk then informs you of the terrible event that occured, The Calamity, and how they need to go about restoring the Bastion after it was damaged during the event. So begins your long journey as you seek out the items required to restore the Bastion and uncover the truth about the Calamity.

Visually Bastion is quite pleasing on the eyes with its heavily stylization, bright colour palette and cel shaded 3D models that blend seamlessly. This style is reminiscent of other isometric RPGs like Diablo which use visuals like this in order to make sure you don’t get bored. This works quite well as whilst I was initially frustrated with Bastion (more on that later) my second session saw me play it all the way to the end and not once did I feel that the environments I was playing through were repetitive. It just drives home the idea that cutting edge graphics aren’t a requirement for good story telling, especially if you do them right like Bastion has done.


Bastion incorporates many aspects of traditional RPGs whilst doing away with others in order to simplify the gaming experience. There are levels for your character, which you gain in the traditional way of killing enemies and allow to add additional buffs to your character, but there’s really no loot system to speak of. Instead you have an arsenal of melee weapons, ranged weapons and special abilities that are all interchangeable. The weapons are also upgradeable allowing you to make them far more powerful than they originally are. This means that it’s likely that no 2 play throughs will be the same and lends a decent amount of replayability past the initial encounter.

I believe this simplified system is what lead me to get frustrated with Bastion in the early stages of the game. Initially you’re limited to a rather small arsenal, only a few weapons for each slot. You do pick one up every second level or so but progression at the start feels a little slow as most of the weapons and upgrades don’t feel like they’re making any difference. Later on, when your choices are much greater, that initial feeling starts to slip away in favour of you becoming somewhat unstoppable, at least my character did. I didn’t make it anywhere near max level (I think I got to level 6) but my combination (all fully upgraded) of Cael Hammer, Scrap Musket and Hand Grenade meant I could dispatch waves of enemies with little trouble.

It becomes apparent very early on in the game that whilst the Calamity might have destroyed much of the world there are still some people left alive. After you find them they’ll join you in the bastion and they’ll give you some insight into the various mementos that you find scattered throughout the world. They also bring with them challenges that you can complete for extra experience and cash to spend on upgrades whilst fleshing out the background story of one of the characters. The challenges are gauntlet style affairs and are a nice aside from the dungeon crawling that makes up the majority of Bastion.

One of Bastion’s most notable features though is the near constant narration. It serves two purposes, the first being to give a running commentary what’s currently going on. This gives you a great sense of the character’s motivations, feelings and gives the story solid direction in what would otherwise be a rather dull dungeon crawler. Secondly having a constant voice over allows Bastion to develop an extremely rich lore without having to result to giant walls of text that are common in RPGs. Whilst I can understand the reason why this is rare (voice acting is a time consuming and costly activity) Bastion’s use of it is quite unique. Plus Logan Cunningham’s dulcet tones aren’t hard on the ears either.

Where Bastion does fall down however is in the final throws of the story. Right up until the last 30 mins of the game your entire experience has been completely guided, your decisions ultimately made for you with a little freedom in what order things are built or upgraded. This is a fine way to tell a story, in fact this is how the vast majority of games play out. However right at the end you’re presented with two very distinct options to choose from on two different occasions. For a game that’s been choice agnostic up until this point adding in a choice at this part seems to only be for the sake of adding in some replayability. As a mechanic, I find that particularly cheap.

Warning, spoilers below:

Worse the first of the choices, whether or not to save Zulf, doesn’t seem to have any meaningful impact on the rest of the game. Granted the choice comes so late in the game that there’s not much it could really affect but that just makes its inclusion even worse. I’ll admit that the scene itself felt quite powerful, the notion of a selfless hero willing to put aside all the hurt someone has caused in order to save them, but the fact that your decision only mattered for then and there makes the choice arbitrary. The same goes for the ending as it basically boils down to the same problem that Deus Ex: Human Revolution suffered from. Instead of choices you make doing the game leading to an ultimate conclusion, you’re instead presented with a blunt “Hey choose your own ending!” screen. Though unlike Deus Ex you can’t just reload and see the other ending, meaning the intent of that mechanic is simply to encourage a second play through. Whilst it didn’t ruin Bastion for me it did sour the idea of going for a second playthrough as there doesn’t really seem to be a point to it.

Spoilers over.

Bastion is yet another shining example of games being used as a great story telling medium. The characters are well developed, the story thoroughly engrossing and the game play is rock solid, carrying all these elements along beautifully. Whilst I might disagree with some of the arbitrary moments that the game presents you with that doesn’t discount the rest of the game. Bastion then represents another magnificent independent release that shows just how far indepedent games developers have come, and how far they’ll be able to go.

Rating: 8.5/10

Bastion is available on PC and Xbox360 right now for $14.99 and 1200 Microsoft Points respectively. Game was played entirely on the PC on the regular difficulty with around 6 hours played time and 29% of the achievements unlocked. 

Gamification Doesn’t Always Make Sense.

When I first started hearing about achievement systems I honestly thought they were a total waste of time. I usually play games just for the sake of playing them, not because I want to have some kind of meta-performance tracker that I can show off to my friends. I did start to warm to them when the encouraged novel or interesting kinds of game play like many of the achievements in Team Fortress 2 did. It wasn’t long after achievements caught on that the whole gamification movement took hold and all new start ups started adding game features to their products.

Now I wasn’t immune to this either. When I was working on Lobaco I thought it would be a great idea to add in some achievements in order to encourage people to participate in local discussions. Indeed I was going to take it a couple steps further and have things like local leader boards and titles based on your overall score in a particular area. All of these things were done in the name of increasing user engagement as many studies and successful start ups have shown that game like elements keep people coming back. Of course everyone then saw it as the panacea to their ills and game elements started appearing in places that they really shouldn’t.

I came across one such example this morning in my usual troll for blog fodder. Microsoft, for some strange reason, decided to code up an achievement system for Visual Studio, their flagship development environment. It looks to be an extension to Visual Studio itself and currently only works if you’re coding with Visual Basic or C# (arguably the most common languages though). There’s dozens of achievements already in there and even a leaderboard of the top 15 people who’ve gained the most achievements. Taken at face value I can see this being a good thing by encouraging good programming habits through achievements.

Microsoft’s implementation is anything but that.

Many of the achievements are either pointless, inane or actively encourage bad coding habits. 50 projects in a solution? A class that has every kind of scope in it? I can foresee situations where these things might happen (but they still shouldn’t) and it begs the question as to why these were added in. The flip side of this is people creating one shot projects in order to get these achievements (which everyone on the leaderboard has done) which makes the achievements even more meaningless. Indeed the whole idea just seems like a poorly thought out attempt at getting into the gamification scene, one that will be rightly ignored by most proper developers.

Just like in Lobaco where adding in game elements didn’t make complete sense (at least not at the great expense of other features, which it did) there are many times where the gamification of something just plain won’t work. If the core of your idea is based around a game idea then it probably makes sense to include achievements. If it does not then realistically you shouldn’t be adding them in until you’ve done everything else possible to deliver a good product/service to your end users. Attempting to keep people interested with cheap tricks like gamification won’t work if the underlying product has no redeeming value, nor if the core use of the product isn’t a game mechanic itself. The sooner people realise this the better as the spread of crappy, tacked on game mechanics is really not doing anyone any favours.

SOPA Protests: Dunning-Kruger in Full Effect.

It’s not often that I encounter an idea that fundamentally shifts my thinking or view of the world but I came across one not too long ago: the Dunning-Kruger effect. The essence of the idea is that people below a certain level of understanding in something tend to over-estimate how well they understand it and those who are well versed in something tend to underestimate how well they understand it. In short, dumb people are too dumb to know that they’re dumb. That one idea fundamentally changed the way I viewed the world and not for the negative. More I understood where to draw the line on certain issues and gained a whole swath of insight into the reasons why people do certain things that make no sense to me.

Since late yesterday many websites have been going dark to protest the SOPA/PIPA bills that have managed to resurrect themselves since my post on it a couple days ago. I personally haven’t done anything  because I know the vast majority of my readers are already informed on the matter and I’m not one to engage in me-too like behaviour just for the sake of it (just like LifeHacker who’ve copped some flak over it). However whilst the protests are proving to be a rather effective means of getting attention of this issue (it got air play here in Australia) I get the feeling that a lot of them, especially Wikipedia’s one, are running up against the Dunning-Kruger effect.

What proof do I have of this? The existence of Twitter accounts like this one showcasing those who don’t understand why Wikipedia is down. Forgetting for the moment that the Wikipedia blackout page explains exactly why this is happening and that it’s still available via their mobile site or Google cache it seems that the second something changes for these people they’re are simply unable to understand what has happened. It’s a known phenomena for us IT people: change the way something is done and most users won’t be able to figure out how to work around it. They are simply lacking the required level of knowledge to understand that they don’t have enough knowledge to approach the problem rationally, and react to it with vulgarities and mindless commentary.

For these people then the protests that Wikipedia et. al. are going through are thus meaningless for them as should they lack the required level of knowledge to understand why an online resource has gone away it’s unlikely they’d grasp the fundamental reasons of why SOPA is a bad thing. To them Wikipedia going away would simply be a loss of a valuable tool without reason (hence the reactions) or they’d wrongly attribute the blame somewhere else. They don’t understand that there is something they can do to prevent such things happening in the future, both for working around the blackout and for preventing such things happening again.

Does this mean that these shouldn’t have engaged in these protests? Far from it. I’d argue, based on completely anecdotal evidence, that the vast majority of people will be able to see the reasons why Wikipedia is gone and will probably just wait it out and not do much more. However there are those rational thinkers who were not privy to the evils of SOPA and PIPA prior to these sites going dark and they will  more than likely join the cause afterwards. We’re already well past critical mass here so any more supporters simply adds additional momentum and hopefully that will be enough to kill these ridiculous bills before they go any further.

The Business Benefits of the National Broadband Network.

There’s little doubt in my mind that the National Broadband Network will be a major benefit to Australia, way past the investment we’re making in it. It’s one of those rare pieces of legislation that will almost certainly outlive the government that started it and the Labor government should be commended for that. Indeed something like the National Broadband Network is almost a necessity if Australia wants to keep pace with the rest of the world in a technological sense as otherwise we’d be stuck on aging copper infrastructure that really doesn’t have any legs left in it. Still whilst anyone in the IT or related sectors would agree that the NBN will be good for business it’s not entirely clear what those benefits will be.

News.com.au ran a story this morning that pointed to research showing only 30% of Australian businesses had a “medium to high” understanding of the benefits available to them through the NBN. Making a few assumptions here I’m guessing the survey didn’t ask actual questions to gauge their true understanding so it’s likely that that number is actually a lot lower than the survey lets on. I’ll admit that for a non-technical person, who was likely the one answering the survey, the benefits of ubiquitous high speed Internet for your business are not entirely clear especially when the Internet they have now is probably doing them well enough.

The businesses geared to make the most of the NBN are ones with multiple offices spread throughout Australia. Right now getting a good inter-office connection, whether a full WAN or just some trickery using VPN tunnels and a regular ADSL, is either an expensive or complicated affair. The NBN will provide high speed interconnects at prices that many businesses will be able to afford. This means you’ll be able to get almost 100MB connections between offices giving you LAN like speeds between disparate offices. It might not sound like much but even small government agencies currently struggle with this (I’ve worked for more than one) and the boost in productivity from better connections between regional offices is very noticeable. This would also extend to remote workers as well, since it’s highly likely that they’ll have NBN access as well.

Having a large connection also enables businesses to move services out of expensive hosted data centres and onto their own premises. Right now it’s nigh on impossible to host client facing services internally unless you want to shell out a lot of money for the business type Internet plans. The NBN will bring data centre level speeds to almost every home and place of business in Australia enabling current businesses the opportunity to migrate inwards, saving on rental and administration costs. Sure the facilities they have might not be as good as what they can get elsewhere but the cost savings of not using a co-located service (believe me, they’re not cheap) would be more than worth it.

There’s also a host of services that are currently infeasible to operate, due to their high bandwidth use, that would become feasible thanks to the NBN. Such services won’t be available immediately but as the NBN reaches a threshold of active users then we can expect either local innovators to create them or for current Internet giants to localize their services for Australia. Predominately I see this taking the form of cloud based services which are accessible from Australia but have yet to have local nodes due to the lack of supporting infrastructure. This would also help cloud providers crack into that ever elusive Australian government sector which has remained resistant due to the restrictions placed on where their data can be stored.

The NBN will also bring about many other ancillary benefits due to the higher speed and ubiquitous access that business will be able to take advantage of. Indeed the flow on effects of a fully fibre communications network will have benefits that will flow on for decades for both businesses and consumers alike. Realistically this list is just the tip of the iceberg as over time there will be numerous services that become available in order to take advantage of our new capabilities. I personally can’t wait to get onto it, enough so that moving to one of the fibre enabled locations is tempting, albeit not tempting enough to make me move to Tasmania.