GitHub is beyond doubt the number one place for sharing code and collaborating on projects right now. I share a lot of my code on GitHub when I'm writing a more technical post, my workplace uses it internally, and of course millions of people use it to create and maintain useful software.
Another popular use for GitHub is creating lists of, well, whatever you're interested in listing. And because it's on GitHub, anyone who'd like to add something or make a correction can fork your list, update it, and submit a pull request. Here's a list of the lists I've come across:
- Free Programming Books (free ebooks)
- Big List of Naughty Strings (potentially problematic strings for use in testing)
- Tech Conferences With Childcare (conferences that offer childcare in some capacity)
- Complete list of GitHub markdown emoji
- Public JSON APIs for use in web development
- And of course, for the ultimate meta, there are lists, lists and more lists of lists!
After seeing how useful these kinds of lists can be, I decided to create one of my own, starting with a ton of bookmarks I'd collected over the years. I named it Challenge Me, and it's a list of sites that offer programming exercises, competitions and contests. After I get done adding bookmarks, I'll probably do a little searching online too to see what other hidden gems I discover. I stumbled across one called Timus Online Judge with over a thousand scenarios to "solve". They increase in complexity as you go on, and you can submit them for automatic grading too.
This kind of thing works great as a personal reference (better than having a bunch of buried bookmarks), plus it's public so anyone else can reference it too... and add to it. What about you? Do you find lists like this helpful in general? Have you made any of your own?
This is post #11 in my personal challenge to complete 30 Days of Blogging. My goal is to become more comfortable with blogging in a more frequent and informal manner.