Plethora of Projects

I find myself in a state where I have many projects that people ping me about regularly. I am very into all of them and would love if I could dedicate to each of them time that they deserve. This posting is mostly an enumeration of those projects and what I want to do with them.

Read the Docs

This is definitely my highest priority project. It has the most users and with my friend Eric Holscher leaving on a long hike soon I’ll be the primary caretaker of the project. I have various issues to work architecturally which are moderately boring or security related but will be taking some of my development time on this project.

I’ve already started into one of my bigger goals which is to clean up the code base. The files to all comply to flake8 which is a step in the right direction. Next I will be cleaning things up so the project is closer to what I am used at work, which also gives us a style guide we can simply just cite.

Another goal is to change out the log in system to Mozilla Persona and eliminate the need for passwords. This, along with some other architecture fixes will make the platform a bit safer.

ZenIRCBot

This project has been gathering more users as well as contributors. Unfortunately it has been sitting there bitrotting (from my standpoint) due to being too busy for it. I am going to be trying to take over part of the May PDXNode hack night as a ZenIRCBot hack night.

This code base is also in dire need of a cleanup. We have 3.0 coming out soon, along with that I’m also going to be moving it under an org and splitting out various parts into their own repos under that org. Once that is done, I’ll be adding the backwards compatible changes like multiple server support. The nodejs version will be the blessed version and I’ll try to keep the python and clojure versions up to date but I don’t want to let them hold back the bot.

Finally, I’ve already added Aaron Parecki as a contributor and we’ll be code reviewing each other’s patches as well as sharing the burden of accepting pull requests and such.

pytmux

This is a newer project that is currently in a working state but I’d like finish some features so can release 1.0 and leave the project in a stable state.

The next steps for this are some more of the basic features (which are already filed as issues on github) as well as taking some time looking at the other projects in this space and determine what a 1.0 release should look like. This should be a minimal amount of hacking and should result in something that doesn’t require much maintenance.

hackspots.net

This project hasn’t even started other than gathering data. There is lots of hope in it though, and I really want it to exist. It has a lot of potential for those of us in town to discover new places to go, and to provide a place to send people who are new to town.

The project needs to be inited, in an effort to not polarize to one of the two bigger server side web languages (Python/Ruby) I’ll likely be going with nodejs. Theoretically there is a code base that was already started but it isn’t open source yet and rather than wait/force it to go open, I can just build it myself.

Django Debug Panel

This project has wonderful potential and high aspirations. Unfortunately it is also quite a bit of work. I have lots of prior art to sort through, issues to create, then finally I have to build it and document the protocol. This project is on the back burner for now until I can clear some other things off my plate.

training.wraithan.net

This one is in fact just throwing a 500 right now. I upgraded some stuff and it is all broken. As I get ready to do more century rides this summer I will want to have this around. Also I’d like to add integration for more than just DailyMile. There isn’t a ton of work to do, other than getting it working again.

Summary

I have a lot of projects to work on, some of which are higher priority than others. I am feeling rather overwhelmed when you combine this list with my hobbies, work, and other obligations. Hopefully, if you are using any of these projects, you’ll be patient with me as I try to find the time to improve them all.

Read the Docs

Over the last few months I’ve really started to love Read the Docs. Several of my favorite projects are hosted on there. Projects such as Fabric, Requests, and Celery are all hosted on there. The list keeps growing, which is great. Read the Docs is a fantastic project that is promoting and unifying documentation even across language boundaries, both human and programming.

I got involved with Read the Docs during the sprints of DjangoCon 2011 as I have mentioned before on my blog. So my opinion isn’t entirely unbiased, but I wouldn’t have gotten involved if I didn’t believe in it and what goals it is pressing towards. I strongly urge others to also contribute, which can come in many forms, such as spreading the word on using Read the Docs, writing docs and posting them on there, filing bug reports on things you find wrong or feature requests for things you think could be done better, or finally by contributing your coding or design skills.

Something that is pretty interesting is there have been a number of projects that aren’t software libraries that have found their way on to Read the Docs. There have been a few books written using Sphinx and then posted on Read the Docs. Notes from various talks and conferences. And recently I stumbled upon a resume that is hosted on there and it got me thinking that I should do the same.

My resume is now hosted on there, though a warning, it is a work in progress. It looks really nice though, and I have access to multiple file types of it that sphinx and Read the Docs have generated, including a PDF. I highly recommend it to anyone that wants to write their resume, have it stand out a bit, but still look really nice.

Basically, this post is just to talk about how much I have come to depend on Read the Docs and to also to encourage people to use and help out in various ways. I love this project and if have ever come across horrible documentation, so should you.

Being a Contributor

When I attended DjangoCon I decided I needed to work a bit less on my own projects and start putting more time into contributing to other projects. I use so many free and open libraries both in my work and my personal code, and it is time to start contributing again.

The first project I decided to try to contribute to was Read the Docs. The choice was pretty easy since I know Eric Holscher and it is a project I benefit from on a regular basis. So at the DjangoCon sprints I sat down near him and asked him if there were any particularly valuable tickets I could take and start hacking on. He gave me a list of issues and I started in.

By the end of the day I had a patch for RTD, granted it didn’t fully work but it was a start. Added some unit tests and fixed up the code and soon I had a complete contribution that was added and it made me smile. And smile even more to be added to the AUTHORS file. Couple more patches later and Eric asked if I wanted to help out with the servers and get access to them. I said yes and now I am part of the RTD ops team as well as a contributor.

I used to contribute to a couple projects a few years ago. In recent history I’ve spent my time scratching my own itches and working on proprietary code for work. Going through the process of contributing has made me excited to do it some more on various projects. And GitHub makes it so easy to just send a pull request, comment a couple times back and forth and get patches accepted.

I am far from the first to talk about how easy it is to contribute to projects compared to the old days of sending patches to mailing lists. I just want to be another voice in the crowd, if even one person decides to contribute because of this, or it makes a person happy and continues contributing this was a success.