[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