This is not very brutalist, considering that brutalist architecture would never exist if it followed this rule.
> VIII. Avoid all ornaments
How about: "don't hide the way you made it"? Brutalist buildings often have the look of bare concrete and metal because they are not trying to hide the way they were built. This would mean disclosing sources and tools, making buttons look like buttons, showing the actual errors, shaping the UI to reflect the underlying process or model rather than trying to abstract it.
Reading the original Rise of Worse is better article ( https://www.jwz.org/doc/worse-is-better.html ) gave me a huge appreciation of programming implementariin simplicity, and improved my pace of coding a lot. It shows a real example of why C won over Lisp (a much cleaner interface) 50 years ago.
The funny part is that right now I'm programming in something that may be closer to Lisp (Python), but happy to rewrite parts of it in C in the future when it gets practical.
The amount of features I can add in a small time just because I always pick the smaller implementation surface (while still moving forward) is amazing.
Regarding dependencies: I may want to move to lower level libraries in the future when my project is in a more advanced state, but again they are great as training wheels (lower level would help with customization, but I'm waiting until I _need_ it).
> We do not use libraries
seems a definitive position at least, whether one agrees or not
> If you need additional libraries ...
Hold on, I thought we weren't using libraries. Shrug.
The whole piece is plagued with dissonant inconsistencies like that.
In this specific case it seems particularly necessary. I don't think I will take this manifesto at face value.
> Solve problems instead of creating them
Whenever you write code, you inherently create problems. For every line of code you write to solve any problem, you create bugs, technical debt and maintenance problems for someone in the future. The only way to not create problems is to not write code, and therein lies the challenge.
> Do everything yourself
Yeah... no. A modern developer relies on _mountains_ of code just to use an editor. Will you write your own editor, networking stack, kernel, firmware and OS as well? If the answer is "no", take the same approach with the software you write. Don't liberally import any dependency you find, and certainly try to reduce the amount of 3rd party code that you use, but also be pragmatic and don't reinvent the wheel if there's a perfectly good one someone else built for you. The best you can do is take a glance at how it was built, and try to follow and understand updates when they happen, but this DIY/NIH obsession is ludicrous.
> Code that we didn't write we do not understand.
Have you tried reading it?
> Avoid all ornaments. We eschew all visual gimmicks, animations and eye-candy.
Awful advice. Good UIs are accessible and enjoyable to use. Just because you prefer your UIs to be spartan, doesn't mean your users will as well. You are building software for other people, right? If anything, make your software configurable so that your users have the option of configuring it to their needs and preferences.
> Do not listen to others. We never take a software methodology, school of programming or some random internet dude's "manifesto" at face value.
I will gladly disregard this "manifesto" as well then. :)
Also, the least you could do is use a spellchecker for such an enlightening document, or maybe write your own?
- "we often evade our responsibilty"
- "True mastery transcendends"
- "Forcing others do upgrade"
They should rename this screed Arrogant Programming :P
Restructuring text to fixed length is eye-candy, and one that causes problems (e.g. when zooming in). A less ornamental approach would be to serve free flowing text and let the user adjust the browser window to their preference. Better yet, return semantic html as opposed to a single pre block.
An alternative brutalist website template, one that promotes semantic html, is: https://motherfuckingwebsite.com
1: Simplicity is better than complexity all things being equal. Guess how often that happens. (Hint: for any non-trivial problem it doesn't.)
2: Yes, it's better to solve problems than to create them. Also water is wet.
3: Spoken like someone who wouldn't recognize true mastery if it bit them on their bony behind.
4: Yeah design your own CPU while you are at it.
5: Just... no.
6: You can certainly make computing less secure though. By doing everything yourself for example.
7: Cool. And nobody except people who have a keyboard and a mouse will every use whatever shit you produce.
8: Welcome to North Korea. I'll stick to juicing things up and making sure people have a great experience.
9: Cool. Tools are tools. Whoever wrote this is a tool too.
10: Ok humblebrag Inc.
11: Wow. Really?
12: Cool. This is really a special kind of weapons grade stupid.