“Don’t say you don’t have enough time. You have exactly the same number of hours per day that were given to… Leonardo da Vinci, Thomas Jefferson, and Albert Einstein.” H. Jackson Brown author of “Life’s Little Instruction Book”

July 6, 2011

Wow. Its been over 2 years since my last blog entry. In fact looking at the date of the last entry, it was 2 days after I started my then new job at a large insurance firm in the ‘City Of London’ (Think bowler hats, braces, tie pins etc.). It’s too clichéd to say “so much has happened”, so I’ll be more specific 1) I fell in love 2) Bought a house 3) Quit afore-mentioned job 4) Got new job. All the stuff inbetween was what happened whilst I was making plans 1-4. [John Lennon- hat tip].

Ok that’s that dealt with. Now to set the world to rights. Actually no, life’s too short. Well, I say that, it’s not short really, in fact that’s one of the lessons I’ve learnt, saying “I’m so busy, I can’t do x,y and z”, just doesn’t convince me anymore. You know when you know you’re kidding yourself, well that’s when I think you really start to learn lessons.

I’ve been telling myself I’ll do lots of things, a) Write/Film a short comedy b) Follow through on that idea I had for a web-site c) tonnes of other things. I’ve reasoned that its good to have the hunger, but perhaps not so good to have dreams you never attempt. (Is a web-site a dream?). I can’t even remember where I heard it first, and I’m pretty sure I didn’t hear it in its original format, but the following quote has become my motivational mantra:

Don’t say you don’t have enough time. You have exactly the same number of hours per day that were given to Helen Keller, Pasteur, Michaelangelo, Mother Teresa, Leonardo da Vinci, Thomas Jefferson, and Albert Einstein.”

 ~H. Jackson Brown author of “Life’s Little Instruction Book”

Aside: As I type away, I’ve forgotten how ‘cathartic‘ [dramatic word apology] getting stuff out of your head and onto the screen is, and I ‘ve havent really even said anything.

Ok something interesting. I quit my last job, when I say quit, I mean quit, as in, I came in one day and decided I was going to quit. I wasnt being irrattional, I was following one of my own rules. The way I explain it is like this: When you are a child, you learn that somethings are dangerous, even before you do them, like touching fire, etc, undoubted you learn the hard way even after your parents tell you to “never touch the oven”. Some lessons are pre-programmed, you rationalise them once, for example, gravity can kill me. When you step near the edge of the train platform, the lesson kicks in subconsciously, you don’t have to rationalise it everytime, you just remember that gravity can kill you, so don’t be stupid.

Now back to my point, I have another pre-programmed lesson, and it goes “If you come home every night of the week, unhappy, and complaining, quit your job.”. Everyone has bad days, weeks, sometimes months, but no one has a bad 4 months, and if Im being honest, no one really should have a bad week, bad === inheriently unhappy, not rubbish at your job (I do that most days in pieces.)

So I quit, I didnt’ have another job lined up (although I did have to work my notice of 28 days), but deep down I knew being happy was more important that being employed. I also know enough about life to know that the grass is always greener, if you find the right job, sure you can mess up and get a worse job, but my point is, there is no end job, there are lots of jobs, lots of challenges, lots of new people and experiences out there. Thinking you’ve got it the best you can have it is what stops lots of people from moving to better, more fulfulling jobs (all in my own opinion and experience of course).

I’m not sure what I acheived here, which must mean I’ve finished writing.


All our knowledge has its origin in our perceptions. – Leonardo da Vinci

April 23, 2008

One thing that has recently become very apparent to me is that, in fact, people skills over any number of technical skills, are far more important in my career. This has become increasingly apparent as I have recently changed jobs, moving from a permanent position at a large “blue chip” (hate that description, like “red-brick” unis) to slide into the contracting field. It just suits my lifestyle at the moment, no mortgage, no women, no cry.

It seems as though I’m beginning to realise that appearing to be successful, is far more important than actually being successful, or being good at your job. In many ways this is a sad but true conclusion of the industry I seem to be operating in. Admittedly, job-hunting magnifies this fact by a factor of 10, because the cost and benefit to the employee and employer is at its highest.

I’d compare getting a job to a crisis situation, like escaping a burning building, crisis brings out the best and sometimes worst in people. Its also a huge PR exercise, selling yourself to someone. This is where it gets interesting, because, traditionally, the “alpha geek” developer, who is very good at their job, is in fact a terrible salesman, in fact all the developers I know shirk at the thought of the slimy salesguy/guyess. And (never start a sentence with And), herein the lesson lies.

You do actually have to turn into a salesguy to progress in your career. If you don’t you’re going to struggle.

The thing is humans, are clever, but inherently simple when it comes to processing information in short terms. So, in situations where you only have short terms, you have to exploit this. I dislike using the word exploit, but thats what it is, and this is where I’ve had my greatest struggles. I mean, I’d certainly not lie, or fabricate, or mislead, but I have had to learn that acting as though you are the greatest at what you do is the only way you’ll find success, especially, and notably, whilst you are still young, i.e <25. As credibility is inversely proportional to age, it shamefully appears sometimes.

The reason this has been such an epiphany for me is due to the fact that I know it is not in the nature of the stereotypical software developer to be like this, and I’ve noticed the change I’ve had to go through in order to be successful. I’m keen it doesn’t change me fundamentally, but Im also keen that I develop it further go help me get to where I want to be.

So, the old David James, software developer = quietly confident, bright, technically sound.

The new DJ = Experienced, leader, salesman.

They may forget what you said, but they will never forget how you made them feel. – Carl W. Buechner

February 21, 2008

Last week I decided I was going to have a quiet weekend, so before I left the office on friday I took a look at our communial bookshelf and picked up a new book. This time it was the turn of “The art and science of javascript“. The book is pretty good,  it piqued my interest in the subject. I’ve written a bit of javascript in the past, all client side validation, prettyness, nothing great. I certainly hadnt done any real AJAX. The thing with calling it AJAX is that it suggests its some sort of framework, AJAX sounds scary. Its not, to be honest “AJAX” is actually so, so simple. Take a look at the wikipedia page… just jump straight to the code example, http://en.wikipedia.org/wiki/AJAX.

In the back of the book there is a mash-up of flickr and google maps. I decided to do a mashup of twitter and google maps. Im well aware of twittervision, but the problem with it is that its the public-time line, not your friends, sooo… i decided to mash-up your friends updates with google maps in a twittervision style.

Heres how I got on (abridged):

Iteration 1 : Get one thing working. Got api key from google maps, displayed a simple map

Iteration 2: Put the parts together. I put some ajax code (like that on the wikipedia page) and tried to get the results of calling the endpoint – http://twitter.com/statuses/friends_timeline.json. It didnt work.. then i realised i needed to provide http basic auth credentials.. still didnt work. (I should note i used firebug to debug the javascript.. best tool out there)

Then i realised… cross site scripting problems. Basically this means you cant go from one website to another and get data, through the browser. IE and firefox will thing you are trying to be naughty and stop you. There are several work arounds

Iteration 3: Keep the pace by keeping it working. One work around is to send the request not from website a to website b,  but from website a, to website a… which then sends it to website b on the server side and returns the response to the client. I wrote an 8 line c# http server so if you submitted a request to http://localhost/proxy.html?url=http://twitter.com/statuses/friends_timeline.json, it will proxy the request. That worked fine. So i linked the twitter data with the google maps data and everything worked

Iteration 4: Refactor, refactor . I wanted to get rid of the server side proxy as I wanted it totally client side. Enter this little gem Twitter Undocumented Hacks (!!!!) . The bit i used was the Dynamic script tag.

Let me explain how this works. Its another work around to the cross-site-scripting problem. You dynamically (i.e get javascript, when the page loads, to) write a javascript <script> tag, with a url of http://twitter.com/statuses/user_timeline/ 816092.json?callback=statusCallback (statusCallback being the name of a javascript function you’ve already written), this then returns you some data to the fucntion specified, this data is in json format.. you can the do what you please with it. I iterated over it and displayed it on the google map, with pauses.

 subnote: JSON, when dealing in javascript is the weapon of choice, xml is tricky to play with in javascript, its more like string manipluation.

Iteration 5: Polish. Theres a few notations in twitters that people use, one is L:Whereami, e.g. l:canning town, london. So, i wrote some logic in javascript to parse this out, and if its there, display the twiiter as that location on the map, if not, default to the location they put in when they registered on twitter. The google geocoding (turning words and letters into lat/long co-ordinates) does all the hardwork.

Anyways, check it out http://www.simplewebphone.com/YouTwit.html, as soon as the page loads you’ll be asked for your twitter credentials, type them in and see what you think.

Over the next few weeks ill see how I can jazz it up!

No one has ever become poor by giving – Anne Frank

February 13, 2008


I’ve always admired the quotes of Anne Frank, for several reasons. Firstly, even through translation her brevity and clarity are hard to match in any form of literature I’ve ever read. The quote “I must uphold my ideals, for perhaps the time will come when I shall be able to carry them out“, particularly resonates with me, after all, time is toughest test of all, and Im slowly learning the lesson that Anne conveys here.

Another reason for admiring her writing is the context. Remember that she wrote into a diary, that to all extents should have been destroyed, there was certainly no way she could have know anyone else would read it. This means that much of what she writes is completely untainted by any human emotion, its sincerity is deafening, this is backed further by the line “I soothe my conscience now with the thought that it is better for hard words to be on paper than that Mummy should carry them in her heart.” (In fact she wrote several times in her diary that no-one was ever to read her thoughts.)

Finally, reading some of the quotes you will see that Anne has some amazing qualities, simply astounding when you think of the facts. She says “Despite everything, I believe that people are really good at heart.” . Putting this in the context of Nazi Germany potentially the most evil regime the modern world has ever seen, certainly make me think of the qualities she possessed that I clearly lack.

Anne Frank was a 15 years old when she died of typhus at Belsen concentration camp.

“To improve is to change; to be perfect is to change often.” – Winston Churchill

January 8, 2008

You’ve probably heard the phrase “if you havent got anything nice to say, don’t say anything at all” …

Why is there so much facebook hating going on, I seriously don’t understand it, do you remember MySpace? Of course they havent got everything right yet, but I’ve been impressed how they react to feedback, e.g beacon .. they say – “oh yer, sorry, our mistake, we’ll stop that”, and “why do all my status updates have to start with is?” they say “good point, we’ll change it”.

Alot of (read, almost every single) online web apps just dont listen. I forgive facebook, they seem to listen, this is good, very good. I suppose everyone loves to hate on the web.

Now, going at right angles, my next topic. Perfection. Heres my take, and something that I think affects lots of people, businesses and, well life in general.

When you were younger, you probably really liked a girl/boy, maybe you thought they were “the one”, they were the first person you ever felt strongly about, all the feelings were new, and all the feelings were great. Hopefully, your still with this person, if not match.com seem to be spamming the underground , soo….

Anyways, my point is, when you’ve felt how good it can be, its hard, perhaps impossible to settle for anything less going forward, and this, unfortunatly can become your downfall. I’ve seen this in myself and also in the people I work with, the point is, sometimes forgetting is good, and definatly don’t compare everything you do to google. Having read “Getting Real”, its really reinforced to me that perfection is actually a state achieved by knowing you can’t get that feeling straight away, and that although in the past it feels like you could, you actually didnt, you invested time, tried out some different tactics, some worked, some didnt, then when it worked, it was because you learn all those lessons. So dont be a perfectionist, dont be afraid to be wrong, or look stupid, because, if im learning nothing else this years its that you can never look stupid when all your doing is your best.

So look forward to seeing me make loads of mistakes, but never the same ones twice.

“Men of few words are the best men” – William Shakespeare

December 17, 2007

When you ask people, whats your favorite song? Or whats your favorite film? The answers is invariably, “theres too many I like to name one”. Personally, I think this is because, by giving one definitive answer you might feel as though you’ll be typecast, or the permanency of such an answer makes alot of people feel uncomfortable. Of course, something to bare in mind is that over time, people change, and what you like and appreciate changes.

One of my little known secrets is keeping a list (at least in my head) of my current favorite lyrics, in fairness, the song probably as much to do with the lyrics, but I do have soft-spot for a succinct statement of the real. I recently read on JP’s blog about http://www.songmeanings.net/, which kept me amused for a while.

Something old  – “We don’t talk about love we only want to get drunk” – Manic Street Preachers – A Design For Life

Something new – “I don’t want money I want a thing called happiness” – The View – Superstar Tradesman

Something from the Artic Monkeys -“How can you wake up, with someone you don’t love, and not feel slightly fazed by it? Oh, he had a struggle.” – Leave before the lights come on

Progress is made by lazy men looking for easier ways to do things – Robert A. Heinlein

November 27, 2007

I was thinking the other day about this blog, how I don’t blog often enough, and why that might be. I found plenty of excuses, of course the real reason is because im not motivated to, but there are a few other reasons around it. Firstly, perhaps wordpress isnt the best, I mean its good, I like it, but i find it an absolute nightmare to make my blog appear in the correct font, I normally have to write it in Word (gasp), then paste it into wordpress, then spend at least 10 minutes formating, a pretty terrible experience.

 Yet it appears from the interface im typing into now I cant even select a font, surely thats a missing feature, I mean I dont want anything else, just font size, font family and bold or italic (which I can do). My other rant is about password, wherever I have to change it, ive never found it, subsequently everytime I have to log in I have to report my password as lost, generate a new one, go to my mail etc. Boring.

The human reason I dont blog so often, appart from being lazy, is that many of the thoughts I have or things I have a “potentially” interesting opinion on are non-IT related, and I suppose I’ve always felt this blog was my work-based output, so maybe ill change that, and change my blogging provider.

Thats it really, hopefully when I read this tommorrow it will remind me to do something about it.