GitHub for Cities

A city is the ultimate systems engineering challenge, which is what makes it so attractive to designers and engineers. As problem solvers, we are drawn to the complexity of city life and its many challenges.

Just a note: if you’ve never used GitHub, you might want to stop here and go read this introduction to what Git is. While I did write it for as non-technical of a reader as possible, this essay will make a lot more sense if you know what forks and pull requests are.

I think the challenge of building a better city is a perfect use for GitHub. The platform really excels in opening information, showing who contributed what and allowing anyone to jump in. GitHub for cities could open up everything from GIS data and official contact information to unofficial lists of volunteers and individuals with an interest in community projects. The crowdsourced nature of a GitHub repository seems like a great platform for launching community projects.

It just feels natural to me. In the tech community, we’re on GitHub every day, building little pieces of software that solve problems. We’re forking solutions to common issues and merging in fresh perspectives. We’re giving power to individuals while harnessing the collective power of collaboration. Why shouldn’t be doing the same with our cities?

We’re engineers, problem solvers who like to make things that work. Well. GitHub was designed for groups of people working together to make things that work well. With all it’s geek-factor, it’s also an incredibly powerful way to transparently store and collaboratively edit any type of information. Information that enables community projects shouldn’t be a stretch.

We can start with hard data. Statistics and fact like population and tax revenue pulled from open sources like the census and city offices could be stored as JSON for ease of use. On top of this data, the community at large can build visualizations and reports, a GitHub pages site built with Middleman or Jekyll that presents the data in an accessible way. Then we add a directory of markdown files that contain articles and abstracts—even research—based on of these reports. It becomes a open, transparent, collaborative store for community information.

Another directory contains proposals for projects and improvements, written as Markdown, of course. The best part, though, is the core of the GitHub community: issues, forks, and pull requests. Through a well planned issue-tagging system, any member of the community can suggest that an revision be made, request that a specific piece of information be added, or toss out an idea that might form the basis for a future proposal. But this is the power of GitHub: Anyone can suggest a change; anyone can make the change themselves.

The power to take matters into your own hands is only a fork away. By creating a copy of the entire community repository, any member of the community can go beyond a simple suggestion and make the edit themselves. That edit lives in a copy of the main project, but the two versions are linked to each other. If the edit adds value, a pull request lets the administrators that there are changes to merge with the main repository.

And that is where the GitHub advantage lies. If an administrator rejects the pull request, the edits still exist as a fork. This is grassroots collaboration at its most fundamental level. It’s theoretically accessible to anyone and puts ownership into the hands of everyone involved.

This GitHub for cities idea really seems to make a lot of sense, but if you—like me—are equal parts intrigued and skeptical, you can follow my efforts to get my city on GitHub. It promises to, at the very least, be an interesting experiment.


Firefox Was Eating My Cookies

Ok, so a while ago, I did a post called Firefox is Eating my Cookies. It was about how my cookies weren’t working in firefox. Well, after about a month of banging my head against my desk trying figure it out, I figured it out. The problem? AVG free. AVG is an amazing little antivirus, but it got a little over zelous with blocking “tracking cookies.” Apparently, it thought the cookies.sqlite file was a tracking cookie and was blocking websites from seeing it. Everything went back to normal as soon as I told it otherwise

Score one point for maddeningly elusive, yet incredibly simple solutions.

Firefox Is Eating My Cookies

*Note* This post refers to a problem I was having. “Was” being the operative word.  I’ve since fixed the problem. See Firefox Was Eating My Cookies for a post about that

Lately, I’ve been getting this annyoing feeling. I’m feeling unimportant. Websites no longer remember who I am. Gmail no longer whisks me straight to my inbox. Facebook no longer associates my face to my book. I was starting to think I might’ve done something to offend The Internets. But then, the awful truth hit me…

Firefox is eating my cookies. *dun dun DUN*

Apparently, this is a new problem. Someone I follow on twitter had the same thing and he fixed it by deleting a file called cookies.sqlite in the firefox appData folder. I tried that and it worked! My cookies were sticking and I was getting the online VIP treatment again. For three days.

Thee days, then firefox updated itself. Poof, the cookies are gone again. But it’s not like they’re gone gone. Firefox still shows them under the view cookies dialog. The websites just don’t see them. Maybe firefox is keeping them to itself in case it gets hungry… Whatever the reason, I hope it’s fixed soon.