JJ, get some chocolate :-)
EDS + Hibernate = 100% CPU
A little further investigation revealed that it was because of the combination of g_timeout_add()+hibernation. GLib stores the last processed time for g_timeout_add and when hibernated, the memory image is stored and restored, when resumed from hibernation. When restored, callbacks registered with g_timeout_add() gets called - as the difference in time during hibernation and resume satisfies the g_timeout_add() timeout value and that too in multiples of 100. Harinath (of Mono fame) helped me understand the GLib part and the fixes have gone in for GW and webcal provider.
User scenarios of text grid
1. When user creates a text document, the default paper mode of text grid is read from user preference settings. User can switch the default paper mode of text grid in text document options tab page. (Tools --> Options --> Text Document --> General) by clicking the check box "Use squared paper mode for text grid".
2. When import a Ms Word 97/2000 file (.doc), the default paper mode is treated as "standard paper mode".
3. When import a text document of the previous version of OO.org (.odt, .sxw), the default paper mode is treated as "squared paper mode"
4. When user is editing a text document with text grid.
if he switchs the paper mode from "squared" to "standard", the following behavior is used:
* line height = Max base text size + Max ruby text size
* lines per page = type area height / line height
* Max ruby text size = 0
if he switch the paper mode from "standard" to "squared", the following behavior is used:
* line height = type area height / lines per page
* Max base text size = line height * 2 / 3
* Max ruby text size = line height / 3
Two kinds of text grid layout
Per the text grid prososal approved by ODF TC, the style:layout-grid-standard-mode property is added to specified which kind of text grid is used for the document.
In order to ensure that either “sqaured mode” or “standard mode “is used for the whole document, the style:layout-grid-standard-mode property can only be set for the default style of the “page-layout”. When the style:layout-grid-standard-mode attribute appears inside a style:page-layout definition, then the attribute MUST be ignored.
Global setting entry for selection of which kind of text grid layout is used for the whole document. (Tools-->Options-->OpenOffice.Org Writer-->General)

When the "Use squared page mode for text grid" is checked, the original tab page of text grid is used.

When the "Use squared page mode for text grid" is unchecked, the following tab page of text grid is used.
Microsoft ISA server support
Text grid in Ms Word 97 binary file format
In Ms Word 97 binary file format, there are three SPRMs to deal with grid. They are:
| Name | sprm | Property | size | Description |
| sprmSDxtCharSpace | 0x7030 | Sep.dxtCharSpace | long | Specifies the grid width |
| sprmSDyaLinePitch | 0x9031 | Sep.dyaLinePitch | long | Specifies the grid height |
| sprmSClm | 0x5032 | Sep.clm | long | Specifies the grid type |
sprmSClm has four values, which corresponds to four types of grid.
| Name | value | Grid type |
| sprmSClm | 0 | No grid |
| 1 | Specify line and character grid | |
| 2 | Specify line grid only | |
| 3 | Text snaps to character grid |
Text grid enhancement in MS Office 2007
Today, I downloaded and installed a Chinese trial version of MS Office 2007. I was surprised that “Square page mode” is also supported in MS word 2007, which is not supported in previous version.
Below illustrates the menu entry for “square mode” setting. ( Maybe this function is disabled in none_CJK version in default).
Setting tab page:
Squared page (20 ×20):
If the “square page mode” is enabled, the page setting menu is disabled. “standard page mode” setting is not allowed, which avoids mixed page mode in a document.
My Subwoofer Is Woofing
Today I discovered that openSUSE 10.2 uses version 1.0.12 rc2 of the alsa drivers, and they don't support the subwoofer. So I downloaded alsa-driver-1.0.13, configured it with ./configure --with-cards=hda-intel, ran make, and then make install-modules, rebooted my machine, and the sub was working. Oh and that model=ref line was added to /etc/modprobe.d/sound, so now the first line is options snd-hda-intel enable=1 index=0 model=ref.
There's only one slight problem - the master volume control doesn't adjust the subwoofer (shown as LFE in the mixer), and muting the sound also doesn't mute the sub. But other than that it works!
Back from FOSDEM
A small resume of my FOSDEM experience…
Friday evening
Departure from Italy. The plane landed in Charlesroi airport, where we (me and Laura) take a bus for Bruxelles. Once in the city it was so late that there was no public transport, so we had to take a cab in order to reach our hotel.
Saturday
Small tour in Bruxelles. As we thought Bruxelles is a beautiful city with lot of things to see, in fact there are too many things to see for a 2 day trip! In the late morning we reached FOSDEM at the ULB university.
After a long tour across the different stands I found the KDE guys and especially Jos. I met him at the Nepomuk talk. Here I discovered that since Sebastian Trueg (author of the famous K3B burning program) was ill, Jos has taken his place. It has been a really interesting talk, that “warmed” people making them more curious about Strigi. Then it was my time. Everything went right and in the end there were many questions.
The day ended with another small walk in Bruxelles and a dinner in one typical restaurant.
Sunday
We went to FOSDEM for the last time to see Jos talk. As usual Jos made a great job and all the people liked it. After a small talk with him about some technical aspects of Strigi, we leave FOSDEM and we went for another small tour in Bruxelles.
In the early afternoon we had to take the bus for the Charlesroi airport. We came back home at 10pm with some bottles of good Belgian beer ;)
In the end
It has been a great experience, I’ll try to came back to FOSDEM the next year!
You can find my presentation in the papers section.
Strigi Desktop integration
Short abstract:
Strigi desktop integration: how to access Strigi features.
Strigi, the fastest and smallest desktop search engine, provides fast searches and good metadata extraction capabilities. It will be used by the next KDE, but it can be easily integrated in other programs.
Long abstract:
Modern humans are using more and more data every day. Keeping data organized is becoming insufficient, so finding and filtering documents have become key tasks in modern operating systems. The traditional unix tools find, grep and locate do no longer suffice for a number of reasons: The amounts of data have grown more than data access speeds, many document formats are too complex to handle by simple tools and relations between different types of data are becoming more important for a convenient user experience. Strigi introduces a new way of looking at metadata and file formats that enables the creation of very efficient tools for improving the way users handle their data. It does so by using simple C++ code with very few dependencies.
Strigi’s features can be easily integrated by other programs using two different interfaces: socket and DBus. The last one can be considered the best choice since there are lot of DBus bindings that make possible to interact with Strigi using different programming languages. DBus inter-process communication system will be used by KDE4 and is actually used by Gnome. Moreover, DBus bindings exists for lot of programming languages. Thanks to this Strigi can be easily integrated in different window manager and inside programs written in languages different from C++.
KDE developers can also take advantage from Strigi’s JStreams: a set of classes for fast access to archive files. In fact Strigi defines a dedicated KIO Slave for JStreams, this can be easily used by other programs, making archives access faster.
This presentation will show how the current Strigi clients interact with the daemon, how to communicate with Strigi and, most important of all, how other projects can benefit too accessing Strigi.


