Skip to content

Instantly share code, notes, and snippets.

### Keybase proof
I hereby claim:
* I am kleinmatic on github.
* I am kleinmatic ( on keybase.
* I have a public key whose fingerprint is E9E6 7198 3AD8 65C0 CFA7 90F6 CA10 B90D 25CD 068D
To claim this, I am signing this object:
"color_scheme": "Packages/Colorsublime - Themes/Monokai-Midnight.tmTheme",
"translate_tabs_to_spaces": "true",
"tab_size": 2,
"hot_exit": false,
"remember_open_files": false,
"font_face": "Consolas",
"font_size": 12,
"ignored_packages": [ "Vintage" ]
# This configuration file is provided on an "as is" basis,
# with no warranties or representations, and any use of it
# is at the user's own risk.
user www-data;
worker_processes 4;
pid /run/;
events {
worker_connections 768;

ProPublica News Applications Fellow

We’re looking for the next great News Applications Fellow to work with ProPublica’s world-class news applications desk.

To give you a sense of the work you’ll be doing, here are examples of what your predecessors have done: Our first Fellow built our Nursing Home Inspect app as well as the Pipeline Tracker, which is as far as we know the first news application and reported story that share a single byline. The second Fellow helped build Free the Files, one of the most ambitious journalistic crowdsourcing projects ever, and completely revamped our hugely popular [Dollars

kleinmatic / Makefile
Last active April 18, 2017 19:26
Github Pages workflow via a simple Makefile
# Put this in the root directory of your repository in a file called
# "Makefile". When you're ready to re/publish, just open terminal, cd
# to the directory containing your repo and type "make publish". As
# you can see, it's just a bunch of commands so you can easily add
# more steps to this workflow. Idea by Jeff Larson
git checkout gh-pages
git merge master
git push origin gh-pages
kleinmatic / app.rb
Created April 16, 2013 18:40
How we serve static graphics that can't fit in our CMS using sinatra. We have a layout file that pulls in the header and footer from the main site (and uses content_for to populate the page title and stuff like that.) You are never more than 15 minutes away from implementing this.
require 'sinatra'
require 'sinatra/content_for'
set :static, true
Dir.glob("#{:views}/*").each do |file|
next if file =~ /layout.*/
url = File.basename(file, ".erb")
get "/#{url}" do
erb url.to_sym
kleinmatic / lightning-bolt.txt
Created December 6, 2012 15:09
Lightning Bolt Emojicon
  • don't blow your deadline
  • don't be wrong
kleinmatic / gist:3105703
Created July 13, 2012 16:07 — forked from rmurphey/gist:3105199
Open Conference Expectations

Open Conference Expectations

This document lays out some baseline expectations between conference speakers and conference presenters. It was prepared by three experienced conference speakers -- one of whom has also organized conferences -- and influenced by many others. Its goal is to let speakers know what they might reasonably expect from a conference, in exchange for the hours we expect them to spend researching, preparing, and rehearsing, and the time they will spend away from home and family.

We believe that all speakers should reasonably expect these things, not just speakers who are known to draw large crowds, because no one is a rockstar but more people should have the chance to be one. We believe that conferences are better -- and, dare we say, more diverse -- when the people speaking are not just the people who can afford to get themselves there, either because their company paid or they foot the bill themselves.

These expectations should serve as *a starting point for discussion between sp

kleinmatic /
Created March 26, 2012 16:03
ProPubNerd Gists

Open Source code doesn’t always come in big complex packages. At ProPublica we sometimes share small, simple snippets of using GitHub "Gists." These Gists range from single-byte file delimiters to an entire JavaScript framework for making stepper graphics. They rarely have documentation and don’t even always have names, but they can be super-useful. Here are some we’ve shared over the past few years: