Its time to invent something lightweight and good which runtime is so small that it becomes a system default.
like a microvm with normal language features. Something you can and want to actually attach a debugger onto it. Something independent of architecture too.
I just hate bash :| Even just using bash and curl and checking if its a website or an error page...
I'm sure that there are still Python 2 codebases there running an unsupported interpreter, but for most people that has been at least 5-10 years ago. Also, the Python project learned a lot from the messy transition, that I think it's unlikely to happen again.
It probably started as a helper script and grew from there. The script seems quite focused and doesn't grow, so a rewrite might not be warranted.
It also has no other dependency, which is also good. I have written helper script to run coding agents in a container. And you guessed it, it's in bash. For the reasons I just wrote down. Should it have to grow I would rewrite it, but not currently.
Some people like to claim that using a pretty esoteric language with lots of weird footguns, lack of basic features and data types, and spawning subprocesses for everything, is somehow keeping it simple.
Known system dependency that's (almost) always on the system you're on.
I remember somebody once telling me that they had learned vi because "it was always installed". Well, no, technically, the only editor you can be sure is there is ed. So, you know, learn that. I was surprised that they actually did.
Bash is syntactically not perfect, I agree. However it's a well known, mature, stable environment. LLMs can write it well if you need them to. If it was perfect, we'd never have had Perl, and as a result we'd never have had Ruby, Python and other scripting languages.
But I like it's a tool that doesn't require me to go reach for a package manager and some build tools I don't always have on every system.
This is a good example of a program I would like to use if it was distributed in the standard repo of my OS, rather than totally unvetted on the Microsoft Github page of a random developer.
PS: I don't know why HN allows downvoting seeing how it is always so abused. Nothing I wrote here is factually false, and what remains is just my personal opinion as a principled user of FOSS. A bit of tolerance for others' viewpoints is in order.
This reads like parody! In a sane world (and I believe the HN community rules are fairly sane) we should be upvoting things that are interesting, or insightful, or informative, or otherwise tickle our curiosity. Not just because we agree with them! After all, who cares that I agree with something? Everyone has an opinion on everything, opinions in themselves are cheap and uninteresting.
It's downright intolerant to downvote (as opposed to not upvote) a comment which simply advocates values in line with FOSS. I even said I would like to use this program.
Things that end up in curated package repositories like those of the various significant distros, have usually spent time growing on the random developer's own page (most common in the past) or said random developer's account on a forge like github (most common in more modern times).
Standard repos might be were many discover things, but those things don't normally get there until they've build a following, so the random developers page is the more significant vector overall.
Its time to invent something lightweight and good which runtime is so small that it becomes a system default.
like a microvm with normal language features. Something you can and want to actually attach a debugger onto it. Something independent of architecture too.
I just hate bash :| Even just using bash and curl and checking if its a website or an error page...
I use Python for that, since I know it will always be on my machine.
Is this what you have in mind?
Yeah but i have Python PTSD from all this Python 2 vs. 3 shit :D
I'm sure that there are still Python 2 codebases there running an unsupported interpreter, but for most people that has been at least 5-10 years ago. Also, the Python project learned a lot from the messy transition, that I think it's unlikely to happen again.
That was almost 20 years ago! We migrated 2 to 3 10 years ago. I'd say I moved on. I doubt there will ever be py4 :)
Perl still loves you and will always be there.
Nim might be an option. It even has a subset to be used for scripting purposes.
Python already fills this role.
exe.dev does a pretty good job of instantly deployable microVMs
Go has a fast enough compile speed I feel like you could syntactically sugar it to be a command line.
Yeah but its not scripty enough and has not enough easy stuff build in.
https://www.tcl-lang.org/
Many people have made micro Tcl’s too if you want something even lighter.
It has a built in subst command no need for a template engine!
Glorious.
I used a similar system back in the day, nanoblogger:
https://nanoblogger.sourceforge.net/
Ah, sourceforge!
Mmm, good ol’ bash. I like it.
Awful old Bash. I hate it.
Seriously I don't know why you'd do this in Bash. Crazy choice.
It probably started as a helper script and grew from there. The script seems quite focused and doesn't grow, so a rewrite might not be warranted.
It also has no other dependency, which is also good. I have written helper script to run coding agents in a container. And you guessed it, it's in bash. For the reasons I just wrote down. Should it have to grow I would rewrite it, but not currently.
Some people like to claim that using a pretty esoteric language with lots of weird footguns, lack of basic features and data types, and spawning subprocesses for everything, is somehow keeping it simple.
I do not understand them.
Known system dependency that's (almost) always on the system you're on.
I remember somebody once telling me that they had learned vi because "it was always installed". Well, no, technically, the only editor you can be sure is there is ed. So, you know, learn that. I was surprised that they actually did.
Bash is syntactically not perfect, I agree. However it's a well known, mature, stable environment. LLMs can write it well if you need them to. If it was perfect, we'd never have had Perl, and as a result we'd never have had Ruby, Python and other scripting languages.
But I like it's a tool that doesn't require me to go reach for a package manager and some build tools I don't always have on every system.
Who's updating their blog from a random machine without Python on it, though?
...for fun!
Works for me!
I used to do that. Them move to a NodeJS script.
Because bash is maybe worst than C for this task.
This is a good example of a program I would like to use if it was distributed in the standard repo of my OS, rather than totally unvetted on the Microsoft Github page of a random developer.
PS: I don't know why HN allows downvoting seeing how it is always so abused. Nothing I wrote here is factually false, and what remains is just my personal opinion as a principled user of FOSS. A bit of tolerance for others' viewpoints is in order.
for what we need downvoting and upvoting? I thought: - upvote if you like/agree - downvote if you dont like/disagree Am I wrong?
This reads like parody! In a sane world (and I believe the HN community rules are fairly sane) we should be upvoting things that are interesting, or insightful, or informative, or otherwise tickle our curiosity. Not just because we agree with them! After all, who cares that I agree with something? Everyone has an opinion on everything, opinions in themselves are cheap and uninteresting.
It's not interesting or insightful to take potshots at a project because it's hosted on GitHub.
It's downright intolerant to downvote (as opposed to not upvote) a comment which simply advocates values in line with FOSS. I even said I would like to use this program.
What? That's how open source works
Package management in the distro is also how FOSS works?
Things that end up in curated package repositories like those of the various significant distros, have usually spent time growing on the random developer's own page (most common in the past) or said random developer's account on a forge like github (most common in more modern times).
Standard repos might be were many discover things, but those things don't normally get there until they've build a following, so the random developers page is the more significant vector overall.