Skip to content

Instantly share code, notes, and snippets.

View defvol's full-sized avatar

Rodolfo Wilhelmy defvol

View GitHub Profile
#!/usr/bin/env bash
apt-get -y update
apt-get -y install build-essential zlib1g-dev libssl-dev lib64readline-gplv2-dev libyaml-dev
cd /tmp
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
tar -xvzf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125/
./configure --prefix=/usr/local
make
make install
@defvol
defvol / geopolitical-polygons.markdown
Last active August 29, 2015 13:57
A demo to retrieve geospatial and geopolitical info by drawing overlays on top of Google Maps (v3).

Geopolitical polygons

A demo to retrieve geospatial and geopolitical info by drawing overlays on top of Google Maps (v3).

screenshot

A Pen by Rod Wilhelmy on CodePen.

License.

@defvol
defvol / postgis_wizardry.md
Last active August 29, 2015 13:58
Brujería en PostGIS

¿Cuál es la distancia en KM entre el centroide de un municipio y otro?

Distancia entre los municipios 'Mexicali' y 'Ensenada':

SELECT ST_Distance(ST_Centroid(a.the_geom_webmercator), ST_Centroid(b.the_geom_webmercator)) / 1000
FROM los_municipios a, los_municipios b
WHERE a.nombre='Mexicali' AND b.nombre='Ensenada'
@defvol
defvol / wrangler.md
Last active August 29, 2015 13:59
Stunts of a data wrangler

MongoDB dumps to CSV

➜  mongodump --host hanso.mongohq.com:31337 --db app31337 -u heroku -p0xDEADBEEF
➜  cd dump/app31337
➜  bsondump comments.bson > comments.json

MongoDB dumps have some particularities such as ObjectId("") and Date("") field values, which are not valid in JSON and will break most of the parsers out there.

@defvol
defvol / ckanops.md
Last active August 29, 2015 14:03
ALL YOUR DATASETS ARE BELONG TO US (deprecated, see https://github.com/mxabierto/ckanops)

ckanops.py

ALL YOUR DATASETS ARE BELONG TO US

Overview

August 22, 2014

A collection of everyday tasks on CKAN.

@defvol
defvol / tweet_to_venue.rb
Last active August 29, 2015 14:03
Find the Foursquare venue of a tweeted check-in
require 'rubygems'
require 'csv'
require 'net/http'
require 'open-uri'
require 'nokogiri'
# Follows redirects and gets final URL
def get_final_url(uri_str, limit = 10)
raise ArgumentError, 'Too many HTTP redirects' if limit == 0
@defvol
defvol / syllabus.md
Last active August 29, 2015 14:07
Masters Program in Data Wizardry: an open source syllabus
@defvol
defvol / 5_principios_datos_abiertos.md
Last active August 29, 2015 14:10
5 principios para maximizar el uso de los datos abiertos

5 principios para maximizar el uso de los datos abiertos

Utilizar datos de gobierno es frustrante; lo digo por experiencia propia.

Empezamos navegando un laberinto de portales y menús crípticos para llegar a un listado de ligas a conjuntos de datos que apenas funcionan y cuentan con descripciones vagas. Después de una larga descarga de cientos de MB y algunos GB nos damos cuenta que el archivo sólo abre bajo cierto sistema operativo o con cierto software propietario. Aún pasando estas barreras, seguro nos encontraremos con datos inconsistentes y sin estructurar que complicarán el trabajo a cualquier usuario.

Este escenario es común en las iniciativas de datos abiertos, a diferentes niveles, idiomas, y latitudes. Y es por esto que en la Iniciativa de Datos Abiertos de México nos propusimos definir principios básicos que sirvan de guía para abrir datos de calidad, es decir, datos en su mejor estado para ser aprovechados por la sociedad.

A continuación les presentamos 5 de estos pr

@defvol
defvol / git-aprende.md
Last active August 29, 2015 14:14
Draft de taller "Github para equipos ágiles"

Objetivo

Al final del taller tendrás claros los fundamentos de Git y Github, y habrás hecho tu primera contribución a un proyecto comunitario.

Contenido

  1. (05m) Intro
  2. (15m) Git
  3. (15m) GitHub
  4. (15m) Demo comunitario
  5. (10m) Q&A
@defvol
defvol / pre-abrelatam.md
Last active August 29, 2015 14:23
Codeando México antes y después del primer ABRELATAM

La historia de una organización antes y después del primer ABRELATAM

Octubre 2012

Es de locos creer tanto en una idea. Una que te obsesiona y te hace dejar tu trabajo. Que te quita horas de sueño, y hace que no escuches consejos.

Y es más complicado cuando eres nuevo. Si vienes de otra ciudad, de otro sector, y de otro perfil.

Y déjenme decirles que tengo una larga historia con las ideas. Con el tiempo he aprendido a callar estas voces, que en algún momento de mi vida personal fueron una tortura, y en algún momento de mi vida profesional fueron el “café de cada día”; a tal grado que las apodé “ideas de starbucks”, cuando el boom startup-ero brotaba en Monterrey y en México hace ya varios años.