Cheers
Today I was informed that my Google Summer of Code application to port my circular treemaps disk usage visualization tool to KDE was not accepted (sigh). However, I finally released a simple Java demo which makes it easier to understand the basic idea. It's available for download. I'm happily accepting comments at graiNnofOsaSnd AT nickPname DOT berAlin DOT dMe (\NOSPAM). =°)
Life
It seems all the wise stuff has been said. Still, this is great.
After starting to port my circular treemaps code to Java and realising that Java2D is just too slow for the task I've put together a snapshot of my Gtk+ version, which uses Freetype 2 for rendering. A few days ago I downloaded the Anti Grain Geometry graphics library and I'm very impressed so far. Used wisely it should be a good basis for an interactive circular treemap file system viewer. All in all the total confusion regarding hacking is gone, or at least i got a plan for my pebbles code...
Every once in a while I have big trouble with time management. In fact, it happens quite regularly.
In those moments I'm thinking of better ways to represent calendaring information and to integrate
timeline-based information visualization into user interfaces. Most of the time I end
up just printing out my old PostScript-based calendar, fill in the dates and put it on the wall.
I like those calendar year views very much where weeks line up neatly and the flow of time is easy to
see. Last year I coded a little Java prototype
(screenshot).
The prototype has no function whatsoever, but I like the visual design. The main idea is to use this layout
as a basis for visualizing stuff like mailing list threads, stock prices, server statistics, etc.
Another good point is that it could be used for a zoomable user interface since a day
view can easily use the long vertical space each day in the year view gets.
Teaching myself a little PHP and CSS I made a PHP version of the same layout earlier this year. It's a good example for how different browsers realize
CSS-support :-(
There was a lot of talk about file management on the old Linux Interface Project's mailing lists. One of the ideas which I still miss in contemporary packages is the ability to aggregate files of the same type to a single icon. You would select an entry from the context (or main) menu, saying something like "pile up JPG images" or similar and the files of the respective type would then be represented by a single "stack" or "group" icon, instead of beeing scattered around. A special option would be to collapse/expand "hidden files" which would IMHO be much more convenient then various ways to select "show hidden files" today. On the piled-up icons a menu entry would appear which allows to unpile the stack. See the mockup. Under the pile icons a file-type depending summary would be shown, such as "12 PNG images, 6083 KB" or "5 mp3 files, 24 min".
Programming can be painful at times
I've decided to do some work on the Gtk widget for pebble treemaps before I jump on to learning Ruby and giving the Linux Interface Project file manager a try. I'm in trouble though and need some help:
Even though I've written a little Gtk widget in C before, have looked at quite some Gtk+ application and almost finished the Gtk 2.0 port of the TOM language bindings I'm still totally lost when I have to write a new class in Gtk. There are probably people who can type very fast and write all this stuff by hand, but given that it's almost intirely redundant code I guess most people use code generation or macros to do the job. I was thinking of using m4 and I looked at GOB but didn't quite like the approach, even though it's certainly better then doing everything by hand. Today it occured to me that it's probably better to use the built-in capability of the code editor to spit out the code, XEmacs in my case (though I've lately used Anjuta). I tried to find some information about using Emacs Lisp to write code for me (tutorial style since I'm new to Lisp) but didn't find anything, tried to find Lisp macros/functions to generate Gtk classes, inserte signals and methods and such, found non. Maybe I just tried the wrong queries?
If you're using (X)Emacs and have succesfully deployed Lisp to write Gtk code in C without typing it in manually I'd like to hear from your experiences, maybe you know of some sites where these things are explained or where I could download Lisp code that makes programming Gtk less of a burden. I'm grateful for any help!
Life: After more then 5 years I'm now studying mathematics again, giving it a second try. I've taken 3 classes this term: analysis, linear algebra, and computational mathematics. One week (and one examn) to go and I'm pretty tired. Studying math is definitely rewarding - feels almost like getting an upgrade for my brain :^D I think it'll help me with my programming skills as well in the long run but for now it's adding to the confusion. Last time I tried to study math my personal situation made it impossible to continue and I often felt like being caught in an endless loop since then. Things started getting better when I moved to Berlin and it seems I'm back on track now. Should do more sports, though ...
Free Software: Last fall I've contributed to a PHP/mySQL/X*L portal
engine project: cyx5 and learning a little
SQL was very interesting (as was having my first exposure to XSL). Maybe I'll
have some time to hack on it again during the next two months.
What's cool
about it is that it actually started out as a distributed team project -
unlike most successful Open Source projects out there. It's a way of working I
very much enjoy, and I fear it's the only way that works for me at all -
I'm just too unorganized to be productive in isolation for a long time.
Maybe that's something mathematics is going to help me with, too.
Programming
The following quote is from a document describing a
calendaring architecture but I think it's a good rule for a much broader set
of applications.
[Jan Grant] : The system's
algorithms should be capable of operating in a mode where
instant responses to requests are not required. That is, state transitions
should not merge a request and a response.
Get used to writing programs this way. When half of the computers you're
talking with are on Mars, it'll all be like this.
Syncronous, control-flow based languages make this hard, though.
Life
It's always better in the summer :°)
Web-mining
I'm looking for a tool to extract structured data from semi-structured web documents, identifying records (and hopefully fields) by learning extraction rules automatically or semi-automatically from multiple-record web-pages. I only found some research papers, can somebody point me to a Free Software tool to start with ?
With every day, Google seems to become more PDF/citeseer-infested, but there is (almost) no competition left, sigh.
LCDs
raph: Don't worry, marketing will coin a cool term, probably something containing "double", "ultra" or so ...
Coding
Linux Interface Project: Too hot for coding. Circular treemaps will have to wait.
During the 1990s Ben Shneiderman of the Human-Computer Interaction Laboritory (HCIL) at the University of Maryland invented Treemaps as a compact visualization of directory tree structures. Treemaps involve turning a tree into a planar space-filling representation using assorted boxes-in-boxes algorithms.
I've lately coded on a new, fresh, evolutionary dead-end approach to disk-usage visualization using nested circles instead of boxes: circular treemaps or pebble treemaps.
On the weekend I set up a page with explanations and screenshots about pebble treemaps.
30 Sep 2002 (updated 30 Sep 2002 at 10:46 UTC) »
Life
Three weeks ago a robber attacked me with a hammer. He probably wanted to struck me down and get into my appartment. A couple of days ago I had a nightmare. I awoke by the sound of a hammer hitting my skull. I hadn't remembered that sound. The wounds are healing nicely, though. Of course the police didn't catch him.
I got trouble with my lungs so I'll be taking antibiotics for the next three months.
I've got some very close friends I can talk with about many things like politics, music, or life in general, but nobody in my surrounding is interested in my other interests: information visualization, human computer interaction, and pattern languages. Sometimes I wish my former arrogance back so life on Elba may become less hard.
I've been pretending to be sleeping for a long time. I don't even quite remember what it feels like to be awake. I think it was quite cool. Maybe I should have some lucid dreams again, singing and dancing until I'm back in this place and at this time.
Programming
Having to work alone hurts. I'm not very productive working alone, either. My projects are stalled. Last thing I coded was a cute hack modifying the KDE color scheme control panel which wouldn't get accepted anyway but I might put together a page of things that will never be including a screenshot eventually. Last time I wrote a significant amount of code was after a bottle of good red wine. The next morning was a desaster so I'm not going to do it again anytime soon.
The imperative "show me the code" is pointless, yet not new.
I read halfway through a book on Java and doing some examples was fun, nice libraries. Doing it in Windows was not so cool.
Certs
I think the new diary rating system is annoying, but I realize it's point is about research so usefulness is of little concern. Advogato has become a monological environment, very sad.
I do not like writing anymore.
tor: To me C always feels like a strange mix of high-level and low-level. I often catch myself rewriting things for no good reason such as:
n = 1 + strlen(s); s0 = malloc (n); memcpy(s0, s, n);
And then the head-spinning starts: Should it be inlined, should I use malloc at all, and so on. Doesn't happen to me when using a high-level language :-)
Can the code for your project(s) be downloaded (didn't find a link) ?
I'm pretty new to functional languages so it's just a mental exercise to me for now, expanding my understanding in general (learning, slowly, SML). I think that by using SML and Forth to implement some algorithms I'll become a better programmer in general (highly speculative so far).
As you are using ObjC for the toolkit, have you checked out TOM? TOM is a very balanced compiled, high-level, object-oriented language. The syntax is similar to Objective-C, it has closures and GC. TOM is inspired by Eiffel, Java, and some) I highly recommend taking a look if you havn't done so: TOM language homepage.
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
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!