Older blog entries for tony (starting at number 16)

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.

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

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.


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.

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

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.

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:

 .S DOC=""
 .F  S DOC=$O(@DDBDSA@(DOC)) Q:DOC=""  D

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.


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.

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

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.

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.

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.

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