I spent most of this week studying various open source graph visualization frameworks to use on the WebAppViewer PCVIA Project.

At the beginning I thought that my best option was JGraph . However, I’ve soon realized that JGraph is a commercial product, and this could create problems during the integration with WebAppViewer.

Then I launched Google :) The next items are just some things I found:

  • Jung Java Universal Network/Graph Framework

OpenSource, great, clean, pretty graphics, but more oriented to graph algorithms than visualization.

  • GEF Eclipse Graphical Editing Framework

Opensource, integrates directly with SWT (great!), but doesn’t run outside eclipse :( What a shame…

  • Prefuse information visualization toolkit

Opensource, the best visualization framework I’ve seen, cinematic effects, easy to extend, bad docs

In the end I don’t know what to choose. I will try to code on some of this frameworks and make a final decision next week. If you can send me some tip about this, you’re welcome :)

New CPAN modules

Published at Wed 07 March, 2007 05:38 | Permalink Permalink | Comments Comments (0) | Trackbacks Trackbacks (0)

Well, I was bored… And when I’m bored I program in Perl :)

So I wrote two simple utilities for me, and published them to CPAN.

  • Net::SMS::Perl (link)

This module makes it easy to send messages throught the portuguese Optimus mobile operator. You simply pass you username and password, 1 to 3 destiny numbers and your message. The module does all the magic, simulating a user sending the SMS through a browser behind the scenes.

I’m planning to refactoring all the code, make it OO, and then make small GUI plugins for using it (example: GNOME applet, standalone app, firefox plugin, etc…)

I’m planning too writing a similar module for all the other portuguese mobile operators (tmn and vodafone).

  • ACME::SDUM::Renew (link)

This module is a small hack to renew all by books from my main university library. Like the previous module, it accepts a username, a password and an email. It then tries to simulate a real user renewing the subscription of his books, and at the end a report is sent to the specified email.

Now I have a cron job than uses this module to renew all my books everyday at 4AM O:-)

Bigger plans include refactoring to OO and utility GUI modules.

Stay tunned!

I was bored and tried to implement a feature I wanted for a few time on Hellanzb.

On MacOS you have Growl, and on Linux you have libnotify daemon. If you run a decent distribution and GNOME you probably got it running.

So my patch adds a option to enable notifications to this daemon. If the user enables this option he must have the notify-python bindings installed (my patch check for the module and exits with a nice error if the user does’t have it).

If everything goes smoothly the user should receive the same notifications as a MacOS user receives with Growl.

The link to the ticket is here .

UPDATE: The patch was applied on r994 :D :D Sweeeeeeet :D

GCC sucks

Published at Mon 26 March, 2007 12:20 | Permalink Permalink | Comments Comments (0) | Trackbacks Trackbacks (0)

I spent most of my day working on my CShare project.

Somewhere in the middle of the afternoon I’ve started having a problem: GCC keeps saying to me that a variable is unused. The code with the problem follows:

gint cshare_send(gchar *path, GIOChannel *channel) {
    gint ok = 0;
    struct stat file_info;
    (...)

    if(!access(path, R_OK)) {
        /* path is a file */
        if(g_file_test(path, G_FILE_TEST_IS_REGULAR)) {struct stat file_info;
            g_stat(path, &file_info);
            ok = cshare_send_file(path, file_info.st_size, channel);
        }
       (...)

The variable unused was file_info. I needed almost 1 hour to figure out the problem… Shame on me… Maybe you can do best :)

ASCII goes mad

Published at Fri 09 March, 2007 12:46 | Permalink Permalink | Comments Comments (0) | Trackbacks Trackbacks (0)

On the 24 6×12 episode, you can hear this from the best technicians from CTU:

What is this? (Pointing to a weird text appearing on screen)

It’s ASCII text!

It is?

Yes! In RUSSIAN!!

I don’t believe they really made this error…

About

photo of Ruben Fonseca

My name is Ruben Fonseca. I'm a Computer Science and Systems Engineer from Portugal that loves FLOSS.

I'm currently taking some time off to myself, but feel free to contact me anytime at or via LinkedIn:

View Ruben Fonseca's profile on LinkedIn

Feeds

Social

Follow rubenfonseca on Twitter