Create a smooth loading spinner using only CSS

We’ve all seen loading spinners and they generally look like this: Urgh. This is just an animated gif and has the following drawbacks: Limited to 256 colours Need to regenerate the image if you want a different colour. Framerate and resolution set when you create the image. (and increasing either will hurt load times). Playback is jerky until all frames are downloaded Wouldn’t it be better to use some vector magic and hardware-accelerated loveliness to get a spinner like this:...

September 4, 2013 · 2 min · matt

Create a giant map of everywhere you’ve been

Google have just announced that they’re giving Latitude the boot. Not in the distant future but next month (August 9th). I’m gutted as I was just getting used to relying on its awesomeness. At first I panicked because I’ve been using the Location History feature to log my location for the past 3 years. Thankfully, that feature is spared the chop (well, for now at least). If you have also been using it to log your location then you’ll be glad to hear you can download your location history....

July 11, 2013 · 2 min · matt

4 reasons to design your logo in CSS (and a few why you shouldn’t)

Intro I recently changed the OddPrints logo on the website from an image to simple text styled with CSS and @font-face. To me it seems like the obvious thing to do but very few websites seem to employ the technique. I thought I’d explain my thoughts and I’d love to hear what you think… 1 – Sharper This is the main reason. I recently bought a Retina MacBook Pro and the screen quality is amazing....

February 24, 2013 · 4 min · matt

How to track e-commerce sales in Google Analytics with the Google Wallet Java SDK

If you have your cart built up in javascript then just follow Google’s documentation. If you submit your Google Wallet cart server-side using the java SDK and want to track the sale using Google Analytics’ ecommerce feature, then this blog is for you… Before you start, make sure you have enabled the ecommerce feature in Google Analytics. In your Java code, you need to set the analyticsData (String) in the cart:...

February 14, 2013 · 1 min · matt

Build a super fast PC in 2013 for just £566

Looking to build a new PC? Want to build one that will play nicely with Windows or Linux or could even be a Hackintosh? Making sure you choose the right combination of components is important and a pain to research. If you’re feeling lazy, here’s my shopping list for the machine I built that I’m using right now. By the way, it’s faaaaaast 😉 CPU – Intel Ivy Bridge (i5-3570K) – £169...

December 7, 2012 · 2 min · matt

Connecting to EC2 from Chrome’s Secure Shell using only a PEM file

Gee, what a title. I know this post is going to be popular. First, you need to generate your public key from your private key like this: ssh-keygen -y -f yourkey.pem > yourkey.pub Then, in Secure Shell, select the “Import…” link to bring up a file picker. You must import two files for each identity. A private key and a public key. For example, you would select both “yourkey.pem” and “yourkey....

November 15, 2012 · 1 min · matt

Importing photos from a Canon EOS camera with Ubuntu 12.10

For some reason, when I try to connect my Canon EOS 7D in Linux I get this error: Unable to mount Canon Digital Camera Error initialising camera: -1: Unspecified error I get no love from lsusb: matt@beast:~$ lsusb Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2....

November 10, 2012 · 1 min · matt

An Autumnal Saturday In Bristol

Blue skies & sunshine with a slight breeze welcomed us as we stepped out of the front door. Ashton Court 10k. Not me of course. Just Matt. A low key event with the Heart FM guys trying their best to get the “crowds” geared up for cheering the home-coming runners. Especially as the Heart FM Angels were nowhere to be seen. The last time I’d seen them was at the 5k marker halfway up the hill bouncing around with their sparkly pom poms....

October 27, 2012 · 3 min · karen

Allow worldwide shipping with Google Checkout/Wallet java SDK

Google’s java SDK for interacting with the checkout API is not a fun experience. It’s generated from the WSDL using JAXB which has a unique ability to generate client interfaces that no human could ever “design”. It’s not actually that hard to write code with, you just have to think like a deranged machine. By default, the only allowed shipping destination will be your country. If you wish to allow worldwide shipping, you have to do something like this:...

October 6, 2012 · 1 min · matt

How to add zero-padding to a folder full of numbered files

Have you got a folder of files that look like this? file_1.png file_2.png file_3.png file_10.png file_11.png file_12.png file_100.png But what you really want this: file_001.png file_002.png file_003.png file_010.png file_011.png file_012.png file_100.png Then, my linux-loving friend, run this: rename 's/\d+/sprintf("%03d",$&)/e' *.png

September 27, 2012 · 1 min · matt