As we go through the year, you’ll need to learn about some or all of these tools. Explore them when you have a chance

A laptop

This course is MUCH easier if you have a laptop. If you don’t own one, you can still do well, but the work becomes much more strained. A tablet is much harder to work with, and many of the tools described below do not work properly on mobile devices. Please see me if you don’t have one.

Firefox and Chrome Dev Tools

Chrome is by far the most popular browser in the world, while Firefox is by far the most open. Both have highly developed developer tools with which you should familiarize yourself. As you learn more about web design, you’ll come to rely on these tools more and more. Follow these links for more about Firefox Dev Tools and Chrome’s version.

Atom Text Editor

You will be editing code in this class, and for that you need a text editor. If you already have one you love, stick with it; but if you’re new to code editing, you should use the class standard, Atom. Download Atom and, once you’ve read Chapter One of the Manual, go ahead and install the “atom-html-preview”, “open-in-browser” and “emmet” packages by navigating to Edit → Preferences → + Install. There are hundreds of other packages to install if you like.

Later, you will also want the “linter” and “linter-jshint” packages; you might as well install them now. You will also need “remote-edit” for your class project, in the second semester.


Almost all of my course materials are shared on Github, and we’ll be learning how to use the underlying git system over the course of the semester. If you want to make things easier on yourself, you can try using the Github desktop Client.


Rather than the enormously frustrating Blackboard discussion forums, we use the Slack platform for two-way communication. You can sign up for the Hacking History Slack team here – you will need to use your address to register. Signup is open for the first two weeks of the semester, after which I’ll close it down, so please register as soon as possible.

As the course is organized around a collaborative project, these conversations end up being fairly important, so it’s worth installing the Slack Desktop client and perhaps the iPhone or Android apps (I personally have removed Slack from my phone for now, despite finding it incredibly useful for about a year).

As you get more proficient at using Slack, you’ll appreciate the medium more and more. consider starting out by reading the official “What is Slack?” guide. Once you get the basic idea – what a channel is, how to tag people with @ or refer to channels with #, etc. – keep these basic tips in mind:

  • Remember that it’s easy to create and destroy channels, so feel free to create your own when you have a conversation that doesn’t necessarily concern the whole group, and will likely persist for a while.
  • Get used to the Slack syntax, which is similar to that used in other chat protocols, but includes extra features like code blocks. For longer code examples, it’s usually better to create a snippet instead.
  • Work effectively – don’t flip back and forth to slack as a way to procrastinate.
  • Be sparing in your use of @here and @channel – those are the equivalent of yelling in a public square. Sometimes you need to do it, but you shouldn’t be yelling all the time.
  • Use direct messages when you have to, but for the most part we’ll want to cultivate a habit of working in the open.
  • Remember that this team is an extension of the classroom. Treat each other (and me!) with respect and ocmpassion. The Civic Tech Code of conduct is a helpful reminder of how to act in this kind of environment.

FTP and/or SSH clients

You’ll need a way to move files between your laptop and the server. Atom will do much of this, but an SFTP client may be of use on certain rare occasions. I personally use the command line, sort of like this.


In the course of your research projects you will accumulate lots of sources, just as you would in a normal research project. These days, we find most of our sources on the web, but older techniques for managing sources – notecards & so forth – don’t integrate easily with this workflow. Zotero is a great bibliographic tool that will help you manage all of your references from your web browser, and will also let you easily drop them into your documents in Microsoft Word or LibreOffice. If you want to update a reference, or completely change the style of your citations (from MLA to Chicago Manual of Style, vice-versa, or into any of several hundred freely-available journal styles), you can do that, too, at the click of a button. You can also share references with each other or with others using Zotero groups. To get started:

  • Download Zotero. Be sure to download both the Zotero program and the connector for MS Word or Libreoffice/OpenOffice, depending on which you need. If you generally use another program, like Scrivener, you will need the RTF scanner. Make sure you also get the browser connectors for Chrome and Safari, if you use those browsers.
  • Read the documentation and/or watch the screencasts
  • flow like a ninja around all your citation needs.
  • Join the class bibliography group and please add your sources there.

Dropbox or alternative.

You will often need to share files with each other. For this a service like Dropbox is essential. Get it, use it, love it. If you’re uncomfortable with Dropbox’s (awful) security paradigm, consider using spideroak groups, or one of the many other competitors.

Coding resources

Most of the technical skills you’ll learn in this class you can teach yourself (that’s mostly how I did it). Here are just a few links to get you started; there are many, many other options: