Getting Started | Tasks for Beginners

Hello, Civic Hacking World!

First, to get the gist of what we’re working on, check out our list of projects to see what’s active. These are the kinds of initiatives you might eventually join. Then, read below to learn how you can hone the coding skills necessary to start hacking.

At any time, if you have questions, join our Slack and post a comment in the #general-topics thread.

Learn About GitHub

Much of our work takes place on GitHub. If you’re not familiar with it, you may want to take some time to get up to speed. Check out GitHub’s Tutorials.

For a higher-level overview of git, check out this 15-minute introduction. Once you get started, this cheat sheet might come in handy to remember key commands.

Open Some Data

Get Data Released

Check out Open San Mateo County to see what’s available in terms of local data. If you find something that’s missing, or out-of-date, contact the appropriate agency to politely let them know that they should release it. This might take some time and persistence, but you might also find that an agency is friendlier and more responsive than you could have imagined.

Improve Existing Data

Sometimes, an agency releases data in a form that isn’t archived and/or isn’t machine-readable. You can improve the world by correcting that. For example, Aaron (DC) created a web scraper to save the mayor’s schedule, which was posted daily but not archived, and then made a small site to display that historical data. Or, Liz (DC) created a script to pull prison population data out of PDFs posted monthly. Here is a list of common problems to look for.

For web scraping, some popular tools include Beautiful Soup for Python or Nokigiri for Node. For PDF extraction, Tabula can be a good place to start.

Visualize Data, or Make It Actionable

If you’ve found a dataset, but aren’t sure what to do with it, it can be fun to play around with it and find the stories within the data. Consider how to make that data more interesting and informative to the general public. For example, Chris (DC) visualized the distribution of funding for “at-risk" students in DC (code here). Chris also created a site to check your odds of finding a bike at a Bikeshare dock (code here).

If you’re interested in visualizations, D3 is a popular way to make a beautiful one using Javascript.

Make a Website Easier to Use

Sometimes, an agency provides an awesome service that’s difficult to access. In some cases, you can help that by creating an easier-to-use interface. For example, Emanuel (DC) created a really simple tool to request that Washington DC plant a tree at a certain address (code here).

Map Something

More tips coming soon!

Create a Twitter Bot

Building a Twitter bot is easier than you think, and it can be a great way to improve the visibility of some data while learning a bit of code. For example, Emanuel (DC) created a bot that tweets out new additions to the Washington DC Library’s catalog (code here).

You can find frameworks for Python, Ruby, and Node to make this easier for you.

Most of the above was graciously copied from the "Code for DC Getting Started"page.