

There’s a self-hosted bookmark manager named linkding, and that’s how I found out “ding” means “thing” in German.


There’s a self-hosted bookmark manager named linkding, and that’s how I found out “ding” means “thing” in German.


When I wrote Real-World Maintainable Software, I highlighted the fact that Dr. Winston W. Royce introduced the world to the concept of Waterfall Project Development with a stark warning: the implementation described is risky and invites failure
Did the world heed this warning? No, we went full on Waterfall for decades, suffering failed project after failed project, never wondering if anything had to be changed.
This is a breathtakingly naive point of view from the author of a book with such a lofty title.
The idea that everyone went “full waterfall” is hilariously misinformed. And that it was “failed project after failed project” until waterfall went away is comical too. Where did all that software come from if every project failed? All software engineers did nothing for decades and still got work??
I thought “oh, maybe I should take this guy seriously because he wrote a book with a title like that…?” Nah. It’s not that kind of book. It’s a glorified list in pamphlet form for junior developers who don’t know to buy something else.
I know hubris is one of the qualities of a good programmer but he seems to have skipped the details of that one.


It has been remarkably useful! I keep trying to tell people about it but apparently I am just their main use case or something.
I would have loved it when I was using Samba to share files on my local network decades ago. It’s like a Swiss Army knife!


Tangentially, I don’t see people talk about rclone a lot, which is like rsync for cloud storage.
It’s awesome for moving things from one provider to another, for example.
Or sometimes history if I can’t remember at all.
Oh my bad, two other people said that too I was just excited
Right, knowing when to apply the principles is the thing that comes with experience.
If you’ve literally never seen the benefits of abstraction doing OOP for thirty years, I’m not sure what to tell you. Maybe you’ve just been implementing boilerplate on short-term projects.
I’ve definitely seen lots of benefits from some of the SOLID principles over the same time period, but I was using what I needed when I needed it, not implementing enterprise boilerplate blindly.
I admit this is harder with Java because the “EE” comes with it but no one is forcing you to make sure your DataAccessObject inherits from a class that follows a defined interface.