Mango Lassi
The other day I looked into switching away from synergy to Mango Lassi. I only use it between two machines, so I figured my use case was simple enough that it should work at this stage. I was not disappointed. I was getting some very strange behavior with synergy and vmware, and Mango Lassi has none of that. Plus it gives an OSD telling you which machine the mouse/keyboard are being used on, which is a nice perk.
Anyway, I was so happy with it that I made packages for openSUSE. You can get it from my build service repository.
If I can't go to FOSDEM... [2nd part]
- http://flickr.com/photos/11426495@N08/tags/fosdem/
- http://flickr.com/photos/giannaros/sets/72157603979849061/
- http://flickr.com/photos/lhirlimann/sets/72157603971804540/
- http://flickr.com/photos/crema/sets/72157603972080068/
- http://flickr.com/photos/isriya/sets/72157603971808570/
- http://flickr.com/photos/m0dlx/sets/72157603966397580/
- http://flickr.com/photos/entre4yeux/sets/72157603971388475/
- http://flickr.com/photos/qmap66/sets/72157603971716588/
- http://amarok.kde.org/blog/uploads/dscf4537.jpg
If I can't go to FOSDEM...
Dear FOSDEM 2008 attendees,
Unfortunately I couldn't go to FOSDEM 2008. I can't either find much photos available on the Internet nor videos at all. So... I'm begging you to upload some photos and videos from FOSDEM 2008, specially from the openSUSE booth and talks.
Best regards,
Carlos Gonçalves
To be continued...
Kubuntu from 7.04 to 7.10 by resizing virtual disk
Finally, I found some time to update my virtual machine, Kubuntu from Feisty Fawn to Gutsy Gibbon. I didn't before because I had to resize the virtual disk, the empty space didn't allow me to do the update. So, the necessary steps are here:
1. resize the virtual disk with:
vmware-vdiskmanager -t 1 -x 12GB KUbuntu.vmdk
the options for command are:
t 1 - growable virtual disk split in 2Gb files
x 12 -GB the new size for disk
2. Now we have a large virtual disk but we still need some work to have
also a bigger disk in Kubuntu. So, change in bios, for virtual machine
to boot from cd in order to resize also the ext3 partition. I used
Knoppix for this task and
Gparted as application.
3. Reboot and change in bios to boot from hdd.
4. Using Adept as is described on Kubuntu
site do the
update. After about 1 hour I had the last version of Kubuntu installed
and a lot of free space.
eeeSUSE II
OpenSUSE on the EeePC
Thanks for your patience ;-)
YaST User Interface Library is now independent of YaST
The YaST UI library provides a very simple API to build rather complex but still consistent user interfaces. The particular implementation of the interface depends on the chosen backend - Qt, Gtk+ or ncurses. The primary target for this library is YaST, Yet Another Setup Tool developed for installation and configuration of SUSE products.
However, the library was very deeply tied to the rest of YaST infrastructure which made it nearly impossible to use it outside of YaST. Not anymore. Very soon, there will be packages available in openSUSE that provide the library independently of YaST, so any application that might need to provide both graphical as well as textual interface can easily do so. They provide also examples how to use the library from pure C++.
For future, I believe it makes sense to have a shiny new name for this library (YUI also means Yahoo UI) and I've tried to persuade the team on their IRC channel, but there were no good proposals for those. So, for now, we have the great functionality unleashed outside of YaST, with the old and pretty generic name YUI. Happy hacking!
First blog
Lunch and dinner in Bremen
This weekend we are in Bremen, so here are some images with our Saturday dinner and Sunday lunch.
The dinner to Amico restaurant:

The lunch, Sunday, was to Sailor's Inn Restaurant:
I can say that the food was great ...
If you want to see some photos during our short visit in Bremen feel free to visit my flickr page.
eeeSUSE ;-)
This morning I had a USB Stick that didn't get much further than that:
... and a few hours later, 10.3 minimal graphics install with a few hand selected KDE packages:
I will fine tune the image and document what I did, and make it available in the wiki later. For now, thanks to all developers of KIWI and yast2-live-installer, and to the build service user appleonkel, who had all the drivers I needed already packaged -- you rock ;-)
"XML Namespaces are designed to support exactly this kind of thing.
We make really good progress on our interoperability work. In our current focus area of fields we extended the OpenOffice.org Writer core for better support of MS Word-like fields. The first feature which benefits from this work are “Input fields” which now support the long wanted "tabbing" feature.
However we want all fields to benefit from the new enhanced field core --- not only "Input fields". Other areas are e.g "Mail merge fields" etc.. Since all of this fields share the same generic mechanism we decided to add support for this generic MS Word-like fields in OpenOffice.org Writer. But by doing so we faced the problem that ODF is not supporting these kind of fields.
Interestingly Tim Bray (Director of Web Technologies at Sun Microsystems) suggested a solution already in November 2005: http://www.tbray.org/ongoing/When/200x/2005/11/27/Office-XML. Unsurprisingly he suggested XML namespaces to solve this problem.
Thats what we did. MS Word-like fields are now stored in the namespace
which clearly indicates the purpose: OOXML<->ODF interoperability.
The following RelaxNG fragment enhanced the current ODF specification with the new fields:
<define name="paragraph-content" combine="choice">
<choice>
<element name="field:fieldmark">
<attribute name="text:name">
<ref name="string"/>
</attribute>
<attribute name="field:type">
<ref name="namespacedToken"/>
</attribute>
<attribute name="field:locked">
<ref name="boolean"/>
</attribute>
<sequence>
<ref name="fieldmark-parameter"/>
<zeroOrMore>
<ref name="paragraph-content"/>
</zeroOrMore>
<sequence>
</element>
<element name="field:fieldmark-start">
<attribute name="text:name">
<ref name="string"/>
</attribute>
<attribute name="field:type">
<ref name="namespacedToken"/>
</attribute>
<attribute name="field:locked">
<ref name="boolean"/>
</attribute>
<ref name="fieldmark-parameter"/>
</element>
<element name="text:fieldmark-end">
</element>
</choice>
</define>
In general fieldmarks are very similar to bookmarks, except that they need to be properly nested. This is achieved by the fact, that a field:fieldmark-end does not have a "name" attribute, but instead closes the last opened field:fieldmark-start element.
The field:fieldmark element is a short form of field:fieldmark-start and field:fieldmark-end. It SHOULD preferably be written instead of start-/end marks.
Every fieldmark can have
- a name (text:name); similar to the name of text:bookmark elements. They SHOULD be unique. (Preferably also with the bookmark names).
- a type (field:type) which allows application to define the type of the fieldmark.
- a sequence of associated (name, value) pair represented by the <field:param field:name=”string” field:value=”string”/>.
- a locked attribute which specifies whether the user can edit the content or not.
A sample. Lets take a loog at the following sample docs:

The OOXML representation is:
<w:p>
<w:r><w:t xml:space="preserve">Title: </w:t></w:r>
<w:bookmarkStart w:id="0" w:name="Text1"/>
<w:r>
<w:fldChar w:fldCharType="begin">
<w:ffData>
<w:name w:val="Text1"/>
<w:statusText w:type="text" w:val="Just a sample field."/>
<w:textInput/>
</w:ffData>
</w:fldChar>
<w:instrText xml:space="preserve"> FORMTEXT </w:instrText>
<w:fldChar w:fldCharType="separate"/>
<w:t xml:space="preserve">A sample input.</w:t>
<w:fldChar w:fldCharType="end"/>
</w:r>
<w:bookmarkEnd w:id="0"/>
</w:p>
<w:p>
<w:r><w:t xml:space="preserve">Description: </w:t></w:r>
<w:bookmarkStart w:id="1" w:name="Text2"/>
<w:r w:rsidR="00FA39C2">
<w:fldChar w:fldCharType="begin">
<w:ffData>
<w:name w:val="Text2"/>
<w:statusText w:type="text" w:val="Yet another sample field..."/>
<w:textInput/>
</w:ffData>
</w:fldChar>
<w:instrText xml:space="preserve"> FORMTEXT </w:instrText>
<w:fldChar w:fldCharType="separate"/>
<w:t>A sample input.</w:t>
</w:r>
</w:p>
<w:p>
<w:r><w:t>Second sample input paragraph.</w:t></w:r>
<w:r><w:fldChar w:fldCharType="end"/></w:r>
<w:bookmarkEnd w:id="1"/>
</w:p>
<w:bookmarkStart w:id="2" w:name="Check1"/>
<w:p>
<w:r>
<w:fldChar w:fldCharType="begin">
<w:ffData>
<w:name w:val="Check1"/>
<w:statusText w:type="text" w:val="A sample checkbox..."/>
<w:checkBox>
<w:checked/>
</w:checkBox>
</w:ffData>
</w:fldChar>
<w:instrText xml:space="preserve"> FORMCHECKBOX </w:instrText>
<w:fldChar w:fldCharType="end"/>
</w:r>
<w:bookmarkEnd w:id="2"/>
<w:r><w:t xml:space="preserve"> Make sense?</w:t></w:r>
</w:p>
The ODF+Enhancement representation is:
<text:p>Title: <field:fieldmark-start text:name="Text1" field:type="ecma.office-open-xml.field.FORMTEXT"><field:param field:name="Description" field:value="Just a sample field."/></field:fieldmark-start>A sample input.<field:fieldmark-end/></text:p>
<text:p>Description: <field:fieldmark-start text:name="Text2" field:type="ecma.office-open-xml.field.FORMTEXT"><field:param field:name="Description" field:value="Yet another sample field..."/></field:fieldmark-start>A sample input.</text:p>
<text:p>Second sample input paragraph.<field:fieldmark-end/></text:p>
<text:p><field:fieldmark text:name="Check1" field:type="ecma.office-open-xml.field.FORMCHECKBOX"><field:param field:name="Description" field:value="A sample checkbox..."/><field:param field:name="Result" field:value="1"/></field:fieldmark><text:s/>Make sense?</text:p>
Cool isn't it. Or with Tim's words: "Who could possibly be against it?"