The WTH Style Guide

Want to write something for us? Great!

So here’s how it goes.

We have a particular structure here at What the H*ck, and places where posts go. So if you plan on contributing, you got to follow it. Nothing too threatening, easy enough to follow.

The Mission

The point of WTH is to create simple, straightforward posts that still retain the personality of the author. Approachability is key. We want these posts to be the first place for beginners to check, giving them basic concepts and then pointing them to other resources to study for further education.

Language

Simple. Straightforward. Sometimes the occasional joke or pop culture reference. No cursing, sadly.

Code Snippets

If you aren’t writing about a particular language, try to stick with pseudocode as much as possible. Assume that someone reading about binary search doesn’t know C or Python or whatever language you prefer. The reader being ignorant of your language of choice should not be a barrier to their understanding of a concept.

Categories

Posts are either about:

Programming Languages

Posts about specific programming languages. This is often for first timers to a language. Ruby, Python, PHP, C, R, etc. all are welcome. Posts here can also be about the specificities of a language, like gems in Ruby, or libraries in Python.

Core Concepts

How the command line works, what Object Oriented or Functional Programming is, these posts are for higher level learning and more general principles.

Algorithms

These could be shoved into Core Concepts, but they deserve their own category. Searches, Sorts, and Traversals. There’s so much to write about!

Structure

The structure of a post should be as follows:

The Title

Always “What the H*CK is… “ and then the name of the concept followed by a question mark. For example, “What the H*CK is… Python?” would be a post on general principles of Python. Want to write about Python libraries? “What the H*CK is… a library in Python?” would be appropriate. If you want to pluralize “library” then it should look like “What the H*CK are… libraries in Python?” Easy enough.

Intro

A simple intro talking about the use and the purpose of the subject. What is a quicksort for? Who uses Ruby? Be sure to include a historical component. The origins of a language and what it’s used for is really helpful for some readers.

Example and Explanation

What does the concept look like when implemented? For a language this would be what methods look like, how it does math, and more. For a concept, psuedocode where code would apply.

If the reader wants to further their education, additional links are really helpful. Be sure to include at least two.

How to Contribute

This blog is using jekyll, so refer to this to see how to write the posts in markdown.