blog | oilshell.org
The Recurse Center is an educational retreat for programmers, located in New York City. I've heard about it for years on Hacker News, and I've always liked the idea.
In early February, I applied and was accepted. A few days ago, I finally figured out where I'll be staying! I'll be there from May 21st to August 8th.
This post is a status update: what's happened recently, and what I plan to do in the future.
I'm giving myself permission to take a break from Oil for the summer. I've worked on it for almost two full years, so a few months seems like a reasonable break!
(The first post noted the first Python commit on 4/20/2016, but I actually started the C++ version in a different repo on 3/29/2016.)
In particular, the cadence of regular releases will slow. This blog will probably also fall behind — it's behind even without the trip to NYC!
The purpose of my trip is to learn from other people, and I plan to take that opporunity, whether it relates to Oil or not. On the other hand, there's more than one educational thing about this project, which somebody might be interested in, so I'll be surprised if the project goes completely dormant.
I don't want to drop the project abruptly, so here's a TODO list for the next two months.
Make an Oil release. It will be either
0.5. I wrote
in the 0.4 release announcement that I wanted a significant
user-facing feature for
0.5. So if that doesn't happen, I'll call it
Flush the blog backlog. Unfortunately, unpublished drafts of blog posts have piled up. So I plan to summarize several posts in a single post, like I've done in past posts tagged #blog-topics.
Although I haven't written many blog posts recently, I've done a lot of work on Oil. The project reached some concrete milestones at the beginning of the year, so I gave myself permission to start several new things at once.
A shell trace tool.
Static analysis of shell scripts.
Performance measurement and experiments. Before doing too much work on OPy, I wanted to learn more about CPython itself.
Refactoring and enhancing the OPy compiler.
opy/callgraph.py, a module that walks the static callgraph at runtime. This probably requires another blog post to explain.
Opy will be Oil-specific infrastructure for a long time; maybe years from now it will be user-facing.
A source code browser.
Eventually this will be user facing!
I know there are people excited about Oil. The blog will be quiet for a few months, and I don't want to lose that support.
So, even though my mind may be elsewhere, I aim to Respond quickly to questions and pull requests. I generally respond in day or so, and I'd like to keep that up.
I'd love it if other people could work on OSH while I'm gone. I've tagged some issues #help-wanted on the issue tracker.
I realize that there's a learning curve to overcome when working on Oil. The project is written in a unique style, with several custom test frameworks and code generators. Feel free to ask me questions about the development process.
On the other hand, it's very possible that Oil will play a big role in my time at Recurse Center. In fact, that would be ideal.
But I'm not going to overplan or overthink it; I'll just let things happen. The goal is to do something I wouldn't do if I were at home. That might relate to Oil or it might not.
In summary, I have:
I'm also thinking of a more informal
/recurse-blog/, but I'll tackle that
once other things are in order.