On Tue, 01 Mar 2022 08:54:15 -0500
"Sebastian LaVine" <[email protected]> wrote:

> Christ, why do you choose to be so rude to someone you've never talked
> to over a simple email? He wants to write comments for a C program. It's
> not the end of the world. I personally will be interested in what he
> does; he isn't wrong that a lot of the main suckless code isn't well
> commented. You really think there's something wrong with "people like
> [him]" studying something he doesn't understand, and offering to share
> the results of his study with others, so that they too might have a
> better understanding? Weird. Drink some tea and calm down.

Thank you Sebastian for apparently being the only decent, well adjusted person 
in this group. There was nothing wrong with my observations, in either form or 
content. It's quite possible to maturely accept different viewpoints even while 
strongly disagreeing with them. 

In fact, as detailed in another response, I'm far from being an idiot, in the 
realm of computing or otherwise. I've created my own Linux distro starting from 
nothing at all, and expanding it to over a thousand packages, many of which are 
quite non-mainstream and have required extensive patching to make function 
smoothly. 

In the world of Linux software, I've seen it all, and every variation in 
between; good and bad build systems, great code and total dogshit. 'st' isn't 
the worst out there by any means, but nothing is perfect, and it is a fact that 
dozens of functions and variables in this code have zero comments, along with 
terse variable and function names that leave the non-expert end user scratching 
their head in confusion as to exactly what it's for or how it works.

I will indeed fork this code, which is now a necessity if for no other reason 
than to fix st's extremely poor memory storage design. 'malloc' is called for 
each individual console line any time the terminal is resized, which for a 
terminal with no scrollback functionality I guess is fine--but with the 
scrollback patch added and a large buffer allocated, this significantly slows 
down the terminal, especially on startup. The 'tresize' function is using a ton 
of CPU time, and there is about a quarter to half second delay when starting 
'st' with a scrollback history of 262,144 lines--which is completely 
unacceptable, when xterm starts *instantly* using the same setting. 

It will of course take almost a complete rewrite to accomplish this, as the 
whole terminal is built around the line buffer. That will be a good opportunity 
to add in all those comments which are so desperately needed, to properly 
document the code. My standard is 'so even a 8 year old, like the young me, 
could understand it.' 

Frankly I'm not a huge fan of the extreme minimalism aspect anyhow; it's 
probably better to configure the terminal with X resources and/or a config file 
for example, so the whole thing doesn't have to be recompiled just to change a 
config setting. Other features like a scrollbar would be nice to have. It would 
not bloat the code at all to have a few niceties added in.

If this sound interesting, I'll let you know if/when this has been 
accomplished. It might be a while, as I have a ton of other things on the todo 
list right now. (Like building an entire distro...) As for the various basement 
dwelling antisocial cunts who have responded with their angry, insecure, 
butthurt comments, they can feel free to go fuck themselves.

/UNSUBSCRIBE

-- 
Dave Blanchard <[email protected]>

Reply via email to