March 31, 2006

Changing styles

Kubuntu Dapper dist-upgraders have probably noticed that our Kubuntu style is progressively changing to fit Ubuntu’s wonderful orange theme. Yes, we’ve decided this was more beautiful after all, and Konqui couldn’t help but to begin painting the wallpaper already!

Happy April Fool’s Day!

March 30, 2006

Konqui & Kubuntu artwork

Konqui reading
As I’ve been searching for Konqui on Google Images and it wasn’t giving me many results, I finally landed on a nice website featuring Konqui art… and even short animation movies!

Great work! Enjoy : http://www.kulma.org/linux/kde/ !

Edit : As I’ve found this very cute Konqui reading a Kubuntu book, I’m wondering if it couldn’t be nice to include it for the help section, or for Ktip … Kwwii what’s your opinion if you read this blog entry?

March 27, 2006

Testing KDE 3.5.2 in Dapper

KDE LogoKDE 3.5.2 is (almost) out :) But Dapper is in UVF… so getting it in is not so easy, although it’s mostly a bugfix.

Therefore, Jonathan Riddell has packaged it and put on kubuntu.org for both Breezy and Dapper. In order to install it for Dapper, add :

deb http://kubuntu.org/packages/kde352 dapper main
deb-src http://kubuntu.org/packages/kde352 dapper main

to your sources.list, run `sudo apt-get update && sudo apt-get dist-upgrade` and restart KDE.

I strongly encourage Kubuntu Dapper users to test it and report bugs. If it really fixes lots of bugs and is stable enough, we might get it in Dapper and finish polishing Dapper with KDE 3.5.2, the 6 weeks delay given us enough time to include it properly.

March 25, 2006

© -3760 - 2006 YHWH

I have been wanting to provide new French Bibles to the Sword Project lately. The main versions used in France currently are the TOB (Traduction Oecuménique de la Bible), the NSB (Nouvelle Bible de Segond) and the BJ (Bible de Jérusalem). But all these versions are … copyrighted!
Copyright_symbol_3.gif
Yes, even the Word of God gets to be copyrighted now, and can’t be quoted or shared freely. Some copyrights are even a bit weird. For example, the BDS (Bible du Semeur) can be used just as long as the program doesn’t allow the user to see or extract more than 500 verses at a time. I believe this is the same for the NIV, too.

Don’t get me wrong though, I really think the work of translators and publishers should be rewarded, but I do not think that implies preventing people from sharing the Word of God freely.

Some programs manage to distribute these versions of the Bible, following the restrictions given by the publishers. Some even get to distribute versions with a key that has to be bought to decode the module… and I doubt Peter is the one selling the key ;)

If any translator and/or editor reads this blog, I urge them to remember that the Word of God is a gift from Him, and to free it from these copyrights.

“Freely you have received, freely give” (Matt 10:8)

Need an e9n on some a10n ?

Ever wondered why we use i18n and l10n and what’s the difference ? Well I have been wondering this many times…

Maybe it would be some kind of geek code, like the first letter would be a version number and the number that follows would be something like :

number=(-8/3)*letter_number + 42

and then finishing with an n just for fun. So versions j and k would have disappeared in outer space - probably cause they were not exact… Who would like a j15.333333333333333…n and a k12.66666666666666…n ? - and everything would end up with a z(-54)n ….

Very unlikely, heh? So I was wondering … Till yesterday I got the answer, which is obviously much simpler…

Long words are abbreviated by keeping the first and the last letter, and inserting in the middle the number of letters between these two extreme ones. So very simply :

i18n = i[nternationalizatio]n, with 18 letters between the i and the n
l10n = l[ocalizatio]n, with 10 letters between the l and the n
v11n = v[ersificatio]n, with 11 letters between the v and the n

Easy and efficient… As Marry Poppins used to say, it’s just s30o!

March 16, 2006

Adding icons to Debian packages

Rationale

So you packaged a nice app for Debian/Ubuntu… but there’s no icon, or the icon is horrible, or it’s missing some sizes…

In short, you are in a situation in which you need to add icons to your package…

Well the easy way would be to add png files directly in debian/ and dh_install them in /usr/share/icons/hicolor/fooxfoo/bar . Unfortunately, your package is not a Debian-native and the build fails because it can’t create the diff since it contains binary stuff! Too bad…

Now let’s think about it… The idea in Debian package is that they are source packages. So just the way we now try to provide docbook/sgml manpages and build them in debian/rules, install the binary then clean it, why not do this with icons too?

What do you gain from doing so ?

  • You package is easier to maintain: just change the source and the binaries are generated from it at build and cleaned
  • You don’t add binary stuff to your package
  • You don’t have to use xpm icons
  • You don’t have to add pngs directly in the source or make your package a Debian-native …

Now what is the option then?

Well looking around I found librsvg-bin (no idea why it’s named this way since it’s an exec, not a lib) which is a tool in main, allowing to convert svg files to png. There we are. Just as we provide docbook/sgml for manpages, let’s provide svg (which is xml, too) for icons!

So we’re adding librsvg-bin to Build-Depends, putting our svg as debian/myapp.svg, and completing debian/rules. Now the problem I have is that I’d like to use a for loop to generate all icons but make won’t let me use bash script… So I’ll create a script file that I’ll name debian/buildicons.sh, with these contents (don’t forget to give it a chmod +x):

#!/bin/bash

svgname="$1"
[[ -z "$2" ]] && section="apps" || section="$2"
[[ -z "$3" ]] && maxres="128" || maxres="$3"

pngname="`basename ${svgname} .svg`.png"

for resol in 16 22 32 48 64 128
do
if [[ "$resol" -le "$maxres" ]]
then
icondir="debian/icons/hicolor/${resol}x${resol}/${section}"
mkdir -p "$icondir"
rsvg-convert -h "$resol" -w "$resol" "debian/${svgname}" -o "${icondir}/${pngname}"
fi
done
icondir=”debian/icons/hicolor/scalable/${section}”
mkdir -p “$icondir”
gzip -9 "debian/${svgname}" -c > “${icondir}/${svgname}z”

We’re using an argument in this script for the program name so it can be ported and used in other packages.
Note the last lines, that are aimed to gzipping and installing the svg file in /usr/share/icons/hicolor/scalable/.

We’ll call this script from within debian/rules with the following:

build/mypackage::
debian/buildicons.sh myapp.svg apps

Then we’ll install the icons with:

install/mypackage::
dh_install debian/icons/* usr/share/icons

Then finally clean the build:

clean::
rm -rf debian/icons

Note: I reckon it’s kind of dirty to externalize debian/buildicons.sh as I propose to do. If anyone has a proposal to make it part of debian/rules cleanly, I’ll be happy to hear it :D

March 13, 2006

Do as you want… (commandments part 2)

Here is a nice story that was told this morning as part of the sermon on the commandments. I want to tell it apart, so has not to mix it with the already long previous post. This is a story told among Jews ; don’t try to find it in the Bible, it’s not in it.

Moses was on mount Sinai, receiving the commandments from God. God told him : “You shall not cook an animal’s meat into its mother’s milk”.
Moses answered : “Ok Lord, I get that. Let me rephrase : I shall not eat meat and milk together, right?”
The Lord is patient and kind, so he said : “No, that is not it, I mean to say you shall not cook an animal’s meat into its mother’s milk”
Moses said : “Oooh ok! So correct me if I’m wrong : I shall keep different plates for milk and for meat, so I don’t have to mix them when I eat, right?”
The Lord once again said : “Listen Moses, what I have to tell you is very simple : you shall not cook an animal’s meat into its mother’s milk, alright?”
Moses thought a bit, then answered : “Ok I think I got it this time! So you mean I shall use different plates for milk and for meat so I don’t mix them, and wait 6 hours after I eat any of them before eating the other, so they don’t get mixed in my stomach, is that better?”
And the Lord said : “You know what? Do as you want…”

Now, even though this story is not biblical, I find it very nice and very true. Very often, the message of God is clear and simple. It’s clearer message is : “Love your God with all your self, and love your neighbour as youserlf”. Couldn’t be more simple. Yet it’s so difficult to apply it, that we want to change it so it fits our will, not His.

Thus many believers have wondered : “Who is my neighbour?”. Well maybe my neighbour is only the one who lives close to me, and I don’t have to love others… Or maybe my neighbour is the one who looks like me, so if I’m white, I don’t have to love black people… Or maybe my neighbour is the one who has the same religion as me, so I don’t have to love people who do not have the same religion… Or maybe it’s not even about religions, but churches, so if I’m a catholic I don’t have to love protestants… Or maybe … [1]

Some even go wondering “What is love anyway?”

Yet the message is so clear…

I loved this story because I for one believe most commandments given in the Bible were given only because men where like Moses in this story : they didn’t want to hear what God wanted them to do, so they tried to change the rules as much as possible, to get practical, easy to do rules for everyday life. It’s much easier to respect tons of small commandments than to dedicate your whole self to God and to love your neighbour as yourself!

The will of God for us is simple and straight, and is aimed to our happiness. May His will be done!

Amen.

[1] note : the term that is used for “neighbour” in Hebrew actually means someone we don’t know yet. It can be your brother, your dad, your king, or a total stranger. It’s someone that will come and you don’t know who it is untill he/she comes.

REVU-Tools

I’ve just uploaded a version 0.6 of REVU-Tools to Dapper.

Thanks to Fathi Boudra, it now supports cascading settings in /etc/revu-tools.conf, /usr/share/revu-tools/revu-tools.conf and ~/.revu-tools.conf. Note that the package only creates /etc/revu-tools.conf so far.

Note that it is usually a good idea to set at least PBUILDERNAME (most users want it set to “sudo pbuilder”) before running the tools, and REVUDIR if you plan on using revu-review.

For more infos on REVU-Tools, you can check the wiki page.

Commandments to free!

I had a very nice time at the church this morning :)

I went to this church I love (well I’ve kind of grown in it, spent my first real times in a living Christian community there…) and there was a service with children today, organized by the new pastor. This sermon was focused on commandments : the 10 ones, given my God to Moses on Mount Sinai.

otp6.jpg
Now we usually think of God’s commandments as a law, as a set of rules to prevent us from sinning. But today the point was very different from this. This pastor showed us how the 10 commandments are to free us from salvation.

First of all, let’s have a look at the text, which is located at Exodus 20 (quoting from BibleGateway.com) :

Exodus 20

The Ten Commandments
1 And God spoke all these words:

2 “I am the LORD your God, who brought you out of Egypt, out of the land of slavery.

3 “You shall have no other gods before [a] me.

4 “You shall not make for yourself an idol in the form of anything in heaven above or on the earth beneath or in the waters below. 5 You shall not bow down to them or worship them; for I, the LORD your God, am a jealous God, punishing the children for the sin of the fathers to the third and fourth generation of those who hate me, 6 but showing love to a thousand {generations} of those who love me and keep my commandments.

7 “You shall not misuse the name of the LORD your God, for the LORD will not hold anyone guiltless who misuses his name.

8 “Remember the Sabbath day by keeping it holy. 9 Six days you shall labor and do all your work, 10 but the seventh day is a Sabbath to the LORD your God. On it you shall not do any work, neither you, nor your son or daughter, nor your manservant or maidservant, nor your animals, nor the alien within your gates. 11 For in six days the LORD made the heavens and the earth, the sea, and all that is in them, but he rested on the seventh day. Therefore the LORD blessed the Sabbath day and made it holy.

12 “Honor your father and your mother, so that you may live long in the land the LORD your God is giving you.

13 “You shall not murder.

14 “You shall not commit adultery.

15 “You shall not steal.

16 “You shall not give false testimony against your neighbor.

17 “You shall not covet your neighbor’s house. You shall not covet your neighbor’s wife, or his manservant or maidservant, his ox or donkey, or anything that belongs to your neighbor.”

18 When the people saw the thunder and lightning and heard the trumpet and saw the mountain in smoke, they trembled with fear. They stayed at a distance 19 and said to Moses, “Speak to us yourself and we will listen. But do not have God speak to us or we will die.”

20 Moses said to the people, “Do not be afraid. God has come to test you, so that the fear of God will be with you to keep you from sinning.”

21 The people remained at a distance, while Moses approached the thick darkness where God was.

Now let’s try and overgo the classic reading of these as rules, and see it as promisses, as the achievement of God freeing the Hebrews from their slavery in Egypt. These promisses will be fulfilled for the ones laying their lives on Him.
When God says “You shall have no other gods before me.”, He might mean “I promiss you will not be a slave of other gods anymore. I will free you from the gods you made before yourself: vanity, pride, etc.”

When He says “You shall not murder.”, He tells us “I promiss you will not be a slave of your will to kill or do harm anymore. I will free you from the temptation of killing.”

“You shall not commit adultery.” might mean for Him “I promiss I will free you from being a slave of your body.”

And we can go on with the other ones, to discover that these commandments that seem to us like rules are actually promisses to free us from slavery, a key given to us for our happiness if we choose to lay our lives on God.

All these commandments, after all, have been summed up the greatest way by Jesus who, quoting the Scriptures, remembered us that the greatest commandment among all is to love our God with all our self, and to love our neighbour as ourselves.

March 11, 2006

Sharing partition with MacOS

Since I’ve just installed a double boot with MacOS X Panther and Kubuntu Dapper, I’ve been wondering how to share datas between both OSes.

I found answers on various forums. I tried a few things, and these are my conclusions (summing up forums on some points):

  • Although MacOS claims to support Unix FS, it is a bad idea to use it, cause it doesn’t use the standard (FreeBSD) implementation of it, so Linux won’t recognize it.
  • Using FAT would do, but would be weird to share between two Unix systems…
  • MacOS doesn’t support ext2 natively. That is very bad for a Unix system, but that’s how it is. There is an ext2 for MacOS project on sourceforge but it doesn’t seem to me like the best option…
  • Linux has been supporting hfs+ since quite a lot of time, and Ubuntu’s kernel uses it without a slight problem, so that seems like the best idea. However, recently, the support for writing on hfs+ journalised FS has been disabled by the maintainer because it caused too many bugs. Therefore the best option seems to use not journalised hfs+ for a common partition.

This is what I have in my /etc/fstab to set this partition :

/dev/hda4       /home/medias    hfsplus user,rw,umask=022       0       0

Enjoy!

March 10, 2006

To go for main or not to go for main… that is the question!

Almost a month from Dapper release, we upload quite a lot of packages to main, especially to fix bugs, and it’s important that the fixes are uploaded fast enough so we can move on to other bugs and release Dapper as stable as can be.

Now as of today the Kubuntu team has only one core-dev to upload packages to main… I don’t blame anybody for this, this is just a matter of fact, and I believe Jonathan Riddell has better to focus on than checking our fixes all day to upload them. So we need at least one more core-dev to commit these fixes so Jonathan can focus on his goals for Kubuntu. Just as, a few months ago, I was pushed to go for MOTU to help uploading to universe as there was a lack of KDE MOTUs, we find ourselves with a lack of core-devs today, so I’m thinking of applying for core-dev. This is a special situation: I don’t really have a great reason to apply for core-dev but to help Jonathan focus on his goals, removing some burden from his back, at least for the last month before release.

Next Technical Board meeting is next tuesday, so I’ve still got a few days to think about it. I think it doesn’t cost much to apply and see what happens, so I might very likely go for it… Even being ridiculous if I’m asked technical questions I can’t answer won’t kill me :)

Improving my blog

So tonight I’ve been trying to improve my blog… Making it my main homepage, now hosted directly on http://www.raphink.info and redirected from http://www.raphink.net when my computer is online :)

I added some pages, inluding professional and personal infos…

All comments are welcome (especially on embedding the pdf CV …) :D

March 7, 2006

Debugging KDE 3.5.1

I have been worried about KDE 3.5.1 in Kubuntu Dapper lately. It still has a lot of (major) bugs, like not being able to print or having Kontact lose all the contacts from kaddressbook when closing the app with a mail opened.

Now lately we have been fixing important bugs so I’m less worried. There is still some work to be done to make Kubuntu Dapper a nice and usable distro, but at least it feels this can be done in the month that is left :)

I actually hope we don’t get to integrate KDE 3.5.2 in Dapper 3 weeks before release, otherwise I’m afraid we’re going to face a hard bugfixing time.

March 5, 2006

Finding a good open-source blogging program

I’ve been trying to find a program to post to blogger directly from the systray without having to use an internet browser.

Since I’m on KDE, my first try was K-Blogger, a new KDE app that was recently added to Dapper. I didn’t get it work so far, and since I get no trace of what it does, I doubt I can easily find out what’s wrong with it.

Now I’m writing this blog from within GNOME-Blog. Well I’m not a GNOME fan, but at least this app seems to work with blogger. I allows to set the font & add links, and detects your blogs automatically. GNOME-Blog seems to get the post title inside the
post though, strangely enough …

We’ll see how K-Blogger evolves in the near future :)

Edit : now I’ve switched to Wordpress and Kblogger works fine. Just had to enter the path to my xmlrpc.php in the preferences and use the MetaWebLog option. I used my blog’s name as blog-id although I’m not sure it does something. It works :D

God is amazing!

God is amazing… He’s so patient when He wants to tell us things…

A bit more than a year ago, as I was in Texas, I woke up one night thinking that I had to open my Bible and read Jeremiah 6:10. I did and was blown up, because that sentence made sense. It says :

To whom can I speak and give warning?
Who will listen to me?
Their ears are closed
so they cannot hear.
The word of the LORD is offensive to them;
they find no pleasure in it.

Take a random sentence in the Bible and see if it makes sense alone. This one did, and it made sense to me. It became important to me, but after a while I wasn’t focused on it and on understanding it really.

When yesterday evening, I opened my Bible randomly, and my eyes fell exactly on Jeremiah 6:10 again. Now you could say that this Bible of mine opens more easily on this page than on others, but it was actually another Bible than the one I was using a year ago…

This time I feel this is really aimed to me directly, and I am the one who needs to open his ears more to the Word. So here I pray that He opens my ears and my eyes :)