Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    O

    Oils Blog

    oils.pub · Company blog · on HN since 2025

    The Oils blog follows development of the Oils shell project, including the OSH and YSH shell languages, by Andy Chu.

    Visit blogHN submissions
    Languages & CompilersOpen Source & LinuxProgramming
    What HN says

    HN commenters are hopeful about Oils as a future default shell, citing its backward compatibility with bash and a gradual path to a modern language.

    Stats for nerds
    18HN people shared it
    11linked in comments
    57story points
    May 2026last shared
    2025people per year2026

    Top posts on HN

    1. 1
      Comments on Shared Unix Hosting vs. the Cloud
      4 people · 36 points · first shared 2025 · 22 comments on HN
    2. 2
      Oils 0.37.0 – Alpine Linux, YSH, and mycpp
      2 people · 7 points · first shared 2025 · 1 comments on HN
    3. 3
      Reasons to Use OSH
      3 people · 4 points · first shared 2025 · Discussion on HN
    4. 4
      J8 Notation – Fixing the JSON-Unix Mismatch
      2 people · 3 points · first shared 2025 · Discussion on HN
    5. 5
      Oils for Unix – A Pause in the Project
      1 person · 3 points · first shared 2026 · Discussion on HN
    6. 6
      Oils – Reviewing Our NLnet Grants After 4 Years
      1 person · 2 points · first shared 2026 · Discussion on HN
    7. 7
      A Tour of YSH
      3 people · 1 points · first shared 2025 · Discussion on HN
    8. 8
      Things to Do for the New Oils.pub Domain
      1 person · 1 points · first shared 2025 · Discussion on HN
    9. 9
      Homepage
      7 people · first shared 2025
    10. 10
      Ysh
      3 people · first shared 2025

    What HN people wrote when they linked it

    • nulld3vMay 2025

      +1 on nushell, it is incredible. Having all data typed and structured is an insane superpower.

      Common worries I hear from people that were non-issues in practice:

      - Not POSIX compatible: Nushell doesn't aim to replace POSIX, there's no problem with dropping back to bash to execute some shell snippets

      - You need to re-learn everything: I'm not a huge fan of how the commands are organized, but I still didn't find it that difficult. nushell's prompt/readline comes with an inline help menu with fuzzy search. Hit CTRL+O to edit a command/pipeline in your IDE/editor of choice with LSP backed intellisense, type-checking and in-editor command docs/help. The syntax is very simple and intuitive.

      - Just use python: Sure, but python comes with a lot of disadvantages. It's slow and uses dynamic typing. Static typing in nushell catch typos in pipelines & scripts before they execute. It also makes in-shell and IDE LSP tab-completions very accurate. Large files process quickly though it will still consume more memory if you aren't able to process all the data in a streaming fasion. It's like having jq but with autocomplete and it works on all command output & shell variables. Though if you really like python, check out Oil/OSH/YSH: https://oils.pub/

      - All Unix commands output text, structured data is useless in a shell: `detect columns` (https://www.nushell.sh/commands/docs/detect_columns.html) - now it's structured. Or use `from <format>` if the command outputs CSV, JSON, INI, YAML,…

    • jodrellblankOct 2025

      The context of the blog post is that "warts" are the way something was originally designed or built, which is now outdated and you would change it if you could, but you don't want to break backwards compatibility so you don't.

      > "For example, some GNU programs like `grep` and `find` support a `POSIXLY_CORRECT` env var, which changes their interface and behavior."

      By your own logic that's not a wart, that's the way the programs work and they are documented to work like that. Twisting yourself into knots to pretend Linux/Unix utilities are perfectly designed isn't good logic. There's no excuse "it was designed that way" or "it's documented to work like this" which makes something not warty. Something might have been a good design originally and become a bad design as the world changed around it.

      For example unserialised byte streams where you have to fight whether \n or 0 (null byte) are data or record separators, is a wart. How do we know? Because when people design newer tools they don't keep that, they design it away. Serialised JSON and jq, .NET objects in PowerShell, structured data in nushell[1] and oilshell YSH[2].

      [1] https://www.nushell.sh/

      [2] https://oils.pub/ysh.html

    • chubotApr 2025

      ??? This complaint seems more than 20 years too late

      Arithmetic is built into POSIX shell, and it's universally implemented. The following works in basically every shell, and starts 0 new processes, not 2:

      $ bash -c '[ $((1 + 1)) = 2 ]; echo $?' 0 $ zsh -c '[ $((1 + 1)) = 2 ]; echo $?' 0 $ busybox ash -c '[ $((1 + 1)) = 2 ]; echo $?' 0 YSH (part of https://oils.pub/ ) has a more familiar C- or JavaScript-like syntax:

      $ ysh -c 'if (1 + 1 === 2) { echo hi }' hi It also has structured data types like Python or JS:

      $ echo '{"foo": 42}' > test.json $ ysh ysh-0.28$ json read < test.json ysh-0.28$ echo "next = $[_reply.foo + 1]" next = 43 and floats, etc.

      $ echo "q = $[_reply.foo / 5]" q = 8.4 https://oils.pub/release/latest/doc/ysh-tour.html (It's probably more useful for scripting now, but it's also an interactive shell)

    • alganetMay 2025

      https://github.com/shellfire-dev

      https://github.com/shellspec

      https://oils.pub/

      There's probably more.

      The shell has a ____wide____ userbase with many kinds of users. Depending on your goal, the rabbit hole can go very deep (how portable across interpreters, how dependant on other binaries, how early can it work in a bootstrap scenario, etc).

      These are mine:

      https://github.com/alganet/coral

      https://github.com/alganet/shell-versions

      https://github.com/Mosai/workshop

    • nextaccounticNov 2025

      I think that osh is valuable precisely because of that, since it's bash compatible. The project also has ysh which is not bash compatible, but fixes a lot of shell brokeness, including the #1 source of shell bugs, the need to quote almost 99% of variables and subshell invocations (and not quote them in the rare case you actually want splatting)

      https://oils.pub/osh.html

      https://oils.pub/ysh.html

    • aidenn0Jul 2025

      That's good to know; ysh[1] will treat pipelines with a SIGPIPE indicative exit code as successful to allow e.g.

      foo |head -n2 to be treated as successful. I haven't seen anyone complaining yet about rust programs breaking this idiom, but I'll keep an eye out for it.

      1: https://oils.pub/release/latest/doc/ysh-tour.html

    Related

    Chris Siebenmannutcc.utoronto.ca/~cks388 people

    Go is Google's language, not ours

    Chris Siebenmann
    Personal · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    CoreOS Blogcoreos.com316 people

    CoreOS is building a container runtime, Rocket

    CoreOS Blog
    Company · last shared 2020
    Engine Yard Blogengineyard.com204 people

    The Number One Trait of a Great Developer

    Engine Yard Blog
    Company · last shared 2025
    MirageOSmirage.io84 people

    MirageOS 4.0 – Self-managed internet infrastructure with unikernels

    MirageOS
    Company · last shared 2026
    Microsoft Cloud Blogscloudblogs.microsoft.com133 people

    exFAT in the Linux kernel

    Microsoft Cloud Blogs
    Company · last shared 2024
    TurnKey Linux Blogturnkeylinux.org49 people

    Be nice. It's a fscking gift

    TurnKey Linux Blog
    Company · last shared 2025
    Datadog Blogdatadoghq.com262 people

    Husky, Datadog's Third-Generation Event Store

    Datadog Blog
    Company · last shared 2026