I have similar reservations about code formatters: maybe I just haven't worked with a code base with enough terrible formatting, but I'm sad when programmers loose the little voice they have. Linters: cool; style guidelines: fine. I'm cool with both, but the idea that we need to strip every character of junk DNA from a codebase seems excessive.
For code that is meant to be an expression of programmers, meant to be art, then yes code formatters should be an optional tool in the artist's quiver.
For code that is meant to be functional, one of the business goals is uniformity such that the programmers working on the code can be replaced like cogs, such that there is no individuality or voice. In that regard, yes, code-formatters are good and voice is bad.
Similarly, an artist painting art should be free. An "artist" painting the "BUS" lines on a road should not take liberties, they should make it have the exact proportions and color of all the other "BUS" markings.
You can easily see this in the choices of languages. Haskell and lisp were made to express thought and beauty, and so they allow abstractions and give formatting freedom by default.
Go was made to try and make Googlers as cog-like and replaceable as possible, to minimize programmer voice and crush creativity and soul wherever possible, so formatting is deeply embedded in the language tooling and you're discouraged from building any truly beautiful abstractions.
People running their own formatting or changes re-adding spaces, sorting attributes in xml tags, etc. All leading to churn. By codifying the formatting rules the formatting will always be the same and diffs will contain only the essence.
> Indeed, it doesn’t matter too much, as long as it is consistent.
Um, I think you may have missed my point. Why does it always need to be consistent?
The problems you're talking about only show up when someone runs a formatter over the entire file. One answer is, just don't do that.
Point being, "different indentation in different files" is never a realistic way of talking about code style. One way or another, it's always about different styles in the same code unit.
Chaos, sure, but beautiful chaos.
But in my case it was the other way around. I work in a Kowloon Walled City of code: dozens of intersecting communities with thousands of informally organized but largely content contributors. It looks like chaos, but it works ok.
Code formatting really did feel like a new neighbor declaring "you know what this place needs, better-marked bus lanes!" as though that would help them see the sky from the bottom of an ally or fix the underlying sanitation issues. As you might imagine, the efforts didn't get far and mostly annoyed people.
But as the GP said, it all depends on the culture. If you pick up and move to Singapore you'd damn well better keep your car washed and your code style black.
It was a confluence of a lot of bad design features and blunders and I can't blame the formatter for the mess it caused. So I understand your point but, I'd amend it a bit: version control is the reason many projects require a specific formatting style.
In projects without an explicit style, the number one formatting rule is don't reformat code you didn't touch.
One factor is "churn", that is, a code change that includes pure style changes in addition to other changes; it's distracting and noisy.
The other is consistency, if you're reading 10 files with 10 different code styles it's more difficult to read it.
But by all means, for your own projects, use your own code style.
And if you are using the tool, “AI” or not to translate it is even worse and you often only have to do on cycle of [your primary language] -> [something else] -> [your primary language] to see what a mess that can make.
I'm attempting to learn Spanish¹ and when I'm writing something, or practising something that I might say, I'll write it entirely away from tech (I have even a proper chunky paper dictionary and grammar guide to help with that!) other than the text editor I'm typing in, and then I'll sometimes give a tool it to look over. If that tool suggests what looks like more than just “that's the wrong tense, you should have an accent there, etc.” I'll research the change rather than accepting it as-is.
--------
[0] or even, potentially, perceived meaning
[1] I like the place and want to spend more time down there when I can, I even like the idea of living there fairly permanently when I no longer have certain responsibilities tying me to the UK², and I'd hate to be ThatGuy™ who rocks up and expects everyone else to speak his language.
[2] and the shithole it has the potential to become over the next decade - to the Reform supporters and their ilk who say, without any hint of irony, “if you don't like it why don't you go somewhere else” I reply “I'm working on that”.
One observation I ran across on the use of the em-dash ("—") was that if AI was given training data from writers that were considered good/great, and those writers tended to use em-dashes, then it would be unsurprising that AI 'learned' to use the character.
So the observer said humans should, if they already did so in the past, continue to use the em-dash now and going forward if it was already part of their 'personal style' in writing.
I'm not planning on writing new books now, but if I did, I would completely get rid of em-dashes, because of their second-order effect of making the copy AI-written (and therefore less valuable).
It's also interesting that using a Skill that discouraged the use of em-dashes, I noticed that Claude's "thinking" internal dialogue actually disagreed with the Skill spec itself ("no, actually, em-dashes are perfectly normal and not a sign of AI writing") and therefore kept the dashes, against the Skill instructions.
More to the point, Hacker News is much more interesting for encouraging idiosyncratic (i.e. original, diverse, nuanced views of specific) human viewpoints, not just being raw technical information.
Model rewrites remove much of specific human dimension.
Great. Isn't that part of being anonymous if one so desires? This would have decent potential to avoid stylometry deanonymization, no?
Also, a journalist in a hostile regime might be one example, but a user that posted _very_ personal things under an alt account is also another example, and I bet the latter is much more common than the former.
And no, while I'm sure LLMs can be used for stylometry in academic exercises, I don't think they'll really enable any sort of automatic mass-deanonymization of random social media accounts. But who knows, the US government probably has a bunch of new PRISM-like programs going on already, so it might happen.
When I was young, and learning my technical skills, then naturally I was focused on improving those skills. At that age I defined myself by what I did, and so my self worth was related to my skills. And while the skills are not hard to acquire, not many did, and they were well paid. All of which made me value them even more.
As I've grown older though I discovered my best parts had nothing to do with tech skills. My best parts (work wise) was in translating those skills into a viable business, hiring the right people, focusing my attention where it's needed (and getting out the way where it's not.) My best parts at work are my human relationships with colleagues, customers, prospects and so on.
Outside of work my technical skills mean nothing. My family and friends couldn't care less. They barely know I have drills at all, and no idea if I'm any good or not. In that space compassion, loyalty, reliability, kindness, generosity, helpfulness, positivity, contentment and so on are far (far) more important.
I hope at my funeral people remember those things. Whether I could set up email or drive an AI will (hopefully) not even be in the top 10.
It’s why overuse of AI is a bad call imo. You skip a part of the journey. Like Guy Kawasaki says “make something meaningful”. If we are all AIs talking to eachother, everything becomes meaningless, we will become a simulation of surrogates.
That said, human compassion, relating to others and everything you mentioned trumps everything else.
Same goes for art (which is often what it's compared to), some part of art is creative, but the vast majority of art that people get paid salaries for is "just work"; designing a website, doing graphics work for a video game or TV production, that kinda thing.
tl;dr, AI won't replace artisans but it's a tool that can help increase productivity / reduce costs. Emphasis on can, because it's a lot more complex than "same output in less time".
Given you're interacting with a competent hacker (i.e. a person who is into tech not for money and for tinkering), you can't impress them. You can pique their interest, they may praise you, but if they are informed enough, anything looking like magic can be dissected easily. So technical excellence is meaningless.
Given you're interacting with a competent hacker again, everything technical will be subjective. Creating is deciding trade-offs all the way down and beyond. Their preferences will probably lay at a difference balance of trade-offs. Even though you catch "objective" perfection, even this perfection has nuances (see USB audio interfaces. They all have flat response curves, but they all sound different, for example), hence, technical excellence is not only meaningless, it's subjective.
On a deeper level, a genuine person who knows its cookies well, even though with gaps is a much more interesting and nicer person to interact with. They'll be genuinely interested in talking with you, and learn something from you, or show what they know gently, so both parties can grow together. They might not be knowledgeable in most intricate details, but they are genuinely human and open to improvement and into the conversation itself, not to prove themselves and win a meaningless battle to stroke their own ego.
An LLM generated response is similar. It's lazy, it's impersonated, it's like low quality canned food. A new user recently has written an LLM generated rebuttal to one of my comments. It's white-labeled gibberish, insincere word-skirmish. It's so off-putting that I don't see the point to reply them. They'll just paste it to a non-descript box and will add "write a rebuttal reply, press this point". This is not a discussion, this is a meaningless fight for internet points.
I prefer genuine opinions, imperfect replies, vulnerable humans at the other end of the wire. Not a box of numbers spitting out grammatically correct yet empty sentences.
I disagree with this and would instead consider that a technical expert (in any field) being impressed with your work can be the most satisfying reward of craft.
Laypeople can be awed, but the expert can bestow an entirely different quality of respect to your work.
I for one, don't care whether anyone is impressed by my work. That's a nice bonus, but not a requirement. Instead, when I improve my work w.r.t. my previous one, the satisfaction I get is way bigger than an external validation. I seek my satisfaction inside myself.
That's completely true that I love discussing what I did with a competent technical expert, yet it's not why I'm doing this.
> That's completely true that I love discussing what I did with a competent technical expert, yet it's not why I'm doing this.
I agree with this sentiment completely. I do consider "the reason for craft" (which is a joy in itself) to be separate from the "bonus reward" of being able to discuss it with other craftsmen.
... and the latter often ends up surfacing even more challenging/interesting ideas to work on for both sides, which is a huge win.
Another voice might add citations to every little detail to the point that it is hard to read, but makes a great reference and/or starting point for additional research.
Voice is not really separate from content, in part it is the choices of what content to include.