Older blog entries for tony (starting at number 24)

Building Gnome Redux
Okay, I'm better now. After a good weekend of working on my motorcycle, and a little bit of riding (not much, as I spent the sunshine replacing the starter relay-- it started raining once the bike was fixed, of course), I feel refreshed, and ready to take on the world. Or, at least, the maze of gnome dependencies.

It's really not that bad, after all. popt had problems on Solaris, but I found a precompiled version on sunfreeware.com, sidestepping that issue. I found the ORBit-martin-forked repository, just like it tells me in the oaf README file. So the operator headspace was mine, in this instance. I reckon that means I should take it easier when a user has some headspace issues.

I just don't want to contribute to Gnome's undeserved bad rep.

18 May 2001 (updated 18 May 2001 at 23:56 UTC) »
Building gnome
Okay, this is getting frustrating. Before I go off on this rant, I'd like to admit that, yes, I shouldn't try to compile Gnome out of CVS, and yes, I should simply download the source packages and compile from there.

Why compile? Well, there are no packages for Solaris yet. Ximian promises packages soon; but I can't wait.

Why can't I wait? Because, after 8 years of Unix desktop at SEARHC, my boss is about to cave to user pressure. The users want PCs to run MS-Office. The users want PCs because they are prettier.

Some of you are going to say, "Let the users get what they need to do their jobs." Sure, fine. But they don't need PCs!!!!! Some people do, yes. But they already have PCs. Out of 450 desktops, only about 30 are PCs. And because of this, our IS department has an operating budget of less than 3% of the total of the consortium's budget. Most users do quite well with X terminals and (now) SunRays.

So, I figured I'd install Gnome and KDE, and show everyone a nice, pretty, easy-to-use desktop, with Nautilus and Evolution. Get them excited, you know?

But Gnome is so Goddamned hard to compile, from CVS. There are so many conflicting dependencies; some core modules require ORBit, and some require ORBit2. Fine, but ORBit2 doesn't even compile. So I can't compile bonobo, which requires oaf, which requires ORBit2.

Yeah. I know. I should just go back to source tarballs. I will. But Gnome desperately needs some sort of build manager, something that can keep all the packages in sync with the latest possible source from CVS. I like to test Gnome, to play with new features, to see what it does. A need to fill-- something I should write code for, yes? In my copious free time perhaps?

*sigh* Back to tarballs with me. I'm not looking forward to it; but what the hell. As long as I can get Evolution and Nautilus to compile. They don't even have to compile on the same box. I have more than enough computing power-- part of that 3% went to buying a couple of additional E450s, and a bunch of Sun Fire 280Rs. I have horsepower out the wazoo. (Whatever the hell that means.)

Rant mode off. I've just had a bad day; spent hours working on Crisis Problems, and *all* of them turned out to be operator headspace-- and not mine.

Oh, well. Such is life.

Bike Stuff
I think this weekend I will work on my bike, and not touch the computer at all. I have a BMW R90/6. The starter relay went out, and I found a great link pointing to using alternate relays (as opposed to the Bosch stock relay). So I will try that. Should be fun, don'tcha think? I'm really excited about getting my bike back on the road.

Then I can ride the full 14 miles of road available to me. So far, that's the only drawback to living on an island. Not much space for road trips.

I accidentally posted a reply to the Micrsoft's new tactics article. Sorry about that. I hit the submit button, realized I'd stupidly misspelled "proselytizing," and tried to stop the connection before it submitted. (This usually works, since our connection is so slow.)

Again, sorry. Didn't mean to post twice, though I took that chance when I did it, understanding the possible repurcussions

I worked around the WindowMaker menu/docking problems. I wrote some menu management scripts that create stub scripts to launch applications from the appropriate server. Now we can install the same menu on any of our machines, adjust a file specifying the location of the stubs and the servers from which the apps are run, and then run an install script. It's much easier than it sounds, and it works well.

This is a problem with X11, and not with WindowMaker, per se. X11 apps report the binary invocation, and not the shell script used to launch the binary. Since we use a lot of shell script wrappers to set up environment variables, log events, etc, this makes it difficult to inform the window manager how to properly re-launch the application.

My solution is definitely sub-optimal, but works well.

13 Jan 2001 (updated 13 Jan 2001 at 04:02 UTC) »
WindowMaker has one distinct flaw in its icon-docking behavior. If you create a menu pick that rsh's to another server to run a program, and you then dock the icon on the wharf, the docked icon will try to launch the program as if it were local. So, if the WMRootMenu item is like this:

SHEXEC "rsh denali /usr/local/bin/netscape -display

and then you dock the netscape icon, the docked icon will try to launch netscape with this command:

/usr/local/bin/netscape -display sunray:2

for instance.

This is an undesireable behavior, in a lot of cases.

Anyway, I have a work-around that works fairly well, but it's non-optimal.

Long Live Casbah
I hopped on over to #casbah at the casbah.org irc server, but noone was home. Sigh. I first saw this project almost 2 years ago, and thought it worthy. I finally have a use for it, and an excuse to dedicate some time, and I find it is dead. Another worthy project, dead and unremarked.

The road to software freedom is strewn with the husks of dead and desicated projects. Some are nothing (such as my own Gnome Filer project), killed by worthier projects (have I mentioned entity yet?); others died too young.

Such is Casbah.

Casbah promised to be a great and cohesive Java-based object-oriented buzzword-compliant object-service behemoth. It coulda been a contenda. It shoulda been a contenda.

Now it is dead.

Again, *sigh*.

I haven't contributed anything to Entity yet. I have started an HTML renderer similar to the GTK+ renderer; the idea being the same entity code that creates Gtk+ widgets on the screen can create an HTTP stream of HTML/JS widgets; that is, a web server that serves up Entity applications, and the applications can be designed and built using Stembuilder.

I haven't gotten very far.

It has nothing to do with Entity, which is well-designed (IMHO). I just don't have time for outside activities these days, it seems. Work takes a lot of time, as does the house (though I must say I am now proficient at drywalling).

Sounds like a cop-out, doesn't it? It's not, really. I can devote some time from work to coding, once I've knocked out a few of my current projects.

One of my current projects is the deployment of Sunrays across the consortium. We currently use NCD X terminals on most of the desktops (with a few PCs for the diehards), and Sun hardware in the back room. This has worked very well for us, but since NCD has stopped development on their X terminals, we've not had a good idea for their replacement. We tried Netwinders (which were OK, but expensive), iPAQs (ditto), and Sunrays. Of the bunch, the Sunrays look the most promising. Although they have their own drawbacks (they are true thin-clients, and every client has an X server running on a Sun box), they have a lot of potential, as well.

What I like: the Sunrays have a card slot. Each user is given a card. If you log in with the card in the slot, your session is tied to the card; you can remove your card from one Sunray, walk across the room (or across the hospital) and insert your card, and viola! your session appears at the new Sunray. And securing your session is as easy as removing the card and placing it in your pocket-- true physical security.

And, it allows us to use the Sunrays and X terminals in the same environment.

Also, I convinced my boss to use Windowmaker as the standard desktop. Cool.

What I dislike: I hate that it is tied to Sun hardware. I like Sun machines for the most part, but I dislike proprietary protocols.

Recent Events
Yeah, I know. It's been a long time.

Sitting here listening to Ben Folds Five, contemplating my keg of stout (which is finally ready for consumption), staring out the window at the alternating bands of blue and grey, I have to wonder: what the hell have I been up to these last few months?

Not much, really. I spent a couple of weeks contracted to TG Embedded in Cleveland, working on some semi-Linux related things. Fun stuff, really; I did some coding (though not much), some sysadmin (very little, really), and lots of hanging out pretending to earn my money. I did learn about kernel module programming, though. Now if only I could get some cool new hardware and become a kernel hacker.

After New Years, I went to a conference in Anchorage (which is really just a chunk of Down South grafted into the least-desirable bit of Alaska) concerning health care issues across the state, as it relates to Indian Health Services providers. (SEARHC, the company for which I work, is an IHS provider.)

The only thing everyone agreed on was this: we need high-speed reliable network access to the villages. Like we needed X-ray glasses to see that.

Anyway, I don't have anything brilliant to say today. (Yep. I know I don't have anything brilliant to say any day.) I just wanted to get back to Advogato, as it is my only active link to other geeks.

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.

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.

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.

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