Older blog entries for tony (starting at number 18)

Gnome Filer
I am abandoning the gnome-filer project. I haven't done much with it in a long time, and it really is poorly designed (through no-ones fault but my own).

Instead, I am contributing what I can to Entity. Anyone interested in XML-based interface languages should check this out. This is how Gnome Filer should have been done in the first place-- the XML engine was perfected, then they started adding "renderers," DTDs based on whatever interface you require-- language (Perl, Python, Javascript, etc) or GUI (Gtk+ so far-- Tk is in the works, I've heard).

I always considered Javascript a toy language. Now that I've seen what it can do outside the limited environs of a web browser, I've changed my mind. It's not going to replace Perl anytime soon, but it isn't nearly as terrible as I'd supposed.

Entity
I just discovered entity, an interesting language framework. As I haven't done a damn thing with Gnome-Filer recently, perhaps I should look into providing a graphic interface, and gnome-db bindings. Could be fun. Perhaps this is exactly what gnome-filer needs.

Other Jobs
I have a technical interview tonight with a consulting company. I'm not too concerned; I posted my resume on Monster on a lark, and was surprised they contacted me at all. I am asking $90k, which is preposterous, but they seem ready to give it, should I prove as able as I claimed.

Does anyone else consider this astounding? I mean, *I* shouldn't be able to command such an outragous amount. It's nice knowing someone considers me worth that much, but... noone needs that much money.

Of course, I'm not leaving my current position for anything less. So I guess it's a moot point. Greed has nothing to do with it. I love Sitka-- I love hunting, and fishing, and hiking.

Anyway, it's been on my mind. Thought I'd rant a little.

Perl Whirl Pub Crawl
Last Wednesday, Geek Cruises' Perl Whirl swung through Juneau. I met them there for the Pub Crawl bit-- 40 geeks drinking beer at various places around Juneau.

This is the highlight of my year. I had been so isolated as a geek that I had forgotten what it was like to *be* a geek in geek society. We had discussions on inane topics (like the impact of Internet communications on society, and the nature of crop circles ("Two blokes with a bit of string.")) and topical (the nature of ideas wrt ownership of knowledge).

Mostly, though, we talked about simple technical matters, and about how good the beer was.

I'll post a couple of pictures sometime in the next few days.

gnome-filer
I've accomplished a little bit with gnome-filer, but I haven't committed most of my changes. Why? Because I'm not entirely happy with the code. I want to get back to the point at which it worked; that is, I want a user interface builder that uses pluggable language bindings. (I had all that last October.)

Life
Anyway, life has gotten in the way of coding. This is the summer of teenage girls; a friend of the family is staying with us for a week during the music festival (she's 13); my daughter comes to visit in July (she's 12); and then, a cousin (14) is coming to stay with us while her sister (17) has a baby.

Yikes.

Selfishness
Ryan, selfishness is very much a part of human nature, though not in any Randian way. Personally, I think it's rooted in our inability to see beyond ourselves in any meaningful way. We can't envision the world from our own viewpoint; it's almost impossible to see it from another's.

Of course, we're trained from childhood to be selfish. We are taught to keep to our own world, and not try to put ourselves in the worlds of strangers. Television teaches us that violence and brawn are good, and that intelligence and knowledge are bad.

It's not just television, of course. It's everything. That's why pop music is rarely good.

Harlan Ellison reported (in "The Glass Teat," I think) that a man broke into an apartment and locked himself and the woman there in the bedroom, where he repeatedly raped her for several hours. Her son started pounding on the door and crying, so the man said, "Go watch TV." The child did.

Yes, he was only a child. But isn't that what we do? When painful things happen, don't we turn our backs on it?

Anyway, that's my take on it.

gnome-filer
Cool. The tree object works as advertised. I'm very pleased.

I should go back and change the way I handle menus to mirror this method, as well, so trees and menus will have a consistent interface. (They are, after all, logically identical at a class level.)

gnome-filer
Added a (broken, so far) tree object. The current gtk+ tree implementation is a bit too obtuse for use in gnome-filer, so I've taken the liberty of wrapping the object up a bit tighter than usual. The new tree is managed using tree paths. So, to add a new item, you simply state the path to the location you wish the item to reside, like this:

	data_set (tree, "path", "/Tree/Subtree/Item");
	data_set_watchpoint (tree, "/Tree/Subtree/Item",
			     callback_func, data);

At this point, when the item selection is changed, the callback_func is called. (There should be a similar function for a double-click, too, but I haven't even started that.)

A couple of notes: when an item is inserted, subtrees are created if they do not exist. So you can add an entire group of nested subtrees at a blow. Also, I'm not sure whether I should track the changes to an item label. That is, should I change the path to "/Tree/Subtree/NewLabel" when the label is changed? I could do that automagically, I suppose.

MUMPS
Interesting. There is a Free version of MUMPS in the works-- FreeM. This presents interesting possibilities. I figure I will install it and see how well it works with VA Fileman. If it doesn't work, maybe I can contribute a little bit.

The ultimate goal would be to get RPMS running on it.

M is the most obtuse language in the universe (save for COBOL, perhaps). It shares one annoying "feature" with Python-- blocking is done with line prefixes. In Python, blocking is managed through whitespace; in M, it's periods (.). So you end up with code that looks like this:

 D  I $G(DIERR) K ^TMP("DDBLST",$J) D CLEAN Q
 .N DOC,DOCSA
 .S DOC=""
 .K ^TMP("DDBLST",$J)
 .F  S DOC=$O(@DDBDSA@(DOC)) Q:DOC=""  D
 ..S DOCSA=@DDBDSA@(DOC)
 ..D LOADCL^DDBR4(DOCSA,"",DOC)
 ..Q
 .Q

In spite of this, I'm beginning to like it.

Mail stuff
I just spent the last 3 days in Juneau, migrating our mail system from SIMS 3.2 to 4.0. (Sun said it couldn't be done.) Fun stuff; certainly a good break from database work.

Advogato Stuff
Why isn't there a "New Diary Entry" link on my personal page? I can edit old entries, but I have to go back to my account page to add a new entry. Maybe I should look at the code when my life has settled down some.

I don't want to go off on a rant....
...but how did this happen?

Our system used to work. We have several Sun boxes serving up nice applications (Word Perfect, Framemaker, all our database stuff, etc) to X-terminals; for 650 employees, we have 10 staff (including our director). Although we've made a few sacrifices to keep PCs off the desktop, users have had everything they could need.

Now suddenly there is a big push to use MS-Office instead of the tools we use. It looks like we may move to PCs. And we will probably end up using MS-Exchange with Outlook as the client.

Why? Because Outlook mangles attachments. Saving an attachment from an Outlook message creates a corrupted file. Outlook, however, can save the attachment just dandy.

Because Outlook is included on every new PC sold, we are getting more MS-Word2k docs attached to Outlook messages. Not one fucking standard between the two of them. And so we are pressured to abandon our open, standards-based, non-proprietary network (with a few proprietary programs, true, but I've been investigating replacements) for MS-Windows on the desktop.

I've been working on selling Gnome and/or KDE as a desktop, with StarOffice, the WordPerfect suite, Gnumeric, LyX, and every free and Free program I could come up with, to the big bosses. But it turns out they don't want compatibility; they want *Microsoft.* (As in, "I was working in Microsoft when everything froze.") They have no clue what they are talking about, but they know what they want.

I had been convinced that Free software would eventually carve out a niche. But I am starting to think we may be too late; Microsoft may indeed be able to crush Free software in a marketing Death Match.

The funny thing is, Microsoft isn't even a software company. It's a stock company-- their primary goal is to make their stock trade at the highest price possible. (To be fair, that same criticism is true of most corporations.)

Maybe I'm just discouraged that people insist on taking the easy way, not the ethical way. (And no, it is not ethical to support a company that is not itself ethical. I do it, too (though not Microsoft), so I suspect I'm merely a hypocrite.) Maybe I'm just frustrated that it's so easy to trade freedom for a small slice of American Greed. Maybe I'm just frightened that I'm turning into a glassy-eyed, fire-breathing Free Software Fanatic.

In any case, I need a drink.

Perl Whirl Pub Crawl
So, anybody here going on the Perl Whirl to Alaska? I am going to be in Juneau on May 30 (my birthday, by happenstance), in time for the scheduled pub crawl. Contact me if you like; I know all the good bars, and all the good beers.

I promise not to be vitriolic about that big software company.

Bikes, Nethack, and Telescopes
Called my daughter today-- she just turned 12, and for her birthday, she wanted a telescope. She told me today she's been looking at the moon with it, and she's been learning how to find the planets.

Very cool.

Afterwards, I took the motorcycle down to SEREMS to help out with that damned MS-Win network. Let me state for the record-- I'd rather be raped by a jackhammer than deal with with MS networking again. Machines disappear randomly from the network; they can still act as clients, so they are set up properly, but otherwise they fall off the face of the earth just like Amelia Eirhart. If I change the name of the machine and reboot-- viola, it's back. Until it disappears again.

Argh.

It only happens to machines with a particular Alfa ethernet card, though, so I suspect it's related to the NDIS drivers.

Mostly, though, I've been wasting time playing Nethack. I'm waiting for a particularly nasty problem to work itself out in my head, and I've found that happens best when I'm distracted.

Anti-hacking
I volunteered to help a friend set up a Win98 box at his work to behave as a masqing router. I offered to set up a Linux box earlier this year (using an old 486), but he resisted a little. Somewhere up the non-profit chain of command, someone decided to spend a lot of money to get a new PIII running W98 to do the same job.

This is the only reason for life for this box.

I suggested we set up the old 486 anyway, and use it instead of the PIII, and put the PIII to good use, but Thor tells me we can't do that; the powers-that-be have determined the new box must be put to this use, using Win98.

Times like this, I want to revive primal scream therapy.

How many other cycles are being wasted around the globe, for this same short-sighted misuse of technology? Groups that do social work won't spend a dime more than necessary on their clients, but they'll spend thousands of dollars on computers that will do nothing but serve mail for 4 people, or do this masqing router bit, or act as a print server. (Axis makes $400 print servers that work with MS-Windows networks, but people insist on buying computers to do the task.)

Does anyone have hard numbers? I'd suspect I could put together a fair cluster with the misused computers just here in Sitka. (pop: 8513).

9 older entries...

New Advogato Features

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!