Originally posted by milkylainen
View Post
To have the performance (or 'non-performant' in modern-day speak) issues of "libinput" mentioned in the article you would think is just shameful, embarrassing for a programmer, but I somehow doubt there is any shame or embarrassment to be had because "it's open source after all and if you can do better then fork it and do so".
Good programming used to be -->> Take 1 feature. Get it right. Take the next feature. Get it right. Resolve any conflicts between the two. Wash, Rinse, Repeat. And the project grows, albeit slower compared to today's standards, in a stable and reliable manner (unlike today's standards) even though bugs will appear (having bugs is actually a good thing). That development approach works in larger projects when project managers know HOW to implement it. Good project management seems to be a lost skill, and the people doing it now are "paper PM" types, "diploma mill PM" types filled with theories and ideas but totally lacking in practical knowledge.
Here we have "libinput": "libinput is a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver" (from the Arch Wiki). X.Org worked before "libinput", so the function seems simple enough; we aren't talking LibreOffice suite complexity here, or are we? The project manager, or lacking that the lead programmer, of "libinput" should have the discipline to remain focused on the primary goal(s) of their code. Put that Steam game aside. Close Twitter and Facebook, and Slack, and whatever else. Focus on the coding. Get it right. Forget about competing projects, if they exist; drool & whine about them later, after the day's programming is done. Forget about "oohh ggee SHINY" new features that are usually nothing more than "whiz bangs" (simple but useless stuff). Get the code right, then get the code tight so it performs well; program function comes before program optimization, not in parallel since they sometimes conflict with each other.
Sadly this article suggests to me, as a retired manager, that these "libinput" programmers either:
- Don't understand the task they are trying to solve; they might be better off programming something else.
- Did not properly structure their approach to solving the problems of this project; tried to do too many things at once ("cart before the horse" problem).
- Are not focused on the task they are trying to solve; distracted by outside stuff, making a buck, bug reports, feature wishlists, and so on.
- Are not interested or do not know how to optimize & benchmark/test the performance of their code; code testing is easy to claim, but difficult to get right.
- Or maybe they just believe and live by this: "it's open source after all and if you can do better then fork it and do so".
Comment