Wednesday, July 04, 2012

Thinking is dead

Anne wrote a reasonable blog a while ago on why SOA was and wasn't dead but I'd like to go a bit further today and say that generally the concept of thinking appears to be dead.  The value of 'thought' and thinking in IT has diminished, in a way that mirrors society at large, to the stage where design, planning, architecture and anything else other than just banging away at a keyboard appear to have been relegated behind opinions and statements as fact.

REST was a good example of this.  It was going to be the revolution, it was going to be the way that everything worked.  Two years ago I called bullshit on that revolution and I still say its bullshit and the reason is simple.
IT values technologies over thought
So people genuinely, and stupidly, think that how you shift packets from A to B will have a massive impact in how successful IT projects are at delivering their objectives.  What impact has this had on the massive spend of ERP packages out there?  Nothing at all.  What has impacted that?  Well folks like SFDC because they've shifted the business proposition and in so doing have moved the way business people think about IT systems.

The same goes around with Hadoop and Big Data.  The massive amount of information growth is complemented by an equally large amount of bullshit and a huge absence of critical thinking.  What is the major barrier to things like Hadoop?  "Its lack of real time ability" I hear people cry.  Really?  You don't think its that we have millions of people out there who think in a SQL Relational way and who are really going to struggle thinking in a non relational non-SQL type of way?  You don't think that the major issue is actually in the acquisition and filtering of that information and the construction of the very complex analytics that are required to ensure that people don't go pattern matching in the chaos and find what they are looking for.

We are currently seeing a rush to technology in IT departments that is focused hugely on bells and whistles while the business continues to look at outcomes.  With the business looking at SaaS, BYODand self-service applications the importance of thought and discussion in IT is acute. What I often see however is statements of 'fact' like 'you don't need integration its SaaS' or even worse a statement on a specific piece of API based technology as being important.

Planning, architecture and design are being seen in parts of IT as bad things as a mentality develops around a concept that some how basic fundamentals such as TDD, contract design and doing things that actually proven to work are in some way wrong.  Adoption of unproven technologies is rife as is the surprise when those technologies fail to deliver on the massively over hyped expectation and indeed fail to even come close to delivering at the level of dull old technologies that do the job but don't currently have the twitterati in thrall.

'Experts' in this arena has come to mean 'people who shout loudly' in a similar manner to US politics.  Facts, reason and worst of all experience are considered to be practically a disadvantage when being an expert in this environment.  I was recently in formed that my opinion on a technology was 'tainted' as I'd used multiple other technologies that competed with it and therefore was 'biased against it'.  I'd also used the technology in question and found that it was quite frankly rubbish.  Sure the base coding stuff was ok but when I looked at the tooling, ecosystem and training available from those competitors I just couldn't recommend something that would actually work for the client.  Experience and knowledge are not bias, thinking and being critical of new approaches is not a bad thing, thinking is not dirty.

When I look around IT I see that design is a disappearing skill and that the ability to critically assess technologies is being replaced by a shouty fanaticism that will ensure one thing and one thing only:
IT will no longer be left to IT folks
The focus of shiny technology over business outcomes and the focus of short term coding over long term design will ensure that IT departments get broken up and business folks treat IT as a commodity in an ever growing way.

Thinking, design, planning, architecture and being skeptical on new technologies is the only hope for IT to remain relevant.


Wednesday, May 09, 2012

Carbon Travel Tracker

Okay so now in the iTunes Store is my first attempt at an application that does something actually useful. Its the Carbon Travel Tracker. I travel a lot, not as much as some but quite a lot more than most, two questions always came to mind

1) Just how much do I really travel
2) What is the Carbon impact of that
In the spirit of 'if you don't measure it you can't change it' this really was an application where I wanted it to be really hands off.  I don't want to have to enter all of my travel, I want my phone to stalk me all the time and work out what sort of travel I'm doing and what is the impact of that.

There is much more on the application on the Carbon Travel Tracker support pages but here are a few highlights

  1. Tracks automatically in the background - kick it off and it just runs
  2. Automatically splits travel into sections/journeys and makes an educated guess on the travel type
  3. Allows you to manually override whole sections or sub-sections with the actual travel type
  4. Records your distance traveled in the day, week, month, year and since the app was installed
  5. Records the carbon impact of that travel
  6. Tells you how many times around the world that travel equates to
  7. Tells you how many trees, over the same time period, it would take to make you carbon neutral
The purpose is really to have a map so my kids can see where I've been an it sort of escalated from there.


So the map required points, points gave me distance and speed, speed & distance gave me travel types and finally that gave me the carbon impact.

So I now know that basically I don't have a Carbon Footprint, I have a Carbon Body bag.  Now as it says at the top, this app is now:





Wednesday, May 02, 2012

Why coding isn't a 1 day thing and why the UK view on education has to change

decoded.co have started quite the PR and education puff around the idea that they can teach you to code in a day.  Or to be accurate on their site they say they
To teach anyone code in a day.
Now clearly that sentence doesn't make sense as coding is a task, something you do so it should be 'to code' not simply 'code'.  Its like saying 'To teach anyone run in a day' so first off they clearly need to fire their copywriter.

This is why I wrote a series of posts that came out today

The purpose behind these posts is to point out the idiocy of the idea and the lack of respect that science and engineering really have in the UK.  No one would dream of claiming that you could be an artist in a day (despite the fact that at 13 my bed was WAY messier than Tracy Emin's) but its acceptable to claim that coding is somehow less challenging and requires only a day to learn.

Lets be clear here, I am a massive supporter of getting decent technical IT education into schools and of raising the profile of technology and getting more people involved in coding.  I regularly suggest to people that they should give it a crack and suggest using existing examples as the starting point for learning.  If the intention was to introduce people into coding and open their eyes to the possibilities then I'd be okay, but this course doesn't aim to do that it aims to make people think they are actually coding after a day.

I'm sure some people would read this and think 'ooooh he would say that because he has a vested interest', well I'd like to put people like that in the same group as those who believe in horoscopes and homeopathy and refer to astro-physicists and doctors as 'vested interests'.  I do this for a living, I did a degree in this subject and I'll tell you two things
  1. Natural Talent matters in code the same way it matters in art, some folks are just better at thinking like a computer and bending it to their will.  Give me one of those with some basic training over the learn and code by rote developer with 20 years experience
  2. Grasping the basics isn't that hard
The latter point is the one I'd like to say.  I reckon I could teach anyone to ACTUALLY code and ACTUALLY understand what it was doing in a couple of weeks.  At the end of that they'd know about pointers, memory, algorithms, OO basics etc and be able to write themselves a small program from scratch.  If they turn out to be in the natural group then the program could be quite complex, if not then it will be a directed view of a specific solution.

That is why decoded's idea is so rubbish, not because code really does take 10,000 hours to really do well but because it doesn't.  By reducing it to a day of cut and paste you actually miss the creativity and the real sense of achievement you get from well crafted and working code. But in the UK this isn't surprising to be honest as science and engineering have for a long time been very much the 'dirty' parts of education, areas where its okay to look down on because they aren't as 'pure' as Art.

The UK is a country where people value a degree in Classics... Latin and Greek.  Its seen as the 'top' degree from Oxford and Cambridge in many circles.  How mental is that in 2012?  How mental would that have been in 1950 in fact?  Despite this ridiculous concept of art subjects and Classics been 'valuable' and the active steering of kids away from Science, Maths and Engineering from a young age its amazing how many world leading engineers the country has produced and the number of Nobel prizes that come from this little shore.  The talent is there but the support most clearly is not.

Coding in day is typical of the lightweight way that British Education, Media and Society treats Science and Engineering, its something for 'geeks', its dirty, its complex and its completely ok to disagree with it from a position of total ignorance as this gives us 'balance'.  It is perfectly okay for people to hold views from ignorance on Maths, Science or Engineering and indeed the set up of British Education is designed to do just that, most especially to ensure that as few women as possible do those subjects.  Much of this dates back to the 'Arts and Crafts' movement of Victorian times which looked to portray science and engineering in a negative light when compared with the 'purity' of hand-crafted art.

The reality is that Science, Engineering and Maths are what the UK does really well, Newton changed the world through the use of Mathematics, in the 18th and 19th Century Britain changed the world through Science and Engineering and in the 20th century it was Brits who invented many of the things we take for granted today as well as providing the theoretical basis for modern computing (and the first computer).  

Despite all of this it is still not supported or promoted in the way that it should be.  When I travel to Germany, Netherlands, France or the US I see a different perspective.  Even in the US where the concept of jocks and geeks is ingrained into the school system there is still clarity at Universities over what achievement is about.  

Getting people interested in coding is absolutely something that should be applauded and encouraged but it needs to be done in the same sort of way that people would be taught how to paint, how to write, how to postulate on the foundations of the universe: as a building block, a building block on a long and potentially wondrous journey.

It also needs to be treated with the seriousness that an industry which has revolutionised the planet deserves.  This is the economic powerhouse of the world, it has bigger impacts than any other single industry in the world today.  Ultimately isn't that something that deserves real government focus and real media focus rather than receiving coverage more superficial than that dedicated to horoscopes and homeopathy?

Learn to be French in one day

Ever listened to a French Art house film and thought 'I wish I could do that'?  Ever walked through the streets of Paris listening to people and thought 'How do they do that?'.  For too long being French has been thought of as something that you need education for, something that requires rigour, experience and actual learning to achieve.  But no longer.

I am now offering people the chance to learn to be French in a single day.  As part of this course you will
  1. Wear a stripy jumper and put onions around your neck - and you will be French
  2. Shrug and point at things - and you will be French
  3. Refuse to go on with the course and burn a sheep(*) - and you will be French
  4. Use words such as "Bonjour", "Zoot alors" and "Bricolage" - and you will be French
At the end of this one day course you will be a fully fledged French person and understand all the principles behind France and be able to declare yourself French(**).  I firmly believe being French is not just for people who were born there or who have lived there and achieved nationality, its for anyone who pays me money to do basic tasks where I can wrap enough crap around it to convince them they've actually achieved something.

At the end of just one day you will understand what it takes to be Fnrehc, you will realise that being French is something that is actually fundamentally easy and all French people are actually just over complicating it.  There is nothing else that you need to learn to be able to say that you understand what it takes to be French.  YOU will be able to look at the French nation and say 'I know exactly what it takes to be French'.

* additional fee applies
** not legally binding, does not include passport


(in homage to decoded)

Learn to be an actor in one day

Ever looked at a play and thought 'I wish I could do that'?  Ever looked at the Oscar winner for best actor and thought 'How do they do that?'.  For too long acting has been thought of as something that you need training for, something that requires rigour, experience and actual talent to achieve.  But no longer.

I am now offering people the chance to learn to be an actor in a single day.  As part of this course you will
  1. Read stuff out of a book - and it will be acting
  2. Copy famous scenes from films - and it will be acting
  3. Get cast in a Michael Bay film as an attractive woman - and it will be acting(*)
  4. Shout loudly on a stage from a script - and it will be acting
At the end of this one day course you will be a fully fledged actor and understand all the principles behind acting and be able to declare yourself an actor.  I firmly believe being an actor is not just for people with talent, experience and training, its for anyone who pays me money to do basic work where I can wrap enough crap around it to convince them they've actually achieved something.

At the end of just one day you will understand what it takes to be an actor, you will realise that being an actor is something that is actually fundamentally easy and all those great actors were actually just regular people like you.  There is nothing else that you need to learn to be able to say that you understand what it takes to be an artist.  YOU will be able to look at Spencer Tracy in 'Inherit the Wind' and say 'I know exactly what it takes to do that.

* limited places


(in homage to decoded)

Learn to be a writer in one day

Ever read Shakespeare and thought 'I wish I could do that'?  Ever read Steinbeck, Dickens, Austen, Pratchett or Proust and thought 'How do they do that?'.  For too long literature has been thought of as something that requires rigour, experience and actual talent to achieve.  But no longer.

I am now offering people the chance to learn to be a writer in a single day.  As part of this course you will
  1. Rewrite a paragraph of Dickens in modern English - and it will be Literature
  2. Use Google translate to switch Mollier from French to English - and it will be Literature
  3. Write a short poem on the subject of being a writer - and it will be literature(*)
  4. Cut and paste text from various writers to make a new story - and it will be literature
At the end of this one day course you will be a fully fledged writer and understand all the principles behind literature and be able to declare yourself a writer.  I firmly believe being a writer is not just for people with talent, experience and dedication, its for anyone who pays me money to do basic copy work where I can wrap enough crap around it to convince them they've actually achieved something.

At the end of just one day you will understand what it takes to be a writer, you will realise that being a writer is something that is actually fundamentally easy and all those so called giants of literature were actually just regular people like you.  There is nothing else that you need to learn to be able to say that you understand what it takes to be an artist.  YOU will be able to read Chaucer and say 'I know exactly what it takes to do that.

* additional fee for beret 


(in homage to decoded)