Archive for the ‘Technology’ Category

Trivial, Hard and not going to do it

Tuesday, July 17th, 2007

Charles Miller has posted a great article entitled Understanding Engineers Feasibility that dealing with classes of problems as approached by software engineers. Estimation is notoriously difficult at the best of times, but some classes of problems are more difficult than others.

In my very first development job out of university I was once asked to quote on how long it would take to develop some discussion forum software that would translate between English and Japanese in real-time to facilitate conversation between tourists and locals in an area near Brisbane.

My answer was “20 years and many millions of dollars”. The sales rep mostly hated me after that, but I thought she was joking at the time.

The big issues in this type of problem assessment boils down to the difference between Known Unknowns and Unknown Unknowns.

Some problems have Known Unknowns. Recently I was developing some code that relied on a solution to Subset-Sum (one of the NP-Complete family). We all know that solving NP-Complete is very hard - lot’s of mathematicians have been trying for a long time. However, there are some solutions that, while not being perfect from a theoretical stand point (as in, not provable), are good enough for real-world software. 

Unknown Unknowns are a different matter. If you don’t know the things you don’t know … well, you’re in trouble. I’ve recently been involved in conceptual work with something that will involve natural language processing and sifting through massive amounts of data in real-time. I have no idea what would be involved in approaching this type of problem … and the problems we don’t know that we don’t know are the ones that prove very hard indeed.
And as Charles concludes:

Very Hard is the extreme of hard problems. You’ll often see both words capitalised for emphasis, even in the middle of a sentence. Indexing the entire World Wide Web and providing relevant search results in millisecond response times is a Very Hard problem. Breaking commercial-grade encryption within practical hardware and time limitations is a Very Hard problem. Peace in the Middle East is a Very Hard problem.

‘Very Hard’ is usually reserved for the class of problem that if you solved it, you could change the world. Or at least build a successful business on top of your solution.

Dear Blogosphere: Shut up about the iPhone

Monday, July 2nd, 2007

Dear Blogosphere,

Shut up about the iPhone.

I don’t want to hear it.

I am already totally over the iPhone, and won’t even see one until 2008, at the earliest. See, Dear Blogosphere, not all of us live in the US of A.

Not all of are effected by the apparent revolution caused by some people strapping a cell phone onto an iPod and hooking it up to a network that barely works.

======================

It does seem apparent that Apple is going to do to the mobile phone market what they did to the MP3 player market. If they can survive the telecommunications companies - all reports are saying that AT&T are really dropping the ball. In the music market, Apple could get traction without playing directly with  the Record Companies, because people already had music collections. Once the iPod took-off, Apple had some leverage to play with. In the telecommunications world, things are very different … you can’t have an iPhone without the network, which means playing with the telcos. Australia’s equivalent of AT&T, Telstra, has a long history of customer abuse and mismanagement, but it’s the dominant player (read: only player in some areas of Australia) and Apple may be forced to deal with them.