Older blog entries for dancer (starting at number 47)

DVD

VLC + decss + linux kernel 2.4.0test5 = DVD playback under linux. Neat. VLC crashes after some random amount of time. I care not. It's a beginning. One cheapass shell-script to bind them.

Work

Resigning this-morning, effective a month from now. Hopefully, I'll be well enough to go to MJS' send-off this-evening. I doubt I'll be able to last it out. I suspect one of those drink-till-dawn efforts. Gonna miss the guy.

DVD's

Camelot (the musical) and The Avengers (the modern film)

Books

The Redemption of Althalus - Just finished. Some of you would call it derivative. Perhaps. I think it stands on it's own, but you need to see past the superficial.

Third Edition Dungeons & Dragons Players Handbook - We apparently got them before the USA...a couple days before GenCon. Lucky us. I like the changes, mostly.

Games

Xcom III (as usual). Getting close to time to fire up that game engine that I've had sitting to one side, maybe, and put some backend behind the graphics.

Hankering towards Thief II again. Heck, hankering towards Thief I (gold) again.

Still no Terminus in stores. Interest beginning to wane.

OS (and other) Wars

Using variations on <insert name here> is better than <insert other name here> is a warning sign that you may suck (as quite opposed to the things you may have been naming). It's not an infallible guide, but as soon as you start wandering away from X is best suited for ___ and into X is just better, damnit then you're in danger of suckage and should examine the contents of your head.

Example: I write in C++. A lot. It's what I'm paid to do. I'm better at it than anyone I've ever met or worked with. I've done it day-in, day-out for years. Almost every project I do is in C++. There are a set of true statements that follow and expand from this:

  • C++ is not god.
  • C++ is not the best solution for every problem.
  • I will cheerfully write code in whatever language seems best for the job...saving of course that other people may be better to work on them, if that is the case. But I'll do it, if indicated, and learn the language if I don't already know it.
Now...Screw the old thinking cap on. Tighter...tighter...A little more.

Good.

What is the logical fallacy with X is best? Could it imply that X is not in need of improvement? Name me one thing that couldn't stand to be improved (excepting nipple-tissue, perchance - but that's a whole 'nother story children, and for another time).

Oh, and while I'm at it: KDE will win / GNOME will win

The message is clear, isn't it? Only the users lose. Most of you aren't interested in winning or losing. For those of you that are...screw you. Hopefully before you screw everyone else.

Kids these days.

[A link for you to revoke certification of me for ranting out loud. It's rude, I know]

Flow

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.

Just realised that the 12th of august was the first anniversary of my first cardiac arrest. Amazing what you remember sometimes.

Hmm? Oh..Six or so over the year, I think. Hard to keep track. There's a nurse in ER I've been tempted to ask out, but she never sees me at my best, anyway.

(To clarify, no not a heart-attack. That's a very specialised kind of heart-stoppage. Mine is just an arrest - no actual damage to the heart)

Sick

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.

Not much else happening. Sick, as I said.

Work

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

This is off the top of my head. Errors may be present:

extern	"C" void *call_member_foo(void *);

void *call_member_foo(void *instance) { // Icky cast TheClassType *i=(TheClassType *)instance;

// Call the foo member function on that. (i)->foo(); return 0; }

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.

Work

Contemplating leaving it. Seems like the job I have is the worst of the available choices open to me. Hmmm. Well, we shall see.

Exult

Inadequate chronometricity, damnit.

Meta

Well, I periodically attract bundles of attention here. Seems my method for rating people does, anyway.

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

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.

And it's all about trust, isn't it? :)

Exult

Mostly bughunts and tuning, where there is time.

DVD

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.

/dev/urandom

  • 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]

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