/glossary

A glossary of common terms thrown around at the Open Gov Hack Night.

MIT LicenseMIT

Civic Hacking - Glossary

Editing This Document

This document is formatted using Github-Flavored Markdown. This file, README.md, is formatted using Markdown as indicated by the ".md" extension. "Markdown allows you to write using an easy-to-read, easy-to-write plain text format, which then converts to valid HTML for viewing on GitHub." Markdown is also used for formatting Wiki pages in Github repositories.

Prose.io is a clean document editor that edits documents you have access to through Github. Visit the Prose.io page, authorize access to your Github account, and then click on the chi-civic-hacking-howto group link on the right side. Choose to view this project, glossary, and then open README.md.

Once in Prose.io, you can use the formatting bar at the top to add links, insert images, apply text formatting, etcetera. On the right side of the page, you should see an icon that looks like an eye, which will show you a preview of this file so far. Clicking on the icon that looks like an old-fashioned disk will save your changes.

When saving your changes, write a short sentence about what you changed as the commit message (it will prompt you).

For more information about writing on Github, dive into the help here. For more basic information about using Markdown, github and daring fireball have great reference guides.

What's The Open Gov Hack Night?

The Chicago Open Gov Hack Night is a unique event that brings together "passionate folks working at the intersection of open government, cities, and technology. This is an evening of civic tech hacking, learning, and hanging."

The Open Gov Hack Night, organized by civic tech group Open City, is for those who want to:

  • get work done on civic projects
  • start a new project, or find one to join (non-coders very welcome!)
  • bounce ideas and get help from tech and gov experts
  • learn about open data, smart cities, and open government

For more information on the event itself, and to RSVP, visit the main web site.

You can find a listing of projects that started at previous hack nights on the website, and a listing of people who have contributed to those projects. The projects listing page allows you to add your project to the list, as long as it's hosted on Github. For example, this glossary project is listed there.

How Can I Talk The Talk?

The Hack Night attracts a lot of people who understand the power of software development but wouldn't call themselves software developers. For many, the ideas of civic apps and open data are powerful motivators to learn to program. In order to interact with developers at the event, and to understand what's being said, there is a core vocabulary that developers speak fluently but is opaque to the uninitiated.

Not content to let this movement pass them by, some of these pre-developers hatched the scheme to create a glossary to define and give context to the terminology of civic app development.

The Lingo

Civic Hacking, Civic Tech

Open Source, Open-Source Software (wikipedia)

git, GitHub (wikipedia, main site)

GIS, Geographic Information System (wikipedia)

  • FIXME: need description

API, Web API, REST API (wikipedia)

  • API is an acronym for Application Programming Interface. When the term is tossed around at the Hack Night, typically it is meant as a Web API. Wikipedia says that an API "specifies how some software components should interact with each other." The Wikipedia definition leads to more alienating terminology to beginners, so perhaps a more effective way to understand API is to see some examples of commonly used APIs.
  • Google Maps API
    • FIXME: need description, example URL, link to project that uses it
  • Github API
    • FIXME: need description, example URL, link to project that uses it
  • Facebook Graph API
    • FIXME: need description, example URL, link to project that uses it
  • Twitter API
    • FIXME: need description, example URL, link to project that uses it

Repo, Repository (wikipedia)

  • Repo is the more commonly used of the two, and is simply a shortened version of "repository". According to Wikipedia,

A repository is a concept from revision control that refers to a data structure, usually stored on a server, that contains, among other things:

  • A set of files and directories.
  • Historical record of changes in the repository.
  • A set of commit objects.
  • A set of references to commit objects, called heads.
  • FIXME: need examples

Version Control, Revision Control, Software Version Control (wikipedia)

  • FIXME: need description

Scraping, Screen Scraping, Web Scraping, Data Scraping (wikipedia)

  • FIXME: need description, example, point to existing projects that do this

Data Portal

File Formats

  • JSON (wikipedia)
  • FIXME: need description, example
  • XML (wikipedia)
  • FIXME: need description, example
  • CSV (wikipedia)
  • FIXME: need description, example

Programming Languages

  • JS, JavaScript, ECMAScript (wikipedia, Mozilla Developer Network)
  • FIXME: need description, example
  • Ruby (wikipedia, main site)
  • FIXME: need description, example
  • Python (wikipedia, main site)
  • FIXME: need description, example
  • VBA, Visual Basic for Applications (wikipedia)
  • FIXME: need description, example
  • HTML (wikipedia)
  • FIXME: need description, example
  • CSS (wikipedia)
  • FIXME: need description, example
  • SQL (wikipedia)
  • Often pronounced "see-kwill" or spelled out as "S-Q-L", this is an acronym for Structured Query Language. It's a standard language used for working with databases like SQLite, MySQL, PostgreSQL, Microsoft SQL Server, and others.
  • FIXME: need example

Visual Mapping, GIS Programs

Databases

Internet, Networking

  • DNS, Domain Name System (wikipedia)
  • FIXME: need description, example
  • Domain, TLD, Top-Level Domain (wikipedia)
  • FIXME: need description, example
  • HTTP, HyperText Transfer Protocol (wikipedia)
  • FIXME: need description, example
  • FTP, File Transfer Protocol (wikipedia)
  • FIXME: need description, example
  • IRC, Internet Relay Chat (wikipedia)
  • FIXME: need description, example
  • 404 (wikipedia)
  • FIXME: need description, example

Data Processing