So I am sympathetic to the article.
However, as with all things, there is an aristotelian mean here: it is OK and in fact virtuous to attempt to conform to some extent with those around you. Humans are social animals, and going against the grain full bore at all times can wear you out, lose you friends and influence, and is often ineffective for affecting change.
You are often better off going with the grain to some extent and then using some jujitsu to push your contrarian ideas.
To pick a practical example at random: mention your contrarian libraries in a defense of conformity.
[1] - https://intercooler.js
[2] - https://htmx.org
I often get credit for being right more often than not, but actually I just try to be a disciplined thinker and to understand the problem well enough to be able to make informed decisions. But I also get called a troublemaker for the same reason.
Drives me nuts. Isn’t trying to find the right answer actually the point?
Usually a truthy sounding statement will have a set of heavy underlying assumptions. Typical examples include ideologies and economics.
There's also a class of statements that cannot be reasonably verified, mostly pertaining to society and social organization. There, truth really does not exist unless someone (or nature) runs an experiment. Most ways of organizing society are valid, though some are mean/evil. Then again, some other ways are clearly hypocritical, illogical or demonstrably highly inefficient.
Social forces often dominant decision making.
first order non-conformance may be tolerable depending on your personality, but second order or third order non-conformance can be immensely enjoyable and the people who get it will get it
Curiously, trying to verify on "is down for everyone or just me" tools appears to break them.
I think there are actually very few bedrock facts in computing - a program executing as intended on a CPU is fact. Nearly everything else is culture or opinion, including the programming language that produced the program.
When you get to the level of arguments about programming languages, tools, web development, software architectures, etc this is all discussion in the realm of the mostly subjective, with perhaps a side reference to facts when something is actually not achievable. The most wonderful thing about computing is that it’s pure castles in the air, and that if you’re sufficiently motivated you can build the whole castle. The most dreadful thing about computing is that it’s pure castles in the air and you have few real facts to anchor your arguments to.
The most harm being done to this industry — a world of a trillion floating castles — is by those pretending their castles are founded, never revealing the Big Secret, all while fervently demanding would-be competition fully justify their most minute castle-building minutia down to asking which grain of sand is the Seed of Truth, upon which anyone would DARE build a castle in the air.
One day, Intelligence will build itself a castle, and it will not be in the air.
I think I should like to go build a boat, and study something with a more solid foundation, like quantum physics or Jazz.
processor bugs, power glitching, cosmic rays,...
NFS as a protocol engages in clear text transfers of filesystem data between the client and server.
I had some experience with stunnel, and I found a way to push NFS traffic through it, forcing either aes-gcm or (with TLS 1.3), chacha20-poly1305.
The method and complaint that I raised was heard by protocol maintainers, and resulted in a draft RFC to embed TLS at the RPC level, extending encryption to all RPC services beyond NFS.
I also later found notes of the NFSv4.2 approval suggesting that TLS should be added, but it was not. That fell to me.
I don't think that this was subjective.
If I google "onc RPC encryption," I find: https://tools.ietf.org/id/draft-ietf-nfsv4-rpc-tls-01.html
"Special mention goes to Charles Fisher, author of "Encrypting NFSv4 with Stunnel TLS" . His article inspired the mechanism described in this document."
If I google "NFS encryption," I find me: https://www.linuxjournal.com/content/encrypting-nfsv4-stunne...
I think that it was worth the effort. It was in the back of my mind for some time, and I probably should have been more motivated to do it, for the impact it had.
> A popular synonym to what the majority is doing is "the modern way", or sometimes it is even called "best practice", which can be quite misleading because then best practice really becomes stupid practice.
Which practice, exactly? The term, best practice, is sometimes used naively but it does have a meaning and refers to the collective body of knowledge we sometimes call, the state of the art. Software has a state of the art. The folks at the IEEE try to maintain a published version of their collection of these practices in a guide called, SWEBOK [0]. If you look you will probably find others.
When someone is not being clear and they use the term, "best practice," it's often far too easy to tell if they're simply regurgitating what they've heard from someone else or if they're referring to the state of the art. A few leading questions will often put you on the right course.
I don't think this is harmful. It's easy to let someone get their idea across, ask them questions, and if you think they're ignorant then point them to the right place where they can learn more.
> Never ever follow or submit to conformity just because that is what the majority or someone popular is doing!
I think best practices are important. It's how we push the boundaries of our work and figure out, collectively as an industry, what works and what doesn't. We've known for a long time that unrestricted use of untagged pointers is bad, we have developed a large body of work that supports this case, and research has happened which is enabling us to move forward... with the state of the art. We can use formally verified compilers, separation logic, language tools available in Rust, linear types in Haskell and Idris2 -- nothing is stopping you from using such C-style pointers, but we have better ways to working with them.
Some sometimes you totally should do what other people are doing. Especially if they've been doing their homework and publishing their results and having them reviewed by peers. Like the age-old advice: don't write your own crypto. That's a best-practice.
[0] https://www.computer.org/education/bodies-of-knowledge/softw...
Update: forgot to add the link, clarity on state of pointers
One who has to find a job on LinkedIn cannot be a non-conformist and not upload their profile photo because profile photo causes biases[1].
It's near impossible to survive as a solopreneur without a twitter account and decent number of followers especially if there is no prior network.
And in social media conformism is the name of the game, You say what your followers want to hear and not they need if you want those likes, shares etc. The author doesn't use social media.
P.S. I read HN on my kindle, The text only website loads beautifully on kindle - https://twitter.com/heavyinfo/status/1414840757161136128?s=2...
Software development, especially nowadays, is far more art than science. Do "best practices" apply to art? Should they?
For me, the phrase is pure corporate jargon nonsense.
Yes, at least partially.
We have known solutions for many things - one can buy paper/paint/pencils, there is some standard toolbox how to sculpt marble, how to fire clay, how to draw a realistic picture...
Some art pieces are done by ignoring parts of that and doing something new but basically all art is using at least some.
I tried to fix a Covid-"truther", her mind was so warped she doesn't even believe in germ theory, she started by reading blogs about nutrition, when some of these got banned by Google for spreading misinformation, the blogs claim Google is involved with big pharma/big agriculture trying to keep humanity from eating healthy. She told me to use DuckDuckGo, I told her "you know they use results from Bing, which is from Microsoft?" (Although in reality BG isn't involved with Microsoft any more). She basically dismissed this bit of information, because hello confirmation bias!
So I don't think telling people to use their brains is enough...
Excuse me, it looks like there was one example. The intrepid brain who wrote the blog post apparently doesn’t want to conform to best practices of web design, so their blog is a chore to read on mobile.
It's a process.
Walt Whitman wrote, "Be curious, not judgemental."
Strange at first to think of "judgemental" the opposite of "curious", but it becomes clear after a moment of thought. Judgemental already knows, already sees exactly what the truth is, whereas curious is willing to be vulnerable, to consider the possibility that those ideas currently held might be worth dropping, even if they've been clasped for a long time.
Seems a lot to me that conformity of thought leads to judgemental action. Reasoning and consideration are out the window, because contradictory notions threaten not just the idea under test, but the social standing associated with the belief forged by conformity.
But this is a major issue. It's spooky being around the group-think in the Bay Area these days.
A high % of bay area techies would rather look like they're doing the right thing than actually do the right thing. And we're see the consequences of such play out.
If it were free or obviously short term beneficial to them, they would be doing it after all.
This includes LGBT issues, global warming, racism, elitism and so on.
IME, the corollary of this is even more important: They'll have solutions ready-at-hand.
Going against social conformity can be dangerous. You should not do it unless you have fully thought out the consequences [to yourself and others] and weighed them.
Nirvana had a 4th band member (Jason Everman) who quit because according to Dave Grohl, he thought 'the punk scene was too conformist!' - i.e. you had to dress a certain way, act a certain way, hold specific beliefs or else you were 'uncool'.
In other words: Punk Wasn't Punk! It could be argued it was a counter-cultural/mainstream movement, but a very specific and narrow one at that.
And so he joined the Army and became special forces.
I am so very tired of people using the adjective "modern" as an abbreviation for "if you're not doing it this way you are stupid and obsolete".
This attitude is what brought us gems like WebUSB, PulseAudio, and xdg-open.
And in general most rationalizations people make come after the fact. Including things like software architecture. Everyone is using React so I have to use React. But wait, now all the cool people are using Svelte, so that must be th way.
But the hardest part is that those social considerations as I said are not conscious. They go on in the background pushing the rationalizations without people even knowing.
But the worst part is when this stuff gets official with things like 'best practices'. Which are usually just rationalizations for doing what most people are already doing.
If the leader of the group makes a decision, it is your responsibility to conform whether you agreed with it or not.
And if YOU are a leader, social cohesion is important. “A leader without followers is merely taking a walk.”
Yes, facts are important. But they’re not enough on their own.
Even if you're correct in your non-conforming views, and society is wrong, like so many scientists in history, you will be rejected.
Society much prefers conformity over accuracy.