FOSDEM 2012 - How to make the best of it and become LibreOffice developer
FOSDEM 2012 is just round the corner and, as you might know, LibreOffice will have a DevRoom this year too. And, as it was already publicized, your servant and Eilidh McAdam of libvisio fame will attend too. The goal of this event will be to help you to become a LibreOffice developer, by helping you to get your first contact with the code from inside.
How to prepare for the event?
In order to give as many community members the possibility to speak, the presentations will not take more then 15 minutes each. But we will be there for one-to-one contacts and hacking goodness. If you are interested in contributing to our new Visio import filter, or the upcomming Corel Draw and MS Publisher filters, here is what you can do:
- Find a bug that is bothering you in the current Visio import filter, or some simple feature that the importer currently does not support
- Check out the following libraries:
- master branch of libwpd (
git clone git://libwpd.git.sourceforge.net/gitroot/libwpd/libwpd) - STABLE-0-2-0 branch of libwpg (
git clone -b STABLE-0-2-0 git://libwpg.git.sourceforge.net/gitroot/libwpg/libwpg) - master branch of libwps (
git clone git://libwps.git.sourceforge.net/gitroot/libwps/libwps) - master branch of libvisio (
git clone git://anongit.freedesktop.org/libreoffice/contrib/libvisio), and - master branch of libcdr (
git clone git://anongit.freedesktop.org/libreoffice/libcdr)
- master branch of libwpd (
- Build them as system libraries and install them in the same order.
- Then build LibreOffice according to these instructions. The important thing is to use those system libraries that you just built. To do so, be sure you added to the configure flags
--with-system-libwpd--with-system-libwpg--with-system-libwps--with-system-libvisio--with-system-libcdr
With this kind of build, you will be ready to make the most from your Brussels weekend. Nevetheless, you can drop around at our IRC channel #libreoffice-dev channel at irc.freenode.net for more information and ideas.
Starting to do it instead of planning to do it ...
... is the best way to enter the FOSS development. That is why your servant and Eilidh will be around to hold your hand with debugging and finding way to implement your favourite features. We will answer your questions about the library design. We will point you to the place in the code where your bug might linger. And for more complicated stuff, we will debug it with you.
Don't expect us to give you a fish, but we will certainly teach you how to catch it by yourself. And in the same token, you will become a contributor inside a community of smart people that is fun to hang and hack with.
See you in Brussels the 4th and 5th of February 2012.
Of tabs and spaces.
:set expandtab
Bazekiel 25:17 - The path of the righteous coder is beset on all sides by the stupidity of management and the tyranny of evil code. Blessed is he who, in the name of efficiency and good builds, migrates his work through the valley of changesets. For he is truly his project’s dev’er and the tester of new modules. And I will strike down upon thee with git blame and revert those who attempt to check in tabs to my projects. And you will know I am the Nerd when I post crap about you.
Not sure who wrote this little gem, paraphrasing a quote from Pulp Fiction which in fact is a paraphrased verse from the christian bible. I can’t recall who really posted this (“first”) but last time i saw it it was shared in #vim by Barry Arthur (bairui).
Yo Yo.
Mozilla based web authoring applications
I’m not a web designer really but I happen to be kind of responsible for packaging two web authoring applications in openSUSE which are SeaMonkey’s Composer and KompoZer. While the SeaMonkey integrated editor is somewhat limited (AFAIK) KompoZer (which was forked from Nvu at some point) has more advanced features. But KompoZer development seems to be pretty slow and it misses quite some of the new web stuff which is around nowadays. In addition the current version is BETA for quite some time now and seems to have a major issue in openSUSE 11.4 and 12.1.
Because of that I finally had a look at BlueGriffon (written by the same developer as the Netscape/Mozilla/SeaMonkey Composer and Nvu) as it seems to be in active development and supports quite some of the new HTML5 and CSS3 stuff and created an initial openSUSE package available in the mozilla OBS repository for testing now. There is also an openSUSE feature request to make it available. If you are a web developer or already know BlueGriffon please give the package a try and send your feedback.
My plan for the openSUSE distribution would be to keep SeaMonkey’s Composer (basically anyway because it’s a part of SeaMonkey which is to stay), add BlueGriffon and drop KompoZer. If you see a reason why that might be a bad idea based on your experience as a web authoring application user please let me know.
Looking forward to your feedback!
30-and-1 Zsh tricks you may not know...
Or if you do.. Well done! you really know your way around obscure and vast manpages. :-)
Among the millions of zsh features i will be presenting you with some pretty useful ones for daily use.
-
esc-.
insert the last argument of the previous command in history, repeat to cycle through commands/arguments in history. -
esc-'
quote the whole line. (for use with su -c, ssh et al). -
esc-q
clear the current line and insert on next blank prompt (useful for inserting interim commands). -
!"
got a command with many ! but too tired to escape all of them in order to not call upon history? just prefix it with a !” ( “ left intentionaly unclosed). -
=zsh
expand to the full path in $PATH ( eq towhich zsh). -
!$
use last command’s argument. -
!$:h
use last command’s argument, strip a level, add more :h to traverse the levels. -
vi =(foo)
process substitution, use vi to edit the output of foo. -
<file
is like “more < file”. -
>file
is like “cat > file”. -
>>file
is like … you guessed it, “cat >> file”. -
!:t another
history exp trick, this one strips the path in the previous command giving you the basename only. -
!-2\$:r
talking about history lets get a little more complex. second to last command, first parameter without file extension. -
for i (*.c) { ... }
pretty much self-explanatory, shorter way to write a for loop. -
vared
edit variables from the comfort of your zsh prompt. -
hash -d name=path
another awesome feature is the ability to have named directories. you create one like that and you can cd to it from anywhere using cd ~name. -
echo $foo:e
get the extension of $foo (the opposite of :r). -
repeat n
run a command n times. -
alias -s tex=vim
now running somefile.tex in zsh will open somefile.tex with vim. -
tetris
all work and no play makes jack a dull boy! thus zsh has a tetris mode to help you relax at times. just load the module and assign it to a key or something! -
zftp
when dealing with a lot of ftp stuff, this module can save you hours by automating the process through shell scripts. -
^r
search history by greping the history file, ( can be “/” if using vi input mode). -
^a
go to the beginning of line. -
^e
same for the end of it. -
zmv
the Z shell Programmable rename/move .. a BEAST that with enough loving can trully perform miracles. -
zle
the Z shell line editor .. another module that needs a book of its own. - ls /u/s/d/m/e<tab>
the shorter version for ls /usr/share/docs/mutt/examples - you can setup directory specific configs for use with different projects, ref: mika’s conf on mika’s blog.
-
ls -l *(.L-100)
list all files in the current dir that are less than 100bytes in size (ignore directories). -
ls -l *(Lm+50)
list all files and dirs in the current directory that are more than 50 Megabytes in size.
Bonus:
{% codeblock lang:sh %}
kapow(){
touch ~/.pow/$1/tmp/restart.txt;
if [ $? -eq 0 ]; then; echo “pow: restarting $1” ; fi
}
compctl -W ~/.pow -/ kapow
{% endcodeblock %}
this gem from Christofer Sexton will let you quickly restart an app in pow.
Amazing Google Code-In
Removal of 32-bit Xen from openSUSE
As announced in July 2011 , the openSUSE Xen maintainers intended to discontinue support for 32-bit Xen host in openSUSE12.1. Now that 12.1 has been released, we are hearing complaints from users virtualizing on older P4-based systems. I understand their frustration, but given that the upstream Xen community has ignored the 32-bit host, and no other distros are supporting it, we can no longer justify the effort required to support it. Supported 32-bit Xen packages are going by way of the dodo, and dropping them in openSUSE may very well mean extinction.
That said, users still have a few options. First, we have quite stable 32 and 64-bit Xen packages in openSUSE11.4. The Xen version is 4.0.3, which has all the latest upstream fixes and improvements for the 4.0 branch. In fact, the package sources are shared with SLES11 SP1 and benefit from the broader user-base and QA of the enterprise product. openSUSE11.4 contains kernel version 2.6.37, which has excellent support for older P4-based hardware.
Another option is using the openSUSE Build Service to maintain your own 32-bit Xen packages. In fact, the community itself can maintain 32-bit Xen in the Virtualization project if there is enough interest. We will be happy to accept any patches that do not break 64-bit environments :-). One benefit of this option is that the openSUSE Factory Xen packages are developed in the Virtualization project. A community maintained, 32-bit Xen host in this project would be submitted to Factory, and hence included in the next openSUSE release, as part of the overall Xen package submission done by the openSUSE maintainers.
Take a decision to enter FOSS in 2012
So, the year changed again and with it come quite often new decisions. Some swear to work out the superfluous kilos, pounds, or whatever standardized measure your country uses, gained too fast during the festivals. If it is your decision, it is for sure good for your body and I wish you success that goes beyond the act of subscribing to a local gym (and never appearing there after first month).
But this could be also a nice time to take a decision that you were procrastinating with for too long. That one is good for your intellect and programming skills (even though you don't consider yourself a programmer yet). What about starting to contribute to a Free and Open Source Software project (FOSS)?
Sounds interesting? So I have one for your. It is having a big and growing community. It can accomodate all levels of skills. And the impact you will have is multiplied by the wide addoption of the product itself.
Well, you must have guessed right by now. I am speaking about the LibreOffice project, your natural entry point into the marvelous world of the FOSS.
Whether you are expert or beginner programmer or C++ is sounding Chinese Traditional for you, just find a way to join channel #libreoffice-dev channel at irc.freenode.net in order to meet other developers and visit our Easy Hacks for ideas where to start.
I promis you that a year from now, you will not regret that you have started. Although, it is quite probable that you will pour a tear over an unused year-pass from the local gym.
Greek openSUSE community, Translation of openSUSE Weekly news in Greek (issue 207)
Hello everyone!
I am very pleased to announce the new issue (207) of openSUSE Weekly News in Greek.
In this issue you will read about:
* h-online/Thorsten Leemhuis: Καταγραφή Πυρήνα: Πολλαπλή αφή για τον X.org και νέοι οδηγοί γραφικών
* Manu Gupta: systemd
* Jos Poortvlieet: openSUSE και ownCloud
* Linux User & Developer / Jos Poortvliet: GNOME Shell
* Help Desk Geek/Eric Fleming:‘tar’
As well as many interesting news about openSUSE and useful advice, which can make our lives easier.
Read more at: http://own.opensuse.gr, http://el.opensuse.org/Weekly_news or www.os-el.gr
We are always looking forward to receiving your comments as well as suggestions regarding things you would like to read about in our next issue.
The openSUSE Weekly News is being translated in the Greek language from issue #150. You can read older translated issues here:
http://el.opensuse.org/Κατηγορία:Weekly_news_issues
Enjoy it!
George Bratsos (Etern4L)
Greek openSUSE community, Translation of openSUSE Weekly news in Greek (issue 206)

Hello everyone!
I am very pleased to announce the new issue (206) of openSUSE Weekly News in Greek.
In this issue you will read about:
* openSUSE Board Election 2011 results
* Kai-Uwe Behrmann: Firefox-8.0 Colour Management
* Finally – GNOME Shell Extensions
* Christmas GRUB
* Phoronix/Michael Larabel: First Release Of Open-Source Blu-Ray Library
As well as many interesting news about openSUSE and useful advice, which can make our lives easier.
Read more at: http://own.opensuse.gr, http://el.opensuse.org/Weekly_news or www.os-el.gr
We are always looking forward to receiving your comments as well as suggestions regarding things you would like to read about in our next issue.
The openSUSE Weekly News is being translated in the Greek language from issue #150. You can read older translated issues here:
http://el.opensuse.org/Κατηγορία:Weekly_news_issues
Enjoy it!
George Bratsos (Etern4L)

