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
2016-10-10 | What Oil Looks Like, and a Plan for This Blog |
2016-10-15 | Blog Roadmap, and Project Roadmap |
2016-11-20 | Blog Retrospective #1 |
2016-12-29 | Using Reddit for Blog Comments |
2017-04-20 | Switching to "Twitter Mode" |
2017-04-21 | Blog Retrospective #2 |
2017-09-19 | How to Quickly and Correctly* Generate a Git Log in HTML |
2017-10-24 | Status Update: Parser Correctness and Performance |
2017-11-30 | Blog Retrospective #3 |
2018-01-31 | Popular Posts with Many Comments |
2018-03-25 | I'm Attending Recurse Center this Summer |
2019-02-07 | How to Parse Shell Like a Programming Language |
2020-01-12 | Blog Roadmap for January 2020 |
2020-07-19 | Summer 2020 Blog Roadmap |
2021-01-05 | Blog Roadmap for January 2021 |
2021-07-19 | Blog Review: Distributed Systems |
2021-11-30 | Winter Blog Backlog: Recent Progress |
2021-12-01 | Appendix: The Journey of Extended Globs |
2021-12-31 | Retrospective: Software Architecture |
2023-06-08 | Reviewing YSH |
2023-11-30 | Winter Status Update |
#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 |
#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 |
#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 |
#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 |
#zephyr-asdl
2024-01-16 | Oils 0.19.0 - Dicts, Procs, Funcs, and Places |
#zulip-links
Back to the blog index.