Hacker News new | past | comments | ask | show | jobs | submit login
A System-Witch’s Package Manager Murder Mystery (artemis.sh)
114 points by todsacerdoti on April 13, 2022 | hide | past | favorite | 10 comments



Nicely written!

This is a great illustration of how Bash and similar shell dialects are convenient for interactive use but terrible as a programming language.

Change my mind: Bash is the PHP of operating systems. Any Bash script becomes tech debt the moment it is written.


That's unkind to PHP, which has grown into a relatively modern language over the years.


Delightful tone, something that feels both whimsical and approachable.


Entertaining and educational! Good job finding out the line of kernel source code which causes the issue.


It was Mr. Pottering in the plumbing with a NIH Pipebomb


The girl is a good writer. The boy has subscribed.


Nice detective work and entertaining


Nor sure what this article is trying to convey? Is it about grepping wrong defaults for bash? Is it about mentioning the protagonist as much as often? I've read it twice now, and I feel ignorant.


The environment variables count towards the argument limit. To a casual shell user, this is non-obvious and typical error messages are bad and don't even mention it. They say "Argument list too long" even when the argument list (argv) isn't too long, the environment list (envp) is.

So the author went through an investigation to figure out what was happening, and decided to write down her findings.

----

On a personal note, reading this caused me to look at fish's error message in this case. It mentioned "environment list", but tbh that's still too jargony and non-obvious.

So the next version of fish will now explicitly mention "environment variables" in the error message here, and it will print a hint if the environment variables account for over half the limit.


Nice to watch the gears of open source and open ideas turn.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: