blog | oilshell.org
Since this blog now has many posts, here's an index of popular ones. If enjoy a post, the tags in the footer will lead you to related posts.
There are also comments on the home page of /r/oilshell/, although the comments I link to below are on different sites.
Parsing Bash is Undecidable. October 2016. ~77 points, 20 comments on /r/compsci/.
I describe an "interesting" feature of the bash language. POSIX shell doesn't have this issue. In contrast, OSH is statically parsed.
Thirteen Incorrect Ways and Two Awkward Ways to Use Arrays. November 2016. ~65 points, 43 comments on /r/programming/.
I criticize the design of arrays in bash, and suggest a better syntax and semantics for the Oil language.
My slogan for this is that bash has "half an array" type, because arrays decay to strings at any moment. There is also more than one way that they decay!
Questions about Superoptimization. December 2016. 79 points, 24 comments on Hacker News.
To be candid, these posts aren't that relevant to the rest of the blog. But they were a fun diversion — sort of a recreational math problem.
Shell Has a Forth-like Quality. January 2017. 136 points, 114 comments on Hacker News.
I compare Lisp vs. Forth vs. shell, and daemontools vs. systemd. I don't make any strong assertions here; it's more of an exploration of the design space.
From AST to Lossless Syntax Tree. February 2017. 133 points, 56 comments on Hacker News.
This is a great thread for programming language implementers (as opposed to shell users). From my perspective, it's one of the best comment threads, because some domain experts showed up and I learned something.
How to Quickly and Correctly Generate a Git Log in HTML. September 2017. 94 points, 67 comments on Hacker News.
Using a real-world example, I explore the issue of escaping / quoting / string safety in shell. Some of the comments missed the point, which I clarified in the follow-up.
Git Log in HTML: A Harder Problem and A Safe Solution. September 2017. 25 points, 13 comments on Hacker News.
I recap the argument, as well as making the problem harder and the solution better. These two posts helped me think about the Oil language. Strings are obviously a big concern in shell!
Success with Aboriginal, Alpine, and Debian. January 2018. 125 points, 88 comments on Hacker News.
To date, the biggest milestone in the Oil project! Unfortunately, a flame war about shell erupted.
To put a positive spin on it, I'll say that shell is still important, and people care about it. This also led me to the next post, which addresses confusion about Oil, and shell in general.
Why Create a New Unix Shell? January 2018. 65 points, 24 comments on lobste.rs.
I got several comments from readers saying that they finally "get it". I hadn't explained the project as well as I'd thought!
Shell has diverse users, so it has to be explained from multiple perspectives.
Update: this post also hit #1 on Hacker News, with 400 points and 289 comments!
What Is a Data Frame? (In Python, R, and SQL) November 2018.
An intro to an essential concept in data analysis. I use data frames to measure the performance of Oil over time.
Frequently Asked Questions (2019). June 2019.
This post came accompanied an AMA on /r/linux (226 points, 123 comments).
You Can Now Try the Oil Language. October 2019. 299 points, 80 comments on /r/linux.
The new and shiny part of the Oil project!
Feel free to leave a comment if there are any topics you'd like to see addressed in the blog. I've tagged posts with potential future topics as #blog-topics.
If you like playing with code, posts tagged #sample-code link to executable code snippets.