Incredible. A day where there aren't any new accounts certified as journeyers already. A sea of gray. My faith in
humanity is, for today, restored.

I decided a few days ago that I would attack the following problems that I see with the OpenBSD ports tree, in this order:

Get all non-BROKEN ports to FAKE; replace IS_INTERACTIVEs with FLAVORs.

Work on infrastructure first to permit the movement of LOCALBASE to something other than /usr/local (on a
"local" basis, of course... har har), then go through each port that I can possibly build, fixing it and supplying
source patches to make it respect PREFIX and LOCALBASE appropriately.

To that end, I'm already working on #1. databases/db is my current project; I've already got an outside
contribution. And wouldn't you know it, I'm already stuck. :-) I need to try to find a way to get it to depend on the
JDK so that the java FLAVOR works appropriately. It's not as easy as it sounds, because I also need to
determine
exactly which version of the JDK was installed. I can hard-code the 1.1.8 now, but if FreeBSD's JDK (and
therefore
our port of it) ever gets updated, this port will break. Hmm.

My dream of a universal, non-GPL'd porting and packaging
system (with full path relocation, of course) taunted me again. I think, based on my forays deeper into the ports
system infrastructure, that I have a ways to go before I start such a beast.

Did it work? I guess I'll find out when I hit the Post button. Such is one of the major fallacies of web-based
interaction. Submit, Reload, Submit, Reload...

Anyway, the reason I was going to actually post my diary entry today was about an interesting incident we
had
yesterday at work. Well, maybe it's not really terribly interesting, but it brought up some interesting thoughts.
We
are cursed with a MicrosoftExchange server for our e-mail here at work. Someone
apparently created a global mailing list alias called "TechSupport" that contained what appeared to be
all the addresses in our corporate addressbook. (I'm still fuzzy on the details, but that's fine,
because
thankfully it's not my job to keep up on Exchange.) Someone got impatient with a technical services request and
forwarded it to this alias, which resulted in everyone getting said TSR. An honest mistake, probably.

The result was that a large number of yahoos worldwide were blindly hitting "Reply To All" and indicating to the
entire corporation (and sub-corporations) that they did not comprehend why they got this e-mail in the first place.
(There were also some
non-yahoos who got it who were desperately trying to turn the tide.) Back in the UNIX wing of our IS department,
where I hang out, I joked that this proves that e-mail virii are not a technical problem, but a social problem -- there
was no code involved, yet for all intents and purposes this had a very similar effect to ILOVEYOU or one of the
other infamous virii. (Actually, my statement was much shorter, but true to form, I waxed philosophical shortly
after making the origial statement.) This got me thinking that if computing is ever to be pervasive, that perhaps it's
taking the wrong approach entirely. Don't get me wrong -- I don't know what the "right" approach is. But if
otherwise intelligent people can cause so much of a problem just by one simple mistake, perhaps we are not
giving
the masses what they need.

I spotted what I think is a bug in OpenBSD's cpp (which,
btw,
is actually GCC 2.95.3 prerelease; but this little bit shows up in at least
OpenBSD 2.7 as well, which used GCC 2.95.2.) cpp has support for a concatenation operator in macro
definitions,
like so:

#define CONCAT(A,B) A ## B

The concatenation operator is meant to allow you to create macros that put two things right up next to each
other
without whitespace (so that CONCAT(foo,bar) yields foobar.) However, in our cpp, this only
works if the file you're running through cpp is a C++ file (i.e. .C, .cpp, etc.), or if you're using gcc
-E. Other cpp's (also based on GCC 2.95.x) don't exhibit this problem. I spent two nights trying to figure
out why but GCC is too big of a beast for me to track it down. :-/ Anyway, I posted more of a query than anything
to our tech mailing list, and hopefully someone a little better than me can figure it out... (for the curious: I want to
use it in our ports.cf, which is an override for several key defines that are used by imake, to move imake-based
software out of /usr/X11R6 into /usr/local -- except I want to be able to move it to a user-defined location rather
than
just /usr/local.)

Oh, and everyone should really read about the monkeys at nutters dot
org.
I'm serious. I found it self-validating, yet it still made me stop and think in many different ways.

Looks like I'm settling into the same frequency of diary
entries as a lot of others. Oh well, you all really didn't
want to hear my rants every day, did you?

Lots of interesting discussion on making software
path-relocatable; clearly some things I hadn't thought
about (which was really the point of posting in the first
place). I tried to check out Figure but the project page seems to
have disappeared off the face of the earth along with the
rest of fig.org. I did manage
to snag a copy last night but I was far too sleepy to make
sense of it, so I started downloading some MP3s by Higgins instead. I
discovered him last week and plan to buy his CDs sometime.
He's very good despite being categorized as "easy listening"
on mp3.com. :-)

I wanted to contribute some thoughts about the GPL's "teeth" but decided
it would probably contributed to the license flamewar that
was advised against, so I decided against it. Actually, I
fear that someday GPLv3 will rise up with
prohibitions against dynamic linking, CORBA-style remote
invocation, and such. I fear that many hordes of new
programmers will start to use it blindly and create a whole
new class of software that is unusable by anything *but*
GPL'd code.

The way I see it, free software is so powerful right now
that we don't have to entirely rely on copyright protection
anymore, because even if someone did proprietarize a piece
of software, the majority of the force would still be behind
the free version. The question I would ask: "If free
software is so powerful, why do we have to guard it night
and day with a nuclear arsenal?" I will probably only
license my own code under the GPL if I absolutely need to --
i.e. to satisfy the requirement in question.

On the ideas front: wondering about the feasability of a Java object database like Zope's ZODB. Would use
serialization and such. I think I have conceptually how to
do such a thing, although how and whether or not to
implement versioning is pretty gray right now.

nymia: perhaps we should get you
your own box apart from the rest of the recent diary
entries? :-) kidding, of course...

Jury duty over with. Didn't get impaneled. This time I got
to sit around for 4+ hours with a dead TV. I'm still trying
to decide if a blank TV or E! is better. I'm leaning
towards the former.

My ADD seems to be catching up to me again, long after I
thought I had it fairly solidly under control. In school,
I'd been stamped "gifted" on my way out of preschool, and
sat under that label for quite awhile. It looked to
everyone like I was some really smart kid or something, but
in reality, it was just that everything they were teaching
was covered in books that I'd read. I used to read lots of
books, and today I read lots of web pages.

Given that the American public school system values book
knowledge above critical thinking (and the liberal
indoctrination is really easy to fake), I did remarkably
well until a few years before college. Anyway, to make a
long story short, I insisted that I get checked out, and lo
and behold, Ritalin made me brilliant for awhile. It didn't
sit terribly well with me, though, so I quit it and worked
really hard on pushing myself without the drugs. Up until
these past few weeks it's worked relatively well. I'm not
sure what's changed, but I'll keep watching for awhile.

Well, other than that, nothing new on the free software
front, except that I have to figure out a term to use that
is not "free software". Open source smacks of marketese.
Suggestions welcome.

Interesting reading the responses. I don't have anything
else that I feel is worthwhile to add, so that's why I am
not responding to the followups. In any event, there are a
few points to ponder.

My c-client sync script is halfway done, but I quickly
realized as I started to code that it has the potential to
destroy my inbox if I match one list to another incorrectly,
so I'm leaving what I've done for now to mull over it a
little more. I wish Palm's developer zone
had information on how the MailDB file is structured, but
they don't seem to for some odd reason, just some generic
stuff on databases. I find that extremely strange,
especially since pdbdump from the Coldsync
Palm libs shows there is a field called "id" in each message
that I think I can use safely.

As nymia
pointed out, we've apparently been down or something... but
it's all better now.

On the software front, I've been trying to piece together a
coherent conduit for mail to my Visor, so I can stop
spending over an hour daily going through misc@openbsd.org,
ports@openbsd.org, tech@openbsd.org, etc. and do some of it
on my lunch break at work. (If only we had a decent 'net
connection there, sigh.) For as much flack as it catches,
IMAP-UW's
c-client library is really quite good (with the Perl Mail::Client lib), and
I can add it to Coldsync's
Palm Perl libs to complete the picture.

I would really like to use Coldsync, but /usr/local is taken
up by OpenBSDports
right now, and I don't want to throw extra stuff in there.
One of these days I'm going to have to seriously sit down
and figure out enough about the infrastructure to permit my
old trick under FreeBSD (/usr/contrib) to work.
/usr/contrib is a better place to put this sort of software
anyway, it's written by someone else, maintained by us
specifically for our OS, but not supported by us. That,
historically, is the role of /usr/contrib. /usr/local,
OTOH, should be for truly local stuff that can be blown away
with no ill effects on the rest of the system. At least
that's how I've always felt about it. Unfortunately,
/usr/local is ingrained into a lot of places in our tree
right now, so massive changes would need to take place, and
I don't think a lot of others see the value in it. Maybe
I'll go on a crusade sometime. There's no real reason why
the system can't discover what your preference is for
everything. I've got a few ideas on that front...

deekayen:
that's no way to live. I wish you had smarter parents.
Alcohol abuse really sucks. Get them help if you can.

Just posted a heavily revised version of my "abused trust"
article, which I think addresses my thoughts below.
Crossing my fingers for as good a reception to my points as
I've had in recent diaries. Thanks, everyone, for your
support.

I love working with the window open during a thundershower.
It's great. Everyone should have an openable window next to
their workstations. Of course I could also go outside and
get wet... that's always fun.

Gave in to curiosity and installed Tomcat
on
gamera, even though I was going to make it a work-only
project. I figure, though, since work gave me a reprieve
from the otherwise tedious pushing of the inventory data
into our Oracle apps
system through a terminal session -- we were going
to
do that tonight -- that I can do some semi-work-related
stuff at home. (Yes, ladies and
gentlemen, Oracle did not see fit to make interfaces for
physical inventory, so we spent many $$$ a few years ago to
have an interface written so a Perl script could talk
directly to the human interface.) But now one of
our DCs isn't going to do
their third (cleanup of discrepancies between first and
second) count today, so we won't be entering anything till
Monday at the earliest.

Anyway, back to Tomcat. I'm pretty impressed with
what
I've
seen so far. Obviously, Java developers are already
really into the whole servlet and
JSP thing.
I haven't done any serious Java since I wrote half of a DNS
resolver library in JDK 1.0.2 years ago, but the whole thing
just screams well-engineered to me, especially when
contrasted to last month's exponentially mounting
frustration with Zope. I
think what I like most is that it tries to do as little as
possible and allows you to build your own framework (or use
others') on top of it. Right now all I've managed to do
some basic header/footer stuff, and automatically-generated
breadcrumbs... but more is coming.

I'm noticing several people using the word
"diarist".
It's one of those things where I wonder if people started
using it because I did, because it was one of those words I
thought might be a real word but had to look it up. (It is
a real word, for those of you who are wondering.) Then
again, the rest of the world might have just been using it
and I only noticed subconsciously, kind of like when you get
a new car and for the first time in your life, you notice
the other people driving the same model.

Humm. It's 8:05 AM over here, so I suppose I can't say
nobody else is up in my time zone anymore. When my pager
went off at 6:45, I don't think anyone was. :-) Work is
doing inventory this weekend, and when I started this job I
inherited the Perl-based
RF barcoding system that our DCs and factories use; it gets
used very heavily this weekend, and our DC liaison thought
this morning in the shower that she hadn't asked me if our
new-style UCC
shipping labels would work for inventory scans. Thankfully,
I'd tested it last week.)

I finally got a usable source tree! Note to self: NEVER use
cvs-over-ssh unless committing changes to a tree. pserver
is a much more reliable method for large updates
(and not too slouchy, either).

Everyone who wrote in and/or left supportive messages in
their diaries -- thanks. But I'm not posting it, and I'm
glad I didn't, and here's why.

I noticed a few folk seemed to be offended by my suggestion
that
they might not qualify for the rank to which they'd risen.
At the risk of re-offending, I'd say some of you don't. The
guidelines are clear -- this is about contributing to free
software, not about being in IT for many decades. While
those decades of experience may help you to contribute, it
doesn't mean that you are more than an apprentice at
contributing.

My problem, though, was that even after editing my sentences
several times, I still had it wrong, or at least it appears
so from the interpretations. Contributions to free software
are not necessarily measured in terms of code, although it's
hard to take someone seriously who hasn't contributed code.
:-) It's about being involved. Being involved
doesn't mean playing around with a particular free software
project, it means helping it to be better, whether through
code, advocacy, assisting with infrastructure, whatever. I
guess it's really hard to quantify, and because of that, I
don't feel I can do it justice with my words. I only know
that when I look at some ratings, I feel they're wrong; and
when I look at others, I know they're right.

Bottom line: I fear that having posted my article outside
the still-public but less exposed confines of my diary would
have offended far more, and not accomplished anything
for the goal of free/open/whatever software. When I
thought about it, I discovered someone being labeled purple
or blue doesn't really hurt me or the community. If I need
to find a real free software journeyer or master, I know
where to find them, regardless of the color of their cert.