Vidar Holen, the developer of ShellCheck, writes about Linux, shell scripting, and small programming experiments.
HN links it for his analysis of swearing in the Linux kernel source, which commenters enjoy, and for his write-ups of shell tricks.
Antonio,
on HN, you wrote --
"I hate how being harsh has become fashionable. Whatever happened to manners?"
on your blog, you follow up by saying --
"I stand behind those words. Acting bitter on the Internet seems to be increasingly gathering the popularity amongst an audience that’s used to being amused and entertained by cheap attacks."
Two points: the first is that you use the word "bitter" to back up an anecdote of someone using "fucking" as an adjective to describe a poor User Interface experience. I disagree with that assessment, as there's nothing that suggests bitterness by using "fucking." It's merely a more extreme descriptor of the user's anger or exasperation, but it doesn't suggest bitterness, which has a distinctly different flavour (if you will excuse the pun).
Secondly, I don't believe anything "happened" to manners. There have always been people, often a vast majority of a given population, who used much coarser language to describe their everyday life and experience. Often this was a class distinction, thus the reference to "swearing like a sailor" etc. I expect that many people posting here were exposed -- in the context of software engineering or computer science -- to colleagues who were either used to communicating in an academic or professional context. Although coarse language is to be expected to some extent, written communication about features, bugs, etc. in a corporate US context tends to avoid direct expletives for various reasons ("lack of…
I don't like framing this debate in the prism of government versus private company policing. Freedom of speech is not mutually exclusive to the government.
Consider a programming club meeting once a week that is open to the public. You get there and it's 6 dudes and they are accepting of you as a coder but completely at odds with you on the social justice spectrum (using words like "gay" and "retard" as examples). You have two choices at this point. Either accept the group for who they are or leave.
This is the context in which I see Github. There's a reason why Linus can run his mouth. It's because to the old "boys" club of programmers only results matter and not the social context of the group.
They have no problem with Linus using their service while running his mouth. Why are they picking on this group in particular? It's quite simple. They are small and not important.
Let me be clear. This is very very bad for open source. Github was once considered the automatic public place to share your code. For the most part most projects live in the world of a few singular coders who put their code out to the world for sharing sake and maybe to possibly intrigue others to join their project. Many of these guys are sitting in their bedrooms or garages hacking away and not looking to open themselves up to the SJW crowd when publishing their code. Regardless of what you think of the people doing the coding (which is reflected in the comments) the point of Github was to improve…
Edit: I stand corrected, the summary in the link below didn't agree with the more detailed steps it went into below. While the hash is used as the input to the next round, it is (for reasons beyond my understanding) repeated if necessary to match the length of the original password. But it still seems like if you're prehashing in both cases the performance issue goes away.
Is that true? I thought shacrypt stretching worked by passing the output of a round of hashing as the input to the next round of hashing, so it would go from 4096 bytes to 64 bytes (e.g.) after the first round.
That's how it's explained here: https://www.vidarholen.net/contents/blog/?p=33. I'd love to be proven wrong.
So it seems shacrypt and bcrypt would be equivalent. Do the expensive work from 4096 to <72 once, then subsequent rounds are all on the same size of input.
I think my point stands, this is comparing apples and oranges unless you pre-hash the input to bcrypt and include that in the benchmark.
You can check company names too ! It's interesting to see that by default, the graph shows google,apple. But adding meta, and IBM really changes the plot.
Meta went from 2K to 10K+ from 2018 to 2025. While IBM seems to have stopped contributing in 2008. Since they the merging with RedHat, I would have expected to see them increase again but none of RedHat / IBM seems to have increase. https://www.vidarholen.net/contents/wordcount/#redhat,oracle,google,apple,microsoft,IBM,facebook,meta Not sure if their name appearing means that they are contributing tho.
Really cool project,
I never understood what's so bad about swearing in code comments. It's not something I would do, but different people speak in different ways, so what? This commit seems like a big waste of time to me (except when it replaces variables names with something more descriptive).
Personally, I like William Morgan's IMAP rant[1], from the source of his excellent mail client Sup[2].
And then there's the kernel: http://www.vidarholen.net/contents/wordcount/
[1]: http://sup.rubyforge.org/svn/trunk/lib/sup/imap.rb
[2]: http://sup.rubyforge.org/
Yeah, but then again I love occasionally coming across the rant of some angry dev in source comments (see http://www.vidarholen.net/contents/wordcount/ for an analysis of profanity in the linux kernel source).
Compare that with the source of Win2k (http://www.kuro5hin.org/story/2004/2/15/71552/7795) where there were apparently "a dozen or so "fucks" and "shits", and hundreds of "craps"."
It seems greater stability is achieved when devs are allowed to express themselves in comments.