Bugs in Hello World

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • urlscan

    Mutt and terminal url selector (similar to urlview)

  • You all joke that this doesn’t happen in practice, but this literally just happened to me and it took me a few minutes to figure out what was going on.

    The article lists Bash as not suffering from the bug, but it actually does if you `set -e`.

    I use a bash script as my BROWSER which calls another bash script to launch or communicate with my browser that I run inside a container. The script that my BROWSER script calls has some debug output that it prints to stderr.

    I use mutt as my email client and urlscan [0] to open URLs inside emails. Urlscan looks at my BROWSER environment variable and thus calls my script to open whatever URL I target. Some time recently, the urlscan author improved the UX by hiding stderr so that it wouldn’t pollute the view, and so attempted to pipe it to `/dev/null`. I guess their original code to do this wasn’t quite correct and it ended up closing the child processes’ stderr.*

    I generally use `set -e` because I want my scripts to fail if any command fails (I consider that after a an unhandled failure the scripts behavior is undefined, some other people disagree and say you should never use `set -e` outside of development, but I digress). My BROWSER scripts are no exception.

    While my scripts handle non-zero returns for most things that can go wrong, I never considered that writing log messages to stdout or stderr might fail. But it did, and for a few weeks I wasn’t able to use urlscan to open links. I was too lazy to figure out what was wrong, and when I did it took me a while because I looked into every possibility except this one.

    Luckily this wasn’t a production app. But I know now it could just as feasibly happen in production, too.

    I opened an issue[1] and it was fixed very quickly. I love open source!

    *No disrespect to urlscan, it’s an awesome tool and bugs happen to all of us!

    [0]: https://github.com/firecat53/urlscan

  • Git

    Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

  • A real world example of catching (some, but certainly not all) fflush(), ferror() etc. cases is what "git" does at the end of its execution, the first highlighted line is where it's returning from whatever function implements a built-in ("status", "pull", "log" etc. etc.): :https://github.com/git/git/blob/v2.35.0/git.c#L464-L483

    In practice I haven't really seen a reason to exhaustively check every write to stdout/stderr as long as standard IO is used, and fflush() etc. is checked.

    A much more common pitfall is when dealing with file I/O and forgetting to check the return value of close(). In my experience it's the most common case where code that tries to get it wrong actually gets it wrong, I've even seen code that checked the return value of open(), write() and fsync(), but forgot about the return value of close() before that fsync()...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Sounds like we need to use https://github.com/Hello-World-EE/Java-Hello-World-Enterpris... to cover all our bases.

  • Sounds like we need to use https://github.com/Hello-World-EE/Java-Hello-World-Enterpris... to cover all our bases.

  • arch-lwc

    🚛 Create & run lightweight Arch Linux containers

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Git RCE affects recursive clones on case-insensitive filesystems with symlinks

    1 project | news.ycombinator.com | 18 May 2024
  • Git tracks itself. See it's first commit of itself

    1 project | news.ycombinator.com | 3 May 2024
  • Resistance against London tube map commit history (a.k.a. git merge hell) (2015)

    1 project | news.ycombinator.com | 2 May 2024
  • GitHub Git Mirror Down

    1 project | news.ycombinator.com | 11 Apr 2024
  • Four ways to solve the "Remote Origin Already Exists" error.

    1 project | dev.to | 28 Mar 2024