Some rules when contributing to the site.
Writing
- Articles should be more than 500 words. Smaller articles can be created as snippets that should be no longer than 500 words.
- There is currently no fixed upper limit to article length, but splitting the article into parts is encouraged for really long topics. You can relate posts together in the admin interface of the site.
- All spelling should preferably be in UK English. Common spelling errors like "colour", "customise", "sanitise" will be corrected before publishing. Except, of course, where those words are used in code as many programming languages and libraries use words like "color".
- Introduce the article with a short description. This allows some text to be moved into the introduction field, which can then be posted to social media sites.
- Try to create a narrative around the article. It should have an introduction and a conclusion and should take a reader through the steps to understand the topic.
- Don't just repeat the documentation of a package, try to do something different or expand on it in some way.
- Please don't copy and paste articles from other sites and submit them. We do actually check this. You can, however, publish the same content in two places, we will create a canonical link to the original content.
- We would also appreciate it if you look at our site to make sure that the article you are writing hasn't already been done. Although you can write a different slant or approach to a problem that we have addressed.
- Linking to original sources is perfectly fine to do, the only stipulation is to use accessibility best practices with the links. In other words, the text of the link should describe what the link goes to, it shouldn't use terms like "click here" or "see this page".
- We are open to all sorts of topics, but it should be programming or computer related in some way. There are a variety of articles on the site and not all of them feature code so your article doesn't even need to be about coding. Please don't pitch articles ideas about business strategies, economic growth or "shipping and returns" as we will not respond.
- The categories on the site are for articles that already exist on the site, but if you want to write an article that doesn't fit into these categories then we are willing to create new ones. We would, however, prefer to create a category that will store multiple articles and not just exist for a single item.
- If you do write anecdotes or add code you found in a project then all names or personally identifiable information should be removed or anonymised.
- We are open to writing product reviews, as long as that product relates to programming in some way. Books, keyboards, computer peripherals, computers, and software are all welcome for reviews. The author of the article, however, always has the last say on reviews and no influence will be allowed from third parties.
- Write in a professional, but friendly and approachable manner. Do not be condescending or standoffish. Do not swear and do not use terms like "lol" or "roflcopter".
- Please use the oxford comma format when listing items.
- Images are fine to use, but they should be resized before uploading. No wider or higher than 1000px. Images should be resized and reduced to reduce their size. Saving the image as a PNG and using image size reduction services like TinyPNG or using webp images is a must to reduce the footprint of the image. Try to limit the number of images to less than 10, preferably less.
Brand:
- If you want to write the name of the site then we are either the domain "www.hashbangcode.com" or "!# code", with a space between the "#" and the "code". You might find us as "Hash Bang Code" on external sites, but that is because those sites do not allow "#! code" as a site name or, we want to explicitly state what the site is called so that people can link the logo with the brand.
- To keep consistent with the branding of the site use the term "article" to refer to other articles on the site, or "snippets" for short form articles. Do not use terms like "blog" or "post" when referring to content on this site.
Code:
- Code examples are good (and are encouraged!) but don't just paste 1,000 lines of code into the article. Pick out the salient points and describe them. Try to reach a compromise between code and explanation of the code.
- If not all of the code fits then create a git repository with the full source code and link to that in the article. We have a GitHub resource you can use for this and we are happy to create projects on your behalf if needed.
- The code should be formatted correctly and should not exceed a line length of 120 characters so that the article can be read on mobile platforms easily.
- The code should not contain any errors and should never contain security flaws unless explicitly stated either in the code itself or in the explanation text.
- Unless it fits the narrative of the article, do not use specific module names or user names. Instead use names like "my_module" or "my_user" as place holders.