The Android Easter Egg; A Hidden Game

Most Android users may know about this already but hidden away in some version (if not all) of the Android O/s is a small game.

To get access to the game / easter egg follow the steps below:

  1. Go to ‘Settings’
  2. Scroll to the bottom and click on ‘About Phone’
  3. Then scroll to the bottom again and this time keep taping quickly on ‘Android version’

To play the game, click on the lollipop and then slide off to a side. It can take one or two goes to get it right.


Hold finger down to go up



Android Easter Egg
Initial Easter Egg screen. Click on the lollipop and slide out to get access to the game


Android Easter Egg Game
In game screenshot



Have Fun!

Android Build Variations and Build Tools 19.1.0

For those of you using the following gradle script for automatically doing find and replace in your AndroidManifest files then the update to 19.1.0 is going to break your build.

Old Version

Original Ref

def processManifest(variant)
    //here we get the content of the manifest file, and we replace {packagename} with the actual packagename.
    variant.processManifest.doLast {
        copy {
            from("${buildDir}/manifests") {
                include "${variant.dirName}/AndroidManifest.xml"

        def manifestFile = file("${buildDir}/processed_manifests/${variant.dirName}/AndroidManifest.xml");

        def packagename = variant.productFlavors.get(0).packageName + (variant.buildType.packageNameSuffix ?: "");
        def content = manifestFile.getText().replaceAll(/{packagename}/, packagename);
    variant.processResources.manifestFile = file("${buildDir}/processed_manifests/${variant.dirName}/AndroidManifest.xml");

//for all application variants, we need to do some special stuff to make the content providers work
android.applicationVariants.all { variant ->



Never fear though, as just updating the build path is going to fix out this issue and let gradle know where to look for the manifests again.

New Version
def processManifest(variant)
    //here we get the content of the manifest file, and we replace {packagename} with the actual packagename.
    variant.processManifest.doLast {
        copy {
            from("${buildDir}/intermediates/manifests") {
                include "${variant.dirName}/AndroidManifest.xml"

        def manifestFile = file("${buildDir}/intermediates/processed_manifests/${variant.dirName}/AndroidManifest.xml");

        def packagename = variant.productFlavors.get(0).applicationId + (variant.buildType.applicationIdSuffix ?: "");
        def content = manifestFile.getText().replaceAll(/{packagename}/, packagename);
    variant.processResources.manifestFile = file("${buildDir}/intermediates/processed_manifests/${variant.dirName}/AndroidManifest.xml");

//for all application variants, we need to do some special stuff to make the content providers work
android.applicationVariants.all { variant ->



Build Tool 19.1.0 and Cloudbees – Jenkins Issues

For those of you that have recently updated your projects in Android Studio 0.6.0 to use Build Tools 19.1.0 then this is for you.

The error you are going to be looking for is :

> failed to find build tools revision 19.1.0

To fix this you will need to add a new  `Execute shell` step under `Build`  that calls the following to update the SDK.

(for i in {1..30}; do echo y; sleep 1; done) | /opt/android/android-sdk-linux/tools/android update  sdk -u -a --filter tools,platform-tools,build-tools-19.1.0

This will download and update the tools, platform-tools and build tools to the required version and your project should continue as normal.

Also, don’t for get to check out the cloudbees example Android jenkins project :

Google-Music Or Spotify

Google Music ‘All Access’ has now been in the United Kingdom for a while. So if you haven’t yet made the choice between Google or Spotify for your streaming music hopefully this will help you decide.

Feature Comparison

 Google MusicSpotify
Web PlayerYesYes
Standalone Player (PC app)NoYes
Device SupportCurrently Android Only. IOS client on the way. Can be used via the web client.IOS/Android/Mac/Windows/Linux
Offline FilesYesYes
Mobile/Tablet AppYesYes
Library ImportYesLocal media only
Third Party AppsNoYes
Play List SharingGoogle+ mainlyYes, lots of methods
Last Fm SupportBy plugin / other appYes
Device IntegrationGoogle OnlyThird Party Supported
Number of offline clients102 (Mobile/PC)
Cost Per Monthu00a37.99u00a39.99*

* Based on Spotify premium which has the same features as Google Music.

Personal Choice

Well, I switched over to Google music. For me the missing features in Google Music were not worth the extra £2.99 for Spotify Premium. I do hope though that Google does eventually make an API and let’s developers make extensions. But for me it is no deal breaker.

The GUI of Google Music is simple but effective. The same for the Android app as well. But both function very well and the browser version also works with HTML 5.

Google does need to get it’s act in order though. Spotify is leading the race in being a house hold name. It has been around for longer and it has now being bundled with services like mobile plans or cable plans. With this plan Spotify will alternately attract more customer than Goole All Access and with more customers be a better deal with the music labels. Google has the money but Spotify has the customer base.

Addition: Device Integration :

Another point that one of my friends reminded me about is that Spotify also has much greater support when it comes to hardware integration. There are companies like Sonas that offer speaker sets that contain a Spotify client. This can be controlled via a mobile device like a remote using the Spotify App. Another example of simple integration across devices.

Google started going this way with it’s Nexus Q but that was not met with any great support. They even started with the Chromecast and Google Tv’s but from a consumer point of view I would think that the simplicity of a speaker set with it ready to go out the box is a lot more tempting. This is music and people want to keep these things separate.


The hidden truth of wowcher/groupon and similar sites.

These website offer users the option of buying products at value prices. The idea being that as so many people are buying you will benefit by getting a mass buying discount. As well as physical products these sites also offer cheaper services such as holidays, restaurant deals and days out.

But lets take the the restaurant part and imagine that you own a successful restaurant or a up coming joint that values its food. Then the need to just churn customers through the door is just not there.

You can see by now where I am going with this, it is basic economics. Good restaurants who have returning customs are unlikely to offer these packages.

The same logic can be applied to the holiday packages or day trips. Before you take any of the deals you have to ask your self. Why is this company offering this deal?

The best I thing to not get burnt is to go check the reviews. Find out what other people have thought of other services or offers from these places And remember if you are getting a holiday package to check you are ATOL covered ( .

You should check out the hotels being offered on TripAdvisor. Plus if there is the option of flight and they mention availability then beware. This means that they will have a few good flights and the rest will most likely be the flights no other fool would take. So price it up yourselves, which airports and time for the price of the deal do you think they will use? You will most probably be on the mark.

As for products you buy make sure you know how much it normally costs and what quality you are getting. The best way to do this is simply Google it or go search for it on Amazon. If no one has heard of it you are taking a big gamble.

Lastly, if it is a service where you get a delivery service for cheaper than normal. Make sure that you are not signing up for repeat orders. The company will probably bank on 90% of the people not checking the fine print.

You can get some very good deals out of these sites. But if you do not know what it you are getting and blindly buy a deal then this is as good as gambling with your money!

Safe shopping all.

Get a Android Firmware Update With Out Waiting

Things like this I normally take a pinch of salt, right next to putting your hard drive in the freezer (no it does not help). But this actually worked first time :

So, why wait for your Jelly Bean, 4.3 update?


Turns out that this method does break you access to the Play store. To restore your access remove the user under settings and then add it again.

Book Review – Pragmatic Thinking and Learning: Refactor Your Wetware

Pragmatic Thinking and Learning: Refactor Your Wetware


I picked up this book based solely on its Amazon recommendations. It seemed to have quite a few good reviews and although the topic and cover looked cheesy I thought I would give it a try.

What I didn’t realise, until I had got through the first few pages and recognised the style, is that this book has been written by Andy Hunt. One of the original authors of the infamous “The Pragmatic Programmer”. A entry on most programmers must read lists.This latest creation of his is similar to his original piece but this time less focused on just programming.

I was captivated by the writing style in this book. You feel very much like he is there talking you through each of the concepts. Ranging from meditation (don’t knock it yet) to how the brain deals with constant distraction and it’s affect on you.

I don’t want to get into too much detail as I feel I will be giving away the plot to an interactive adventure this book takes you on. It is a good length, not too short and not too long. So there is no excuse not to pick up a copy and get on the adventure. If you need a bit of wind in your sails again give this a try.

Amazon [uk]

Uber Media Center on a Budget

So as is the case for many people at the moment I am on a tight budget. This I think, makes projects that little bit more interesting. Especially considering that normally uber = money * effort. Either money or effort has to be vast to achieve uber.

As you have probably noticed I am a regular to the website. Recently on the news for reporting a pricing error of tesco’s oranganic food.

But coming up on this site quotes bit was the HP ProLiant Micro Server for the bargain price of £189 plus £100 cash back from HP. This little server come with quite a fair amount of umph for buck :-

At A Glance

AMD Turion™ II Neo N54L (2.2GHz)
AMD RS785E/SB820M chipset
Two (2) DIMM slots
2GB (1x2GB) Standard or 4GB (1x4GB)/8GB Maximum, using PC3-10600E DDR3 Unbuffered (UDIMM) ECC memory, operating at max. 800MHz
Storage Controller:
Embedded AMD SATA controller with RAID 0, 1
Embedded AMD eSATA controller for connecting external storage devices via the eSATA connector in the rear of the server
Internal Drive Support:
4 Internal HDD Support
Maximum internal SATA storage capacity of up to 8.0TB (4 x 2TB 3.5″ SATA drives)
Network Controller:
Embedded NC107i PCI Express Gigabit Ethernet Server Adapter
[Full specifications: on HP’s site]

Pretty impressive considering a nexus 7 is a good 100 pounds more and a lot less powerful (although I agree it is not fair to compare).

Anyway, I had snatched one of these up as it was too much to not resist. But little did I know that my trusty shuttle server, that had sat uncomplaining for years had actually bust it’s only fan and was in the process of cooking it’s self. Not long after I had placed the order did it faithfully deliver it’s last TCP packet and then splutter away.

I had always wanted to use the shuttle as a media centre but I had been put off by the lack of HDMI and no digital out on the default hardware. Also it’s tiny processor often had issues with running the services on it alone, never mind streaming a HD movie as well.

So when this server first turned up I cracked open my freebsd USB key, partitioned the drive and got installing. It was lightening quick!

Then it dawned on me. There was expansion ports on the motherboard. I wonder if this thing could run something like XBMC. Well my first concern was that there is really a very limited amount of space inside this thing. Getting both a sound card and graphics card could he both costly and troublesome. Doing a little googleing I quickly found out that many people had already done this and fixed this problem already. On the XBMC wiki there was even a list of all the compatible hardware…. Bonus

The graphics card that I went for was the GT 210 GeForce Nvidia. This fixed the need for accelerated graphics and for sound as this is supported via the HDMI out by default. You can pick up a pretty decent one of these for about 20 pounds on Amazon. Remember that space is limited so get the one with no fan!

After this installation could not have been any easier. I copied the image to a USB stick by grabbing an ISO  from the XBMC website and using dd.

The only suggestion I would make is to get yourself more space and of course a external DVD/Blueray drive for ripping your movies. The standard space is quite small for a large collection. There is now a large amount of 3TB drives popping up on HotUkDeals so shouldn’t be too much more expensive.

Total Cost : £100 [Bargin!]


Own your Time

 So, it’s Monday morning and you are on your way to work. You are committed that this week is going to be different, that you will do all the stuff you have planned this week. No more not going to the gym or reading that book. Truth is you will be lucky to do 40% of these things.

I was frustrated with the fact that I had the best intentions each week and each week ‘things’ got in the way. I always did my best to get every task done but it felt like a battle rather than just getting the jobs done.

In work I have always had systems to making sure that I get everything done and I was thinking, why don’t I do something similar for home? This is when I came up with the idea of a social calendar.

So, let’s put it this way. You know on Monday that you have X amount of tasks to complete and in reality you have about Y amount of free time in the week. Do you really know how you use all of those Y hours, or how much time each of the X tasks takes you?

This is when I came up with the idea of keeping track of all these free hours. Basically you create a new calendar in google calendar by clicking the little arrow next to “My calendar” and “Create calendar”. I called my “Social” but you can name yours what ever you want.

The idea works under the theory that in life things happen that will prevent you doing a tasks on a given day. This is why one evening of your week needs to be your buffer day. The rest of the week you need to map out everything that you doing with the hours you are not either working or sleeping.

This system makes you think about how your are using up those Y hours and how many hours you are spending on each task. Plus when I say everything, then everything goes in here. If you are going to watch T.V. one night, then that goes in there, if you are making breakfast then commuting then this goes in there.

After a while you will start to get a picture for how you are spending your time. Plus which of the tasks that you are doing are eating up most of your spare time. It comes very apparent if you are spending too much time just watching T.V. or traveling to go out.

You will also start to know exactly what day and time you will do that chore that is playing on your mind. Or if you have to go see a friend and need to remember to take something with you then just put that in the calendar object. This comes particularly useful for such tasks as doing the weekly shopping. As soon as you remember something that you want to pick up then just add it to the list.

This system will also let you know when your friends ask, can you come out in town on Friday and you had plans, you now know where you can fit that meeting with your friend in.

What is the purpose of the buffer day you ask? Well no one thinks you are a robot and can do everything exactly on the day and time that you said you would do it. This is where the buffer day comes in. If you find a task that you need to miss and can’t fit in then move it to your buffer day. This way you have that fundamental spare time and freedom to move tasks.

What is the disadvantage? Well this means you are going to have to get used to actually doing what you said your would do when you said you would do it. Plus you are going to have to keep your new calendar updated. Not a lot of work really if you think about it. This is a very small trade off for becoming super productive.

The key to anything like this is that excellence come from habit. If you keep doing something then very quickly it becomes habit and you forget that you are doing it. That is the key, you soon forget this and start to reap the rewards.

Key Points :

  • Try your best to be as accurate as possible about how long a task will take you
  •  Be honest with yourself, don’t play to run, weights and then write a winning novel in one night. It just isn’t going to happen and you will fail
  • If a task does slip then it moves to next week. Before you assign any other spare time then assign this task. If you didn’t read that book and you want to read another bit of that book then you stick those two tasks together and you read that book darn it
  • Motivate yourself, this won’t work unless you stick to it
  • Be patient, it might take you a work or two of getting the right amount of time for each task and knowing what you can fit in.

So, give it a go. Get organised and stop depending on yourself to just remember everything.