Datos al 21 de Agosto de 2015, extraídos del repositorio de CompraNet
Sitio: https://sites.google.com/site/cnetuc/contrataciones
Año | Número de procedimientos |
---|
require 'git' | |
require 'logger' | |
require 'active_support/all' | |
g = Git.open(ENV['PWD'], :log => Logger.new(STDOUT)) | |
g.log(100).each do |commit| | |
actual = commit.author.date | |
future = actual + 6.months | |
%x(git filter-branch -f --commit-filter ' |
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 10px sans-serif; | |
} | |
.axis path, | |
.axis line { |
Datos al 21 de Agosto de 2015, extraídos del repositorio de CompraNet
Sitio: https://sites.google.com/site/cnetuc/contrataciones
Año | Número de procedimientos |
---|
<html> | |
<head> | |
<meta charset="UTF-8"/> | |
<title>BubbleTree FONDEN (México)</title> | |
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script> | |
<script type="text/javascript" src="http://openspending.org/static/openspendingjs/lib/vendor/jquery.history.js"></script> | |
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> | |
<script type="text/javascript" src="http://openspending.org/static/openspendingjs/lib/vendor/vis4.js"></script> | |
<script type="text/javascript" src="http://openspending.org/static/openspendingjs/lib/vendor/Tween.js"></script> | |
<script type="text/javascript" src="http://openspending.org/static/openspendingjs/lib/vendor/bubbletree/2.0/bubbletree.js"></script> |
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.
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
import sys | |
import getopt | |
import csv | |
import random | |
def parse_csv(file): | |
with open(file) as csvfile: | |
csvreader = csv.reader(csvfile) | |
data = [] | |
target = [] |
Influenced by The Open Source Data Science Masters
Multivariable Calculus. MIT OCW.
Multivariable calculus. Khan Academy.
Linear Algebra. MIT OCW.
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 |