Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

JJ, get some chocolate :-)

Had to say good-bye to mouse. He'll travel to Australia. Again. Tried to smuggle myself into the luggage but I was too big. Hope mouse will at least send me a postcard. He is such a lucky mouse. My friend even bought chocolate for him.

a silhouette of a person's head and shoulders, used as a default avatar

EDS + Hibernate = 100% CPU

There has been issues reported by GW users that Evolution hangs/suspends for a while when composing mails. We weren't able to reproduce the issue and respective gdb traces didn't give enough information. Lately, I started hibernating my laptop and when I resume from hibernation, I noticed that EDS started taking 100% CPU and when gdb is attached to the process... voila!!!.. EDS was running with 264 threads and most of it are waiting to update GW addressbook and rest are waiting to update GW calendars.

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.

a silhouette of a person's head and shoulders, used as a default avatar

User scenarios of text grid

The following user scenarios of text grid are under investigation.

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

a silhouette of a person's head and shoulders, used as a default avatar

Two kinds of text grid layout

As mensioned before, there are two kinds of text grid layout which are used in CJK users. One is "squared page mode", the other is "standard (rectangle) page mode".

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.

a silhouette of a person's head and shoulders, used as a default avatar

Microsoft ISA server support

Today I came across a E2K_DEBUG trace forwarded to me from a Beta customer that had OWA url like http://www.example.com/CookieAuth.dll?Logon and after some googling found out that, when a Mailbox server is behind a Microsoft ISA proxy server, the OWA url gets redirected to the above link. Evolution-exchange now will support Microsoft ISA server as well.

a silhouette of a person's head and shoulders, used as a default avatar

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


a silhouette of a person's head and shoulders, used as a default avatar

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.

a silhouette of a person's head and shoulders, used as a default avatar

My Subwoofer Is Woofing

I managed to get the subwoofer on my Inspiron 9400 working today. I had read in several places that I just need to add 'model=ref' to the module config file, but I'd tried that without success.

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!

the avatar of Flavio Castelli

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.

the avatar of Flavio Castelli

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.