Monthly Archives: November 2010

The Death Of RIM

BlackBerries do one thing incredibly well, process e-mail.

And that’s it.

If you think BlackBerries surf the Web well, then you don’t, or have never used an iPhone.

more on

Pro blogging hint: “The Death of X” posts always get attention.

Eliminate the Computer Science major

The sad thing is, having worked one-on-one with several recent Computer Science graduates, I don’t believe that they’re learning much about programming, either. Students with a passion for programming study it in their free time, work on their own projects, and do most of their learning outside of the classroom. Fresh graduates with a BS in Computer Science and no real experience programming just don’t have the skills they need to do anything but grunt work. As an undergraduate Biology student, my first CS course was on bioinformatics algorithms and had several Masters students, and when I was able to implement the algorithms quicker and more efficiently than CS students, I saw how lacking my school’s curriculum was.

The article suggests making programming degree different from Computer Science degree. Interesting approach, could actually work – CS courses certainly don’t meet expectations of neither students, nor the market. Yet dismissing it entirely would not be a good idea either as that would cripple the research done in academia.

Google and Microsoft Cheat on Slow-Start. Should You?

Holy smokes, that was fast! We were able to open a tcp connection, make an http request, receive an 8KB response, and close the connection all in 85ms! That’s even faster than I expected, and demonstrates that it should be possible to build an app with a page load time below the threshold that humans perceive as instantaneous (about 150ms, according to one study). Sign me up.

How Google is reducing initial page load of its homepage to 85ms.

The unbearable lameness of web 2.0

The proper label for a ‘friend’ or ‘like’ button in Facebook should be ‘Subscribe’, because that it what it does, simply put. It adds another feed to your timeline. But ‘subscribe’ is an unidirectional concept, ‘I will import your status updates into my timeline’, and is closer to ‘follow’ in Twitter.

On some fundamental flaws of social networks.

Sleep program needed for IT engineers

In view of the serious health consequences of insomnia in software engineers who are at high risk, suitable awareness programs should be developed as a preventative measure. Sleep assessment should be included as part of routine medical check-ups so that management of the problem is easier in the early stages. Lifestyle management programs which include sleep hygiene and care should be incorporated as a policy matter in the IT industry.

Breaking news: geeks have sleep deficits. Yay.

False Dichotomy

My government is being pressured by the USA to criminalize ripping a DVD into a file even if the only thing I do with the file is watch the movie at home on exactly the same device that plays a DVD. I can “buy” some movies on iTunes, but not in HD. And they have DRM that restricts moving them from device to device. I have anxiety about DRM, I never know if the DRM servers will be shut down and I’ll be left locked out of my movies, as has happened repeatedly in Entertainment history.

Interesting perspective on movie DRM. I have no arguments to argue with it: legitimate customers are punished for buying original movies (the same with games) while the piracy offers superior user experience (!). Is it only Apple that is capable of solving this problem as it did with music and iTunes?

Reply to “Scala is Easier than PHP”

I was at the IPC Spring Edition conference in Berlin presenting my talk “Integrating Erlang with PHP”. I started by talking about all the wonders that Erlang promises such as:

  • Code reload without stoping the server.
  • Being ready for multicore programming.
  • No shared state.

When the audience looked at me like: “hey PHP already does that”, I realized how much Kool Aid I had drunk.

While the article is not really defending PHP, it gives some perspective on recent hype about functional languages.

Using genetic algorithms to find Starcraft 2 build orders

Over on a forum called teamliquid, a user by the name of Lomilar posted a fairly long thread about a program he had written that optimized build orders for the zerg race in starcraft. He eventually cleaned up his code and posted the code to googlecode. The program is called EvolutionChamber (a clever name, as it’s the name of one of the buildings in the game), and it uses genetic algorithms to find build orders.

This I had to see.

more on

This is actually quite revolutionary. Genetic algorithms were used to generate Starcraft 2 build orders and one builds discovered quickly gained traction on and totally changed the situation on the ladder.

It’s not as with AI playing chess against humans – here it is still the human that implements AI’s strategy. It sounds much more like using steroids in physical sports. And it’s very tempting – the build is dreadfully effective.

Forza Motorsport 3 And Predictable Development

It is amazing how design, art and technology iteration is enabled when there is no question that the game is going to be playable each day and that all content in the game is usable. This also has significant positive impact on the quality of work estimates when the game is fully playable and can be used while developing the estimates for work as well as implementing the features.

A case study on using agile methodology in development of a high-profile console game.