Why Sponsor Oils? | oilshell.org
See the blog index for a chronological list of posts.
Link to directly to a tag #FOO with tags.html#FOO.
#ASDL
| 2016-12-05 | Type Checking vs. Metaprogramming; ML vs. Lisp |
| 2016-12-11 | What is Zephyr ASDL? |
| 2016-12-16 | Analogies for ASDL |
| 2017-01-04 | Success with ASDL |
| 2017-01-06 | ASDL Implementation and Use Cases |
| 2017-01-09 | What is oheap? |
| 2017-01-21 | Pretty Printing ASTs with ASDL, and Metaprogramming |
| 2017-01-26 | The Thinner Waist of the Interpreter |
| 2019-02-07 | How to Parse Shell Like a Programming Language |
| 2019-02-18 | OSH 0.6.pre15 Does Not Crave Chaos and Destruction |
| 2019-12-09 | Oil 0.7.pre9 and a Fast Shell Parser |
| 2020-04-19 | Oil 0.8.pre4 - The Biggest Shell Programs in the World |
| 2020-05-25 | Oil 0.8.pre5 - Progress in C++ |
| 2023-03-16 | Oil 0.14.2 - Interactive Shell, and Conceding to autoconf |
| 2023-03-25 | Oils Roadmap: What We Can Use Help With |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#awk
| 2016-11-13 | Shell, Awk, and Make Should Be Combined |
| 2016-11-14 | Example Code in Shell, Awk, and Make |
| 2017-10-25 | Comments About Shell, Awk, and Make |
| 2020-11-08 | More Changes to Oil's Syntax |
| 2023-06-11 | Sketches of YSH Features |
#bernstein-chaining
| 2017-01-13 | Shell Has a Forth-like Quality |
| 2017-01-31 | Bernstein Chaining of ssh and su |
#blog-meta
#blog-topics
#boil
| 2017-05-05 | Rewriting Python's Build System From Scratch |
| 2017-05-31 | Post-Vacation Update and Build System Observations |
#book-reviews
| 2018-11-30 | What Is a Data Frame? (In Python, R, and SQL) |
#cloud
| 2021-04-11 | Comments About Build Systems and CI Services |
| 2021-07-19 | Blog Review: Distributed Systems |
#comic
| 2018-04-26 | oil-dev is moving to Zulip |
| 2020-01-14 | The Simplest Explanation of Oil |
| 2020-04-02 | Three Comics For Understanding Unix Shell |
#comments
#computer-science
| 2016-10-20 | Parsing Bash is Undecidable |
| 2016-11-01 | Pratt Parsing and Precedence Climbing Are the Same Algorithm |
| 2016-11-03 | Pratt Parsing Without Prototypal Inheritance, Global Variables, Virtual Dispatch, or Java |
| 2016-12-05 | Type Checking vs. Metaprogramming; ML vs. Lisp |
| 2017-02-11 | From AST to Lossless Syntax Tree |
| 2017-03-31 | Pratt Parsing Index and Updates |
| 2017-04-22 | Code for the Shunting Yard Algorithm, and More |
| 2019-02-07 | How to Parse Shell Like a Programming Language |
| 2020-07-21 | Comments on Eggex and Regular Languages |
| 2020-07-22 | Regular Languages, Part 2: Ideas and Questions |
| 2020-12-23 | Three Great Videos About Regex Derivatives |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#containers
| 2021-07-19 | Blog Review: Distributed Systems |
| 2021-12-31 | Retrospective: Software Architecture |
| 2022-01-30 | January Release Notes and Themes |
#coprocess
| 2018-12-05 | Dev Log #8: Shell Protocol Designs |
| 2021-04-13 | Release of Oil 0.8.9 |
#correction
| 2017-11-28 | Correction: How to Parse Here Documents |
#data-structures
| 2016-11-29 | Status Update: the Backbone of the Interpreter |
| 2017-02-11 | From AST to Lossless Syntax Tree |
#distributed-systems
| 2017-01-19 | On the Wiki: Project Goals and Related Projects |
| 2019-01-18 | BayLISA Presentation Materials |
| 2020-11-23 | Fixes and Updates to Oil Benchmarks |
| 2021-04-11 | Comments About Build Systems and CI Services |
| 2021-07-09 | Summer Blog Backlog: Distributed Systems |
| 2021-07-19 | Blog Review: Distributed Systems |
| 2021-12-31 | Retrospective: Software Architecture |
| 2022-02-26 | The Internet Was Designed With a Narrow Waist |
| 2022-03-12 | A Sketch of the Biggest Idea in Software Architecture |
#donations
| 2022-03-31 | Oil Is Being Implemented "Middle Out" |
#eggex
| 2019-12-22 | Eggex Example: Recognizing Python Integer Literals |
| 2020-07-21 | Comments on Eggex and Regular Languages |
| 2020-07-22 | Regular Languages, Part 2: Ideas and Questions |
| 2020-11-08 | More Changes to Oil's Syntax |
| 2020-11-09 | Proposed Changes to Oil's Syntax |
| 2020-12-23 | Three Great Videos About Regex Derivatives |
| 2022-08-24 | Oil 0.12.4 - User Feedback |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
#escaping-quoting
| 2017-01-31 | Bernstein Chaining of ssh and su |
| 2017-08-31 | Problems With the test Builtin: What Does -a Mean? |
| 2017-09-19 | How to Quickly and Correctly* Generate a Git Log in HTML |
| 2017-09-29 | Git Log in HTML: A Harder Problem and A Safe Solution |
| 2018-02-14 | CommonMark is a Useful, High-Quality Project |
| 2020-02-27 | Oil Doesn't Confuse Flags and Files (Code and Data) |
| 2020-10-31 | Big Changes to the Oil Language |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#event
| 2019-01-14 | I'm Speaking About the Oil Shell this Thursday in San Jose, California |
| 2019-01-18 | BayLISA Presentation Materials |
| 2021-06-05 | Notes on the HotOS Unix Shell Panel |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#FAQ
| 2018-01-28 | Why Create a New Unix Shell? |
| 2018-03-04 | Building Oil with the OPy Bytecode Compiler |
| 2019-06-17 | Frequently Asked Questions (2019) |
| 2021-01-26 | Unix Shell: Philosophy, Design, and FAQs |
| 2021-01-27 | Why Create a New Unix Shell? (2021) |
| 2021-02-11 | Updates to the Oil FAQ |
| 2021-12-02 | Backlog: Explaining the Oil Project |
| 2021-12-07 | Backlog: Rough Progress Assessments |
| 2021-12-20 | Backlog: Language FAQs |
| 2022-03-31 | Oil Is Being Implemented "Middle Out" |
| 2022-05-10 | Brief Descriptions of a Python to C++ Translator |
| 2023-03-26 | Oils 2023 FAQ |
| 2023-03-31 | Reasons for the Big Renaming to Oils, OSH, and YSH |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
#hay
| 2022-07-28 | Oil 0.11.0 - Big Features and Project Changes |
| 2024-12-17 | Why Should a Unix Shell Have Objects? |
#headless
| 2021-06-05 | Notes on the HotOS Unix Shell Panel |
| 2023-05-13 | Oils 0.15.0 - Big Contributions and More Concessions |
| 2023-06-24 | Oils 0.16.0 - Breaking Renames and YSH |
| 2023-09-17 | Oils 0.18.0 - Progress on All Fronts |
| 2023-12-21 | Interactive Shell Screencasts |
#interactive-shell
| 2018-10-10 | Running Bash Completion Scripts with OSH |
| 2018-10-11 | Release of OSH 0.6.pre5 |
| 2018-12-05 | Dev Log #8: Shell Protocol Designs |
| 2018-12-16 | Dev Log #9: Progress on Oil Subprojects |
| 2019-02-05 | Success With the Interactive Shell |
| 2020-01-17 | Oil Uses Its Parser For History And Completion |
| 2020-01-18 | Oil's Parser Doesn't Worry About Aliases and Prompts |
| 2022-01-30 | January Release Notes and Themes |
| 2023-03-16 | Oil 0.14.2 - Interactive Shell, and Conceding to autoconf |
| 2023-06-24 | Oils 0.16.0 - Breaking Renames and YSH |
| 2023-09-17 | Oils 0.18.0 - Progress on All Fronts |
| 2023-12-21 | Interactive Shell Screencasts |
#j8-notation
| 2023-06-11 | Sketches of YSH Features |
| 2023-06-15 | How to Create a UTF-16 Surrogate Pair by Hand, with Python |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
| 2024-03-21 | Oils 0.21.0 - Flags, Integers, Starship Bug, and Speed |
| 2024-06-19 | Oils 0.22.0 - Docs, Pretty Printing, Nix, and Zsh |
#lexing
| 2016-10-19 | How OSH Uses Lexer Modes |
| 2017-12-15 | The Oil Lexer: Introduction and Recap |
| 2017-12-17 | When Are Lexer Modes Useful? |
| 2019-02-07 | How to Parse Shell Like a Programming Language |
| 2019-12-22 | Eggex Example: Recognizing Python Integer Literals |
| 2020-04-19 | Oil 0.8.pre4 - The Biggest Shell Programs in the World |
| 2020-07-22 | Regular Languages, Part 2: Ideas and Questions |
| 2020-12-23 | Three Great Videos About Regex Derivatives |
| 2021-04-10 | find and test: How To Read And Write Them |
#linux-distro
| 2016-10-11 | Oil Can Parse Real Shell Programs |
| 2018-01-15 | Success with Aboriginal, Alpine, and Debian Linux |
| 2020-01-22 | Ambitions for a Unix Shell |
#make
| 2016-11-13 | Shell, Awk, and Make Should Be Combined |
| 2016-11-14 | Example Code in Shell, Awk, and Make |
| 2017-05-05 | Rewriting Python's Build System From Scratch |
| 2017-05-31 | Post-Vacation Update and Build System Observations |
| 2017-10-25 | Comments About Shell, Awk, and Make |
| 2021-04-11 | Comments About Build Systems and CI Services |
| 2023-06-11 | Sketches of YSH Features |
#metaprogramming
| 2016-11-30 | A Problem with Type Checking |
| 2016-12-05 | Type Checking vs. Metaprogramming; ML vs. Lisp |
| 2017-01-21 | Pretty Printing ASTs with ASDL, and Metaprogramming |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#metrics
| 2016-10-10 | What Oil Looks Like, and a Plan for This Blog |
| 2017-01-26 | The Thinner Waist of the Interpreter |
| 2017-03-23 | Measuring Progress with Tests |
| 2017-06-02 | Project Metrics |
| 2017-09-09 | Please Try the OSH 0.1 Release |
| 2020-01-16 | Oil's Parser is 160x to 200x Faster Than It Was 2 Years Ago |
| 2020-03-08 | Metrics for Oil 0.8.pre2 |
| 2020-05-25 | Oil 0.8.pre5 - Progress in C++ |
| 2020-08-12 | A Plan for Oil 0.8 and 0.9 |
| 2020-11-07 | Metrics for Oil 0.8.4 |
| 2020-11-23 | Fixes and Updates to Oil Benchmarks |
| 2021-03-19 | Release of Oil 0.8.8 |
| 2022-03-31 | Oil Is Being Implemented "Middle Out" |
#misc
| 2016-12-23 | A Math Problem: Function-Directed Enum Labeling |
| 2016-12-26 | Four Functions and Enum Labelings |
| 2016-12-27 | Bespoke Superoptimization |
| 2016-12-30 | Questions about Superoptimization |
#mycpp
| 2019-06-13 | What's Happened Since February? |
| 2020-03-05 | March Recap / Link Dump |
| 2021-03-19 | Release of Oil 0.8.8 |
| 2022-03-31 | Oil Is Being Implemented "Middle Out" |
| 2022-05-10 | Brief Descriptions of a Python to C++ Translator |
| 2022-05-29 | A Garbage-Collected Heap in C++, Shaped Like Typed Python |
| 2022-10-20 | Oil 0.12.7 - Garbage Collector Problems |
| 2023-01-11 | Pictures of a Working Garbage Collector |
| 2023-03-16 | Oil 0.14.2 - Interactive Shell, and Conceding to autoconf |
| 2023-03-25 | Oils Roadmap: What We Can Use Help With |
| 2024-03-21 | Oils 0.21.0 - Flags, Integers, Starship Bug, and Speed |
| 2024-06-19 | Oils 0.22.0 - Docs, Pretty Printing, Nix, and Zsh |
| 2024-09-13 | A Retrospective on the Oils Project |
#oheap
| 2017-01-09 | What is oheap? |
| 2017-12-22 | OSH 0.3 - Optimization, Benchmarks, and Bug Fixes |
| 2018-08-19 | Release of OSH 0.6.pre2 |
| 2018-12-16 | Dev Log #9: Progress on Oil Subprojects |
#oil-dev
| 2016-11-19 | Oil is on Github |
| 2017-01-26 | The Thinner Waist of the Interpreter |
| 2017-03-04 | If you have Debian/Ubuntu, and Five Minutes |
| 2017-03-09 | Oil-dev is Alive! |
| 2017-03-23 | Measuring Progress with Tests |
| 2017-06-22 | How I Use Tests |
| 2017-06-24 | How I Plan to Use Tests: Transforming OSH |
| 2018-04-26 | oil-dev is moving to Zulip |
| 2019-06-13 | What's Happened Since February? |
| 2019-12-09 | Oil 0.7.pre9 and a Fast Shell Parser |
| 2020-03-05 | March Recap / Link Dump |
| 2020-07-19 | Summer 2020 Blog Roadmap |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
#oil-language
#oil-release
#opy
| 2017-04-09 | An Unexpected Solution: Cobbling Together a Python Interpreter |
| 2017-04-23 | The OPy Front End is Working |
| 2017-06-24 | How I Plan to Use Tests: Transforming OSH |
| 2018-03-04 | Building Oil with the OPy Bytecode Compiler |
| 2018-03-27 | Addendum: Two Recurse Center Projects That Explain CPython |
| 2018-12-16 | Dev Log #9: Progress on Oil Subprojects |
| 2019-12-09 | Oil 0.7.pre9 and a Fast Shell Parser |
#osh-language
| 2020-10-22 | Four Features That Justify a New Unix Shell |
| 2021-11-30 | Winter Blog Backlog: Recent Progress |
| 2021-12-01 | Appendix: The Journey of Extended Globs |
| 2021-12-20 | Backlog: Language FAQs |
| 2023-03-16 | Oil 0.14.2 - Interactive Shell, and Conceding to autoconf |
| 2023-03-25 | Oils Roadmap: What We Can Use Help With |
| 2023-03-26 | Oils 2023 FAQ |
| 2023-09-17 | Oils 0.18.0 - Progress on All Fronts |
#osh-to-oil
| 2017-02-05 | Translating Shell to Oil |
| 2017-02-06 | Translating Shell to Oil, Part Two |
#OVM
| 2017-04-09 | An Unexpected Solution: Cobbling Together a Python Interpreter |
| 2017-04-25 | OVM will be a Slice of the CPython VM |
| 2017-05-05 | Rewriting Python's Build System From Scratch |
| 2017-06-24 | How I Plan to Use Tests: Transforming OSH |
| 2018-03-04 | Building Oil with the OPy Bytecode Compiler |
| 2018-11-15 | Dev Log #7: Hollowing Out the Python Interpreter |
| 2018-12-16 | Dev Log #9: Progress on Oil Subprojects |
#parsing
| 2016-10-20 | Parsing Bash is Undecidable |
| 2016-10-22 | New Terminology: Static Parsing vs. Dynamic Parsing |
| 2016-11-01 | Pratt Parsing and Precedence Climbing Are the Same Algorithm |
| 2016-11-02 | Review of Pratt/TDOP Parsing Tutorials |
| 2016-11-03 | Pratt Parsing Without Prototypal Inheritance, Global Variables, Virtual Dispatch, or Java |
| 2016-11-05 | Pratt Parsers Can Be Statically Typed |
| 2016-11-17 | OSH Can Be Parsed With Two Tokens of Lookahead |
| 2017-02-11 | From AST to Lossless Syntax Tree |
| 2017-03-30 | Precedence Climbing is Widely Used |
| 2017-03-31 | Pratt Parsing Index and Updates |
| 2017-04-22 | Code for the Shunting Yard Algorithm, and More |
| 2021-01-06 | Comments About Parsing: Theory vs. Practice |
#parsing-shell
#performance
| 2016-12-27 | Bespoke Superoptimization |
| 2016-12-30 | Questions about Superoptimization |
| 2019-12-09 | Oil 0.7.pre9 and a Fast Shell Parser |
| 2020-01-16 | Oil's Parser is 160x to 200x Faster Than It Was 2 Years Ago |
| 2020-07-21 | Comments on Eggex and Regular Languages |
| 2020-08-12 | A Plan for Oil 0.8 and 0.9 |
| 2020-11-23 | Fixes and Updates to Oil Benchmarks |
| 2024-01-16 | Oils 0.19.0 - Dicts, Procs, Funcs, and Places |
| 2024-03-21 | Oils 0.21.0 - Flags, Integers, Starship Bug, and Speed |
| 2024-06-19 | Oils 0.22.0 - Docs, Pretty Printing, Nix, and Zsh |
| 2024-09-13 | A Retrospective on the Oils Project |
#praise
| 2018-02-14 | CommonMark is a Useful, High-Quality Project |
| 2018-03-27 | Addendum: Two Recurse Center Projects That Explain CPython |
| 2018-11-15 | Dev Log #7: Hollowing Out the Python Interpreter |
| 2021-07-22 | Classic Blog Posts by Joel Spolsky |
#project-roadmap
| 2016-10-15 | Blog Roadmap, and Project Roadmap |
| 2016-10-23 | Roadmap #2 |
| 2016-11-21 | Roadmap #3: Two Top Priorities |
| 2016-11-25 | Roadmap #3 Continued |
| 2017-02-27 | Review of Roadmap #3 |
| 2017-03-01 | Project Roadmap #4 |
| 2017-07-29 | Review of Roadmap #4 (abridged) |
| 2017-10-06 | Roadmap #5: Why Oil, and Why OSH? |
| 2018-01-15 | Success with Aboriginal, Alpine, and Debian Linux |
| 2018-08-15 | Summer Vacation is Over! |
| 2018-11-15 | Dev Log #7: Hollowing Out the Python Interpreter |
| 2020-08-12 | A Plan for Oil 0.8 and 0.9 |
| 2020-08-17 | Technical Issues And Risks |
| 2023-03-25 | Oils Roadmap: What We Can Use Help With |
#project-updates
#python
| 2017-04-08 | The Riskiest Part of the Project |
| 2017-04-09 | An Unexpected Solution: Cobbling Together a Python Interpreter |
| 2017-04-23 | The OPy Front End is Working |
| 2017-04-25 | OVM will be a Slice of the CPython VM |
| 2017-05-05 | Rewriting Python's Build System From Scratch |
| 2018-03-04 | Building Oil with the OPy Bytecode Compiler |
| 2018-03-27 | Addendum: Two Recurse Center Projects That Explain CPython |
| 2018-11-15 | Dev Log #7: Hollowing Out the Python Interpreter |
| 2019-06-17 | Frequently Asked Questions (2019) |
| 2020-01-22 | Ambitions for a Unix Shell |
| 2022-03-31 | Oil Is Being Implemented "Middle Out" |
| 2022-05-10 | Brief Descriptions of a Python to C++ Translator |
| 2022-05-29 | A Garbage-Collected Heap in C++, Shaped Like Typed Python |
| 2024-06-17 | Comments on Scripting, CGI, and FastCGI |
#r-language
| 2018-11-15 | Dev Log #7: Hollowing Out the Python Interpreter |
| 2018-11-30 | What Is a Data Frame? (In Python, R, and SQL) |
#real-problems
| 2019-02-18 | OSH 0.6.pre15 Does Not Crave Chaos and Destruction |
| 2019-08-16 | Oil's Stricter Semantics Solve Real Problems |
| 2020-02-20 | February Recap / Brain Dump |
| 2020-02-27 | Oil Doesn't Confuse Flags and Files (Code and Data) |
| 2020-10-22 | Four Features That Justify a New Unix Shell |
| 2021-04-09 | Oil Doesn't Require Quoting Everywhere |
| 2021-06-08 | Recent Progress on the Oil Language |
| 2021-09-19 | Oil Has Multi-line Commands and String Literals |
| 2022-05-05 | Oil 0.10.0 - Can Unix Shell Error Handling Be Fixed Once and For All? |
| 2023-05-13 | Oils 0.15.0 - Big Contributions and More Concessions |
| 2023-06-24 | Oils 0.16.0 - Breaking Renames and YSH |
#recurse-center
| 2018-03-25 | I'm Attending Recurse Center this Summer |
| 2018-03-27 | Addendum: Two Recurse Center Projects That Explain CPython |
| 2018-07-21 | Summer Status Update |
| 2018-07-22 | Summer Blog Topics |
| 2018-07-23 | OSH 0.5 - A Release with Many Contributors |
| 2018-08-15 | Summer Vacation is Over! |
| 2021-01-25 | Shell Scripts, Audio, Images, and 3D Graphics |
#sample-code
| 2016-10-20 | Parsing Bash is Undecidable |
| 2016-11-03 | Pratt Parsing Without Prototypal Inheritance, Global Variables, Virtual Dispatch, or Java |
| 2016-11-06 | Thirteen Incorrect Ways and Two Awkward Ways to Use Arrays |
| 2016-11-14 | Example Code in Shell, Awk, and Make |
| 2016-12-26 | Four Functions and Enum Labelings |
| 2017-01-13 | Shell Has a Forth-like Quality |
| 2017-01-15 | Pipelines Support Vectorized, Point-Free, and Imperative Style |
| 2017-01-31 | Bernstein Chaining of ssh and su |
| 2017-04-22 | Code for the Shunting Yard Algorithm, and More |
| 2017-08-12 | Avoid Directly Manipulating File Descriptors in Shell |
| 2017-09-19 | How to Quickly and Correctly* Generate a Git Log in HTML |
| 2017-09-29 | Git Log in HTML: A Harder Problem and A Safe Solution |
| 2018-11-30 | What Is a Data Frame? (In Python, R, and SQL) |
| 2019-12-22 | Eggex Example: Recognizing Python Integer Literals |
| 2020-07-21 | Comments on Eggex and Regular Languages |
| 2021-08-21 | An Opinionated Guide to xargs |
#security
| 2019-01-18 | BayLISA Presentation Materials |
#shell-runtime
| 2016-10-18 | Shells Use Temp Files to Implement Here Documents |
| 2017-02-26 | Status Update and Blog Backlog |
| 2017-07-02 | OSH Runs Real Shell Programs |
| 2017-07-28 | The Long Slog Through the Shell (abridged) |
| 2019-08-16 | Oil's Stricter Semantics Solve Real Problems |
| 2020-04-02 | Three Comics For Understanding Unix Shell |
| 2020-11-10 | Changes to Shell Runtime Semantics |
| 2021-11-20 | Oil 0.9.4 - User Feedback |
| 2022-01-30 | January Release Notes and Themes |
| 2024-03-21 | Oils 0.21.0 - Flags, Integers, Starship Bug, and Speed |
| 2024-11-13 | Oils 0.23.0 - Writing YSH Code, User Feedback, and Bug Bounty |
#shell-style-guideline
| 2017-08-12 | Avoid Directly Manipulating File Descriptors in Shell |
| 2017-08-31 | Problems With the test Builtin: What Does -a Mean? |
#shell-the-bad-parts
| 2016-10-20 | Parsing Bash is Undecidable |
| 2016-10-28 | The Five Meanings of #. And What Does ${####} Mean? |
| 2016-10-29 | Four Slashes and Three Meanings |
| 2016-11-06 | Thirteen Incorrect Ways and Two Awkward Ways to Use Arrays |
| 2016-11-07 | Contrived Example Found in the Wild |
| 2016-11-18 | Problems With $(( |
| 2017-08-12 | Avoid Directly Manipulating File Descriptors in Shell |
| 2017-08-31 | Problems With the test Builtin: What Does -a Mean? |
| 2018-08-19 | Release of OSH 0.6.pre2 |
| 2018-10-10 | Running Bash Completion Scripts with OSH |
| 2018-12-16 | Dev Log #9: Progress on Oil Subprojects |
| 2020-02-27 | Oil Doesn't Confuse Flags and Files (Code and Data) |
| 2020-04-19 | Oil 0.8.pre4 - The Biggest Shell Programs in the World |
| 2021-12-01 | Appendix: The Journey of Extended Globs |
#shell-the-good-parts
| 2017-01-13 | Shell Has a Forth-like Quality |
| 2017-01-15 | Pipelines Support Vectorized, Point-Free, and Imperative Style |
| 2020-02-19 | Four More Posts in "Shell: The Good Parts" |
| 2020-03-25 | Oil 0.8.pre3 - A Line Editor and a Continuous Build |
| 2020-07-21 | Comments on Eggex and Regular Languages |
| 2021-01-24 | Shell Scripts Are Executable Documentation |
| 2021-01-25 | Shell Scripts, Audio, Images, and 3D Graphics |
| 2021-01-26 | Unix Shell: Philosophy, Design, and FAQs |
| 2021-07-08 | Summer Blog Backlog: Understanding and Using Shell |
| 2021-07-22 | Classic Blog Posts by Joel Spolsky |
| 2021-08-21 | An Opinionated Guide to xargs |
| 2021-12-07 | Backlog: Rough Progress Assessments |
| 2023-06-17 | Narrow Waists Can Be Interior or Exterior: PyObject vs. Unix Files |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
#software-architecture
| 2021-01-25 | Shell Scripts, Audio, Images, and 3D Graphics |
| 2021-01-26 | Unix Shell: Philosophy, Design, and FAQs |
| 2021-04-11 | Comments About Build Systems and CI Services |
| 2021-07-08 | Summer Blog Backlog: Understanding and Using Shell |
| 2021-07-09 | Summer Blog Backlog: Distributed Systems |
| 2021-07-19 | Blog Review: Distributed Systems |
| 2021-08-06 | Unix Shell: History and Trivia |
| 2021-12-31 | Retrospective: Software Architecture |
| 2022-02-26 | The Internet Was Designed With a Narrow Waist |
| 2022-03-12 | A Sketch of the Biggest Idea in Software Architecture |
| 2023-06-17 | Narrow Waists Can Be Interior or Exterior: PyObject vs. Unix Files |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
#soil
| 2022-07-28 | Oil 0.11.0 - Big Features and Project Changes |
| 2023-05-13 | Oils 0.15.0 - Big Contributions and More Concessions |
| 2023-06-11 | Sketches of YSH Features |
| 2024-01-16 | Oils 0.19.0 - Dicts, Procs, Funcs, and Places |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
| 2024-05-14 | Notes for Houston Functional Programmers Talk |
#string-hygiene
| 2021-08-21 | An Opinionated Guide to xargs |
#task-files
| 2020-02-19 | Four More Posts in "Shell: The Good Parts" |
| 2021-01-24 | Shell Scripts Are Executable Documentation |
| 2024-11-13 | Oils 0.23.0 - Writing YSH Code, User Feedback, and Bug Bounty |
#testing
| 2017-03-04 | If you have Debian/Ubuntu, and Five Minutes |
| 2017-03-23 | Measuring Progress with Tests |
| 2017-06-22 | How I Use Tests |
| 2017-06-24 | How I Plan to Use Tests: Transforming OSH |
| 2017-11-10 | OSH 0.2 - Parsing One Million Lines of Shell |
#toil
| 2020-03-25 | Oil 0.8.pre3 - A Line Editor and a Continuous Build |
| 2020-11-23 | Fixes and Updates to Oil Benchmarks |
#translated-post
| 2017-01-13 | Shell Has a Forth-like Quality |
| 2018-01-15 | Success with Aboriginal, Alpine, and Debian Linux |
#tweet
| 2018-04-26 | oil-dev is moving to Zulip |
| 2019-08-16 | Oil's Stricter Semantics Solve Real Problems |
| 2020-01-14 | The Simplest Explanation of Oil |
| 2021-07-08 | Summer Blog Backlog: Understanding and Using Shell |
| 2021-07-09 | Summer Blog Backlog: Distributed Systems |
| 2021-07-19 | Blog Review: Distributed Systems |
#type-checking
| 2016-11-30 | A Problem with Type Checking |
| 2016-12-05 | Type Checking vs. Metaprogramming; ML vs. Lisp |
| 2022-05-10 | Brief Descriptions of a Python to C++ Translator |
#unicode
| 2023-06-15 | How to Create a UTF-16 Surrogate Pair by Hand, with Python |
#unix-tools
| 2017-01-31 | Bernstein Chaining of ssh and su |
| 2017-09-29 | Git Log in HTML: A Harder Problem and A Safe Solution |
#usage-tips
| 2017-01-31 | Bernstein Chaining of ssh and su |
| 2017-09-19 | How to Quickly and Correctly* Generate a Git Log in HTML |
| 2017-09-29 | Git Log in HTML: A Harder Problem and A Safe Solution |
| 2017-10-25 | Comments About Shell, Awk, and Make |
| 2018-02-14 | CommonMark is a Useful, High-Quality Project |
| 2020-02-19 | Four More Posts in "Shell: The Good Parts" |
| 2021-01-24 | Shell Scripts Are Executable Documentation |
| 2021-04-10 | find and test: How To Read And Write Them |
| 2021-08-21 | An Opinionated Guide to xargs |
#utf8
| 2017-09-29 | Git Log in HTML: A Harder Problem and A Safe Solution |
| 2018-02-14 | CommonMark is a Useful, High-Quality Project |
| 2018-08-19 | Release of OSH 0.6.pre2 |
| 2021-04-13 | Release of Oil 0.8.9 |
| 2023-06-11 | Sketches of YSH Features |
| 2023-06-15 | How to Create a UTF-16 Surrogate Pair by Hand, with Python |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
#why-a-new-shell
| 2017-01-19 | On the Wiki: Project Goals and Related Projects |
| 2017-10-06 | Roadmap #5: Why Oil, and Why OSH? |
| 2018-01-28 | Why Create a New Unix Shell? |
| 2018-07-22 | Summer Blog Topics |
| 2019-01-18 | BayLISA Presentation Materials |
| 2019-08-16 | Oil's Stricter Semantics Solve Real Problems |
| 2020-01-14 | The Simplest Explanation of Oil |
| 2020-01-22 | Ambitions for a Unix Shell |
| 2020-02-19 | Four More Posts in "Shell: The Good Parts" |
| 2020-10-22 | Four Features That Justify a New Unix Shell |
| 2021-01-27 | Why Create a New Unix Shell? (2021) |
| 2021-12-02 | Backlog: Explaining the Oil Project |
#ysh
| 2023-06-08 | Reviewing YSH |
| 2023-06-11 | Sketches of YSH Features |
| 2023-06-15 | How to Create a UTF-16 Surrogate Pair by Hand, with Python |
| 2023-06-20 | Oils Is Exterior-First (Code, Text, and Structured Data) |
| 2023-06-24 | Oils 0.16.0 - Breaking Renames and YSH |
| 2023-08-02 | Oils 0.17.0 - YSH Is Becoming Real |
| 2023-09-17 | Oils 0.18.0 - Progress on All Fronts |
| 2023-11-30 | Winter Status Update |
| 2023-12-21 | Interactive Shell Screencasts |
| 2024-02-21 | Oils 0.20.0 - Eggex, JSON, and Android |
| 2024-03-21 | Oils 0.21.0 - Flags, Integers, Starship Bug, and Speed |
| 2024-06-19 | Oils 0.22.0 - Docs, Pretty Printing, Nix, and Zsh |
| 2024-09-09 | What Oils Looks Like in 2024 |
| 2024-09-11 | Garbage Collection Makes YSH Different |
| 2024-09-13 | A Retrospective on the Oils Project |
| 2024-11-13 | Oils 0.23.0 - Writing YSH Code, User Feedback, and Bug Bounty |
| 2024-12-17 | Why Should a Unix Shell Have Objects? |
| 2025-01-04 | Oils 0.24.0 - Closures, Objects, and Namespaces |
#zephyr-asdl
| 2024-01-16 | Oils 0.19.0 - Dicts, Procs, Funcs, and Places |
#zulip-links
Back to the blog index.