Almost 5 years ago, I packed up my life in New Zealand, said goodbye to friends and family, and jumped on a plane to a place I’d never been to before; my new home, Seattle. What followed has been the most exciting and rewarding period of my life, both personally and professionally. I’ve made this place my home. Made a lot of new friends, grown enormously, and immersed myself headlong into everything Seattle has to offer. It’s therefore bittersweet to say that this chapter of my life is soon coming to an end.
Today, I handed in my resignation at Microsoft. In a couple of months, I’ll be moving to New York City.
Recently, my friend shared a link on Facebook about some dudes who’d made their own infinity table. While I don’t necessarily have the time or dedication to build an actual table, I was intrigued by the idea of running an LED string using a Raspberry Pi. And so, one impulse purchase and a few days of development later – I had built PiLight!
In short, PiLight is the software that I came up with to configure and run my lights. PiLight is a Django (Python web-framework) application, so naturally there’s a web-based interface for tweaking the settings. This is a nice solution, because it means that you can configure the lights from literally any device that has a web browser – your phone, tablet, computer, etc. You can read more about how to download and install PiLight on the project page, so this blog post will focus instead on my own end-to-end experience with setting up the Raspberry Pi and getting PiLight working. You can follow it as an informal (but very detailed) guide to doing something like this yourself.
Wow, updates to the blog have been few and far between lately!
Recently I have been exploring the creation of video as an extension to my photography work – you can see some of the fruits of my labour on my YouTube channel. These have given me the taste for basic video production, and I decided to combine coding and videography, to put together an open-ended series of screencasts about how to create an XNA game for Windows Phone.
If you have any interest in this topic, I would love for the readers of my blog to go and check it out and let me know what you think!
Here’s the first episode:
You can find all of the episodes I have produced to date in a playlist. I am aiming to put a new video together roughly once a week – so be sure to subscribe if you like what you see!
So Mango has finally shipped, and I’ve been able to install it on my phone. I’m loving a bunch of the new features, especially:
- Unified messaging interface. Lets you seamlessly switch between Facebook chat, text, etc – in a single conversation.
- Linked inboxes, and conversation aggregation. You can view multiple email accounts from a single tile, and emails belonging to a conversation are grouped together. Very, very useful.
- Enhanced voice recognition. I just wrote a text to my girlfriend without touching the screen. Not to mention the fact that it nailed my (albeit simple) message body perfectly, first time.
- Local Scout. While apps like Yelp were already useful for this sort of thing, having a “guide” to local eateries and attractions built right into the Maps is great.
- Multi-tasking! Enough said.
All of these (and many more features) are great, but what I’m especially loving is how many of my little “niggles” have been dealt to, without me even asking! Here’s a list of some of the smaller changes that I’ve noticed so far, but that probably wouldn’t make it into a press release:
- Snoozing an alarm now snoozes for 10 minutes instead of 5. This is a lifesaver… Can’t see any way to configure the timeout myself, though.
- You can now switch off the camera shutter sound from the audio settings. That pervasive fake shutter noise is one of the most annoying things in the world – glad to be rid of it on my phone.
- Music + Videos hub now opens right up to the “zune” section, ready for you to select music, videos, radio, etc – instead of the “history” section that it used to default to.
- I use a PIN on my lock screen. You can now configure a “timeout”, whereby if you have already entered your PIN recently (say in the last 5 minutes), it won’t prompt you for the PIN for a second unlock within that period. Another great little feature – and one that I don’t see reproduced on other devices.
This is a fantastic update that tackles a variety of problems with the original platform – both large and small.
However, even after all these great updates, I am still left with just one question; Why, oh why aren’t there bus directions in Maps?! I can get walking and car directions, but no bus. The ONE TIME I typically want to catch a bus is when I’m out and about, and only have my phone available. This is a HUGE oversight, and I was disappointed to not see it fixed in Mango.
I was recently on holiday up in Vancouver, BC. Unfortunately my GPS unit had not been preloaded with Canada maps, so in the interest of not getting lost, I elected to open a map once or twice on my smartphone. I knew that this would be charged as “roaming” data, and as a smart person I had done my research, and established that AT&T would be charging me the exorbitant price of… $0.015 per kB. Didn’t seem soooo terrible – I figured that opening a map would use a handful of kB tops. If I was unlucky I was looking at a few dollars worth of usage. How wrong I was.
Total usage: 4.6MB. Total charge: $69. FML.
Let’s put that in perspective. I pay $33 per month for internet at home. I can use up to 250GB on my plan without repercussion, although let’s say I average around 100GB. That means I pay around $0.000000315 per kB.
The upshot of this, is that the data I used in Canada cost me more than 47,000 times as much per byte than my home internet plan. Forty. Seven. Thousand. For those keeping score, that means that if the roaming charge was the standard rate, I would be getting a 99.9979% discount on my internet bill every month. You can’t make these numbers up, we’re talking mind-bogglingly disparate numbers here.
Now don’t get me wrong, I understand the implications of roaming. AT&T has to negotiate with third-party providers to use their networks and their bandwidth when I’m out of the country. I understand that there is a significant difference between the cost of transferring data over a cable connection and a 3G connection. But if you think that all of those issues justify a 4.7 million percent markup, you have got to be pulling my leg. Canada is a first-world country, with (presumably) first-world cell networks and internet access. AT&T can give me an unlimited smartphone data plan for $20/mth, but can’t negotiate a better rate than $60 for 4MB of data?!
Give me a fucking break.