Welcome to my little space on the internet.
I am a Norwegian, living on the rainy west coast of Norway with my wife and two children.
I am self employed in Slettas Kodefabrikk (enkeltpersonforetak) and provide expert consultancy in the areas of Qt, Qml, Graphics and performant UIs. If you are looking for help, please contact me. My complete resume is available here.
Performance is a boolean. It is ok, or it is crap.
Especially in the graphics area, things really need to be velvet to give the right feel. For animations and transitions to feel natural, they have to move steadily and smoothly at a pace close to what our brain interprets as natural movement.
In Qt, I've spent a lot of time understanding what it takes to reach this level of performance. On the toolkit side, in the application and on the driver and hardware side of things.
Making a UI performant, is not only about running a profiler over an application and optimizing the hotspots. Reaching good performance is a matter of properly using asynchronous execution, scheduling rendering and animations at the right time, and making sure that the structure of the runtime is such that it can sustain pushing out content at 60 frames per second when needed.
More particles, more shaders, more bling!
Although programming in general appeals to me, I've always had a soft spot for graphics related things. Be it 2D vector graphics, image effects, software rasterization or hardware accelerated 3D graphics and raytracing.
In Qt 4, I was one of the primary contributors to the rewrite of QPainter and authored, among other things, Qt's software rasterizer. I have also spent a lot of time researching hardware accelerated UIs and how to enable that extra bling. I wanted to have flexible access to effects like page curls, surface warping, blurring and reflection, all the things that are possible when imagination intersects with GLSL. I also wanted to have particle effects, for instance to enhance animations and user interaction. This eventually resulted in the implementation of the Qt Quick Scene Graph.
I also like to poke OpenGL to see how much stuff it is possible to throw the GPU before performance starts to falter. Even mobile GPUs are reaching a level where where insane things are possible.
I like to play music and can manage to produce sound and melody on a number of instruments, including hardingfele, violin, guitar, bass, piano and synthesizers.
I'm also an eager hobby chef and like to cook for family and friends as time permits.
I read books on my Kindle and listen to a lot of audiobooks. If you come across good scifi literature, let me know.