The Value of Open Standards
Tuesday, February 16. 2010
...or why HTML 5 will fail as replacement for Flash (at least for the next years).
But first let me make clear that I am not a fan of closed standards and closed source. I love Open Source and I use Open Source software wherever possible. However sometimes it's better if there is one instance that has the control not just over a format, but also about the interpreter and renderer.
With the announcement of Apples iPad a big discussion started regarding the non-existence of Flash on it. Steve Jobs responded. He claims that Apple won't support Flash since they claim it's buggy and responsible for a lot of crashes on Mac OS, but what really makes me upset is that sentence:
No one will be using Flash, he says. The world is moving to HTML 5.
Also in blogs postings that talk about this topic several people mention that HTML 5 will be the future and that no one needs Flash.
Bullshit! Will people never learn from the past?
Continue reading "The Value of Open Standards"
Experience with a Hibernate migration project
Sunday, February 8. 2009
Migrating an existing Java project for use with Hibernate is a difficult process. And yet I'm not sure if it is worth the work at all.
Some years ago I started a Java project with direct database access using JDBC and SQL. I designed my object model and a relational database schema. Both were optimized independenlty to work optimal in their environment. In order to connect the object world with the relational world, I wrote a clean storage layer, which was responsible for communicating with the database. This worked pretty good. But when Hibernate was becoming more and more popular, I started thinking about migrating to a Hibernate based object mapping.
Continue reading "Experience with a Hibernate migration project"
IT Engineers are Incompatible with Movies
Friday, January 16. 2009
Continue reading "IT Engineers are Incompatible with Movies"
Car Design: Vision and Reality
Thursday, November 15. 2007
Context Switches are Expensive
Tuesday, October 30. 2007
No computer processor can do multiple different jobs at the same time - there is no real multitasking going on. Instead a processor does one job after another.
When you see programs working in two different windows at the same time, it's just because the processor is doing a piece of work for the one program running in that window, doing a little bit for the other window in the background, doing a little bit for the operating system, again doing a little bit for that window in the foreground and so on. Suddenly a hardware interrupt requires CPU team and the current task will be interrupted.
A CPU constantly switches its context to simulate a parallel processing to the user. However these context switches cost quite some performance. The processor must load the working data into its internal memory, continue working on a chunk, store the current working data to the RAM, figure out, which chunk has to be processed next, load its data, continue working... and so on. The real computation time is wrapped by a lot of overhead.
A Human Brain is a CPU
Nothing new to computer pros - so why am I telling you that? Because humans do their work just as processors and both face similar problem: How to complete tasks while being most productive as team? This article shows some strategies on how you can deal with context switches in an engineers work environment while still being available to your team mates when they have questions and to keep them and you running. It's mostly about the right use of communication and that's what this article is focusing on.
Continue reading "Context Switches are Expensive"