Well, while I’m waiting on a subversion command to finish (on another project), I may as well flush my train of thought, in between wondering how any large project can bare to use subversion lol.

One of my open loops is a component called the “Data Browser”, it’s meant to provide a view into data extracted from a projects source code, and present that data to the user: while bridging that browser interface into the rest of this programs peers. In less abstract English, it’s a tags browser. Go figure.

Something I love about programming, you can often express a notion in 3 words of code, what would take 10 words of English to describe. How that works? You can reduce the English word count with the use of insider jargon, but being a programming language, outsider is redefined as those who can’t read the language rather than those who don’t comprehend the associated tech speak. There fore the word count falls significantly.

My present train of thought however, is concerned with how the data should be presented: what is most suitable for the user. The fact that the program is designed first and foremost for my own convenience is aside the point :-o.

In search of the holy grail of user interfaces: I’ve found this the most optimal method.



+---------------------------------+
|  [-] Classes                    |
|      [+] Foo                    |
|      [-] Bar                    |
|            someMethod()         |
|            ....                 |
|      [+] ....                   |
|  [+] Functions                  |
|  [+] Macros                     |
|  and so on                      |
|                                 |
+---------------------------------+


where as much information about the individual items has been omitted for the sake of brevity ^.

Properly expanding the tree for a given type of data should display information unique to it. I.e. what is most pertinent to *that* type of data, rather than a common subset that applies to everything.

Columns for a methods display might look like:

| name | signature | return value | visibility |

where as the columns for classes, as opposed to ‘Bar’, might look something like this:

| name | visibility | in namespace | 

.

In a perfect world we could do this over a sandwich without much coding. Using the GTK+ TreeView widget and friends, grepping the manuals suggests that life is just going to be waaay easier if each element (Classes, Functions, Macros, etc) of the tree becomes a separate tab holding a specialised treeview as part of a Notebook widget! I’ll look into it closer when I have more time for that.

Now of course the tree view could simply show the lowest common denominator for info, and rely on a “Properties” button to show the individual details for the currently selected item, or we could (barf) just have expanding the trees spawn a new window customised to that type. But nether are to my taste.

Enough rambling, time to get a move on while subversion continues to (ab)use my networks bandwidth.

Sometimes I wonder if my mother is the most insulting person I know, or merely a runner up to the human race in general. I don’t care to computate that further.

O.K. this is definitely a double whammy of why I prefer FreeBSD.

A few days ago I installed KDE on Ubuntu, which added the Kubuntu boot splash. When I installed the *rest* of KDE via synaptic: on the next boot it broke GDM and my Gnome session until I did an apt-get remove followed by an apt-get install of the gdm and ubuntu-desktop packages. This is deffo one of the reasons why the distinction on BSD between /usr and /usr/local is a good thing ™.

This after noon I clicked through one of Gnomes settings bit for languages, and thought perhaps it would have a way to merge my preferences for U.S. and ISO formatting. It asked if I wanted to install a few dozen more language packs for English and German, since I had taken the liberty of adding the German language packs. Also told it to prefer the British English and standard German languages above standard English (rather than ignored); American English being the primary. Being American, you never have to worry until you start spelling in different dialects. That added export LANGUAGE=”en_US:en_GB:de:en” to the end of my .profile; which I moved to an /etc/profile.d script.

‘lo and behold on reboot, the entire Gnome desktop is in German…. and despite that being very different than my limited reading vocabulary, I still can figure out what the frig I’m looking at! Just don’t ask me to pronounce it properly lol.

Black Tides

Found a reminder that life was once in a positive state, which reminds me just how crippling an effect the years in between have had. Knowing that families bled me every step of the way towards correcting that, doesn’t help along side having most of a year wasted.

One solution to a radioactively bad mood: turn off comms and bury myself in code up to the eyes…. until it subsides.

I’ve said it before, and I’ll say it again: the day I get an honest to goodness break, I’ll probably be hit by a car for kneeling in the middle of the street.

Somehow, I think idiots like my mother who can ask the same question repeatedly of an invariant and expect a different answer each time, need to repeat high school mathematics or have their diploma revoked..

You know, if it wasn’t for having to read things like ToLongADamnTypeName toLongAVarName = new ToLongADamnTypeName() like constructs in all three languages, I could really get to like C# for cross platform work.

^_^ If only because Novel(mono) and Microsoft have each produced C# compilers that are 100 times faster than Suns javac, while still compiling faster than many C++ compilers. ^_^

A small victory against pack ratism

I do believe that my mother has finally realised that she has an *insane* amount of crap hoarded — after finding books apparently left over from high school.

You know, I may not always right but I’m sometimes I’m not wrong either ;).