Zero.

November 5th, 2011

Well, it happened. After months and months – actually a couple of years. My countdown has hit zero and I’ve reached the end of my invisalign treatment… Or so I thought.

Right now, I’m at the end of my first round of ‘refinements’ and I’m allowed a few more if I want to make further changes. I’m actually pretty happy with the result. Looking back at how my teeth were at the start of this thing, I can definitely see a real improvement.

Am I finished?
I’m not sure, to be honest. I’m very interested in not having to wear these things in my mouth anymore and the idea of saying “Yes, that’s it. They’re done.” is very appealing. But I’m still not 100% sure that one final tooth has positioned itself perfectly or not. I’ve discussed it with my dentist and he’s pretty confident that it’s as good as it is going to get. He even showed me the arch of my teeth from above with a clever little camera and, if you happen to be inside of my mouth, you’ll agree the alignment is perfect. From the front, on the other hand, it does look just a little bit out of alignment. My dentist thinks it is because the tops of the teeth are now a little zig-zagged because they’ve all been repositioned. Which he will fix when we’re done with aligners by levelling them all off for me.

You know what?! I’m going to call them done. If I stop now, I’ll still have a smile two million percent better than it was and that is a massive improvement. If I go through another load of refinements, I will still be wearing aligners in the New Year and there’s no guarantee that they will actually make any difference whatsoever. I’ll see if I can get a lovely smiley face picture that matches the one from my original starting post, to show you some before and after shots. You’ll be shocked at how far I’ve come. In the meantime here’s a crappy webcam picture to tide you over:

My new smiley face.

An Open Letter To The National Lottery

August 6th, 2011

Dear National Lottery,

I just wanted to draw your attention to a little problem I’ve run across as a subscriber to your online services; Over the past week I have received at least three e-mails from yourselves which were identical except for the date. The e-mail reads something like this;

This is a service message to advise you that we expect to see an increasingly high volume of traffic to the National Lottery website in the hours leading up to the close of the EuroMillions draw at 7.30pm tonight.

If it is your intention to purchase a ticket for any draw-based game today, we would recommend that you do so as early as possible in order to avoid any disappointment.

Yours sincerely,

National Lottery Customer Care Team

www.national-lottery.co.uk

Seem familiar? I’m sure you’ve seen it around.

Since I work for an online retailer, I do appreciate the benefits of sending out e-mails to remind customers of your existence and I’m sure a campaign like this is quite profitable.

However, I can’t help but see this as an exploitation of your own terms and conditions. I know that you are bound by UK law regarding customer privacy, which means that, when I tell you I don’t want to receive advertising or marketing e-mails from you, your company or its affiliates, I know you’re not allowed to send any of that stuff to me or pass on my details without my consent. This e-mail however is thinly disguised as a “service message” which, in your own terms constitutes part of the service I am subscribed to and not direct marketing. Your web server is going to be busy, you say? I might not be able to use the service later, you say? So I should get all my gambling done early and avoid the rush, you think? Well, aren’t you considerate for warning me?

My problem is this;

“Advertising is a form of communication intended to persuade an audience (viewers, readers or listeners) to purchase or take some action upon products, ideals, or services” – Advertising – Wikipedia

I think your call to action in the above e-mail fits neatly into this definition of advertising, despite being qualified with “If it is your intention to… [blah blah blah]“. I know, the Advertising Standards Agency’s new online remit wouldn’t agree with me on this, but I still feel like my trust in you to not bother me with “come and gamble today” messages has been violated.

If you’re genuinely worried that a run of last minute gambling will bring down your website on these big lottery draw days then I humbly suggest you do something about it rather than waste time and resources on broadcasting about how unprepared you are for the coming onslaught.

I’m sure a company who, last year, banked over £31 million in profits and paid dividends of over £33 million to it’s shareholders – funded by the 70% of UK adults who regularly play National Lottery games - can afford to invest in some more scalable server technology.¹

I know you’re basically a Canadian Teacher’s union pension scheme in disguise nowadays, but come on. Buy some more servers and quit spamming me.

Sincerely Yours

Russ Wilde

¹ Statistics taken from the Camelot Stakeholder Report 2010.

 

 

 

 

 

Jailbreaking your iPhone 4 running iOS 4.3.3

July 2nd, 2011

I recently jailbroke my iPhone 4 using r3dsn0w and following this very simple tutorial on Redmond Pie

http://www.redmondpie.com/jailbreak-4.3.3-untethered-iphone-4-3gs-ipad-ipod-touch-using-redsn0w-tutorial/

Unfortunately I found that the download links for r3dsn0w were broken in that article – at least the mac version link was. But a little bit of adventuring landed me here;

https://sites.google.com/a/iphone-dev.com/files/home/

Home of a whole bunch of redsnow downloads for both mac and windows (be sure to get the latest version if, like me, you’re on the latest baseband)

The jailbreak in iphone 4 (4.3.3) is untethered, which is nice, although I still can’t install iDroid in iPhone 4 with iOS 4, but I guess I’ll just have to be patient for that – I know it’s a tough trick to pull off.

So I wrote this URL shortener…

June 7th, 2011

So there I was, procrastinating over a very important job that I have still to finish and I got to wondering about the short codes used for URL shortening services – you know, these ones; http://abc.com/1a4c

As is so often the case when you start researching cool mathematical stuff for a neat function, it turns out that someone’s already done all the work. In this case, I learned about the PHP base_convert function which can neatly convert boring base 10 numbers to lovely  base 35 numbers (actually, it will convert from any base number to any other base up to base 35), which is marvellous. I had originally started drafting another function to generate short-codes of a larger collection of symbols, but the codes might not always be reliable when passed through various internet chanels – I don’t think it is safe to rely on case-sensitivity for example, which would have massively extend the code range – So I decided to use the base_convert function which uses letters and numbers to represent base35 numbers.

I figure, if I use short-codes from 1 to 5 digits in base 35, that still gives me over 52.5 million codes before I have to figure a way for extending the code-base. I’ll probably run out of database before then anyway.

Once you’ve got short codes from decimal numbers sorted out the rest is a walk in the park really;

  1. Collect Urls to be shortened
  2. Store them in a database with a numerical index
  3. Use the index number for each url to generate a shortcode
  4. Do some fancy url rewriting to redirect each shortcode to it’s destination url

Since my Url rewriter is for me and not for insane “SEO specialists”. I’ve made some concessions in the way it works;

Urls aren’t redirected with a 301 http code. In fact each url in the shortener presents a page with a javascript redirect that bounces the user to their destination after a short delay. The waiting page shows the precise page that the user is about to visit, giving them a chance to change their mind and hammer the back button. After all, these short codes could be leading you anywhere.

Not redirecting with a 301 also means that I can collect more accurate analytics from each link as I can see every visit to that ‘bounce page’ before the user is passed on to their final destination. A 301 redirect is designed to be cached by browsers and subsequent visits would then bypass our page altogether, meaning we wouldn’t count all visits to our shortened urls.

The other concession I had to make was this – my url shortener doesn’t produce very short urls – regrettably the very short domain names are really damned expensive. So, for the time being, I’ve plugged it up at a short subdomain of an existing short-ish URL from my collection:

http://u.if-host.co.uk/

It currently has no stylesheet ’cause I wrote it in an afternoon, but please do try it out. Feedback will be gratefully received in the comments on this post.
Also if anybody has a cool short URL they’re not using, I would be happy to host this service on that url for you.

Incidentally, it’s my Birthday on Friday. There’s going to be cake, one way or another (and probably both – oh man I love de cake!).

New Hosting…

May 24th, 2011

Just a little note to say that we’re currently migrating to some new hosting. There won’t be any down-time – not that it matters I suppose, but if you’re reading this version of this post, you’re talking to the NEW server.