Now I have a blog (in Portuguese) to discuss about various subjects. Check it here:
Now I have a blog (in Portuguese) to discuss about various subjects. Check it here:
Although I am "slightly" outdated regarding this news (actually more than a year), only today I heard about the problem that happened with LGPL and Java code. It was said that LGPL would be viral to Java code, therefore, only by importing the library and using it as separate jar would fall into a particular clause in the license that would require the remaining code to be released under LGPL as well.
However, that was only a big confusion about a phrase from David Turner, the lawyer responsible for licenses at Free Software Foundation. Even though LGPL was written with C/C++ way of linking in mind, Java code falls into a clase (6-b) which covers this case and does not impact the remaining code. Check the links below about the subject.
Re: LGPL and Java
[jvr-general] LGPL and Java: Not viral
No, there is no miracle here. Simply there is no undeletion in ext3 filesystem, and today I deleted some projects of mine, with no chance to get them back. Check more in the
I should have already learned to do a backup of my important files.
First patch for Apache Geronimo! Along with Linux, I want to get involved in Java projects too and Geronimo is my choice at this moment. After checking out the code from the Subversion repository, I struggled to make it compile. And it actually took a very long time on my Athlon 2400 to compile it.
However, I did not have success, given a bunch of compilation errors due to a wrong dependence in Apache Maven files. Understanding Maven, since it was my first deeper contact with it, was not trivial as I expected, but I managed to understand it after reading some documentation and a number of grep in the code.
I fixed the Maven files and submitted the bug and the patch to Geronimo JIRA site (check here the link). A very simple patch, but it is the first one (and I hope they accept it)! Now I hope I am able to keep working on improving this application server.
Friday, 19th, was my last day at Convergys as system architect. Now I will work on open-source projects and on a business venture, hoping that any of these projects succeed. On the technical side, I intend to work on projects in the Linux and Java worlds. Concerning the business side, I am still exploring the possibilities.
Some links that I found interesting today from Slashdot news:
And check out this technical report from MIT Artificial Intelligence Laboratory I found in my home directory, but I can't remember where I downloaded it from (probably some friend sent me the link:
Interesting subject that I checked tonight. I found a good presentation on MDA Introduction at OMG website. I wanted to check any relation with SOA, but could not find this relation so far.
Next things that I must understand better OMG standards that are the basis for MDA:
Now I start to understand a little better the presentation done by Compuware at JustJava conference this year.
Still on Skype, now it has a free non-commercial API released some days ago. And today I found out that Sun will have a open-source license for Solaris 10, that was just released. Let's see what goes on.
Gaim vs Kopete
I tested Kopete these last days and have to admit it defeats, in my opinion, Gaim. First of all, it has a much better GUI and given that Gaim has one of the most horrible GUI I have ever seen, it is not a very good point to move. I downloaded its source code and, after a brief look, it looked much more organized and better done. I still want to dig deeper and try to implement some ideas for it. I intend to use it from now on.
QMail + SpamAssassin
Yesterday I spend sometime replacing my MTA, that was Exim (default in Debian) for QMail in an attempt to finish doing the major tasks in my Linux installation before working full-time with it (what will happen starting next week). Also installed SpamAssassin globaly in my computer (as a daemon), so I don't have to worry about that for my user only since it is enabled in the global procmailrc. I enabled Bayes Learning and now I have a global Bayes database that will be improved by learning the false negative emails that I will save in a special folder.
Besides that, I installed VMware and now I am installing the Windows programs I need often, in order to avoid some boots. One of the most important programs are the ones related to my Palm.
RSS Aggregators (such as Akregator for KDE)
Very cool thing are these RSS readers, such as Akregator (for KDE). I gave them a try today, after reading about them in a friend's blog and already set up lots of news sites. It is very nice to have only one place with all the news that you want to keep updated about.
It took me a long time to decide, but I ended up quitting my job (will work until the 19th) and will work on some projects. Basically I want to work on technical projects, namely Linux Kernel and JBoss application server, and on entrepreneurship with some projects I have in mind. I am very eager to start this new stage in my life.
This weekend I worked on a patch for Gaim 1.0.2 to make the away menu (ie, status menu) aware of the current status of each protocol. Without this patch, I was unable to know what was my current status in Yahoo or ICQ. I don't think it is going to be accepted (because I worked on the stable branch), but I tried and it was a good experience. It is available in my home page and in the patch section of Gaim project page. If the Gaim developers tell me that I could help in the development branch (what I volunteered for), I will port these changes to it.
In my last days at Convergys, today I started installed Apache Jetspeed 2 Enterprise Portal, but didn't have time to finish. I had the chance to install Maven (I am curious about it) and Tomcat (never installed it without an application server, such as JBoss. Besides all these things, I would like to create a first web service next week in order to learn about Apache Axis.
Now it is time to work on some Linux kernel ideas. When they are mature enough, I will publish about them here.
In these last days, I followed a discussion thread between Marcelo Tosatti and Andrea Arcangeli about out-of-memory killer in Linux Kernel. Very interesting and very intriguing. I intend to do some work on this as soon as I start work intensively on the Linux kernel.
I talked to Livio, a friend of mine, about Skype and he called my attention to some interesting points about it, that I will share with you. Have you ever checked its license agreement?
********************************************************************** "Skype End User License Agreement" [...] Article 4. Permission to Utilize
4.1 Permission to utilize Your computer. In order to receive the benefits provided by the Skype Software, you hereby grant permission for the Skype Software to utilize the processor and bandwidth of Your computer for the limited purpose of facilitating the communication between You and other Skype Software users.
4.2 Protection of Your computer (resources). You understand that the Skype Software will use its commercially reasonable efforts to protect the privacy and integrity of Your computer resources and Your communication, however, You acknowledge and agree that Skype cannot give any warranties in this respect. [...] *********************************************************************
Besides that, Damien Sandras, from Gnome Meeting, has insightful thoughts about it, that he published in the project web site:
People are often asking me what I think of Skype. What I think is pretty clear...
The main problem is not that the program is not Open Source, the problem is that Skype is locking users into a proprietary protocol. Would you imagine the Internet with a proprietary equivalent to the HTTP protocol that only a given client could browse? That's what happens with Skype. Skype also has a great marketing force, some people even think that Skype has a superior audio quality. How could Skype have a superior quality when it is using the same codec (iLBC) than software like GnomeMeeting while introducing more latency by making calls go through a 3rd party? The only real advantage of Skype is that it is easily going through any type of NAT, using a 3rd user to proxy the call. But the day when the Linux kernel NAT will natively support H.323 or SIP, Skype will have lost its only advantage... Skype is hype...
More than one year later, I finally add an entry to this diary. I am back to the Linux kernel world and I am very glad about that. I will manage to have time to try to solve some challenges in this world and I am already working on some new ideas. So far, the port of compressed caching to Linux 2.6 is not on the top of my list because I want to start working on some tasks that won't take that much of my time. Then, when I notice I will have enough time and knowledge of Linux 2.6, I will get back to compressed caching.
Today I subscribed to Linux kernel and Linux-MM mailing lists, downloaded 2.6.8 and already read a paper about the new idea I mentioned above. Now it is time to read the code and understand some recent discussions I read in the mailing list archives.
The paper I published last year about compressed caching is avaliable on my site.
Today I tested Skype in Linux and it worked perfectly. I was amazed with its sound quality and with the sound quality from a mic that came with a Sound Blaster Live! card that I bought in Canada.
Check the text from the GnomeMeeting site about Skype:
"The main problem is not that the program is not Open Source, the problem is that Skype is locking users into a proprietary protocol. Would you imagine the Internet with a proprietary equivalent to the HTTP protocol that only a given client could browse? That's what happens with Skype. Skype also has a great marketing force, some people even think that Skype has a superior audio quality. How could Skype have a superior quality when it is using the same codec (iLBC) than software like GnomeMeeting while introducing more latency by making calls go through a 3rd party? The only real advantage of Skype is that it is easily going through any type of NAT, using a 3rd user to proxy the call. But the day when the Linux kernel NAT will natively support H.323 or SIP, Skype will have lost its only advantage... Skype is hype..."
This text was mentioned by my friend Livio.
Tried quickly to add support for packet writing, but the patch to add this feature hasn't been integrated yet, and there is only for 2.6.0-test1.
Here you can find the kernel patches. Basically, you add the packet writing support in block devices section, and udf support in filesystems section, then you use cdrwtool and udftools to handle you CDRW.
Yesterday I studied mm/vmscan.c for a while and it doesn't look too hard to port my code to it, in particular because I had already studied rmap implementation for a bit, but it was only a quick glance. Now I am going to take a look at it briefly again, since I am very tired today. Hopefully tomorrow or Thursday night I can starting adding my code to this kernel tree.
Looking forward to 2.7: compressed caching?
I was very glad to know that CC has been mentioned when talking about 2.7 in Linux Weekly News. Check it out:
I am working in my spare time to make compressed caching a possible candidate for integration.
My paper for the 15th Symposium on Computer Architecture and High Performance Computing (SBAC - PAD 2003) was accepted, and I sent the final version this Sunday. I am very happy that it got in.
Now I am finally studying Linux 2.6.0 VM (now checking vmscan.c, which is the main part of the VM for CC purposes). I intend to port my code to this version, although it may take a while if many things turned out to be too different from 2.4. First, let me make compressed caching working for swap pages, and later I will try to make page cache support work.
Besides that, I bought a Sony DSC-V1 digital camera. Very nice camera, I am enjoying my freetime in the weekends to take a lot of pictures with it.
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!