Command Line has practical examples of commands.

General Programming Help

Python Tutor

Python Tutor provides a visual representation of how a computer steps through any code the user inputs. Despite the name, Python Tutor has a visualizer for not only python, but java, c, c++, javascript, and ruby.

printf cheat sheet

printf is a common method used in c, c++, and java, but its format specifiers can be hard to remember. Luckily, there’s a cheat sheet for it. If you want a more verbose explanation of printf, you might like this paper.



a program probably already located on your computer, vimtutor guides the user through a basic interactive vim tutorial and can be accessed by either running vimtutor in a terminal or opening the lesson file found here in vim. Note that vimtutor by default creates a copy of the lesson file when run, so any changes made to the file while following the tutorial will not be permanent. Contrarily, editing the lesson file directly in vim will change the source file, so you might want to make a copy first.


If you want a more user-friendly and forgiving introduction to vim, check out openvim. This tutorial will guide you through a gentle interactive introduction to basic vim commands without the hassle of dealing with the terminal. Additionally, there is a “Practice” tab which gives you a text sandbox and a small cheat sheet of commands so you can try out what you learned in the tutorial. Unfortunately, the “Practice” tab doesn’t have u (undo) implemented, so if you want to go back or start over, you’ll have to reload the page.

vim cheat sheet

If you already feel comfortable with some basic vim commands, here’s a helpful cheat sheet that organizes all the most common vim commands in one easy-to-parse place.

vim wiki

Need even more vim? The vim wiki’s got you covered.


Markdown Guide

Markdown Guide is a comprehensive guide to the Markdown markup language. Not only does it introduce Markdown, it also provides explanations for both basic and extended syntax, as well as a cheat sheet.



RegExr is a verbose, user-friendly sandbox for trying and testing regexes. It even has a cheat sheet and a reference tab on the left side of the page in case you need to look up any syntax. If you only know what a regex is but don’t know how to write one, that’s ok too; RegExr is verbose and highly transparent in how it interprets the regexes you write.

regex 101

regex 101 is similar to RegExr but somewhat less beginner-friendly. However, it does contain a regex debugger which breaks down how a regex interpreter parses and pattern matches your regex step by step.

Regex tutorial

If you have no idea what a regex is or what any of what the symbols mean, here’s a good, clear introduction to what regexes are, how to write them, and what they can be used for.


why’s [poignant] guide to ruby

If you want an introduction to ruby (or programming in general) but wish that programming resources were written by Douglas Adams, then the poignant guide is for you. If why’s ramblings end up being too much for you, why has also compiled a list of more traditional ruby resources.


Sorting Algorithms Animations

If you’re stuck on how the most common sorting algorithms work and would like a side-by-side visual demonstration, this website is for you!

If you thought the first website was cool, but would like a more visually interesting and customizable experience of sorting algorithms (with some less common ones thrown in), has got you covered.

Sorting Algorithms Dance

For some extra fun, why not check out common sorting algorithms (as well as a few search algorithms) as dances?