Archive for March, 2009

postulating what makes female geeks generally hot.

Monday, March 30th, 2009

A fairly shallow, ’sex-in-the-city’ style topic I know, but an interesting one none the less. Why is it that as a fairly stereotypical male coder, I am along with the rest of my gender and profession attracted to girls that can chat about encapsulation or closures? Advertisers have been relying on this behaviour for centuries to sell things to groups of people,  so why is it so important?

I have just been watching a talk about a frontend topic by a fairly notorious female coder, someone that in the normal world I would not really be interested in,  yet as she spoke, I could not help but notice how much more attractive she became as she explained the topic.

Now it’s not unusual that a person invited to present in front of people will have a charisma and likability above the average person, this is why they are in that position, and sometimes it doesn’t have to be the opposite sex -(I am not unaware that a charismatic man can also become far more attractive), however I feel it’s something more than that.

I recently ended a relationship as it was not working out for me, in part I felt there was little further to progress on an intellectual bearing with my partner and I did not want to see it get messy. At the time, I wasn’t totally sure this was true, and I know several successful relationships where the couple have very little in common, but the more I think about it the more I think having fundamental similar attitude to things is vitally important for a successful relationship.

This is perhaps why why female coders seem so much hotter, because you know if someone understands code they must have a similar thought pattern to you or at least one you can identify with.  Often I find that you can tell whether you will get on with someone from the way that they code, if it follows the same logic as your own and you get get the jist of it fairly quickly then chances are, you’ll get on like a house on fire.

Having said that, I’ve never had a coder girlfriend so really don’t know, perhaps I’m just incredibly picky.

bespin’ing with canvas

Monday, March 16th, 2009

Last Tuesday, I visited the hub in king cross to watch a talk by Ajaxian head honchos Dion Almaer and Ben Galbraith.

I had to admit when I first heard about bespin my reaction was fairly uninspiring, I understood the concept of cloud computing and could see where a tool like this would fit in, but really would developers use it? Not in my opinion, it seemed like a novelty created by two Ajax experts for fun.bespin

However, I wholeheartedly admit I was wrong in this assumption, after seeing the talk and what was planned for bespin, it started to dawn on me what they were really creating was a full blown IDE out of the Firefox engine, they plan on doing everything from collaborative remote pair programming to an offline version and all with Javascript.

It’s an interesting concept and shows how Mozilla is desperately trying to innovate to break away from the pack, to an extent where it’s almost just acting as a compiler to convert javascript into byte-code. One step towards their goals which appear to be spelled out here.

However, one thing that really bugged me and still does, is the CANVAS tag. To their credit the Bespin team have completely rebuilt a number of user interface widgets like scroll bars and the text area, and done it much better than the original implementations, but to what ends? Why are we reinventing the wheel, AGAIN?

To answer this the first thing we have to ask is why did they use the canvas tag in the first place? The answer to this is two main reasons - the DOM is slow and inflexible.

Canvas has the ability to update the screen very quickly and render thousands of elements without draining memory, it also can draw different shapes and vectors and apply a multitude of effects to styles to said shapes, BUT my question is why is this in canvas?

Why have we spent time building and implementing this reimplementation of HTML, CSS and the DOM in browsers rather than just improving the DOM reflow/redraw speeds or adding extra abilities to CSS to do transformations or changing the shape of a div to be a ellipsis with a drop shadow, it appears we have created something that totally ignores the lessons of the past, just so we can be seen to be innovative, it’s the embodiment of one step forward two steps back.

Come on developers of the world, as quoted from John Resig “The DOM is a mess” but rather than just abandoning it, lets unite and clean it up a bit so we can stop reinventing the wheel in at least one instance of web development.

who watched the watchmen? me.

Sunday, March 15th, 2009

I’m not sure it’s totally pertinent to modern technology, I could find some tenuous link but it would be lame and just postpone my inevitable desire which is to vent about the film I just saw, “the watchmen”. Now, I am not a die hard fan, I have not read the comic/graphic novel, and I have been told from people who are that it is not as poor an adaptation as it could have been, I am writing this purely as a person who went to the cinema with only the preconceptions build up by media hype.

To sum it up in two words I would go with “disappointing wank”.

It started well and for the first hour and a half I enjoyed the murder mystery element and the retrospective on the characters pasts, it was a well thought out solid foundation, although somehow I knew from the beginning who would end up as the master mind.

I think the actors were all fairly well cast, although the Robert Downey Jr. alike is somewhat confusing (why not just get the real thing?) and a good performance by disturbed Rorschach (Walter Kovacs) carried the film for the middle portion.

Unfortunately that’s where my praise ends as the rest of the film ends up drowning in it’s own blue electrically charged seminal fluid.

The plot gets very woolly towards the end and the cold war element seems almost tacked on as an afterthought. Some odd revelations about family ties and Dr. Manhattan building a mysterious seemingly pointless glass device on Mars combined with a somewhat hammed up moral storyline about uniting humanity by sacrifice and lies adds up to a distinct feeling of apathy and confusion.

One thing that was super hyped in the media was how dark and violent it was, making films like the dark knight and 300 look like the sound of music. This is a lie. I found it neither dark or overly violent, the violence is impersonal and disconnected and on characters you have no empathy for making it feel like comedy violence.

One funny element that I would endorse are the sexual references it has, with one of the superhero’s unable to rise to the occasion, a fairly uncomfortable sex scene (not one to watch with your parents) - although there is female nudity (so one for the wank bank lads…) and the female lead has a fairly interesting costume, which if she did have to wear one can imagine her using a recent Britney Spears phrase fairly often.
The most bizzare sexual element of all ‘the big blue cock’ as nicked named by some friends. It seems that being almost omniscient is not enough to answer those little questions that plague everyday life like should I wear my big blue pants today or walk around with my cock hanging out, the later happening far too often leaving you in no doubt that for all his powers of reforming Dr. Manhattan could not be bothered with a foreskin.

change fatigue

Thursday, March 12th, 2009

I was just listening to Joel Spolsky and Jeff Attwood on an old podcast of stack overflow (from after Christmas I think), one of the questions was a very interesting one which was how a lot of developers burn out because of the pace of programming and the changing languages (i.e. the numerous flavours of ruby, the latest version of .NET, or the latest ecommerce platform), which essentially boiled down to how do you maintain enthusiasm for coding?

I think this is a really important question and relates to everyone in every profession not just programming although in programming it is more extreme. I can only speak personally but for me, in order to have a fulfilling life it is REALLY important to have a balance between learning new things and practising old skills. Any skew to either one of these will leave me feeling unfulfilled and frustrated.

Learning new things is great. If you aren’t learning you feel your brain getting lazy and fat, the same thing happens to your brain as happens to your body if you don’t do any exercise, leaving you feeling like an invalid human being.

Pushing yourself to get control over something you don’t understand and slowly making it conform to your will is ultimately satisfying and is inherent in all pursuits, however it is incredibly frustrating and involves a lot of trial and error. Which is why it’s vital to balance this with practising something your already talented at, this way you can balance your failures with successes and keep things in balance and you motivated to continue.

This is why in a more practical sense it’s important that you have enough time to learn new things, so if you work in a super busy job that keeps you on your toes 9-5 doing the same thing then you need to make sure it gives you enough spare time to learn some new things. Conversely if you work in a job where everything’s constantly shifting and nothing’s ever the same, you need to make sure you have a constant in your personal life, that you can be successful at.

Performance counts

Friday, March 6th, 2009

I’ve been watching the frontend optimization video’s on Yahoo.

They have some startling statistics and case studies which I felt were worth sharing,
The first is from Steve Souders talk 18 months ago:
On average 10% of user experience load time is due to backend page serving, this means that 90% of the load time experienced by users is controlled by the frontend. So for example if you optimize your backend by 50% at most you are optimizing the overall user experience by 5%, however if you optimize the frontend by 50% this would result in a 45% overall saving in user experience load time.

This then goes on to be even more pertinent when you consider the information from the Nicole Sullivan’s talk:

Amazon did two tests where they artificially increased the load times of their pages, it gave the following results:

100ms - 1% drop in sales

400ms - 5-9% full page traffic drop off

Google had similar results:

500ms - 20% fewer searches

lemanianerostopwatchlg
I think this highlights just how important load times and by proxy frontend sitedevs are, when you consider that in a big build you will have an approximate ratio of say 1 sitedev to 10 backend devs, it really doesn’t make sense and we should be looking to sell in as many sitedevs as possible into projects for optimization purposes as this is what will really increase the load times and hence drive profit for the client. These are some powerful statistics, that I will be adopting in the future to help back up my case, but this in turn raises some interesting questions.  Like how do we measure performance increase to show metrics of increase justifying the cost and how should this be implemented -should an extra optimization effort occur post build, how do we bake front-end performance into continuous integration environments? How do we replicate what back end devs have achieved which is to get clients to pay for the extra work?

somebody pointed out to me that it might be nice to have some links to relevant source material:

Nicole Sullivan: "Design Fast Websites" @ Yahoo! Video
Steve Souders: "High Performance Web Sites: 14 Rules for Faster Pages" @ Yahoo! Video

Some other helpful links courtesy of Per Swantesson:

http://www.svennerberg.com/2008/12/page-load-times-vs-conversion-rates/

http://news.zdnet.com/2422-13568_22-197145.html

http://stnor.wordpress.com/2009/02/01/speed-sells

http://www.hobo-web.co.uk/seo-blog/index.php/your-website-design-should-load-in-4-seconds/

http://specialistonlinemarketing.wordpress.com/2008/06/21/why-load-time-now-matters-in-google-search/

Review: Kinetica Art Fair 2009

Wednesday, March 4th, 2009

photo of Kinetica exhbitionOccasionally, you go to an event or see a film, and think “Damn, X years ago when I was imagining what my life would be like when I was older, this is what I thought I would be doing”, the last time it happened to me was when I went to see Ironman and wished I had become a ultra rich playboy millionaire techie superhero, but after going to Kinetica art fair on saturday night I came away with a slightly more realistic one, “Damn, I should have become a digital installation artist”.

 
Highlights included some fun optical recognition stuff from Holotronica (similar to this link 

http://www.flaggedforfollowup.com/2009/02/ge-plug-into-the-smart-grid-digital-hologram.html) 

and a proper 3d TV one of which I’ve been waiting to see for a while - they’re not bad, bit more work before they become commercial but I think we’re pretty close! The wall of hundreds of eyes that followed you as you walked past was also intriguing if not slightly creepy, which I believe was from the Kinetica museum along with Ivan black’s ceiling hanging interactive mobile type thing.

The bit that really made me think/slightly envious was the talk and exhibition from wrap3, who are doing some interesting stuff mapping VR on to physical objects using projectors, the likes of which were featured in the latest James Bond film, Quantum of Solace in the party scene (how do you get a job like that!?!). I like the concept of the virtual enhancing and modelling the physical especially when it’s melded with some thoughtful performance art (typically performed  by a hot girl, don’t question my objectivity…) there’s clearly some exciting stuff that will emerge from these guys in the future. I’m just waiting for  their website to come online!

beardman

In the mean time, to fulfill my superhero dreams, I have created a character fashioned from my chin called “beardman”, who creates a suit made entirely from beard hair and flies around the world righting injustice.