[Scummvm-devel] RANT (was: SF.net SVN: scummvm: [23511] scummvm/trunk/engines/kyra/resource.cpp)
Max Horn
max at quendi.de
Sat Jul 22 16:22:30 CEST 2006
Hi there,
one last response: While I still think that (ab)using displayName()
for file access, is a bad idea, fact is that FilesystemNode is
missing an additional name() method that can be used for filename
lookup / comparison. This lack caused me to abuse displayName() in
the SCUMM game detector, too, BTW (albeit in a lesser fashion -- just
for comparing to a list to known filenames, not for use in
File::open). The main reason I haven't added FSNode::name() yet
(which would be very easy to do, after all) is that I was afraid of
it silently getting abused -- by people using it in File::open.
Alas, I was a fool to act that way in the first place. Sure it'll get
abused, but who cares -- likely nobody besides me. Sorry for unjustly
flagging your commit, LordHoto, nearly everybody else on the team
likely would have written the very same code, after all (and looking
through our code, several already have). LordHoto has made
outstanding contributions to the project, and I never wanted to paint
him black, just to make that clear.
So, a better response would have been to start a discussion on how to
improve upon FSNode. But since typically my attempts to start
discussion on design of backend/frontend/glue code leads to no
response from the Big Black Hole, and in the end I am alone to decide
what to do anyway, I prematurely cut that discussion out. Which
clearly was not a good idea. :-/
Unfortunately, I still do not feel like starting a discussion on the
design here, simply because I strongly believe it will lead to
nothing anyway. If somebody *does* want to talk about FSNode and how
to improve it, that'd be most welcome, but it won't be me starting
such a discussion. Because my experience is that nobody on this list
is going to participate in the "discussion" (for whatever reasons --
because they "do not feel qualified", lack the time, the interest,
because they are scarred of me or feel I'll do whatever I please
anyway, whatever...). Only fools keep talking to walls, and since I
don't like acting a fool that much, I am not really inclined to keep
this up (my other mail regarding String is a last attempt, but I
guess it's doomed from the start, too).
Last night I just wanted to throw everything down and stop doing
anything with regards to ScummVM at all. Well, but I don't like
abandoning something w/o any warning or transition, as that's unfair
to the other people involved. So I will "fix" this particular issue
in Subversion now.
But I am tired of having to constantly monitor all commits to find
out if somebody runs into troubles with any of our backend/engine/
middle end code. To check the backends for odd hacks. To scan all our
engines for patterns. Normally, I'd expect people to speak up when
they face problems, to ask for the API to be improved, but that
hardly ever happens -- people just grumble into their beards, then
implement something that "works good enough", cheat around the flaw,
abuse the API (sometimes because the API is not well documented, too,
of course -- though nobody complains about that either), or duplicate
code because the existing code is not doing exactly what they need.
Apparently, things work "good enough" w/o me worrying about fixing
the real problems instead of curing the symptoms (I guess I am too
much like an OpenBSD designer here, and not enough like a Linux hacker).
I realize that adding a new port is much more fun than redesigning
OSystem or improving the existing SDL backend to properly cope with
errors (during res switching, for example -- think transaction
rollbacks), and that adding a new engine is more fun than fixing &
improving the savegame system. What I realize now is that I can't
force interest in these on anybody. So I'll stop trying, and will
turn passive for the time being. Should somebody be interested in
working on any of these, I can still offer my help to that person(s).
Yeah, I am bitter and tired, but I am also aware that it's my own
fault to a large extent. Most of you folks are doing good work, and
it's not your fault that I have had the wrong expectations. Plus I
think I am often too discouraging with my strong opinions on certain
subjects, so people are deterred from working on e.g. the glue code.
So my attitude is simply unrealistic. That's not nice, but I gotta
face it.
Therefore, I'll grant myself a timeout and will stop monitoring, will
stop making cleanups or refactoring or working on the middle end, or
anything like that. Most everybody seems content with the current
state of things anyway, so my efforts seem misplaced. I feel that all
I achieve by trying to be a "leader" with a "vision" is that I turn
myself into laughingstock, and cause additional work for myself and
everybody else, which is little appreciated.
Bye,
Max
More information about the Scummvm-devel
mailing list