A new definition of primes

I had a discussion over email a while ago with someone I finally met today about whether the number 2 is prime.  Let’s call him James.  His real name is James.

A prime is usually defined as a number greater than or equal to two that is divisble by 1 and itself.  People often take issue with the arbitrary lower limit set, which is there to avoid 1 being prime which would almost certainly cause the world to end—the likely wider consequences are far greater.  But I’ve never had a discussion with anyone about whether 2 is prime.  It just is.

To avoid any doubt over 1’s primeness (and indeed that of its next door neighbour, 2), I’ve never understood why the definition isn’t changed to the following:

Any number divisible by exactly two positive integers.

It would work wonderfully and save all sorts of deep and meaningfuls among mathematicians.  Actually, maybe that’s why the definition’s never been changed.

AOL: the devil of the internet

AOL is without doubt the devil of the internet. I hate it with a passion, a passion the extent of which is rarely surpassed. Nazism is below it, but it’s a close call.

This weekend, I visited my parents. And my dad’s internet experience is so heavily compromised by the AOL scourge. The experience of everything he does online is shit. Email is embedded within dreadful, AOL-branded windows, with no sense of a world outside. The browser is horrendous, using the IE engine (as far as I know), yet coming with all of the horrors of IE and none of its few redeeming features. (CTRL+Enter doesn’t work to auto-complete web addresses with the Ws and the .com, for example.)

And the worst thing about all of this: my dad thinks this is the internet. For his age, I’d say that technology-wise, he’s relatively savvy. But AOL has locked him into a world that is AOL so much so that he knows no better, and never gets the opportunity to explore outside—just because AOL provides his Internet connection.

It’s not like Google. Google does provide you with an internet world, but it’s nowhere near as closed. It links elsewhere, and doesn’t seem to mind if you leave their world, trusting that you’ll come back when you need to.

So next time I’m in Halifax, my mission will be to get him off the heroin that is AOL, the drug equivalent of the internet. Scum that they are.


I have a phobia.  My phobia is that someone with my name will become famous.  Someone that’s not me, that is.

Suddenly, I wouldn’t be on the front page of a Google search for my name; and whenever introduced to others, people would be more interested in tiresome name-based observations than in meeting me.  And generally, it would all be a bit shit.

So if you share my name, please shy away from the limelight.  There’s a good lad.

iKea and iPhones

I’m always amused by the drawer-testing robot in Ikea.  For those not aware of its work, it’s located in the kitchen area, is protected from the general public (or the general public from it—I’m not sure which) by a box made of heavily-scratched, once-clear acetate, and is made up of a ready-made Ikea drawer unit along with a robot that opens and shuts the drawer throughout the history, and indeed the future (collectively known as the fullness), of time.  Its purpose is to prove the robustness of Ikea drawers.

I’m amused because it’s rubbish.  Drawers don’t break because they’re opened and closed smoothly time and time again.  They break because you come home drunk, slip in the kitchen grabbing one of the drawer handles to soften the impact of your ass on the tiled floor.  (Note to wife: this is a fictitious scenario being used by way of example.)  They break because you try to open them with your foot while straining your vegetables (not a euphemism) to avoid your sticky hands daubing the handles.  (Note to wife: see above.)

Today, I thought of the Ikea robot while operating the top-left switch on my iPhone 3GS—the one that switches sounds on and off.  Of all of the beauty that is the devilishly handsome device, this appears as though it may be the weak link.  Don’t get me wrong—mine hasn’t broken or anything.  It’s just that switching it is quite a delicate operation, delicate yet physically pleasing.  I have a feeling that over time, that delicateness could compromise its operation.  Yet I reckon Apple has proven its worth by switching it perfectly a million times without any problems, likely using a modified drawer-opener on loan from Ikea.

But it’s when you reach in your pocket and switch the switch blind, probably pushing it at an unseemly angle, that problems are likely to occur, unbeknownst to Apple.

That’s why I thought of the Ikea robot today.  And that’s the bit of the iPhone 3GS that I think is most likely to break.  You have been warned.

My name’s Dan and I read my own blog

It’s a bit sad, isn’t it? But I subscribe to my own blog in Google Reader. And I read most of the posts that appear there.

Before publishing a post, I’ll preview it, allowing me to assess the prose before it is exposed to its audience, however small that audience may be. This gives me the opportunity to correct any issues with flow, and any howlers I may have made along the way.

And some time after I’ve hit the Publish button, the post will pop up in Google Reader. And invariably, I’ll read it in its entirety. Occasionally, I’ll spot a mistake that slipped through the net—I find my own work the most difficult to proofread, as I’m too close to it—but more importantly, I’ll read it as an audience member, given the delay since having read it.

And I like little better than stumbling upon old posts from years back to see what I had to say. I’m happy to say that my writing has improved over the last five years, as has by my grammar. Notwithstanding, I enjoy the things I had to say back then.

I’d be interested as to whether others out there read their own work.

Stats without context, war without tears

Statistics without context annoy me.  Sometimes it’s done innocently, the author not appreciating the value of comparators to give the reader an understanding of the size of the problem or the scale of the sums of money involved.  At other times, usually in the world of journalism, the lack of context adds weight and impact to the story.

I’ve been following Russell Tanner on Twitter of late, in advance of his hour atop the fourth Trafalgar Square plinth this afternoon.  His campaign is to encourage Coca-Cola to use its mighty distribution network to help distribute aid to needy children—a more than admirable and worthwhile campaign.  (As an aside, Coca-Cola looks odd written down in a non-swirly font, particularly given the fact that it has pretty much been re-branded exclusively as Coke in the 20+ or so years since I was a big Coke user.)

Russell recently tweeted that four children die in Africa every minute.  It was without context—in part, no doubt, due to the 140-character limit, and in part to make the statistic stand alone, the lack of context making the message all the more powerful.  A good result, in this case.

But I have no idea, for example, how this child mortality number compares with that of India, China, Europe, the USA.  As you can imagine, Africa’s rate is high.  It accounts for 40% of the world’s infant deaths, yet only 24% of the world’s births, according to the INED.  (I’m not sure of the definition of children in the above tweet, btw.)  And at number two, Afghanistan is the only non-African country in the bottom 25 countries in the world, as ordered by infant mortality rate, Sierra Leone bottoming the list with 16.0% of infants dying before the age of one.  (A further 11.8% die before they reach five.)

In fact, an infant in Sierra Leone is 33 times more likely to die before their first birthday than one in the UK, or 55 times more likely than one in Iceland, the country with the lowest infant mortality rate at 0.29%.  Some of these statistics are equally powerful, possibly more so, than the fact that four children die in Africa every minute.

Newspapers are also guilty of failing to give context to statistics, particularly when quoting government financials.  Most of us can’t get our heads around the huge sums of money quoted in news articles about economic cash injections (hundreds of billions of pounds/dollars, trillions even), NHS expenditure/waste, overall government IT spend, pan-Whitehall budget cuts etc.  As soon as you read about £100m being wasted in some area of government, the anger is there.  And while I don’t condone such wastage, without context it is meaningless, particularly given the emotion that the trailing zeros bring about (especially as they’re usually printed in full, allowing the reader to pore over each and every one).  £3 for every UK tax payer, or £200 for every civil servant, or 0.1% of the overall NHS budget, would give valuable context.

On the other hand, when you’re dealing on a daily basis with such large numbers because of the very nature of the job you do—whether you work at HM Treasury itself or one of the big delivery or policy departments—you can become immune to the scale of the numbers involved, possibly to the detriment of your judgment.  If IT suppliers quoted for work in numbers of NHS beds, rather than the more traditional thousands of pounds, would their prices go down?

So please add context when quoting numbers, particularly if the lack of context is likely to cause a disproportionate reaction from the reader.

Bon appetit

Tonight, a good friend of mine and someone who used to be a good friend of mine are out to dinner. I am happy they have found each other’s friendship through me, but miss the latter hugely.

Bon appetit.

The calendar headache and sullied applications

Most applications start off simple. And as they grow, morph and change direction, complexities come along that satisfy the user requirements, while compromising the purity of the application.

The purity of Excel has been compromised by the introduction of Pivot Tables, for example (pivot!).

I often struggle to comprehend the enormity of calendar applications; and get frustrated at how they don’t necessarily behave as expected in certain quirky scenarios. And this is a symptom of that very problem.

Basic calendar management is easy. The business requirements are simple to define (ability to schedule stuff and invite people), and they can be developed without any compromise. But then you strap on some other requirements—calendar delegation, ability for invitees to invite others, management of re-scheduled entries—and suddenly the requirements are not obvious, and their implementation Is likely to impact on the original functionality.

Who is allowed to edit a meeting request? Who gets notified if a meeting is changed? (How) do invitees get notified of additional or removed invitees?

Calendars seem to me the most complex applications that we use on a day-to-day basis. They have so many branches that sully the core, but that are necessary to the richness and usefulness of the application.

I often imagine the various teams at Microsoft, the Oulook team neurotic and literally pulling their hair out at the compromises they need to make; and the Excel team, walking with their heads held high at the relative purity of their application, with the exception of the Pivot Tables and Styles sub-teams, sat embarrassed in the corner at having marginally sullied purity (along with the guy who made 29 February, 1900 into a recognisable day).

iTunes enhancements

There are a couple of enhancements that Apple should make to iTunes that would make my life a whole lot easier.

First of all, please allow the de-duplication of tracks without compromising the make-up of albums.  I don’t want five identical copies of Blur’s Girls and Boys.  As well as eating up memory unnecessarily (a minor inconvenience given the amount of storage available), it means that randomising the order of tracks on the iPod/iPhone/iTunes results in that track being played many times over.  (I’m currently going through the songs on my iPhone in track name order (from A–Z), exacerbating the problem, to my exasperation.)

I don’t mind there being different versions of the same song.  But if there are two tracks with the same song name, within a second or two in length, with similar musical make-ups, then give the option of creating a master and a slave copy, and managing the music that way.  (If the master is deleted, then replace one of its slaves with the master and re-point all of the other slaves etc.)

And please have the concept of a device-independent star-rating and play count.  When I change my device, I shouldn’t have to re-star all of my music; and my 25 most played tracks shouldn’t be reset.

Can you sort it, Apple?  Well, can you?

Formatted hashtags

Paul Clarke speculates here about the usefulness of Twitter, with a specific focus on whether its penetration can be used to local effect: in reporting weather conditions or traffic disruption, for example.

He cites a couple of examples of hashtags (#uksnow, #uktraffic), both of which require(d) a specific syntax following the hashtag.  For example, #uktraffic needs to of the form:

#uktraffic [road] [where: jcts or place] [direction] [description] RT&seewhathappens

By submitting hashtags in that form, it enables them to be parsed for use in other applications, allowing them to be mapped, summarised etc.

With all due respect, I don’t think the Twitter community is sufficiently diligent to obey what seem like simple instructions such as this.  Yes, they can probably remember the hashtag.  But I’m sceptical as to whether they can remember the specific items that follow, let alone the order in which they need to appear.

For syntax-dependent hashtags like this to work, there needs to be a mechanism by which they can be registered, complete with the required syntax.  That way, end users can subscribe to such hashtags, allowing their client applications to prompt them with the required syntax once they’ve entered that hashtag.  Much in the way that Excel prompts you with the arguments needed for a formula that you’ve started to use.  (Hell, even I never remember the order in which SUMIF arguments should be entered.)

Without this, the hashtags might be used, but the data they generate will be next-to-useless.

Next Page →