Why don't we need containers to run bash scripts?

on blog at

Most language that rapidly add new features gets those features used and that causes the need for containerization on any machine with a release older than $shorttimeperiod. The problem is not old code forwards but code from today back to whatever your distro had at release. With fast moving languages like Rust, Python, and moreso these days even C++ with it's extension you'll eventually find your system repos don't have the required version to turn arbitrary new source code into a running program. It could be a pyenv or a container (flatpack, snap, appimage, docker, etc) but something has to bring in *and contain* the unsatisified deps and provide them.

But I've never had to do that for a Bash or any shell script. They just run even on decades old installs. I assumed this was because bash wasn't getting new features and was just bug fixes and maintainence at this point. But I was wrong. Bash does get new features all the time. Features that older bash versions cannot run.

<phogg> rangergord: bash changes *all the time*. It just doesn't break backwards compatibility very much.
<superkuh> It does?
<phogg> superkuh: was that intended for me?
<superkuh> Yeah, I'm genuinely surprised. I thought it was just bug fixes and such these days.
<phogg> superkuh: New features with every release, too.
<hexnewbie> superkuh: People simply don't follow the Twitter feed with new features to use them, so you're far less often surprised. Come to think of it, the amount of cmd1 `cmd2` I see suggests even less up-to-date coders :P
<superkuh> Well, that destroys my argument.
<phogg> superkuh: the POSIX shell command language changes, too, although much more slowly--and absolutely without breaking things.
<hexnewbie> In Python everyone's *dying* to have that feature *yesterday* (that includes me)
<phogg> superkuh: see https://lists.gnu.org/archive/html/bug-bash/2019-01/msg00063.html and https://lists.gnu.org/archive/html/info-gnu/2020-12/msg00003.html for the two latest bash releases.

So why don't we have bash script compatibility problems? I don't know. None of my guesses are based on very much information. I will again just assume that most people, most devs, that work in bash don't care about the latest and greatest. They care about having their script run on as many machines as possible as smoothly as possible. I've been thinking about language/lib future shock in the wrong way. It's not the rapidity of the language that causes it. It's the culture of the devs using it.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?

Comments:
1:14:21, Tue Aug 17, 2021 : /blog/2021-05-07-1.html/, for more than a decade, bash is the shell i relied on. not only do i have it installed, its one of the few things ive compiled from source. i never was much into more limited shells, i never was much into newer fancier ones, i just used bash like a new standard. now that ksh comes with openbsd, i find it is more predictable and less tedious. the reason? fewer features. fewer gotchas in what a string does. some of those substitutions are useful, dont get me wrong, but the stability of ksh is what makes me appreciate it. i am tired of massaging code to work in bash, it has too many rules. and thats after years of tryig to rely on it. simplicity wins here. obviously dos was even simpler, but it did next to nothing and that wasnt enough.

The Freenode split: I side with Libera

on blog at

The last week has been rough. I've been on Freenode since 2001, 20 years, and I've had a registered nick since 2004. I consider it my home. Perhaps even more than I consider my current appartment my home. The people, the culture, the *help*, and the community were amazing. It was a refuge from the constant turmoil of life elsewhere in physicality and, eventually, over the rest of the internet. So it was really upsetting when I first heard that Freenode was splitting on the 16th. I spent almost *all* of my free time from then to now talking to Andrew Lee and various staff 1-to-1 getting their sides, reading the press releases each put out, and watching what happened on Freenode and Libera. It was, and is, painful. I kept hoping for reconsilliation but at this point I don't think it's possible anymore.

As far as I can tell it started when the holding company Freenode LLC was set up. IRC nerds aren't the best at legal bullshit so help from rasengan was brought in and he ended up on the board. Later christel wanted out for undetermined reasons and sold the freenode llc holding company to rasengan. At that time there was a lot of anxiety on freenode (I was there) over the new corporate ownership; rasengan/Andrew Lee has a lot of other for-profit businesses. But we, and staff, were assured that he was just doing this because he loved IRC (which I still believe) and that he'd stay out of server operations.

At this point rasengan owned the holding company that owned the domain name. Everything else, the servers, the DNS control accounts, etc were owned and operated by staff. That includes setting up the relationships for third parties to donate servers to freenode. With christel's departure the staff got together and decided to vote tomaw as the new freenode leader to handle server operations. Things were okay for a while.

Then there was a hiccup with rasengan putting a little ad/link for one of his for-profit companies on the freenode website. That acted as the catalyst for tension and tomaw asked for full control of the domain name. Things became more tense when, after some time of freenode staff contributing to the dev of an updated IRCd they made a post about it on the blog about switching to it. This was a problem for rasengan since his overarching goal with IRC.com and ownership of IRC networks (like snoonet running on IRC.com resources) is to set up a truly distributed IRC where any server can peer to any other and easily switch networks. He'd put in a significant amount of money into developing this IRC.com IRCd, I've heard. And this provided his motivation to opposing the staff's switch to their modified IRCd for future operations.

This was now rasengan interering directly in the operations of the freenode network. And the heated debates this caused eventually lead to litigation by rasengan against tomaw. At this point it was obvious that christel/rasengan's statements about the sale were just words and that now legal means were going to be used to take control of the operation of the servers.

They drafted their various resignation letters, some got leaked early on the 16th. At this point I got involved as a regular user on #freenode and talked to rasengan there and on Hackernews forums. I also talked to the staff. Even then I personally hoped for reconciliation. But apparently it wasn't possible. Legally, Freenode LLC (if not actual freenode, the people and servers) was owned by rasengan. So the staff decided to resign in mass.

Based on rasengan's behavior, and the type of new staff he appointed, I think that libera represents the ideals and people that make up Freenode far more than Freenode itself does anymore. I'm trying to move but it's going to take a long time to let everyone know what's going on. Most, reasonably, don't care about network drama.

Anyway, I look forward to seeing you all on irc.libera.chat going forwards.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?


What is a static website?

on blog at

I thought I knew: A static website is a site where the webserver serves literal .html files written in HTML where the page does not need any execution of a programming language to display perfectly. I know that CSS is turing complete these days but it is mostly of trivial consequence so far. But apparently modern web dev vernacular has shifted from the "static" focusing on user experience and instead is qualifed by the dev side experience. If the contents of the HTML files are ever changed by execution of a programming language, like say, a shell script that parses a logfile, then it is no longer a static site even if the webserver only serves static .html and media files.

By that definition this wouldn't be a static website. I'm obviously biased but I don't think the modern web dev definition is very useful except in clearing up confusion with those that do.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?

Comments:
7:51:35, Fri Sep 16, 2022 : /blog/2021-05-27-1.html/, Do you premoderate comments
<superkuh> 11:47:08, Wed Sep 16, 2022 : /blog/2021-05-27-1.html/, As you found out, nope. But comments are not automatically added to the blog pages that are commented on. They are only automatically added here in the general comment page. So in a sense in-line comments displayed on the blog posts themselves are pre-moderated.

Spawning Bluegill Nest Grid

on blog at

I went fishing recently and came upon this patch of Bluegill (panfish) nest beds all packed in together along a strech of shore about 20 times the width of this photo (each bed is about 1ft across). We noticed it initially because a largemouth bass we were targeting kept returning to the area despite being spooked.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?


Homegrown baby grape leaf and vine tendril salad

on blog at

The wild grape (river grape) plants I grow for privacy and to graft table grapes onto were getting a bit overgrown and too close to the outdoor lights this spring. I decided to make a nice salad with the tender baby grape leaves and sour vine tendrils from the vines I cut down. It turned out absolutely delicious with some bacon, cucumber, cheese, crutons, and balsamic dressing.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?