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 :)
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.
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).
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 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 :)
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…
I will spend this week on the ETAPS conference (website).
So far it is a great experience. All the people are very social and you get the opportunity of talking to great minds in computer science.
Looking at the database, there are more than 700 people registered on this conference. During this week, the conferences are held in Theatro Circo in Braga.