bernhard:
Actually I'm kind of suprised at how many kids there are
about. Nonetheless, there are a reasonable few fossils like
me lurking around. (Heh. I'm only 35. Or 34. Or something. I
keep losing track) It wasn't that long ago that I was the
oldest person at work. (Oh, happy birthday, btw)

nymia:
Now, lacking a DOS shell of any description, just how do you
propose to (for example) upgrade your BIOS? Still got some
old legacy floppies, I hope.

pjf: It
happens in lots of forms of negotiation. Not just offers on
houses.

Life

Another job offer. This one via Skud. Will
talk with her about it at the local pub over scotch on
Thursday.

Slept through the alarm today. As I type this, it's time
that I should have arrived at work, and I'm still in the
middle of the trek to the bottom of my coffee cup. Still
sick, as I have been for almost two weeks now.

Before I can leave the house I have to make assorted
arrangements for the cat. Reminder to self: Must also take
her to the vet for a checkup tomorrow. Further reminder to
self: The vet didn't give a time for it. Call and ask.

Sick, sick, sick. Sick for two days, and still sick, but
back to work anyway. It's not quite dawn yet, and today sick
seems to involve: Being emotionally volatile (so there's
always the risk that I'll say something really unfortunate
to someone today), not being able to get back to sleep (my
sleep centre has been shutting down about an hour or two
before dawn the last couple days), feeling weak (but hey, no
biggie, right?), and leaving a trail of evil yellow mucous
everywhere (I can pretend I'm some sort of slug, I
guess).

Must drop feline off at vet (bad tooth) this-morning, and
pick feline up from vet this-evening. This puts careful
constraints on my hours today. On reflection, this is
probably a good thing.

Work

HR never got back to me with a date. Did Igor's performance
review and wrote it up (this is before I got sick..well,
before I started taking time off because of it). Wrote the
necessary pay-adjustment authorisation. Took them to HR who
gave me a blank
'What's all this then?' look and disclaimed all knowledge of
the meeting we'd had two weeks before and that I had been
waiting for them to get back to me. Is anyone else
encountering a
rash of HR amnesia at the moment?

HR then took them to Dan, which undermined my authority. A
little respect thanks, guys.

Welcome to Dancer's Vortex'O'Shite(tm): Diving through 50
pages of legalese that changes by the hour..AKA the new
shareholders' agreement. There are some clauses I took
objection to. Word is they are now fixed. Waiting and
seeing, tomorrow.

Tomorrow all must be signed. If it's not
DancerHappyMaking(tm) by then, I'll sell rather than
sign.

Staggered out of the office this-evening, with 0 sanity
points and no energy.

Whatever you may have heard about John Rex Milton
Stuckey...I assure you: He's a changed plant. He's earned my
respect, and that's not easy for someone from his background
to do. He's doing a damn fine job under the circumstances
(which are tough).

HR was supposed to schedule a personnel review for my Igor.
They haven't got back to me, and the due week has passed.
I'll do it myself tomorrow, and send them the results.

Beautiful sunsets off the office balcony.

...that's more than I've said about work for some time.
Interesting.

Anything other than work

What, like I've done anything other than work? The Mummy on
DVD. Worth it. Picked up Aliens (special edition) on DVD
today. Will watch tomorrow.

C++ and pthreads

Nymia: A member function in C++ requires an implicit other
argument, which is this. Without that, the member
has no sense of which class instance it belongs to. Passing
of this to member functions is an implicit
departure from the C calling structure, and the threading
system relies (more or less) on that structure. You
can however call a regular C-convention function,
that knows what member function you want to call, and pass
it the pointer to the instance as an argument (which will
have to be cast appropriately).

You can then start a thread on call_member_foo() passing it
a pointer to the object whose member you want to call.

A cleaner method would be to pass a pointer to a struct that
contains a pointer to the class to avoid messy casting.

There are all sorts of ways around this...studying how many
OO libraries deal with non OO GUI's (like Windows) will show
you many similar solutions. Or look at (I think) the ACE(?)
signal handling library, which has similar limitations.

jschauma:
Just knowing people is insufficient. What I intended to
convey is that I need to know that they are who I think they
are...that's an additional requirement. It's an AND not an
OR.

/dev/urandom

More opinionated opining:

Looking forward to Nautilus. I gotta get me some of
that

Still no Terminus in stores, and patches for it are
still appearing. Am I advantaged that it will be well
patched before it hits Oz? Dunno.

Branden's going through phase 1 debian packaging of
Xfree86 4.0.1. I want to use and feed-back. Problem is, that
updating via the modem link more or less sucks (or doesn't
suck, depending on your definition of the word in context),
and doing it at work would require Work Time (which seems to
already own too much of Everything Else Time). Decisions.
Hmmm.

It's late and I'm tired, but I've had much to do, and
I'm not yet able to sleep. Nevertheless, I can idle
creatively for a half-hour or so, and I'm going to do just
that.

Off the discussion that cycles around periodically, I'm
going to publish the scheme I use for certifying people:

Knowing who you are, or being otherwise assured of
your identity, or having had personal contact: Important.

Programming skill: irrelevant.

Contribution to open source: Important.

Not embarassing me for having certified you: Important.

So..I don't care if you can't code..if you write
documentation, bug-reports, do testing or whatever for open
source projects, you're okay in my book. Or at least, you've
passed step one. Step two is trickier:

Step 2 involves not spouting vile rants and noise that are
going to make me wish I didn't have my name on your page
certifying you. Heck, you can hold differing opinions, or
argue with me, and I'm cool with that. What a funny old
world it would be if we were all the same. But if you
bite or flame people, I'm going to seriously reconsider my
certification of you. If I suspect you might, I'll either be
conservative in my certification, or simply not certify you.
A few people here fall into that category....people who are
acceptable for diary entries, but I wouldn't trust on the
Advogato front-page. Not with my name attached to
them, anyways.

EYO in Sydney, Australia
sells an RPC-1 (that is, not internally region-locked) DVD
ROM drive: The ASUS
DVD-E608 [link fixed]. Bought it. Neat. Also got a
faster CPU (an AMD
K62/500). Running the CPU at an FSB speed of 100Mhz caused
me all sorts of grief, all of which looked like faulty RAM.
The RAM is PC100, but to get the thing to work
properly, I've had to back off to 95Mhz. Still, it works.
Software decoded playback under Windows is Spiffy(tm), and
it all seems to work quite well.

One CPU pin was slightly
bent on delivery, but it was no biggie. I highly recommend
them.

Life

Family illness and death: Pneumonia, death, strokes. One
down, and probably more in the queue.

Just arranged a flight for Jenn. The hospital people
think her grandfather will not last the night. Must do
without her for a few days.

Just found out that Harry Potter is not an author, but
apparently a character. Score one point towards the
Dancer lives under a rock total.

Contemplating two new game projects. More on that later.

Still no Terminus in town.

Got 64MB more RAM for Jenn and a new large (20GB) hard
disk for her

Found a model of DVD-ROM that is region-free, an
available in Oz. Ordering that next pay.

My Evil Twin is visiting. He makes life interesting.

Word from Hasbro is that in addition to X-Com: Alliance,
there's two more games in the works, an isometric analagous
to Enemy Unknown, and some clunky FPS (to appeal to the
adrenaline market)

graydon
on software reuse: concur. Complexity, safety, side effects,
and dependencies do a reusable library/API/class make. At
work, I carefully document that. I don't need the
info(because I wrote it) but others will. Also, wherever
there's a tradeoff I document why I chose X over Y. It shows
that (a) I thought about it, and (b) if circumstances change
people will be able to see which parts of the code can or
should be adapted to alternative methods.

Simon:
Ah, yes...EQL is indeed famous. I did have issues
with it at one point, and more-or-less rewrote it one
desperate night, but you made it easy to do that by making
the code clear and easy to understand. I appreciate that.
Further to your cooking comment: You can be a cooking
hacker, too. It's fun.

drivers:
Thought about clanlib. Documentation is more or less the
key. I went with SDL because of a few reasons: (1) The
documentation was astoundingly clear, (2) I was just
learning the guts of what was really needed for a modern
game-engine (I've been a backend coder for years) and thus
wasn't able to evaluate much based on features, though SDL
appeared to have everything I figured I would need (or I
would simply be able to add stuff), and (3) I've taken some
mild, and slightly irrational dislike to clan___ and ___clan
things lately. Seems like I can't turn around these days
without stumbling over a .*clan.* something (like e.+ things
and dot-coms). Maybe silly reasons, but I looked through the
API docs for clanlib this-morning, and saw little that
attracted me. Oh, before I forget: (4) SDL has some
commercial games under it's belt, so despite the fact that
neither it nor clanlib offer the aformentioned guarantees
(see earlier response to Graydon, above) it's already
established a very solid reputation for Not Sucking(tm). [
Note: I do not wish to imply in any way shape or form that
clanlib might suck. I'm sure it doesn't. It's just
that I have objective evidence of SDL's lack of suckage in
certain limited areas]

Fixed my audio streams bug. Had to do with the dreaded FILE
* in the GNU C library. I've had trouble with FILE pointers
and threads before. The library seems to attempt to mutex
access to them, but it doesn't seem to work well (at all?),
and tends to result in heap corruption.

Nonetheless, it works quite well now. The conversion to
general midi seems to have made the music tracks sound a bit
hissy. That might be part of the original instruments,
though. Perhaps some sort of low-pass filter might help.

Work

Repeating explanations, at twenty minutes per, over the last
week. Double-bonus, having to repeat the material I typed
into the job entry, because the people dealing with the job
didn't read anything about the job, or what the problem was.
Tired of all the repetition.

/dev/urandom

Linux USB - yes, the device numbers changed. I was going
to post that in a previous diary entry when I discovered
that that was where all my USB mouse problems were coming
from, but it slipped my mind. Damn. Wish I could have saved
other people the same troubles. The old device was (10,32)
then new device is (13,63)

Terminus
- Keeping an eye out for it. Want it. Still not in stores
here, AFAIK.

Gaming - Somewhere I read an article on violence (on IGN, I think). It talked about
the mature rating on games and quoted some interesting
statistics about gaming age-groups. While the article
focused on the younger-crowd (since that was the issue at
hand) I noticed the obverse side of the figures: 46% of
gamers are over 30. Considering that, it'd be nice to get
more games that cater to us aging and decrepit gamers whose
reflexes are breaking down, no? :) But, of course, we're
only nearly half the market...and usually the half with more
money. This is not a rant. Really.

It would be great if we could come up with a
rendering technology that seperates the display device and
the code. This way, we can write things just once and render
it to text, HTML and PDA with equal ease. - jauderho
- I think that's what HTML was once for...something which
later revisions (especially HTML4.0?) seem to have lost
sight of. It's a commonly recurring thing...even [g|n|*]roff
addressed. Seems we keep losing the plot by then forcing
those generic systems to mandate layouts to the pixel.

Browsers - Becoming disillusioned with them. Massive,
showstopping bugs that I reported in the original netscape
4.0 pre-releases never got fixed. They get worse in some
version, better in others, but never go away. MSIE is
generally pestiforous and Windows/Mac only. Looking forward
to flushing them both, and using Mozilla for the long haul,
as soon as it stablises a little more.

Genetic engineering - A rhetorical question to ponder
"In what way (other than rapidity) is genetic engineering
different from what mankind has been doing to plants and
animals since we came down out of the trees?" (If you find
the trees reference offensive, you may substitute 'expelled
from the Garden for petty theft')

Offers, offers, offers. Do I stay, or do I go? Well, the
short answer is that until I see a proper offer, I
keep doing what I'm doing. Money, terms, conditions, and
work details. Company A's offer is attractive, but their HR
people are veritably cthonic and seem to need to be pushed
every step just to stay on the right page. Company B wishes
me good luck and has bailed out of the bidding (as far as I
know). Company C is dragging it's feet a little and may yet
make an offer.

Exult

And now we are seven. Ryan Nunn joined us, and has been
doing wonders with xmidi->midi conversion, and mt32->general
midi conversion. Sterling work.

I've implemented my audio streams, and they've largely blown
up in my face. They work so very well, except that
there seems to be some bizarre memory corruption. Maybe the
mutex lock() call is non-blocking. That might be a cause.
Must check return value more closely.

Jeff is working on finalising barges (wagons, ships, magic
carpet, etc). If I can fix the audio streams, and we can get
sound-effects in there, which looks like a real possibility
then we'll be feature-complete on the next release. Wooo!

We've crept back up onto the front page of Sourceforge's
Most Active list, just below FreeCraft. Working on this
project is so much fun, that I don't really care
either way. I just wish I had more time to do it. An hour or
two over my morning coffee satisfyeth me not so much.

/dev/urandom

Xfree86 4.0.1 debian packaging is started, I am told. I
salivate with anticipation.

"X must die. Linux is shoddy" - Maybe. But it's what we have
at the moment. Poorly engineered, buggy, badly designed
operating systems and UI's are the norm. I daresay they will
all improve, regardless of their commercial or free status.
We all drive each-other. And militance is everywhere. Things
get louder as they pass into and out of the fringes of
mainstream. The noise will come from other parts of the
field as things continue to jockey position in the public
mind. Shrug This too shall pass. What operating
system will you be using in 40 years? Whatever it's
name is, it won't much resemble what we've got now, I
figure.

DVD - Hmm. I should have gotten a DVD ROM before January 1,
it would seem. Word is they're all internally region-locked,
and (of course) half the stuff I want to play is only
manufactured in other regions. Grump. I don't doubt that
somewhere in Australia there are units being sold that
aren't internally region-locked. When I find one, I'll buy
one. Until then, I think I can miss the scene.

Broadcasting - Our Minister for corporate communications
puppetry, Richard I-can-bore-the-socks-off-a-stone Alston,
as a followup to the internet censorhip act, would
apparently like to have the ABA class streaming audio and
video as 'broadcasting' and require providers of same to
have a broadcasting license (and no, you can't have
a broadcasting license, we're not making any more for the
next 6 or 8 years). Quite whose tune he's dancing to today
is a good question, though just occasionally he is able to
have stupid ideas of his own. This could be one of them.

Game developers in Oz appear to be having trouble getting
and keeping their staff. This is apparently attributed to
the skill-drain (which is, I understand it the new term for
brain-drain). It's not unique to their industry...apparently
they have no idea why perfectly good coders would go to work
for other companies that treat them and pay them like human
beings, when they could stay on and get treated like scum at
poor pay. Maybe they'll learn.

A little ranty today. Maybe that's a good thing. Not enough
sleep, and low-grade sleep at that. Time for more coffee.