Keeping Up with Open Source
A good way to improve your programming skills is to read the code that other people write. Reading code for the sake of reading code isn’t optimal — it’s more beneficial to read the code of programs that you like or use often in bite-sized chunks.
My favorite ways to track open source programs are
RSS (Really Simple
Syndication) feeds, mailing lists, and forum discussions. If one is able to
sufficiently reason about a code base, then keeping on top of changes is easy,
and takes minutes a day.
The benefits are practical and time saving. You’ll know the expected changes in upcoming releases, issues that other people have, patches that contributors want to integrate, and other useful information.
RSS (Really Simple Syndication) is a great way to keep track of various open
source projects. GitHub hosts most of the world’s open
source projects and provides
RSS feeds (
atom) for commits and releases.
- If a project is slow moving subscribe to the commits. https://github.com/Ralim/ts100/commits.atom
- If it has good release notes subscribe to the releases. https://github.com/Ralim/ts100/releases.atom
Good change logs are a rarity these days, but an
RSS feed will allow you to
know what has changed as soon as it happens. Countless
RSS feed readers are
available. Use one that you
Forum discussions are excellent for news on open source programs that you use
often. Subscribe to any forums either by registering or by using
RSS. Here’s a
subset of forums that I follow through
- Arch Linux: Arch Linux is a bleeding edge Linux distribution. Subscribe to their large offering of feeds for updates, and information on numerous open source programs.
- Reddit: Reddit has a large offering of
forums (subreddits). If you see that a
subreddit exists for a program — add
URLto get the
RSSfeed link. If the
Feedly limits the amount of Reddit
RSSfeeds. Use a self hosted
RSSfeed reader like Miniflux or FreshRSS for maximum freedom.
Mailing lists are considered old school, but contain lots of good information. Subscribe to any mailing list available for software that you use. Subscribing is as easy as having an email address and following the instructions for that mailing list. Here’s a subset of mailing lists that I follow from time to time.