Older blog entries for tony (starting at number 14)

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).

gnome-filer
Added some new containers-- essentially, it's just wrapping vbox and fixed in object wrappers. Next is hbox, I suppose.

I'm going to have to work on a tree object next. I'm at the point where I need to tie in the db-object editor with gnome-db; but I want to have a tree browser in the cardpanel on the left. I'm not sure how I'm going to tie the treeitems to the objects in a logical way. I think I can refer to each treeitem by its path (like /root/branch/foo/item), and the object the treeitem represents can be attached to the data in the watchpoint callback.

Anyway, progress is being made. Finally.

Misc
In any case, the weather is terrible, rain and wind. The gulls are mobbing around the herring eggs.

But it's beer:30. I'm so outta here.

Sexism
Great. Now sexism rears its ugly backside.

Strange thing is, it's sexism from both sides. Both sides (and note how I call them "sides;" guess I'm not as unbiased as I'd hoped) seem to be simultaneously over-sensitive and under-sensitive.

I'd always imagined the "geek culture" (whatever that is) would be both rational and pragmatic. I mean, I know I get worked up over some issues, but they are usually technical in nature. Societally, I get worked up about discrimination. (Lately it seems that gender discrimination is getting to be my hot topic. That, and ethnic roles.) But that's because it's just not rational to assume one gender is different from another.

Note I say "gender." Gender is different from "sex," in that "sex" indicates the distribution of Y chromosomes, and "gender" refers to the role a person chooses.

I've spent my entire geek life (starting in '76, when our school got an Apple ][) in relative isolation. And though I've been on the 'net for over 10 years now, and seen all kinds of flamefests, I'd assumed that, at heart, the geek culture was as close to unbiased (in terms of people) as humanity could get.

I really didn't mean to get caught up in it, but it seemed that no-one involved was listening to anyone else.

Geez, now I'm sounding like a sappy new-age greeting card. Can't we all just get along? But I am sincere. This seems like such a trivial issue, and yet it shows how close to the surface history really is, like 25k years of male-dominated society is just waiting to gut us open like the chest-burster from Alien.

meta-entry

As people have noticed, there's a lot of cross-talk in the diary section. Seems to me it would be interesting to have a "respond in your diary" link at the end of every diary entry, and link any responses at the end. So the last thing in every diary entry would be a few lines like:

(...)

[ Respond in your diary ]

Other responses:
[ Tony ] [ Foo ]

(...)

What do you think, Sirs?

gnome-filer

Some non-meme thoughts (I'm done with them, Kelly-- thanks for pointing out the misdirections intrinsic to the concept):

The current implementation of gnome-filer is fatally flawed. I'm not doing any real kind of memory management; I was hoping a good method would pop up, and I could have some sort of coherent strategy.

No such luck.

Currently, the watchpoint mechanism uses a gpointer for data storage, and doesn't do any allocation or deallocation. Really, I should use a GTK_ARG datatype for storage; then I can copy strings and handle internal (to the object) memory management, and leave everything else alone. But does that make sense? Or should I leave strings alone, too, and count on the application to handle memory? Or should I strongly-type everything, and only allow lists of GTK_ARGS for compound data types?

Too many questions.

I suspect I should just count on the application to handle memory management. I mean, the language plug-ins can handle memory for user-space programs; and for the gnome-filer designer application, I can probably handle my own memory. If I count on the object plug-ins to handle memory, there will be too many special cases. Hell, everything will be a special case. So perhaps there will be fewer problems if the application itself keeps track of everything.

In any case, the current implementation of gnome-filer is fatally flawed.

5 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!