For awhile, I was trying to get contributions to my Sample Programs in Every Language series, and it was going well. However, there were a few scalability issues that I had been wrestling with for awhile, and I think I finally came up with a good solution. It’s called GitHub pages, and it’s what I should have done a long time ago.
Table of Contents
How Things Were
Previously, if somebody wanted to write me an article, they would have to create an account on the site, and I would have to manually change their privileges to allow for authorship. After that, they would draft their article and mark it as pending review. Whenever I would get the chance, I’d edit the article and set it to publish for some future date.
Now, this workflow definitely has it’s pros. For one, it forces users to sign up for my website which gives me emails for marketing purposes. It also allows me to back away from writing as I can get a steady stream of content from the community. In addition, it provides authors with a decent platform to share some links to their own content.
That said, this workflow definitely has some drawbacks. For instance, it creates a major bottleneck because I’m the only editor. In other words, I have to stay on top of the editing process, or authors start to get angry.
Naturally, this issue leads to the following question: do I elevate the privileges of some of my authors just to stay ahead of the work?
This question has bothered me for quite some time. After all, I’d be taking a pretty massive risk. Elevating privileges allows users to modify any post including my own articles. In addition, editors would have the power to publish articles that might not be up to my standards. Since I am establishing my own brand, I’d like to keep a certain level of quality with my content. On top of all that, I am against hiring people without pay. It would feel like exploitation even if they’re volunteering.
As a result, I needed to find away to make the series open to anyone while demonetizing the content. That way, I wouldn’t be getting paid for the labor of others. In fact, anyone working on the project would be doing it voluntarily—myself included.
How Things Are
After wrestling with the series over 60 or so articles, I finally decided to move the entire collection to GitHub pages. Of course, this has been a very, very slow process, so it likely won’t even be done by the time this article publishes (For reference, I’m writing this on Halloween).
That said, let me break down what’s happening. As of right now, all of my Sample Programs articles are staying on the site. However, I plan to consolidate them into a single series for archiving purposes. That said, all of their URLs should be the same.
Now, the content of those articles will be making its way to markdown files in the docs directory of the Sample Programs repo. These markdown files will then be rendered as webpages on my brand new subdomain: sample-programs.therenegadecoder.com.
There, you should start to see a lot of the original content appearing with citations that refer back to the original authors. If I’m lucky, you should start seeing new articles as well. That’s where all content will be moving forward.
If you’re familiar with Jekyll, we really could use your help to setup and personalize this new website. After all, it’s currently using one of the default themes. I’m sure it would look nice with the help of one of you web devs!
How Things Will Be
My plan for the future is to continue digging away at the Sample Programs collection. If you like code—or if you’d rather write articles—we could really use the help. After all, we can’t use the “Every Language” qualifier if we stop working.
In the future, I may write a bit more about this transition from a technical point of view as I have done previously (i.e. How to Automate Your GitHub Wiki). If there’s any interest in learning how to launch a GitHub Pages site, let me know. I can’t say I’m an expert at this point, but I can share a lot of the stumbling blocks.
At any rate, thanks again for sticking around for the update. If you’d like to keep up to date with my work, why not subscribe? I currently share a weekly email which contains the latest articles, so you’ll never miss anything. Of course, who needs another email?
Today, I'm whipping out some philosophy jargon to characterize some of the problems I see in the tech education community.
Have you ever wondered how Python's power function works internally? Well, I took a stab at it!