Skip to content

Student Recipe Book

This page is a set of links to my “student” recipe book. These are Pages documents shared on iWork.com, and can be viewed, downloaded in various formats and printed. The basic idea is to create a collection of student friendly recipes that are nutritious, cheap to make and simple to prepare. Continue reading ›

Tagged

How To Buy Things

Which applies to everything, although this is an approach that I discovered (as did many other people) when dealing with very expensive software.

The Wrong Way

This is how most people buy things. Find a list of “features” (features are attributes of a product, and could be anything; true, false, or utterly fictional); then find an alternative product, and measure the length of the two lists. Buy the one with the longest list.

This is wrong because the buyer has no personal involvement in decision making, and swallows whole the tales of the sellers, who obviously have a vested interest in selling their product, by beating a competitor. This is what causes the phenomenon of the people who believe the last person they spoke to, ignoring all others. No discrimination is applied, and this approach will fail.

The Half Right Way

Do you know someone who always buys the cheapest comparative product? We all know someone like this. It’s a poor way of making a decision, but it’s the way governments do it, as well as shoppers in some supermarkets – the cheapest ones, obviously. This approach fails because it doesn’t consider value.

At its heart, value is something very simple. Is it worth more to you than it costs? When “worth” is easy to calculate, which it often is for a business; say, the number of man-months to write a program, or to build a new office, then that decision becomes simple, and anyone in a position to make that sort of decision should know enough about driving a spreadsheet (or a calculator) to be able to reduce the decision down to numbers, to a simple profit or loss.

But when making a decision over two packs of vegetables in a supermarket, or two brands of beans, you have to weigh the worth to you, or your family, or better taste, better nutrition, and better ease of use. Sometimes this can be a clear decision, but more usually it isn’t. in these cases, what works best is to have previously considered the relevant factors, and decided on their priority.

The Right Way

Gather lists of features. Consider them all, and separate them into three parts: “must have”, “nice to have”, and “irrelevant”. Then match each product against these lists. If only one product hits all of your “must have” features, then you know what to do. If more than one product has them all, then you can take into account the “nice” features. If no product has them all, then you can either reassess your feature lists, or (more sensibly) decide not to buy.

This is extremely simple. An easily led person can skew the lists to favour one competitor, but then it becomes obvious to everyone who is cheating, and how. This works for big decisions as well as small, everyday ones. Sometimes a decision seems hard, but becomes obvious when you understand which features are important.

Hiring – how to ignore the guidelines and get it right

I’ve been a hiring manager for twenty years (low ’80s to low ’00s), but I haven’t done any hiring in the last (almost) decade, and I’m disappointed how things have changed in the software industry over that period.

I was hiring for technical support and programmer positions, ranging from IBM assembler and mainframe MVS experience to Java and Objective-C programmers; sometimes this would have been mainstream qualifications, and other times not. I did a good job of this; thinking back, most of my hires received a substantial promotion not long after joining – a real promotion, but just moving from a trainee grade to another; and some left to join Apple and other significant employers. I didn’t like that much, but I think it shows that my hiring approach was working.

Current practice seems to be to require applicants to jump through humiliating hoops to prove their current knowledge of existing technologies – JavaScript, C++, .NET, where the hoops are basic algorithm tests. But this doesn’t get anywhere near the real issues. However, I have the Internet, search engines, auto-completing syntax aware IDEs, and an excellent collections of books; and with new technologies coming out all the time, keeping up with the best solutions can be a full-time job. The exam approach just isn’t a good one; in fact, getting the right employee with this approach can only be a matter of luck, where the hiring manager effectively ignores the guidelines, knowingly or not.

I don’t want a new employee who will be bored with their routine work – I want to stretch them, and I want them to learn on the job; in fact, if they won’t be regularly learning, they are wrong for the job, and I don’t think I can emphasise this enough. I’m not alone in saying this; if you read any of the books and blogs over the last ten years, you’ll have seen this time and time again. So what’s going wrong?

My strategy was simple: I wanted to hire people like me. Specifically, people who can think, can learn, and were motivated to achieve. I also had a hiring trick: my benchmark, if you like, was (and is) the classic hacker, as described in the appendix to Eric Raymond’s Jargon File (see here). The Pragmatic Programmer book covers the same ground from a different direction, but the conclusion is just the same.

SOE Status: iPhone app for monitoring SOE game servers

SOE Status is in the App Store now (http://itunes.apple.com/gb/app/soestatus/id463597867?mt=8). Link is to the UK store, US store link is: http://itunes.apple.com/us/app/soestatus/id463597867?mt=8

This takes the data from the new SOE status page at http://www.soe.com/status/ and displays it on your phone; you can select data for a single game and refresh that display if you wish.

It runs on iPad as well as iPhone – it probably won’t run on iPhones using OSes older than 4.1. Now that it’s shown up in the store, there’s a couple of minor tweaks I will make and resubmit. Any suggestions or bug reports are welcome.

Tagged

Pragmatic Thinking and Learning, by Andy Hunt

Recent reading has included “Pragmatic Thinking and Learning” by Andy Hunt, from @progprog. Most interestingly, it covers almost exclusively topics that I have absorbed over the last 30 years or so – meditation, context switching, personality types, left/right brain thinking, mind maps, GTD, and so on. I didn’t realise that I knew so much! Continue reading ›

Tagged ,

Downtime in the USA

There were times in my life when, each year on average, I spent more time in the USA than the UK (where my home officially was).  Apart from stretches of crashing boredom, I rather enjoyed it.  I can’t pretend that I have any magic secrets on how to make downtime interesting, especially if you don’t have tons of money to burn.  So here are my suggestions; what I did back then, which are all extensively tested, as well as what I might consider doing now (that I couldn’t have done then, or just random stuff with the benefit of hindsight). Continue reading ›

Travel Advice

Once upon a time, in a very different world from the one we live in today, I used to fly. Continue reading ›

On assembling an Ikea PAX wardrobe

We recently decided to install a pair of Ikea Pax wardrobes in our bedroom. Continue reading ›

Tagged

Twitter enable your app with XAuth!

Community enabling an application can be a pain – far harder than it needs to be. One of the biggest reasons for this problem is OAuth. Requiring a mobile application to open an 800×500 html window is unrealistic, exacerbated by graphic designers who think that a web page is the answer to every problem (remember the saying about how “to a man with a hammer, a screw looks like a nail”?). The sensible solution can be secure http connections with REST/JSON APIs, but it isn’t opening a web page! Continue reading ›

Tagged ,

Adding iAd to Your Projects

I noticed that there is no official sample code for including iAd banners in your projects. Knowing Apple “version zero” demoware, I thought it might be a good idea to build a small project to evaluate iAd. Continue reading ›

Tagged , ,