2000-02-04
----------
Why *on* *Earth* can't I do a string-based switch thingie in C?

I mean, it's a fscking:
(defmacro sswitch (data &rest clauses)
  (let ((xyzzy (gensym)))
    `(let ((,xyzzy ,data))
       (cond ,(mapcar #'(lambda (exp)
                           (if (stringp (car exp))
			          `((string ,xyzzy ,(car exp)))
				exp))
		       clauses)))))

In C, I have to (manually, mind you) do something like:
if (strcmp(foo, "one")==0) {
  /* data */
}
else if (strcmp(foo, "two")==0) {
  /* data */
}
else if ...

It Is Fucking Annoying And Please Remind Me Why I Code In C Instead Of
A Sane Language, Please?
--
2000-02-17
----------
Long time, no hack. No commuter trains for a while, leading to "car
buying" and similar scary stuff. Still can't understand why I code in
C instead of living in a proper development system [and, Netizen, that
ain't perl...].

Today's irritation is "man pages" and RedHat's seemingly defaulting of
*not* installing them. I mean, I *did* choose "development thingy"
when I installed the laptoad. The *other* laptoad was given man
pages. Ah, well. Time to dig up the CD at work, methinks.
--
2000-02-20
----------
No man pages, still. Luckily enough, the emacs install has glibc info
pages, so I still can check the things that needed checking. Doing
dynamic strings in C is *crap*. I really should write a good library
for it. But, that entails building wrappers around scanf/printf,
making new formattings for them and assorted NastyStuff. Situation
wouldn't be much better in C++-land, since it's equally much to
rewrite there. Oh, $DEITY, why is garbage collection so nice?
--
2000-02-22
----------
Be as it may, based on the latest happenings around me, dribble'll
either be worked on a lot or almost not at all. Time will show.
--
2000-03-09
----------
Things have, while not been resolved, at least reached a stable state.
Things like "future" and stuff like that is starting to look like
something one can think about again. Ah, well. Shite happens.

On the dribble side, there's been a few strange happenings lately.
While engrossed in testsys, I've mainly looked for crashed. This led
to a shockful of other strangeness being overlooked and demo devils
from my nose.

Also, I've been approached by the OpenWorkflow project, to join forces
against the cruel and evil world. Something I actually appreciate, but
seeing as how they plan on being Zope-based (nothing bad about Zope,
but in my mind it stinks web and web is a necessary evil, or
something). What I told them is that I look forward to something like
"common API" and/or "common network protocol". That would actually be
*mondo* cool. if we have the same abstraction, a compatibility layer
can be made, by simple encapsulation (well, even cooler, by a simple
#include). Hopefully, I've managed a good abstraction in dribble and
that then could be used as a base. Hmm... This has potential.

I also installed sawmill on the snifftoad and in my CFT I'll read up
on how to warp sawmill into what I want. First to enter will be the
workspace manager from gwm. It's one of the coolest workspace (eh,
"viewport") managers I've seen. Adaptive "root window", drawn in a
viewport overfoo, with the currently visible part as a shaded
square. Windows coloured by active/inactive, scrollable and half a
viewport larger than the leftest, rightest, uppest and downest window.

Enough wibbling. Time to play cards!
--
2000-04-11
----------
I wish I could remember to add ChangeLog entries *when* I do them...
Ah well, it's probably got something to do with that "sleep" thing.
--
2000-05-11
----------
Seems I've been a paragon of composedness lately. This is, to a
certain a false picture. But most of the problems have had with
Other Things to do. My cellphone died. An ATM swallowed! my ATM
card, my "bank-over-internet" code token decided to lock itself
up, the boat from work (gloat! during summers there is a sloop,
ferrying people from where I work to the Old Town!) left 2 mins
early. And I just saw a nasty overflow in dribble's server code
(extending arrays to N items, then access array[N], overflowing
the allocated array with one item. And that code didn't show up
when compiling with -DDEBUG (memo to self, change that macro to
something else), so...). Now I've linked with ElectricFence and
it caught some overflows (good work, Bruce!) and now all of the
nasty li'l overflow bugs should be -+*DEAD*+-! And I bricktext.
--
2000-05-16
----------
Suddenly, the release looks very distant. Nasty bug just showed its
ugly snout. And the train will miss the bus, so I will have to walk up
from the station. That's a time-loss of almost 20 pages! Ah, well...
--
2000-05-22
----------
Aigh. Majorre-work of wf-net.c, but the result *looks* cleaner (e.g,
less cruft around calls to *_make, many functions looking *very*
similar, etc). I'm 349 months today and 349 is a nice number.
