This is part of my blog, which I have long since stopped maintaining. The page has been preserved in case its content is of any interest. Please go back to the homepage to see the current contents of this site.
Stimuli: Coffee, Neuromancer
Software items successfully written: 0
Stimuli: Curry, Beer
Software items successfully written: 1
I leave you to draw your own conclusions.
In a fit of last-minute coding, I’ve produced version 0.1 of my automated team-picker for the Premier League’s Fantasy Football game. (If you’re intending on playing, you only have 12 hours left to get your team in before the start of the season!)
Its purpose is to analyse player stats, and suggest which players to pick based on points/price ratio and current injury lists. It’s based on my team-picker for the Telegraph’s fantasy football game, and uses exactly the same algorithm. It’s also run online automatically every day, so you can visit one page to get the latest results.
You can find it here:
I am now, apparently, a level 4 Software Engineer!
Hit Die: +4 HP
Abilities: +1 WIS
Meta: +1 Base Attack Bonus, +1 Will Save
Skills: +2 Knowledge (Software), +2 Use Arcane Device, +1 Concentration
New Spells: Djikstra’s Algorithmic Fireball, Summon the Primordial Design Pattern, Shield from Buffer Overruns, Power Word: Documentation
I’ve been on a tidying binge this evening, and having found a bunch of CDs lying around in cracked cases behind the sofa, I’ve decided to rip them. So that my poor long-suffering NAS drive doesn’t have to think about two things at once, I’m listening to streaming music from Last.fm while I’m at it.
And it’s dawned on me that that’s really weird.
Last.fm, Pandora et al will let one create a playlist on the fly for any artist, album or genre, regardless of whether or not you own the song or even whether it exists in your country. For specific tracks there’s pretty much nothing that one can’t find on YouTube, just a Crtl+K away. So why on Earth am I bothering to rip things?
There’s travel, I guess - every few weeks or so I change the music on my phone. But that has Last.fm too. By the time the LTE & 3G cell coverage is in the same situation that 3G & GPRS is now, I’ll hardly be able to go anywhere without sufficient coverage to stream music.
I’m quite liking this “future” lark.
We appear to have unintentionally produced the world’s rudest toddler. His favourite words at the moment seem to be:
- “a sí”, which he pronounces like “ass”,
- “cookie”, which he pronounces like “cock”,
- and “tete”, which alright is not exactly the dictionary word for “dummy”, but is almost certainly ruder in English than Spanish.
Quite what the general public make of his pornographic babbling, I’m not sure…
Mostly at Mark’s request, but possibly also of interest to others: A review of the HTC Magic. I’ve had mine for 6 days now.
What’s in the Box?
Pretty much the usual array - charger, USB cable, headset, and a 2GB MicroSD card. The latter comes with a few demo MP3s on it, one of which is even by I band I’ve heard of! Shocking, I know.
The one nice surprise in the box is the fake-leather case. It’s just a pocket-type affair, sewn up on three sides, so the phone’s not usable when it’s inside. Against all odds, though, I’m actually using it. It’s not too difficult to take the phone out, and as this is my first touch-screen phone I’m still kind of paranoid about damaging it.
It’s a lot curvier and thus IMHO prettier than its G1 cousin, and the lack of a physical keyboard makes it lighter and quite a lot thinner. The trackball’s not quite up to Blackberry standards, but it’s usable - and I’ve found the occasions on which I want to use it remarkably rare.
The addition of a dedicated search button is nice, and it does what you’d expect in most apps. The lack of a dedicated camera button is annoying though, leading to a slightly awkward hand position as you try to keep the camera steady while pressing an on-screen button.
The camera itself is pretty 2005-vintage, with 3.2 megapixel res, no flash, and producing pretty grainy pictures in low light. Android 1.5 “Cupcake”, which comes pre-installed, adds video capture support, though video quality is likewise uninspiring.
The most annoying hardware feature is that old HTC stalwart, the ExtUSB connector. There’s no 3.5mm jack, so your audio comes out of the same plug that you charge the phone with. There are adapters that split the port into 3.5mm jack and MicroUSB, but they’re chunky and ugly, not the kind of thing you want hanging off your phone 24/7. There are also inline ExtUSB to jack connectors for using your own headphones, but the shortest length they seem to be made in is about half a metre, leading to a ridiculous >1m length of cable between phone and ears overall.
However, the hype about an Android phone has never been about the hardware. So…
Using Android really is a pleasurable experience. The iPhone might have the usability edge due to Android’s lack of multi-touch, but besides that Android is at the top of the pile of mobile UIs.
Dragging the top drawer (where app notifications, incoming messages etc. sit) is a lot more intuitive on an actual device than on the emulator, and the kinetic scrolling - you can ‘throw’ menus - feels just right.
Cupcake, Android 1.5, adds an on-screen keyboard which is essential on the QWERTY-free Magic. After a few minutes of practice it’s very usable, and not significantly different than the iPhone’s. It also doesn’t feel any more difficult, despite the Magic’s smaller screen. Holding the phone in landscape mode will allow you to use a bigger keyboard, though the portrait-to-landscape transition can take around 1-2 seconds.
The back button removes the on-screen keyboard from view, and I have to keep reminding myself to use it. Pressing outside the keyboard area does the same job, but the press is passed through to the app underneath, resulting in frequent unintentional clicks on hyperlinks.
Besides video recording and the on-screen keyboard, Cupcake’s other major user feature is home-screen widgets. Android 1.1 provided a clock and a search box, while Cupcake provides the ability for programmers to create more. Unfortunately as Cupcake is relatively new, widgets are not widely available. The three new ones provided are disappointing - a picture frame (uses space, does nothing), a calendar (which only shows one upcoming appointment) and a music widget (for the default music app, which you will replace immediately).
The browsing experience is good, again probably second only to the iPhone. Scrolling is smooth, though large pages (such as Facebook’s non-mobile version) cause the browser and the phone to slow down considerably). Without multi-touch, zooming is a little annoying. The zoom icons appear when you touch the screen, so you need to locate a non-hyperlink non-button area of the page to touch. Major “I miss S60” moment: No Flash support.
As you might expect, the Google apps - GMail, Maps, GTalk - are all very good. One of the main selling-points of Android, sync with Google services, runs seamlessly and quickly. Push is available for GMail, but not for other mail services.
Photos can be geotagged and uploaded to the internet, though the default destinations include only Picasa for images and YouTube for video.
Android’s Bluetooth support currently only extends to headsets and car kits (and it does support A2DP) - but BT file transfer between handsets is not possible. WTF, Android? (I suppose I should be thankful that it has MMS and copy/paste?)
Android’s Market is as well-integrated into the phone as Apple’s App Store. The selection of apps is smaller, and there’s just as much dross, but the rating and comments system helps you pick out the best ones. Unfortunately you can’t sort by rating, and the search is a little dodgy - searching “compare”, for example, doesn’t bring up popular barcode-scanning app CompareEverywhere.
Though not on the scale of the App Store, there’s still plenty of redundancy in Android’s Market. After a week or so I’m largely settled on my choices of the best app for each job, but starting out was pretty daunting. Luckily, some of the major tech blogs have several articles’ worth of their picks, which is a good place to start.
Since Cupcake is so new, there are still a few app-related issues at this point - a fair few apps aren’t fully supported yet, and some apps are either confused by or rendered unusable by the lack of a hardware keyboard. Paid apps aren’t enabled for Cupcake yet, so my pick so far has only been from the free ones.
I’ve not started developing for Android yet, so I’ll leave that to a separate post. In terms of changing the firmware on the device, I’ve not investigated (and nor has anyone else that I can find on Google) how easy this is. All the existing firmware-flashing guides are for the G1, and make use of the hardware keyboard.
In particular, the only known method of gaining root access on the device involves reverting to the RC29 firmware version and typing in a command - but since RC29 didn’t have an on-screen keyboard, I’m not sure if anyone knows how or if this will be possible on the Magic.
Despite a few software irritations and an annoying lack of 3.5mm jack, I can see the possibilities of Android (particulaly the Market) meaning that it might take almost two thirds of my 18-month contract to get bored of this phone, compared to the usual one third!
The HTC Magic is currently only available in Europe, and is Vodafone-exclusive. It’s free on the £35/mo 18-month contract.
Probably worth mentioning that this is a really data-heavy phone, I’m a really data-heavy user, and Vodafone’s “unlimited” data plan has a 500MB/mo fair use policy. We’ll see how that one goes…
For the three of you who care, my Telegraph Fantasy Football team picker just got fiddled with.
I had gotten quite annoyed with having to find a machine with a Python interpreter and un-proxied internet access, then downloading the script, every time I wanted to run the damn thing. So I moved it all online!
The script itself now runs on a nightly cron job, so it should refresh its data every day. It generates a static HTML page which anyone can view, so several users can get one day’s results without running the script multiple times.
Also: This thing beat Alan Hansen and Jose Mourinho last week. Hah! Squishy famous football meatbags are no match for software!
Okay, how hard can it be to get a doctor’s appointment?
I called last Friday - admittedly quite late in the day - and was told “Sorry, you can’t book an appointment now. Call back on Monday if you still have the same symptoms.” Fair enough, I thought. Maybe the receptionist was just about to leave and had shut down her computer or something.
So on Monday morning, it gets to 8am and I start calling them. By the time I get something other than an engaged tone, it’s 11am.
“Sorry, we’re fully booked for today.”
ARGH. “Okay, can you make me an appointment for tomorrow?”
“Sorry, you’ll have to call back tomorrow, we can only make appointments on the day.”
So today is that tomorrow, and I figure rather than calling them and it being engaged for three hours, I’ll just go to the surgery. I show up at 8.30am.
“Sorry, we’re fully booked for today.”
“I’m afraid so. I can make you an appointment for tomorrow, though.”
“Okay, I- wait, you can?!”
So, five days after calling, and having had to take two bits-of-days off work, I may actually be able to see a doctor tomorrow.
Most annoying thing is, I’m getting better anyway, and not coughing nearly as much as I was at the weekend. What’s the betting I’ll have no symptoms at all by the time I get to see the doctor?
After a spree of lunchtime coding today, my Telegraph Fantasy Football Team Picker has finally hit v1.0.
It’s a utility for football noobs (like me) who play the Telegraph fantasy football game. It scrapes players’ past performance and injury lists from the web, and suggests the mathematically optimum team.
It’s now available as a stand-alone Windows executable as well as a Python script. It’s GPLv3 licenced. If you play TFF (or are just very bored), feel free to download and play with it! Bug reports / feature requests are welcome.
The commonly accepted wisdom is that babies and toddlers need a set routine in order to thrive. As someone who quite passionately hated routine and stasis for most of his pre-fatherhood adult life, I wondered how I’d cope with doing the same thing, day in, day out.
As it turns out, the problem proved to be quite the opposite.
I’ve now had such an omnipresent routine for so long that this week’s illness left me oddly worried - not about the illness itself, but about the fact I wasn’t at work.
And tonight, I’m going to the pub with some old friends. Most normal thing in the world, but yet it’s a break from the routine, and it’s left me feeling anxious and even nervous.
WTF, brain. WTF.