Older blog entries for boto (starting at number 15)

Summer of Code Summary

Almost two weeks ago was the deadline for the projects of the Summer of Code program, but I haven’t wrote a single line on this blog about this. It is time to give a summary of what was done, and what may be done in the future.

My project for Summer of Code 2006 was KDEPIM Google Calendar synchronization using OpenSync. The scope of the project included both writing a Google Calendar plugin for OpenSync and improving the OpenSync and KDE integration.

Work Done

The work accomplished during the program includes:

  • OpenSync ipc-branch merge to trunk. The ipc-branch work was needed to allow the kdepim plugin for OpenSync work while inside a KDE application (such as Kitchensync).
  • OpenSync ipc-branch fixes and improvements (before and after the ipc-branch merge to trunk).
  • General bug report handling and bug fixing on OpenSync.
  • Kitchensync testing with the kdepim plugin.
  • Google Calendar plugin for OpenSync. The plugin allows synchronization of calendar data with other OpenSync plugins.
  • A single bugfix commit to KDE 3.5, due to a bug in the kabc locking code
  • Help on packaging of OpenSync and its plugins on the OpenSUSE Build Service (thanks to Daniel Gollub, Christopher Stender and Matthias Jahn, who were working on this, also).
OpenSync 0.19

OpenSync 0.19 is planned to be released soon, including the ipc-branch code.

The Future

There is much that can be done regarding OpenSync and KDE integration, yet. Things worth mentioning:

  • Some plugins need additional code to work with ipc-branch code. Some plugins that use their own data formats need serialization and deserialization functions to be implemented. This is needed because the data need to be sent between the plugin processes and the sync engine process.
  • Recurrence support in the Google Calendar plugin. Translation of recurrence rules from the Google Calendar XML data to the OpenSync internal format (and to vCalendar) isn’t implemented yet.
  • Support for more fields from Google Calendar entries.
  • Kontact integration. Support for running Kitchensync inside Kontact is not supported yet.
  • Demonstration of Kitchensync and Google Calendar plugin. I need to write a text with some screenshots of Kitchensync and using the Google Calendar plugin. :)
The Code

Below are the pointers to the code written during the program, for the final evaluation for the Summer of Code program.

Thanks

Many thanks to:

  • Kátia, my wife, for her patience while I was working in the project
  • Google, for running the Summer of Code program
  • Chris DiBona and Leslie Hawthorn, from Google
  • Cornelius Schumacher, Tobias Koenig, my mentors during the program, from the KDE project
  • Armin Bauer, for bringing OpenSync to life
  • Daniel Gollub, Christopher Stender and Matthias Jahn, for their work on OpenSync
  • Many others that aren’t mentioned here, but contributed to this. The contributors to OpenSync and KDE projects

Syndicated 2006-09-03 02:56:39 from Eduardo Habkost / diary

Running debootstrap in a non-Debian distro

Last week I wanted to install Debian on a chroot on my machine. Maybe there is an easier way to do this, but I will document what I did, just in case someone wants to do something similar.


Debootstrap is the recommended tool to install another system, as long as you have a Debian system available. I don’t have a Debian system available right now. However I’ve noticed that the debootstrap package has only a few dependencies. So I will try to extract the package manually and run debootstrap on my Mandriva Cooker system.

I’ve download the deboostrap package and extracted it using ‘ar’:

$ ls
debootstrap_0.2.45-0.2_i386.deb
$ mkdir debootstrap
$ cd debootstrap
$ ar x ../debootstrap_0.2.45-0.2_i386.deb
$ ls
control.tar.gz  data.tar.gz  debian-binary
$

I’ve extracted the data contents from the package:

$ tar -zxvf data.tar.gz

First try to run the binary:

$ ./usr/sbin/debootstrap
./usr/sbin/debootstrap: line 15: /usr/lib/debootstrap/functions: No such file or directory

Oops, it needs to be installed on /.

I don’t want the files to be lost inside the filesystem, so I just added a symlink to the files I’ve extracted:

$ sudo ln -s /home/ehabkost/system/soft/justdownloaded/debootstrap/usr/lib/debootstrap /usr/lib/debootstrap

Let’s test again:

$ ./usr/sbin/debootstrap
I: usage: [OPTION]...  [ [
Great! :D Now, let’s run it:
$ ./usr/sbin/debootstrap sarge /tmp/sarge

And it worked. :)

Quick and simple.

Syndicated 2006-06-06 05:46:24 from Eduardo Habkost / diary

Accepted!

My application for Google Summer of Code — “KDEPIM Google Calendar synchronization using OpenSync” — was accepted. :D

I will use the “Summer Of Code” category on this blog for updates on the project.

Syndicated 2006-05-24 22:28:09 from Eduardo Habkost / diary

Another rant about a development tool: guess who?

Actually it is not a single tool, but a set of tools. I am talking about autotools again.

I wanted to build konversation from svn. I did the following:

  • First, checkout extragear/network/konversation from KDE svn: svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/network/konversation
  • Enter the konversation directory: cd konversation
  • Get the kde-common/admin directory for the buildsystem: svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kde-common/admin
  • Run the cvs.sh script for the KDE buildsystem: sh admin/cvs.sh cvs

What I get is:

$ sh admin/cvs.sh cvs
*** YOU'RE USING UNSERMAKE 0.4.
*** Creating acinclude.m4
*** Creating list of subdirectories
*** Creating configure.files
*** Creating configure.in
*** Creating aclocal.m4
configure.in:8: error: m4_defn: undefined macro: _m4_divert_diversion
acinclude.m4:4532: KDE_CHECK_HEADER is expanded from...
configure.in:8: the top level
autom4te-2.5x: /usr/bin/m4 failed with exit status: 1
aclocal: /usr/bin/autom4te failed with exit status: 1

undefined macro: _m4divertdiversion“. What kind of error message is that?

This is why I don’t like autotools: how is someone supposed to know where the real problem is, from this message? It is impossible to tell what is wrong from this message, unless you have written autoconf yourself.

Yes, I did something very wrong above, regarding the KDE buildsystem. I will see if someone is able to tell where the real problem was. But the rant is about the non-intuitive error message I was getting. I took days to find out what I was doing wrong.

Syndicated 2006-03-05 03:12:29 from Eduardo Habkost / diary

Too much noise

Sorry for people that want to see more interesting content on this page, but I had to comment about this.

Now that lilo has commented on it, I think I should explain some things about my my last post.

First of all: lilo talked to me, and we friendly discussed the issue, and exchanged opinions about the event.

And, yes, I think my text had too much repercussion and I was thinking about removing the post from my blog. But I don’t like the idea of removing stuff that I already made online. I think it wouldn’t be fair with people that read this and wanted to argue with me. I would feel like a coward if I removed a text I’ve already written and published.

But just to conclude:

  • I agree that the guy deserved the ban
  • I am not against punishing people for “anti-social” behaviour on a IRC network
  • I am not the kind of people that thinks IRC should have “total free speech”, and people allowed to say anything they want in a channel

The only reason for my post were:

  • Yes, I think that the person in question wouldn’t be punished if he had offended any other non-staffer people
  • Yes, I think that the punishment was too much because: a total network ban wasn’t necessary IMHO; and it wouldn’t happen if the problem happened with other people (you can say “yes, that it would happen”, but I don’t believe so)
  • Finally the main reason for the post was: I was really disappointed with the network staffer saying many times that “this is not open to discussion”. This was even why I have posted my complaints publicly instead of discussing it with the network staffers: if he really didn’t want to discuss, I had the desire to make my complaints public.

Probably the reason I think the punishment was “too much” is related to the lack of portuguese-speaking staffers in the network. This may be one of the reasons I think that an offense wouldn’t have the same consequences if a staffer wasn’t involved: there aren’t enough portuguese-speaking staffers to guarantee this.

Okay, I will not say any word about it, anymore. It is over and I still think the freenode services are good.

Syndicated 2006-03-05 02:48:10 from Eduardo Habkost / diary

The Freenode policy on staff behaviour

Or “Why do I regret making a donation to Freenode“.

Because I didn’t expect to support a team that include people that don’t know how to “fairly” use his powers.

First of all: the Freenode services are great. They have an open and explicit policy on many things, you see people working on improvements every time. They encourage “Real World” communication with groups. As fas as I see, the services are stable. And they are free. PDPC is a group that provide good free services for the community. And as a regular user of these services for many years, I think they deserved a small donation on the last year’s fundraiser.

But today I think it could be better if I had used my money on something else.

It is not because they don’t provide an useful service. They still provide an useful service. But it is because I don’t want to support behaviour that I don’t think it is fair.

I agree that the IRC network need to have a good policy on what is “desired behaviour” on the network. It is their right, they run the network, they spend their time maintaining it. The problem is when I see an “unfair” behaviour, and something that represents the network simply say that “it is not open to discussion”.

Today on a channel that I don’t use to join (but I used to join some time ago), somebody simply offended a network staffer:

04/02/2006 12:58:42 nerdwell    hey udk, pq vc não vai a merda? retardado
04/02/2006 12:59:56 UdontKnow   -carneiro.freenode.net- Added K-Line [*@200.204.86.79] to
        var/lib/dancer-ircd/kline.conf

Translation:

04/02/2006 12:58:42 nerdwell    hey udk, why don't you go to hell? retard
04/02/2006 12:59:56 UdontKnow   -carneiro.freenode.net- Added K-Line [*@200.204.86.79] to
        var/lib/dancer-ircd/kline.conf

Okay. It was a personal offense, and I think he really deserves some “punishment” for this “anti-social behaviour”. My question is: this was a personal offense to a network staffer. If somebody called me a retard, he would get a complete ban from the network, too? Anybody who offends anybody in the network will be completely banned, as it happened in this case? I don’t believe so. Then the given network staffer himself confirms what I’ve suspected:

04/02/2006 13:08:27 UdontKnow   topeira: eu diria... se voce nao sabe no que esta
        se metendo, nao faca acusacoes impensadas

Translation:

04/02/2006 13:08:27 UdontKnow   topeira: I would say: if you don't know what you are
        dealing with, don't make improper accusations

Well, I think it is a way to say “you must know who you are dealing with”. Or, in other words I understand this comment as “this is what happens to you when you offend a network staffer”.

Also, I guess the problem would be easily solved with a simple kick/ban from the channel. It would be simpler and with less harm. But it looked like that a network staffer wouldn’t use these “simple” soutions, if they can take stronger measures.

I don’t think this behaviour is fair. It isn’t unfair because the people that offended the staffer didn’t deserved a punishment. But because you simply can’t k-line everybody who offends someone in the network. It is pratically impossible. People won’t go to network staffers everytime someone offends someone. So we necessarily will end having an “unfair” policy: when a problem happens between someone and a network staffer, the consequences will be stronger because they can.

Obviously many people started to question the right the network staffer had to set this k-line. What happened? He said that “this is not open to discussion”. Simply this. So, people don’t have the right to discuss the actions of the network staffers.

It is OK: they have the right to define whatever policy they what. They run the network. The network is not a “right everybody has”, but simply a service provided by them. I understand this completely.

The problem is that I don’t want to support such behaviour. If they are supported by donations, I expect them to listen better to what people think, instead of taking some actions and saying “it is not open to discussion”. And, if the policy of the network is supposed to include “listen to our users”, I think PDPC should take a closer look to the behaviour of their staff team regarding their reaction and “openness to discussion” with the users of the network.

If I could, I would ask my money back.

(The relevant logs for the event are available at http://debianbrasil.org/irclogs/)

Syndicated 2006-02-04 19:35:56 from Eduardo Habkost / diary

Google Talk Now Federated!

Good news for jabbers users: Google announced today that open federation is now enabled on Google Talk. This means that now any jabber user can talk to a Google Talk user and vice-versa. I’ve been waiting this for months.

Syndicated 2006-01-18 14:02:59 from Eduardo Habkost / diary

Temporarily Closed

Today we (Kátia and me) start our vacations. We will be back on 6 January 2006.

Probably I won’t have access to e-mail, but I will try to check it during the trip. I hope I will have (cheap) GPRS available while on roaming, then I will be able to check my mail on mutt via ssh using PuTTY from my mobile phone.

See you in 2006.

Syndicated 2005-12-21 16:03:04 from Eduardo Habkost / diary

Unbelievable

Look at this post.

On a previous story the guy told a story of someone accessing a URL that would hose a Windows machine, if accessed using Internet Explorer and Windows. They have clearly warned people about it:

“NEVER under any circumstance visit this url using Internet Explorer and Windows … you have been warned.”

But, wonder, there were lots of people that actually accessed it! Read the complete story and the comments he got, if you want some fun. Some examples:

11/25/05 “…and I hold you personally responsible for the damage you inflicted upon my computer. I am turning this over to my attorney in the morning. When he is done with you and your website, you will never hack another computer again…”
11/26/05 “…and how much did Linux pay you to infect our computers? I hope it was alot because when my lawyer is finished, you will be living in a cardboard box…”

Syndicated 2005-12-16 18:10:29 from Eduardo Habkost / diary

Python modules for Yahoo services

I’ve just published the current version of the Python modules for Yahoo services I was writing.

The initial purpose of the modules is implementing the protocol for PIM data synchronization service from Yahoo. But it may be extended in the future for other services, maybe for the interfaces provided through the Yahoo Developer Network.

Syndicated 2005-11-19 16:13:31 from Eduardo Habkost / diary

6 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!