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.
Thirteen Incorrect Ways and Two Awkward Ways to Use Arrays. November 2016. ~65 points, 43 comments on /r/programming/.
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!
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.
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.
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!
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.
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.
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).
The new and shiny part of the Oil project!
Oil's Parser is 160x to 200x Faster Than It Was 2 Years Ago. January 2020.
Oil uses Python as a metaprogramming language for C++.
I discuss the future of the 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.