Older blog entries for tony (starting at number 13)

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.


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?


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.

More Memes

In response to Kelly again:

I had not considered the social implications of accepting the concept of memes wholesale; the original proposition by Dawkins was simply to state that genetics is a special case of the more general concept of information propogation through a selection process; as shorthand, he called the general abstract unit of information a "meme." In his model, each meme-based system would have its own special bounds. In the case of genetics, it's the mode of encoding (genetics) and the mode of filtering (natural selection). In the case of concepts, its the mode of encoding (words, logic, and mathematics) and the mode of filtering (the biases and logic abilities of the different minds).

In this sense, I agree with Dawkins; genetics is merely a special case of information propogation.

I had not considered what the close ties to genetics would do in the minds of people not already familiar with the dual concepts of genetics and information theory. Not long ago (only about 7 years ago) I read an editorial in Newsweek that suggested we prod the "upper-middle-class and rich people" into having more children, and entice the "lower class (that is, people on welfare)" (these were the words of the author-- sorry, I don't recall the date of the issue nor the name of the author) to have fewer children. His reasoning was that, since the rich were obviously more successful, they were genetically superior.

Social darwinism.

The idea of "social memetics," or even worse, "memetic engineering," is repugnant. We don't understand the flow of ideas in any real way; we can model it statistically, but that is about it. Mostly, we don't uderstand the millieu of the mind, which handles encoding, filtering, and propogation of ideas-- the entire life-cycle. And since minds generally don't work in isolation, we don't understand propogation of ideas beyond a statistical level.

Really, we don't even understand how ideas are generated in the first place.

I guess this is all just a rambling attempt to explain that I agree with Kelly that memes are not a precise way to describe the creation, propogation, and selection of ideas or information, and that to take action based on this meme hypothesis is dangerous.

Is this a catch-22? The meme concept is a great shorthand for thinking about the flow of ideas (as long as you realize that it is not derived from genetics; rather, genetics is derived from it); but to understand it, do you need to understand the more-rigorous idea of information theory? In which case, you don't need the meme shorthand.

Sorry about these incoherent thoughts. But an idea is only as good as the use to which it is put; and if the expression of an idea (the phenotype, as it were) is wrong, then the memotype (sorry, couldn't resist) is innapropriate. Not "wrong," necessarily, just as a good genotype can lead to an innapropriate phenotype.

Oh, well. It seems silly to talk about the meme concept in terms of memes. Plus, the idea of memes is rather like Freud's writings-- impossible to disprove, and therefore it really has no place in science or logic.

(NOTE: I'm not saying some truths don't transcend logic. I'm just saying they have no place in science.)

A Note:

Natural selection is not about survival of the fittest. It's about survival of the most appropriate.

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