/howto

How To Do Things

How To Do Things With Computers

Simple guides to foundational tech tasks for Code for America projects.

The guides here serve two purposes:

  1. Code for America software documentation should link here for common tasks like setting up a dev environment or framework. We prefer a tightly-edited, central collection of the most common tasks to everyone re-writing their own versions.
  2. Guides here should be normative, describing the simplest, lowest-friction ways of getting common things done. If your app or library doesn’t work with the directions here, consider whether you can modify your app so that it works rather than making a change to a guide.

Current Guides

  • Python Virtualenv, an isolated working copy of Python which allows you to work on a specific project without worry of affecting other projects.
  • Ruby, for the Ruby programming language and its version manager to install, manage, and work with multiple ruby environments.
  • Node.js, for the Node server-side Javascript framework.
  • Local PostgreSQL, for local installation of the open source object-relational database system.
  • Jekyll, a static website builder that runs Github Pages.
  • Persona, an identity service from Mozilla for building app login/logout.
  • Build Tools, for core software development tools Make and GCC needed by many downstream libraries and installation processes.
  • Basic Shell Commands, for a set of essential commands to use on command line.
  • Discussing Things Using GitHub Issues, a short video on how to use GitHub Issue for discussion (no coding needed!)
  • How to make a good README, a simple guide to making a good README file for your project.
  • Writing good GitHub Issues, how to write good GitHub issues that are clear and accessible to new contributors.

Future Guides

Suggest new guides in the codeforamerica/howto Github repository.

Write code. Not too much. Mostly procedural.