tip.top.blog

the blog of matthew rathbone

1 note &

Simple Check-in ‘Unknown Error’ bug is fixed!

I just pushed a fix to the hated ‘unknown error’ bugs that have been plaguing a minority of Simple Check-in users. This fix is available in versions 1.3 and above.

The error was due to number formatting differences between US and European devices.

For future reference, on many european Locale phones, formatting a string with the double 46.1234 will actually be written out as 46,1234. See the difference? The european formatting uses a comma instead of the US-standard decimal place.

This caused errors when calling the foursquare API as this is not a valid way to represent Lat/Long coordinates.

So if you were frustrated because Simple Check-in wasn’t working for you then download the new version and give it a try!

0 notes &

So I’m a spammer now?

Last night I got the following email, which is a notice that google has removed my Simple Check-in android app:

This is a notification that your application, Simple Check-In, with package ID com.matthewrathbone.simplecheckin, has been removed from the Google Play Store.

REASON FOR REMOVAL: Violation of the spam provisions of the Content Policy

All violations are tracked. Serious or repeated violations of any nature will result in the termination of your developer account, and investigation and possible termination of related Google accounts.

If your developer account is still in good standing, you may revise and upload a new instance of the application that is compliant with the developer terms. Before uploading any new applications, please review the Developer Distribution Agreement and Content Policy.

If you feel we have made this determination in error, you can visit the Google Play Help Center article for additional information regarding this removal.

The Google Play Team

This is totally bogus, in no way does my app meet any of the criteria for being spam. (see the link above for those conditions). I work for foursquare, so why on earth would I make a spam application disguised as a check-in app!?

I find it amazing that genuine developers have to suffer through this kind of thing when all they want to do is make an app.

1 note &

One touch check-ins for foursquare

Sometimes you just want to check-in to foursquare as quickly as possible. Well now you can!

I’m happy to introduce “Simple Check-in”, a one touch check-in app for foursquare. It’s fast, free, and there are no ads (and never will be).

I built the app because sometimes I want to avoid being rude, or because I’m checking in somewhere mundane like the supermarket. This app allows me the best of both worlds, I can check-in so fast no-one knows I even did it.

You can download the app here, from the android market (sorry I mean from ‘google play’)

0 notes &

Scrolling past the end of a file in Sublime Text 2

If you hate looking at the bottom of the screen when you’re editing the last few lines of a file, add this line to your sublime text 2 user settings (Preferences -> Settings - user):

“scroll_past_end”: true

And you’ll be able to scroll past the end of a file!

Look, now I can edit line 139 in the middle of the screen! Success!

0 notes &

Tips for using CDH’s Hadoop Distribution with Amazon’s S3

  1. Hive doesn’t play well with extension-less files in s3. Make sure each file has an extension (eg by default it can’t read file-00000, but it can read file-0000.tar.gz).
  2. If you’re using Oozie, no file/folder actions performed in the <prepare> block will work for s3 files. Oozie helpers are hard-coded to use HDFS paths only.
  3. Also with oozie, workflow.xml files cannot be stored in s3 (only hdfs) for the same reason. [hard coded dependencies]
  4. Remember that s3 credentials added to core-site.xml are available for ANY job, no matter who runs it, so make sure those credentials have strict enough permissions to stop users deleting production data.

UPDATE

There’s actually a fix for (1) — do this:

SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

Now it can read any files!

0 notes &

Android Game Reviews

When I had an iphone there were at least 10 game review sites that I could hit up on a daily basis to find a good game to buy, but that’s not true for android. There are a couple, but two good websites is not enough for me to form an opinion on what to buy next.

So instead of waiting for someone to launch their own version, I’ve made one myself.

Say hello to Droid Blimp

I’ll be updating the site about once per week to start with, so stay tuned!

Filed under games android blog

0 notes &

Slicer - Now the best window manager for the Mac.

I was always a big fan of the shift-it and size-up window managers for the mac, but they were never quite flexible enough.

Enter Slicer. It’s seriously awesome. You should buy it now because it’s only $3.99 and it’s better than competition costing $15.

Here is a screenshot of my desktop organized by slicer, notice the top two windows are 1/3 and 2/3 width. Awesome:

BUY IT NOW (or use the free trial if you’re not convinced)

0 notes &

How to have page numbers start on page 3 using MS Word 2011 for Mac

This works if you want your page numbers to start anywhere after page 1. In my example I want to start numbering on page 3, but this would work even if you wanted page numbering to start on page 57 (for example).

We do this by breaking the document into sections. In this example I am using the following structure:

Page 1 - title page

Page 2 - contents page

Page 3 - real document starts <= I want this to be labelled page 1

Step 1: Insert a section break at the end of the title page, and the end of the contents page.

Put your cursor at the END of your title page, then click Insert => Break => Section Break (next page)

Do the same thing for the contents page. Now your document has 3 sections and when we insert page numbering it will only number that section.

Step 2: Insert the Page Numbers

Navigate to the first page you want numbered (page 3 in my example).

Click Insert => Page Numbers

Ensure ‘show number on first page’ is checked

Click Format…

Under ‘page numbering’, select Start At and enter “1”

That’s it!

You can now update your contents page and it will refer to your shiny new page number format.

This took me a long time to work out. I’m writing this primarily for my awesome wife who writes way more essays than I do. :-)

0 notes &

Android game download stats for GeoPop, 7 days after launch

I’ve always found download statistics articles by other app developers extremely interesting and useful when trying to get insight into download and revenue rates for mobile applications. I thought I’d share the love with some stats on my very first android game GeoPop.

GeoPop

The game is very simple: tap shapes in the order specified as fast as you can within the time limit. The more shapes you match, the higher your score will be. The challenge comes from beating your own high-score and placing top of the leader-board.

The simplicity of the game mechanic was ideal for learning android development, and the mechanics of game development in general. Being a server-side developer by trade, it was a big leap having to work with UI vs game threads and handling time based animation, rendering and object movement in a frame rate independent way.

Equally, because the mechanic is fairly simple, and the game has only a single game mode, my expectations as to download numbers are very conservative.

Stats

I released the game on November 26th.

Today (December 4th). I have a total of 183 installs.

Here is my google analytics chart for the number of app launches per day:

This represents a total of 108 absolute unique users.

My total revenue from admob so far is $0.06, so any dreams of a giant money vault are still a long way from fruition.

Take Away

I’m happy at my 180 downloads so far, its more than I expected (0) from my first android project.

Interestingly, I released a bug-fix on December 3rd along with a new application icon, and this increased both downloads and active sessions drastically (about 70 downloads happened on that day). The same was not true for a bug fix released 2 days after launch.

Hope this is interesting to the internetz in the same way other posts were useful to me.

Shout Out

I’ve found the following blogs very interesting in this regard:

Ziggy’s Games

Mika Mobile

Droid-blog

Filed under android revenue geopop games admob analytics

0 notes &

Santa Says? An xmas game that doesn’t suck

Last weekend I found myself drawing Christmas characters, so to capitalize on the idea I built a game:

Santa Says? is a simon-says style memory game where the goal is to repeat the pattern shown to you on screen. It gets really hard (my highscore is 19), and it’s really fun.

To go along with the hand-drawn graphics I also added funny voices to each of the characters (it’s more fun than a *beep* noise!).

Check it out on the market

Filed under game android santa christmas xmax free

1 note &

GeoPop - My First Android Game

I just clicked publish on ‘GeoPop’, my first Android project.

GeoPop is a puzzle game where you have to pop geometric shapes as fast as possible before the timer runs out. It gets pretty frantic pretty quickly, so you need to have quick fingers to reach that elusive high-score :-).

Click here to download it from the android market

PS - I would really appreciate any feedback, so please tweet me with anything at all, even to just tell me why it sucks!

Filed under game android GeoPop software

1 note &

Adding JARS to hive without using ADD JAR

Say you’ve built some library you want to use in Hive, or even in Hadoop. If this library is a UDF for use in hive queries you can load it like this:

ADD JAR ‘s3n://matthewsbucket/superudf.jar’;

CREATE TEMPORARY FUNCTION super as ‘com.matthewrathbone.SuperFunction’;

If you’re creating a bunch of these you don’t want to have to ‘ADD JAR’ _every_single_time_ you want the function, you want it to be in the library already.

To do that either put it in hive/lib, or hadoop/lib on all the nodes. If you’re using Elastic Mapreduce you can do this in a bootstrap script:

sudo apt-get install wget

wget -o /home/hadoop/lib/super.jar http://somewhere.com/superudf.jar

Now you can skip the ADD JAR step in function creation (which is much faster by the way):

CREATE TEMPORARY FUNCTION super as ‘com.matthewrathbone.SuperFunction’;

0 notes &

The start of an online puzzle community?

I’m a long-time fan of The Master Theorem. The puzzle-master (M) posts pretty difficult to solve puzzles on a weekly basis, but lately something interesting has happened, user submitted puzzles have started being posted.

Is it just me, or does this look like the start of a really interesting (and self-regulating) community for puzzle fanatics (makers AND solvers)?

I hope so!