>Working again

>I’m getting to closer to my writer’s leave. I’ve been working on my book project since Christmas but on Monday I will start at a new customer assignment. The new assignment will use Qtopia and embedded Linux so I’m really looking forward to it.

During my leave I’ve learned a few things:

  1. You cannot, efficiently, try to churn out a large amount of text on one subject every day for more than around two weeks.
  2. Varying languages is hard. Writing for weeks in English and then having to write for three days in Swedish was hard – but it was even harder to get back up to speed in English. (Notice that I’m a native Swedish speaker).
  3. Developing examples on one subject and varying by writing the text about other examples developed earlier helps providing variation, thus increasing productivity.
  4. Spending eight hours on something that you used to do for four hours does not double productivitiy. That requires something like ten to twelve hours.
  5. Working for more than ten hours a day on a single task for a longer period of time is pointless.

This might sound very negative, but I think that this time has been a great experience.

>Blocked!

>I guess that it was bound to happen – every writer’s worst enemy. Writer’s block. I just cannot seem to finish a complete chapter right now – instead I’ve spread my efforts to avoid sitting without anything to do.

Right now I’ve been reading up on:

  • CMake
  • qmake
  • Graphics View
  • UDP networking

At the same time I’ve written examples for the QHttp, QFtp and QTcpSocket classes (hey – Qt really makes it easy to write this kind of apps).

The only problem is that the dead-lines are rushing towards me and I just cannot seem to get an entire chapter done. Paragraphs – yes, even whole sections, but not entire chapters.

Well. Enough wining from me – get back and write, write, write.

>Building and Deploying

>I’m doing some research for a book chapter on building and deploying Qt applications and I’m wondering if you have an opinion. If so, mail me. I’m e8johan and I use gmail.

The most obvious thing to cover will be QMake and its abilites. This means platform optionals, building a complete project (subdirs, libs, plugins and apps) and the INSTALLS variable. A complement to QMake is QConf. Some platform specifics for Mac and Windows will also be touched (universal binaries, Windows app icons).

Something else that I consider covering is CMake. Is this necessary? Will CMake be so common that it is a good thing to cover in a Qt book?

>There is Hope

>It is a great feeling to realize that there are only three more chapters and appendixes to complete before the first round of my Qt book project has been completed. Then there is reviewing ad infinitum left to do and lots of details (index, toc, foreword, etc) but I choose to ignore them for the moment and just feel good for a while.

>Winter, attempt 5?

>Again winter has tried to establish itself here. This is what it looks like from my office window. Lovely – I actually took the chance of playing around with the car (I know – I’m immature). Sadly they are speaking of rain in the evening, but I’m still hoping for the snow to stay for a few days.

>Swedish iPhone un-boxed

>Following the hype around the iPhone I was surprised to find out that the Swedish paper NyTeknik sent iPhones to all their subscribers. I un-boxed mine and took some photos of the process.

This is what I found in the mail.



Opened.


The iPhone.


Unwrapping? Uncutting? Don’t know – just getting it out of there.


I had to add an extra layer of paper to ensure that the structural integrity could be maintained.


Cut out to be a winner?


And the folding.


Front and back.



Compared to the Topcom DECT phone that I use indoors. Apparently the DECT has better coverage as I can use it up to 50 meters from home. I just was not able to make any calls from the iPhone – but it looks neat.


Also, do not place your iPhone in your pocket. It will not survive it.

Update. Digg it here!

>Oslo, snow and schedules

>I was invited ny Trolltech to come to Oslo and have dinner with the Qt Quarterly contributors from 2006. Yes, I’ve contributed.

The goal was to be in Oslo by 6pm last Thursday so I left Gothenburg just after 1pm. It usually takes 3-4 hours to drive between Oslo and Gothenburg, but there has recently been a landslide, so you have to go around a part of the E6 road that was swept away. That was why I added an hour to my travel plans. Then came the snow.


Apparently most lorrys do not use proper tires adapted for snow. Nor do they keep snow chains. The consequence was that I spent six and a haft hours to travel 400km. When approaching Oslo there where queues in both directions moving at about 10-20kph.


I made it anyway – the dinner did not start before 7pm and I had to be efficient when checking in to the hotel. After getting some food and a beer I could relax and be social again. I got the opportunity to sit down and talk to David Boddie and Jasmin Blanchette (hi guys!).
I also ran into a whole bunch of trolls (I only remember half of the names, so I won’t mention any). After a nice evening at Akers Brygge I left for the hotel.

The next morning I spent in more or less informal meetings at Trolltech. Very giving. The trolls are really a nice bunch of people. Very easy to work with.

>One year – and a contest

>As some of you might know I’m one of the admins over at QtCentre.org. The site has being going for a year now and I must say that I’m thrilled by the outcome. The major point for starting the site was to provide the community with a free forum – but we also have a nice wiki and a FAQ.

As we enjoy Qt programming and want you to try your Qt 4 skills we have decided to start the first QtCentre Programming Contest. With great support from the Qt companies out there – Trolltech, basysKom, froglogic, Integrated Computer Solutions and Klarälvdalens Datakonsult – we can offer prizes such as Greenphones, a MacBook and an iPod. The competition entries must enter in one of the following categories: custom widget, development tool, helper library, mobile application and desktop application. The categories have been picked so that pretty much any piece of Qt software can join so register your project today and start coding!

>The Efficient Month Starts Now

>Now Christmas is over and it is time to get seriously efficient. Right now I’ve got 30 days, seven chapters and three articles to write before I get back to writing in my spare time. Before my head falls of from all this writing (I have prepared 9 examples and written down all the notes for a chapter of multi-threading today) I just wanted to show a small update to my Acer fix software.

I found a gap in the calendar last week and added a small loop that looks for the window every five seconds. This means that it works regardless of the starting order of the applications. The new source looks like this.


#include <windows.h>

int APIENTRY WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpCmdLine, int nCmdShow)
{
HWND acerWin = NULL;

while( (acerWin=FindWindow( NULL, "ACER_GraviSense" )) == NULL )
Sleep( 5000 );

if( !acerWin )
return -1;

SetWindowLong( acerWin, GWL_EXSTYLE, GetWindowLong( acerWin, GWL_EXSTYLE ) | WS_EX_TOOLWINDOW );

return 0;
}

Using this you can alt-tab freely without having to run into an invisible window now and then. I wonder if it would be fun calling their help-desk and trying to give it to them as a contribution. :-)

Another note is that my employer, Bitsim, has announced Badger. This is a platform that I’m really looking forward to playing with. So if you’re ever in need of an Arm system capable of hardware accelerated graphics you know where to look :-)