I am 0x20 now

Since Saturday I am 0x20 years old. We had small meeting with birthday cake etc. There was no candles on it because it is hard to put so many of them on small area. One friend had idea of putting 6 candles (with only one lit) but rest of company was non-IT so would not catch (there was already problem with “0x20” text on cake)…

skan240.jpg The most of fun was with one present which I got week before by post… It had “Open 26th July” sign on it so had to wait. Inside was puzzle made from C code — really hard to solve because source looked like one of contributions to IOCCC (and later I got information from friend that it indeed was based on one of them: gavare/2004). It took some time and 3 persons to solve puzzle.

Next part was entering source into C file… As I do not know any good OCR software for Debian GNU/Linux I had to type all 35 lines by my own hands. Good that with puzzles there was a sheet of paper with md5sum for each line (I had 5 typos). Resulting source compiled out-of-box with GCC 4.3.1 (but lot of warnings). Output of application does not had any sense to me anyway… But after redirecting to file and leaving for time longer then 2 minutes it finally ended work (after 12,5 minutes). Result was PPM picture with birthday wishes πŸ™‚

puzzle.jpg

Some presents are really great πŸ˜€ Thx, Ury!

What was on GUADEC 2008

GUADEC is going to end for me today — I am going back home tomorrow. Was it worth going here? Yes, it was. I met interesting guys, spoke about nice projects which I will probably work on soon etc.

Talks

There was lot of interesting talks during this year GUADEC:

  • “Bob the Builder: How can he fix it?” by Rob Bradfort from OpenedHand — it was about Poky, developing for embedded targets, which tools are available and how to use them.
  • “Clutter guts” by Tomas Frydrych, Emmanuele Bassi and Øyvind KolΓ₯s from OpenedHand. This was was about Clutter — what it is, how to use, what it gives. For me it was interesting as I did not knew what exactly it is.
  • “Location-aware applications with GeoClue and Gypsy” by Henri Bergius (Nemein), Iain Holmes (OpenedHand), Jussi Kukkonen (also OH) — from clock applet which automatically change your timezone for shopping lists which reminds you about milk when you are near store. I wonder how those projects will change the way of writing applications. For those who does not know what Gypsy is — it is GPS multiplex daemon which does not have gpsd bugs.
  • “Breaking the Silence: Making Applications Talk with Telepathy” by Robert McQueen from Collabora. I think it was a bit too technical but otherwise it shown what Telepathy is and how cool can it be.

I see that some of Lighting Talks can be also interesting.

Parties

O yes… parties… Monday and Tuesday were easy days — we got some Turkish coffee somewhere (it was really good) and Turkish beer (was not good) but next days were different.

On Wednesday evening there was roof party at the University. Lot of people and red wine in plastic/paper cups. Get to sleep at ~02:00…

Thursday… Collabora boat party with “unlimited” beer… That was great event. At 21 we get on board and the party started. Carlsberg is quite good beer and after 3rd can you do not notice taste πŸ™‚ There were few places with stronger alcohols — 15 years old whiskey for example. We went under Europe<>Asia bridges — the first one has animated lights which looks very nice. I spoke a lot with Ken Gilmer from Bug Labs company and it was good spent time. Later from party to came to “bar” near the Golden Horn hotel and from there I walked to our hotel. Final bed time: 03:30…

Today there will be Google sponsored party but I do not plan to go there. I prefer to have some time for packing and rest before traveling home (Istanbul -> Berlin -> Szczecin) and going to the party would makes me look like zombie on Saturday… And I have family event on Sunday so I should look like normal person rather πŸ™‚

BTW — after boat party I thought that conference could be named GUADEP as sometimes it looks like parties takes more time and attention then conferences πŸ˜€

Summary

I will not write that it was worth going to GUADEC because it is widely known fact. I met interesting people (also few not interesting ones), discussed some projects with their managers (as talking is always better then exchanging emails).

Next year should be even more interesting as it will be merged with Akademy which is KDE conference (and I use KDE3/4 rather then GNOME on my machines).

Second is very long time

I am at GUADEC now and typing from my Dell D400 laptop. The fun part is in battery — it is more or less dead but in interesting way…

For last few minutes it say that I have 3% of battery left which will give me 1 second of work. It is quite long second πŸ™‚

After all the battery has enough juice to give me about 30-40 minutes of usage (with removed everything not needed like USB, Ethernet) with WiFi enabled (on Broadcom 4306 chipset). And to avoid data loss I have all partitions mounted read-only now.

UPDATE: some more facts:

11:08 — 3% battery left, 00:00:01 remaining
11:31 — 0% battery left
12:02 — still working…
12:08 — started dd if=/dev/urandom of=/dev/null to give some work for CPU. Machine stopped working

1 hour with unknown status of battery… It was enough for reading Google Reader over WiFi.

GUADEC 2008

Tickets bought, insurance bought, maps of Istanbul loaded into Maemo Mapper on N810 so I am nearly ready for GUADEC 2008. This year it will take place in Istanbul, Turkey but it is still European conference πŸ™‚

Trip starts on Monday morning — bus from Szczecin to Berlin Texel, then flight (Turkish Airlines) to Istanbul. Short trip to hotel Senator and I will be ready to wait for rest of OH gang to arrive. I do not plan to get lost like I did year ago πŸ™‚

List of talks to attend is generated and stored in GPE Calendar (when Maemo will get good PIM…) and this year I plan to attend most of this list. Too bad that Quim Gil talk is on Monday — I will not attend his talk. I hope that some familiar people from Maemo community will attend so we will be able to talk a bit.

But conference is not everything — I plan to take a walk though city to show something as I do not know when I will be there next time.

Ah — and I have to remember about N810 headset — GSM calls to/from Turkey are expensive so VoIP calls will be my only way to contact rather.

Packaged staging and what it gives

Many people do not realize that Poky (and OpenEmbedded .dev) have so called “packaged staging” support.

What it is?

Let me try to describe it a bit. During normal builds “tmp/staging” directory is populated during do_stage tasks and there is no way to remove staged files in other way then by hand. With “packaged staging” this area is under package management — each built recipe has those files packaged along with resulting packages, stamps and cross tools.

OK, but what it gives? Why to bother with this at all?

Those are good questions… With fast machines (like my Core2Quad for example) build of “poky-image-sato” can be done in less then 2 hours so it looks like there is no need for any speedups… But not every one has such beasts. With packaged staging developer is able to do repeatable builds in nearly no time (compared to first build) as most of recipes are not built but unpacked from previous builds.

How to use it

To make use of packaged staging “conf/local.conf” needs some editing. Basically one line (inheriting packaged staging class) is important:

INHERIT += "packaged-staging"

To be able to make builds from scratch one more change (moving directory with staging packages outside of “tmp”) is needed:

DEPLOY_DIR_PSTAGE = "${OEROOT}/build/pstage/"

After those edits we need to make first build. I suggest “poky-image-sato” target as this will give all important libraries built and packaged. Everything behave like in normal build — software is built, staged, packaged and final image is created. Bonus is in “${OEROOT}/build/pstage/” subdirectories — extra packages which will be used in any of next builds.

Lets test it

Now when we have first built done (which took few hours) we can test how much will “packaged staging” improve our build time (I assume that both edits listed above were done).

So now comes interesting part — we will remove “tmp” directory and do build from scratch. Please notice what happens — nearly nothing is built (except “stagemanager-native” which handle “packaged staging” functionality) because everything is unpacked from packages done on previous build. If any recipe got updated since last time it will be built and packaged.

End notes

As you see packaged staging can be really useful for making builds — less time is needed, results of following builds are same. And in the end developer has more time for developing πŸ™‚