Archive for the ‘Uncategorized’ Category

When using canvas, make sure you set the width and height explicitly

Friday, August 27th, 2010

According to this explanation on stackoverflow, it appears that if you set the width and height of your canvas element in css

canvas {

    height: 20px;
    width: 20px;

}

whenever you render vectors on the canvas they will appear stretched as css only sets the container size not the canvas size. So you have to do something like this:


    var canvas = document.getElementById("canvas");
    canvas.setAttribute("width", "20);
    canvas.setAttribute("height", "20);

How. Strange.

Tiny Berlin

Friday, August 20th, 2010

Little Big Berlin from pilpop on Vimeo.

Remember this effect? Perspective control lens is back, and bigger and better.

Video on futurism

Thursday, June 24th, 2010

Oh, I know, it’s just a bit of emotional blackmail. But I couldn’t help but post this video as a nice short piece on the future to either send shivers down your spine or give you a misty gaze off into the distance.

Scrum sucks… or some great videos on real agile and lean software production.

Monday, June 7th, 2010

He he. I’m sure I’ll get someone’s attention with that…

Obviously, scrum doesn’t suck, it’s just a large number of people misunderstand it, and get taken advantage of by ruthless ‘trainers’ who promise to solve all your problems with their magical new process. Maybe a more apt title would be “process sucks” but I like to enrage and make massive over generalised statements so there we go.

To back me up though, I am going to post these great talks by Dan North that I found recently. I’ve always been a big fan of his blog, and his articles about BDD and story analysis are massivly insightful.

Why your Agile roll-out is Failing - Dan North from Øredev on Vimeo.

Dan North - Our Obsession with Efficiency from Øredev on Vimeo.

Believe in what you do.

Tuesday, May 4th, 2010

I just watched this quite interesting talk by Simon Sinek.

Apart from having a great first name, he also has a very good point.

I have believed for a while now that a company has to have a strong central belief in order to be successful in the long term. At the end of the day, markets, products, practices, technologies and knowledge come in and out of fashion like shoes or music. But beliefs, or central dogmas last a lot, lot longer and can be adapted to suit the conditions they are in.

I realized recently that working for a company without a strong ‘why’ is much harder than working for one that has a purpose or a reason to be. Working for a company without a strong ‘why’ can often leave you feeling disenfranchised. Often in these circumstances the companies ‘why’ is short sighted and based purely on profit. As you try to apply a personal higher belief ‘why’ you end up misaligned to the rest of the business, feeling frustrated and bitter. Having a ‘why’ that appeals to people’s more altruistic emotions is key to making it work.

Simon Sinek talks about Apple’s why - “think different”, the ones I always admire in the tech space are; Google’s ‘why’ - “organizing the world’s information”, or Thoughtworks ‘why’ - “thought works”. These to me are powerful companies driven by even more powerful beliefs that allow them to forge ahead in a world crippled by short term capitalist thinking.

One of the things that attracted me to Nokia was its ‘why’. Which is “connecting people”, this is I feel a similarly powerful mantra, everyday I go into work, I can sit down and ask myself, how does what I do today help to connect people? Not so far away from the agile principles focused on communication and collaboration over contracts and negotiations (that are also printed out and stuck to the wall next to my desk).

So I’ll sum up with a question to you the reader :

How does what you do today align to your business’s core belief?

A short point about quality of equipment.

Saturday, February 20th, 2010

Last night and this morning I conducted 2 experiments.

The first experiment was last night before I went to bed, where I timed how long it took my work laptop, running windows XP to shut down. 4 minutes 20 seconds.

I think you can probably guess that the next experiment was to test the time it took to boot up. 3 minutes.

Now, I’ve read people make the same point that I’m about to make several times. The most famous being Joel Spolsky, in his blog and books. The point was really driven home when I attended the Cambridge dev days conference 2009 and was told that at the first conferences, during the breaks they had set up a stall offering to upgrade the ram in your laptop to it’s maximum, for FREE. This was how important Joel thinks it is for people to have the best equipment available to him.

laptopopencrop

For two years I have accepted the equipment I was given as one of life’s little endurance tests. Everybody got the same. Accept it and move on.

But last night, after writing my hat change blog post, I realised something really obvious. For two years, I have started and shut down that laptop on average once a day if not more. There are 365 days in one year. 4.2 + 3 = 7.2 minutes a day. Waiting. Waiting for my equipment to be usable. 365 times 2 years is 730 days * 7.2 = 5265 minutes. 5265 minutes can also be said as 3.65 days, or if we talking working days (8 hours) 10.96 days.

Over the last 2 years I have wasted 10.96 WORKING DAYS of my F*UCKING LIFE WAITING FOR A CRAPPY LAPTOP TO SHUT DOWN AND BOOT UP.

To put that in terms a businessman can understand, my daily charge out rate for the company is somewhere in the ball park of £1,000 per day. That means, someone has paid £11,000 over the last two years for me to stand around waiting for my laptop.

Now, I’m no financial genius, but it seems to me, for £11,000 I could buy some pretty shit hot equipment. I mean for 3k I could buy a pretty amazing laptop and still have 8k to play with. The scary thing is when you multiply this by the number of people working in the company it gets into the tens of millions per year wasted.

I guess my overall point is the people who you work for are your most important asset, you should be proactively giving them equipment to try to enable them to do their job as efficiently as possible and grow them as much as you can as they are what is making you money.

Update

I just finished watching Bill Gates’ latest TED talk on his new mission to solve the energy problem.

Thinking back to this blog entry I started to wonder how much of an impact the inefficient equipment we provide people wastes valuable human resources and adds to our carbon debt, and how efficiency is actually every bodies problem, not just the concern of the rich. Also it was annoying because my broadband connection sucks making the video take 45 mins to watch rather than 27 mins. I wondered how much extra carbon shoddy services from Giant companies like Virgin media and BT end up pumping into the environment.

When collection verges dangerously on obsession.

Saturday, February 20th, 2010
SP_A0700

5 1950’s, 60’s & 70’s Samsonite attache cases.

Hat change!

Friday, February 19th, 2010

I’ve been fairly quiet recently in terms of posts, this is mainly because I’ve just resigned as Senior front-end developer at Sapient and accepted the post of “front-end specialist” at Nokia in Berlin.

hats

From April 1st 2010 I will be working on the Ovi maps project. Ovi maps interests me for several reasons, firstly it’s got a massive user base and so is a chance to really get stuck into a application that’s just getting into it’s stride. There’s a great opportunity to start making small engineering changes that really a big difference in terms of performance and usability. It’s served to such a wide variety of different devices/platforms that I will get to see the realities of large mobile app development as well as hopefully bringing in some learned best practices from the web app world regarding CI and Continuous testing. I would also like to do some developer relations promotion, as before interviewing for the job I had no idea what Ovi maps was. Obviously now Ovi’s had a bit more PR but the developers remain relatively anonymous. Something I’d like to change given the quality of people working there.

I will be sad to leave Sapient, although it has it’s problems there a few really spectacular people there, whom I wish all the success for in the future and hope that some things begin to change.

All I have to do now, is figure out how to move my entire flat and life to another city, ekkk.

Why I f*cking hate JSP.

Monday, February 8th, 2010

Enforcing Strict Model-View Separation in Template Engines by Terrance Parr

The short version is that JSP makes XHTML VIRTUALLY IMPOSSIBLE to validate in it’s fragmented form, which would be much, much, faster than compiling it and then running an html test on a server version to check it’s validity. “Fail fast” is the phrase du jour with CI/CD and JSP prevents this, as well as creating a HORRIBLE HORRIBLE mess of crappy crappy code.

So in short, never use JSP, or Faces, or any of those other ridiculous technologies. The only thing that prevents you using String template is unfounded fear. The pain you save your developers is worth it. Trust me.

Proffesional Self Assesment for 2009

Monday, January 11th, 2010

I am just filling in my companies annual self assessment form and thought I would share some of my thoughts regarding 2009.

Value and Quality

“Quality is doing things right when no-one is looking” this is a quote from John T Ford, mentioned in the infamous software book “The Mythical Man Month” by Fredrick Brookes. This year I have strived to fulfil this meme to it’s upmost. I believe the quality achieved by automating things that previously used unreliable human methods to achieve adds the same level of value to the client as the entire creative process. A relevant historical example of this can be found in the automotive industry and the subsequent collapse of poor quality American vehicle engineering as the Japanese and Asian markets obliterated them with durable, reliable, inexpensive import cars. The same is true of software and the beginning of this trend can be seen in companies like Goggle.

Productivity

This year, I have learned about the most important form of productivity as espoused by the agile and Lean principles. “Sustainable development” is a quality generally completely misunderstood in this certain circles, but is in fact the source of a large amount of client dissatisfaction. Selling projects in under budget and with the assumption that developers will work overtime to get them completed is a fallacy perpetuated by incompetence. Rushed, ill thought out work leads to unrealistic expectations for the client and ultimately disappointment in the output which is then reflected onto our company and the production staff. Even more harmful is the attrition it leads to as experienced developers leave unfulfilled and frustrated. In which case productivity should be measured by a lack of overtime and encouragement of advanced thinking.

Strategic Context

With a marketplace of vendors that are consolidating into large inefficient groups driven by bureaucracy and nepotism, trying to win the business of other larger inefficient monoliths, there are few things that will allow one to distinguish themselves from the crowd. Honesty, integrity and reliability are the three main things that will allow us to stand tall above the rest and are the most important things for our strategic context in terms of winning the business of the companies of tomorrow.