schmonz.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
Day 10
I added colors to my PS1 in sh. Figuring out the proper color codes didn't take long, but I ran into the issue that moving up to view command history would mess up my prompt and send the cursor bouncing.
Turns out color bytes were throwing off the calculation of prompt length. There is a special built-in shell variable - PSlint - that allow marking non-printing chars and removing from that calculation.
Manpages for the win!
Hey #RetroComputing
So, I have a 1996 Thinkpad that I pulled out while clearing some shelves this week. Still works, far as I know.
I'm thinking I should use it to run some sort of online thing, but something appropriate to its vintage - maybe a MUD?
Suggestions for what to run are hereby solicited. Nothing large scale, obviously. But I like the idea of a MUD or MUSH.
I have never messed with #NetBSD yet, so I might use that, for fun.
But I'm also nostalgically (this was my personal laptop at one point) thinking... OS/2?
Is there MUD software for OS/2?
(Also thinking to myself that if we compare the fedi to BBSes, we've got the message board sorted, and we don't really need a file section, but why don't we have any real Door Games?)
Day 9
Today was a step away from GUI back to console. By default in sh there is no persistent history saved between sessions. Add:
HISTFILE="$HOME/.sh_history"
HISTSIZE=10000
HISTAPPEND=true
...to .shrc to make one.
Change directory and immediately list contents is one of the most frequent actions in console/terminal. Add function to combine them:
c() {
cd "${1:-$HOME}"
lsd -al --icon never
}
Stick with sh or switch to a different shell? Hmm..
I do not use it in shell script, and the lack of it in the #Debian Almquist Shells obviously inhibits its spread on several operating systems; but in compiled languages rather than interpreted ones: yes, people use it all of the time. And our compilers nowadays nag us when we don't put in the [[clang:yes, I bloody know it's falling through]]; markers in our code.
The Bournist shell syntax pretty obviously has its roots in trying to provide something that the C shell had been providing since the late 1970s.
An amusing thing here is that when I was working on that dash patch I accidentally implemented the ;| behaviour by mistake, initially. It's actually simpler to implement. But I was aiming merely to bring Xu's dash to parity with the #NetBSD and #FreeBSD Almquist shells, rather than add a feature that they don't have, so I didn't keep the mistake. (-:
I've done the beginnings of a patch for #NetBSD's base ksh to add ;& in to case. I wonder how it compares to ksh 93u.
I don't have the ability to compile and test it right now, because the NetBSD machine isn't really there for rebuilding an operating system. It's there, apparently, for serving pages to botnets full of WWW scrapers. (-:
The #KornShell builds a similar sort of parse tree as the #AlmquistShell does, so a similar approach should work.
If anyone knows the people who work on ksh in base NetBSD, the CVS logs indicating that it hasn't really received much work apart from build system and compiler upgrade tweaks since Luke Mewburn in the 2000s, please let them know. I can make the patch file available.
EuroBSDCon is not a traditional conference, but a family gathering. The kind of family you like, the one you choose, the one that always makes you feel at home.
As soon as we landed, we dropped our bags off at the hotel luggage room and rushed straight to the conference venue.
It was fantastic to meet old and new friends again, with that kind of welcome that only BSD conferences can give you.
I've only had the chance to talk to a fraction of the people I'll meet over the next few days, and to me, that's fantastic.
#EuroBSDCon #EuroBSDCon2026 #RunBSD #BSD #FreeBSD #NetBSD #OpenBSD #DragonFlyBSD
Going by the commentary in the code, the #BusyBox Almquist shell forked from the Xu #Debian #AlmquistShell in 2005. It has been significantly refactored. So they were well out of step even by 2017.
I can confirm that BusyBox 1.37.0 sh (just coming up to 2 years old, and only one version behind) does not support ;& .
ksh 93u, from the same year, does.
I didn't think that @mirabilos would have missed, this, and I was right. I ran that same one-liner with mksh on #NetBSD, and "MIRBSD KSH R59 2020/05/16" was quite happy with ;& in a case statement, and duly fell through.
The Watanabe shell version 2.61 supports ;& as well.
So it's only the two Debian Almquist shells and the BusyBox Almquist shell that are failing the ;& test. Everyone else, although I don't have the ability to test the OpenBSD Korn or the Illumos Bourne shells right now, is passing.
CC: @pertho@bsd.cafe
The #NetBSD #AlmquistShell has supported ;& for years. I was just reading the CVS changelog to see when it was added to its manual, which was back in 2017.
It definitely works.
The #FreeBSD Almquist Shell has supported ;& for years. I actually have a 2017 version of that.
It definitely works, too.
Neither the Xu Debian Almquist Shell nor the #Debian Debian Almquist Shell (Herbert Xu is maintaining the two in parallel for some reason, and they are different.) support ;& .