Your web-browser is very outdated, and as such, this website may not display properly. Please consider upgrading to a modern, faster and more secure browser. Click here to do so.

Elm City Craftworks

News and updates from Gregory Brown and Jordan Byron.
We work on the Practicing Ruby journal, and are active in F/OSS
Jan 26 '14

A new direction for Practicing Ruby

For the last several months, I have been struggling with my work on Practicing Ruby. If you’re a subscriber, you already know that, because I’ve ran a few days late on shipping articles in the last few months, and this month I didn’t publish anything at all — even after 50 hours of research and development work.

There’s clearly something broken with the way I’m doing things, and today I’d like to share some details on what the problems are, and what my plan is to get us back on track.

Why is Practicing Ruby so hard to work on?

The difficulties I’m facing aren’t due to a lack of effort or interest; it’s just the psychological effect of being constantly under time pressure that has been weighing heavily on me. Content creation is not so easily done on a fixed schedule, and I’m finally deep enough in the hole to admit that.

Because I really hate the feeling of not delivering on my promises, falling behind on my work often tempts me to stop working on Practicing Ruby entirely. This may seem a bit harsh, but keep in mind that I’ve published over 90 articles in the last three years, and that meant over 90 publishing deadlines, many of which dragged me kicking and screaming through massive resistance and the occasional writer’s block.

Despite the difficulties, my love for my work on Practicing Ruby has not died down over the years, so I knew it wouldn’t be an easy decision to just let it go. After taking a break and considering the bigger picture, I have decided that quitting is not the right thing for me to do. Admitting there is a problem is the first step towards making things better.

What is it going to take to fix these problems?

Instead of giving up, I’ve committed to finally take steps that I believe will shape Practicing Ruby into what it truly deserves to be: an ideal learning environment for Ruby programmers from a wide variety of backgrounds. These are going to be radical changes, but I am confident that they’re going to help eliminate some of the negative pressure I’ve been feeling while helping me make Practicing Ruby better for you, the reader.

The sharp turn we’re about to make with Practicing Ruby involves only two changes that are simple to implement, but they will fundamentally redefine the nature of the project:

1) We’re going to gradually transition to a “Free as in Freedom” open access model for our publications, in which all of our published articles will be made publicly available under the Creative Commons BY-SA license.

As of 2014-01-30 we’ve made our first four volumes freely accessible on, along with a couple issues from Volume 5. Most of these issues were already released on Github under the CC BY-SA license a while ago, but they serve as a good starting point for us.

From here on out, we’ll gradually release articles from the paid archives one-by-one throughout the next several months, until our entire archives have been made publicly available. After that point, all future articles will be made freely available as soon as they’re published.

Having the full archives out in public will hopefully encourage more people to provide feedback on Practicing Ruby’s materials, and will also make collaborations more appealing to potential contributors. Because “information wants to be free”, it’s also the right thing to do.

The only trick will be to come up with reasons for paid subscribers to stick around even without a paywall, but I’ll work on that.

2) We’re going to shift away from the fixed publishing schedule of “new content monthly” to a more holistic model of continuous improvement done in small increments.

Practicing Ruby’s archives are already fairly massive, with enough materials to fill several books. However, we’ve not made those archives very explorable for you. I also haven’t spent nearly enough time interacting with readers to know whether the materials I’m producing are relevant and accessible to you.

Shifting the focus away from producing “just one more article” and towards the idea of improving Practicing Ruby as a whole will help me work on these things, as well as many other little dark corners of the project that we’ve been neglecting for years. Inspired by Kaizen, our goal will be to produce noticeable improvements to the project as a whole on a regular basis, rather than pouring all of our energy into the sole “big event” of publishing a new article every month.

To be clear, this does not mean an end to new content production, and I already have several collaborations in the works that will lead to published articles in the coming months. It just means that the time spent on these articles will be balanced against all the other work I could be doing to make Practicing Ruby a better learning environment for you.

How will these changes benefit subscribers?

What I want to say is “wait a couple months and decide for yourself”, and if you are content in doing that, you can stop reading now — you’re only risking a few dollars in doing so.

That’s not a very transparent answer though, so I’ll try to go into a lot more detail. Keep in mind that this is a transitional phase for Practicing Ruby, and that what follows is a bit hazy, but it’ll become clearer in time.

The short story is that for the next couple months, I’m going to be spending just as much time on Practicing Ruby as I have in the last couple months, but I’ll be able to spread it more evenly across all areas of the project that need improvement, rather than focusing exclusively on content-creation. New articles will continue to be published, just at a somewhat slower pace for now.

Your continued subscription helps me free up time to work on Practicing Ruby, and it is an investment in the future of the project. The project is currently underfunded, so every subscription counts!

As for the longer story, it’s a bit complicated…

The tangible benefits you can expect to receive as a subscriber are that you’ll continue to have access to subscriber-only comment threads, email notifications, and other internal members-only features. Until all the articles have been made public, you will still be able to give non-subscribers access to paid articles using our existing sharing mechanism. We’ll also be adding to our subscriber benefits in various ways over the coming months, alongside all the other work we’ll be doing to improve the project as a whole.

The more general benefit you’ll get is that as of today, I’m no longer running a business based primarily on artificial scarcity, nor will I be relying on the “fear of missing out” to drive your decision to subscribe or not. If you stay subscribed, it will be because you genuinely support the project, and that means your ability to vote with your wallet will mean a whole lot more than it did before.

In that sense, the money you pay for your subscription will continue to pay for what it always has: keeping the engine running and moving things forward. This may seem a bit wishy-washy, but when you consider that someone who’s subscribed for 12 months has paid $96 to access the same archives as someone who has been around for just a month and paid $8, you can see that this is already a major reason why people continue to pay their subscription fees. Our long-term subscribers pay because they like Practicing Ruby and want the project to keep going — the fact that future subscribers pay less is only a beneficial side effect.

Practicing Ruby’s revenue converts into time for me to spend on the project, money to compensate Jordan for his efforts on the website (which is and always has been open source software), and money to spend on honorariums for contributors. The only thing that has changed about that is that I now have the freedom to not spend 95% of revenue (and thus my time) on simply producing the very next article to be published.

What’s in store for the future?

I don’t know for sure, but the ideas I’ve mentioned in this post will make the working conditions surrounding Practicing Ruby a whole lot better for me, and that will translate into better work done more consistently.

I hope that I’ve convinced you of the benefits of making these changes, but if not, I’ll try to spend the next couple months providing more evidence through the work I do. It’s totally up to you whether you want to come along for the ride as a subscriber, but I hope that you’ll stick around!

Please email me at if you’ve got any questions or ideas to share.