Text Grid Enhancement
* Create a new page in openoffice wiki to ask for input. Here is the link : http://wiki.services.openoffice.org/wiki/Text_grid
* Below is the two kinds of text grid layout.

Figure1, Squared page mode

Figure2, Rectangle page mode
1) "Squared paper mode". It is used by ODF.
For this kind of grid layout, the page is divided in a fixed numbers of lines (lines per page). The lines are divided into squared cells (characters per line). The number of lines per page depends on the line height ( i.e., the sum of grid base and ruby height), and the characters per line also depends on the line height.
In "Squared paper mode", the “Characters per line” setting has the most high priority, it will determine the height of line, then the “Lines per page” setting has the second priority, it will determine the height of type area.
This kind of grid layout "Squared paper mode" is used to simulate “squared paper”, which is a kind of specific paper used 20 years ago(before personal computer is widely used in text processing). But now, “squared paper” is only used in very limited case, and most CJK users won't use it anymore.
2) "Rectangle paper mode". It is used by OpenXML, UOF (Chinese Office File Format) and other CJK office suites (i.e., EIOFFICE, WPS).
For this kind of grid layout, the page is divided in a fixed numbers of lines (lines per page). While the lines are divided into rectangle cells (characters per line). Ruby grid is not specified in this paper mode. So the line height is grid base height and the characters per line depends on the grid base width, not grid base height.
In "Rectangle paper mode", type area has the most high priority, it will determine the height of line; the “Lines per page” setting has the second priority, and “Characters per line” setting can only determine the width of characters, and can't influence line height in anyway.
This kind of grid layout "Rectangle paper mode" is wildly used in CJK users.
* Snap to characters
We add a “snap to characters” attributes to specify whether the Asian character is centered in the grid cell or not when the grid type is set as “Grid(lines and characters)”. The default value “snap to characters” is “true”.
This additional attribute also improve the compatibility with MS word. Below is the map of grid type between MS Word 2003 and OpenOffice

Figure 3. No grid

Figure 4 . Grid (lines only)

Figure 5. Grid (lines and characters), “snap-to-characters” is false

Figure 6. Grid (lines and characters), “snap-to-characters” is true
As shown in Figure 5, when "snap-to-chars" is false, the Asian characters are not centered in the cell, while the Western character ("OpenOffice.Org) are also centered in the cell. This is not accurate. It is work in progress now.
Valentine's Day Evening
Florian help me to create it, thank Florian
Microsoft (in)compatibility
Interesting and challenging days ahead!
Monster Truck Lloyd

Monster Truck Lloyd
Originally uploaded by snorp.
Saw this while getting some food this morning. Only in Kansas…
Since James claimed at
Thoughts on Sincerity
Hi Steve,
Earlier today I read your “Thoughts on Music” post. Afterwards, my initial reaction was “That’s great! You get ’em Steve!”. It’s no secret that DRM is broken by design, but it’s nice to see one of the biggest users of it say so. However, I was quickly reminded by a colleague that Apple hardly seems interested in the “everything works with everything” utopia you describe. One specific example is the iTunes music sharing feature. Soon after it was released, some smart people figured out how it worked and developed software to be compatible with it. This let people access their iTunes-shared music from devices or operating systems that didn’t have iTunes. Soon after, Apple implemented a mechanism which prevented non-iTunes clients from doing this. Why? It wasn’t because of the record companies. The music purchased on the iTunes Music Store was still protected by FairPlay, so they had no reason to complain. The only conceivable reason you’d have for doing this is to force consumers into vendor lock in. Well, it didn’t work. Some more smart people defeated your mechanism and once again people were playing their iTunes-shared music using whatever software they liked best (be it iTunes or otherwise). But that didn’t stop Apple from re-implementing a similar protection scheme again in iTunes 7. This time you even knifed some business partners in the process. This kind of behavior isn’t at all congruent with what you’re saying in your post. Have you changed your mind now? Will the next iTunes release remove this restriction? If your “Thoughts on Music” was sincere, I’d expect so.
Proxy support in Evolution
Following is the screenshot of the Network preferences window in Evolution:
It uses libsoup for resolving hostnames and other SOCKADDR related processing.
Evolution Exchange Performance Series - Chapter 2 - Public Folder Loading
The complete fix was done in two-phases.
Phase-1:
--------
Do not scan public-folders recursively during startup.
Phase-2:
--------
Load folders on demand. This enabled us to achieve the maximum performance during subscribing to Public folders.
Any performance work needs to provide supporting data and here it is: (My test server has close to 250 public folders with a maximum depth of 21 subfolders)
| S.No | Description of Test/task | Patch (Sec) |
<=2.9.4 (Sec) |
| 1 | Configure an exchange account Restart Evolution |
7 | 65 |
| 2 | Folder->Subscriptions Selectthe configured Exchange account Note time taken to show the“All Public Folders” |
3 | 4 |
| 3 | Expand “All PublicFolders” Note time taken to display folder list |
< 1 | 168 |
| 4 | Time taken totraverse to maximum depth folder | 8 | 330 |
Memory consumption:
Before expanding a folder (in the folder->subscriptions dialog)
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 154.6 |
| RSS | 13.4 | 15.1 |
| Shared | 9.1 | 9.2 |
After expanding a folder:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 201.6 |
| RSS | 13.4 | 62 |
| Shared | 9.1 | 9.2 |
Actual memory consumption:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 0 | 47 |
| RSS | 0 | 46.9 |
| Shared | 0 | 0 |
Note: Memory consumption data is taken using gnome-system-monitor and thus difference in Bytes are not shown above. Columns showing 0 would definitely have a difference at least in bytes.
Memory consumption to traverse to the maximum depth folder:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 246.9 |
| RSS | 13.4 | 107.4 |
| Shared | 9.1 | 9.2 |
The fix also improved the overall folder loading performance.
more vmx-manager stuff
I’m still working hard on vmx-manager, and I think it’s coming along pretty well. I spent a good chunk of last week writing my own code for creating VMware Virtual Disks. The VMDK specification is pretty straightforward, but implementing it proved to be more tedious than I expected (“the devil is in the details”). The end result seems to work pretty well, so now vmx-manager can create disks without relying on qemu or vmware-vdiskmanager. Soon I might try to add a couple more features in this area, such as the ability to grow an existing disk (which in theory should be easy — just add extents). I’ve made a screencast of the app as I put it through its paces, and you can find up-to-date screenshots here.
When I was writing the flat extent support (used for pre-allocated disks), I wanted to do something different than just writing a bunch of zeros out to a file (which is slow). It seemed to me that it should be possible to ask the filesystem to quickly give me a file of a specific size. I didn’t care what was in it, so it should be able to just find a bunch of unused sectors (or whatever) and mark them as mine, right? I was able to find no such feature in ext3 or Linux in general, and I guess the reason is probably due to security concerns. You obviously don’t want to give people a way to read deleted data. It would be nice, though, if the fs could mark the data in such a way that it would be zeros until you write to it. Maybe that’s just too expensive, I don’t know. Anyway, if anyone knows how I could accomplish such a thing, please let me know.
klaptopdaemon improvement
Last night I spent a couple of hours adding a missing feature to klaptopdaemon. Are you curious? keep reading… Yesterday I installed a new kde icon theme. It looked really nice but there was a problem: klaptopdaemon tray icon didn’t work. In fact the icon didn’t show the battery level, it was always at 0%. Quite annoying isn’t it? Since I liked the theme I decided to add a new option to klaptopdaemon: print the battery level percentage over the systray icon.
I’ve just contacted klaptopdaemon maintainers and I’m going to commit it into kde svn, so you’ll get everything into next klaptopdaemon release :)