

Be kind, rewind.
Be kind, rewind.
re: mksh
I have snippets in my editor for shebangs++. E.g. #!<tab><enter>
nets me
#!/bin/bash
set -euo pipefail
or
#!/usr/bin/env python3
# pyright: strict
etc
They are utility, as long as you don’t have a theme that randomly picks a new colour every time the token type changes.
It’s a bit like having a bunch of different tools or utensils in separate colours. Even if the drawer is messy and the colour ultimately arbitrary, you can pick out utensils because you’re habituated to looking for a given colour.
Just stick to one theme and you’ll get the same thing but for code. Theme hopping kills your habituation, and resets you to the “I can tell that these are different things because the colours are different” stage.
The stance coupled with the garish background colour reminds me of how Pike also had a very dismissive view of using colours for syntax highlighting, and then later opened up about having a kind of colourblindness.
Both of them also seem to mean colour when they write syntax highlighting. That’s just one typographic tool among many. We also use bold, italics, underline, and even whitespace to highlight programming syntax. We could write a lot of programming languages as if they were prose, but we don’t. People hate that and call it “minified code”.
Humans also have a great capacity for colour vision, much better than most mammals. Some of us are even tetrachromats. Our colour vision is basically a free channel of information: It’s always on; we don’t have to concentrate to be able to discern most colours. When things in nature are more colourful than usual, like leaves in fall or a colourful sunset, we don’t find it tiresome; we find it refreshing and seek it out. But when our built environment becomes all shades of grey, we tend to find it depressing.
But humans are also different in many ways here. Better or worse colour vision is one thing, but some are also prone to getting overstimulated; others require more than average stimuli. We have great selective attention as a species, but again, individuals vary. There’s no one syntax highlighting that works for everyone.
Ultimately we should just find some syntax highlighting that we find generally pleasant, and then stick with it until we reflexively use the information carried in those colours. Use habit formation for our benefit.
Tonsky may enjoy his garish background colour and have found a mushy colourscheme that works for him, but he’s also way off base in his assessment of colourschemes in general.
This seems to be a pretty experimental release to test some new stuff before the next LTS is scheduled to drop in April.
I’ve actually been running sudo-rs on my machines since the last CVE in plain sudo and it seems to do what I want, at least.
But expecting some smoke for this smoke test release :)
Yeah, I’m used to having my config in git
. Buuuut I guess non-devs aren’t really used to that workflow.
Because Windows ME really deserved the “Mistake Edition” moniker, and I already knew some people running Linux.
Distribution usually isn’t considered a strong point for Python, though.
For other languages that build a static executable, the more expected method of distribution would be some automated workflow that builds artifacts for various os/architecture-triplets, that you can then just download off the project page.
One more puzzle piece here is that du
won’t report on files that have been marked for deletion but are still held on to by some process. There’s an lsof
incantation to list those, but I can’t recall it off the top of my head.
It used to be part of sysadmin work to detect the processes that held on to large files if df
reports that you’re running out of space, and restart them to make them let go of the file. But I haven’t done that in ages. And if you restarted the host OS that should have taken care of that.
I assume you also know how to prune container resources.
uutils is still busy playing catch-up to gnu coreutils though, so unclear how much competition in terms of features they provide
It’s even a tape archiving tool. Just pretty much nobody uses it in the original way any more.
Very much one of those “if it ain’t broke, don’t replace it” tools.
Yeah, there should be a clear separation between scripts, which should have a shebang, and interactive use.
If a script starts acting oddly after someone does a chsh
, then that script is broken. Hopefully people don’t actually distribute broken script files that have some implicit dependency on an unspecified interpreter in this day and age.
That’s interesting I hadn’t thought about the JSON angle! Do you mean that you can actually use
jq
on regular command outputs likels -l
?
No, you need to be using a tool which has json output as an option. These are becoming more common, but I think still rare among the GNU coreutils. ls
output especially is unparseable, as in, there are tons of resources telling people not to do it because it’s pretty much guaranteed to break.
I’ve been using fish (with starship for prompt) for like a year I think, after having had a self-built zsh setup for … I don’t know how long.
I’m capable of using awk
but in a very simple way; I generally prefer being able to use jq
. IMO both awk and perl are sort of remnants of the age before JSON became the standard text-based structured data format. We used to have to write a lot of dinky little regex-based parsers in Perl to extract data. These days we likely get JSON and can operate on actual data structures.
I tried nu
very briefly but I’m just too used to POSIX-ish shells to bother switching to another model. For scripting I’ll use with
set -eou pipefail
but very quickly switch to Python if it looks like it’s going to have any sort of serious logic.
My impression is that there’s likely more of us that’d like a less wibbly-wobbly, better shell language for scripting purposes, but that efforts into designing such a language very quickly goes in the direction of nu and oil and whatnot.
Isn’t that just nitpicking?
No, because the definitions are phrased very differently. Software doesn’t have to be copyleft to be considered FOSS either, as is the case with tons of BSD and MIT and whatnot code that’s used in proprietary programs—all they have to do is make it clear that they’re using their software (and even that’s not a given).
Even with copyleft licenses like the GPL, as long as they never distribute their software to anyone they don’t have to offer them the source code either, as with so many backends. The AGPL gives consumers of distributed systems some more rights.
Free software is mostly about providing you rights when you encounter the source code, meaning that you’re allowed to modify it and share it. This is as opposed to stuff like “source available” licenses that permit you to read the source code, but not modify or share it.
Such a license would neither be regarded as free software nor open source.
Some other alternative could be making GPL-3.0-or-later
+ a Contributor License Agreement a more common option, so that it is possible to tell companies that if they want to use the library in some closed-source application, they need to work out a license deal.
CLAs are frequently involved in turning software proprietary though, so it isn’t exactly held in the highest esteem in the FOSS community.
And without a CLA you essentially get the Linux kernel situation, which will be stuck on GPL2 forever, since they can’t reasonably get everyone to agree to switch to GPL3, especially since some copyright holders are not just unwilling, but unreachable or dead (and in several jurisdictions copyright lasts for decades after death).
Personally I suspect public funding, similar to science, education and libraries, is a more likely option, though that’ll be an uphill political struggle a lot of places.
Yep. I wonder if that CRA compliance stuff won’t change that. Industries with strict demands on safety should be putting in work and resources to ensure that those demands are actually met, but how the CRA deals with FOSS took a bit of work to not be a complete disaster, and I can’t imagine it’s easy for FOSS projects to work out the details there.
As in:
In the case where they don’t want to pitch in, well, something cURL-equivalent but known CRA-compliant won’t just fall off the back of a wagon, which means the companies that need compliance have a problem.
Then again, apparently the HPE Nonstop ecosystem has git
available on their platform all through the spare-time efforts of all of one dude, which absolutely shows that critical systems are willing to rely on precarious software, so I’m not gonna hold my breath.
Yeah, it’s once again a case of a central piece of software in a very precarious situation, and businesses that aren’t … quite mindful of the fact that they’re making demands from someone they’re not paying.
Why is this linking to what appears to be another link aggregator, rather than what appears to be the original blog post?
I’m also a fan of
baud
. I really should aliascat
tobaud -400 cat
or thereabouts.Bonus: run
baud -800 bat --color=always
and you get that wonderful old dot matrix printer feeling of the cursor just stopping whenever the color codes are being processed.