blog | oilshell.org

I'm Attending Recurse Center this Summer

2018-03-25

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.

Table of Contents
Plans for Oil
TODO Before Leaving
What I've Been Working On
User-Facing Features
Infrastructure
A Small Commitment
Conclusion

Plans for Oil

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.

TODO Before Leaving

I don't want to drop the project abruptly, so here's a TODO list for the next two months.

What I've Been Working On

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.

User-Facing Features

A shell trace tool.

Static analysis of shell scripts.

Infrastructure

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 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!

A Small Commitment

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.

Conclusion

In summary, I have:

  1. A small list of tasks to wrap up before leaving.
  2. A large list of sub-projects in flight, related to Oil features and infrastructure.
  3. A full summer of open-ended learning!

I'm also thinking of a more informal /recurse-blog/, but I'll tackle that once other things are in order.