Skip to content

Instantly share code, notes, and snippets.

View jgomo3's full-sized avatar
🏠
Working from home

Jesús Gómez jgomo3

🏠
Working from home
View GitHub Profile
@jgomo3
jgomo3 / datauri.html
Created March 26, 2013 17:03
Ejemplo de un archivo creado el cliente. Al visitar esta página automáticamente se presenta el diálogo de bajar el archivo.
<!DOCTYPE html>
<!--
http://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file
Ya que el API FileSave de HTML 5 no lo soportan todos los navegadores, use la
opción del Uri Content.
-->
<html>
<head>
<meta charset="utf-8">
<title>Data Uri, ejemplo</title>
@jgomo3
jgomo3 / req2CNE.py
Last active December 17, 2015 09:29
# Código que solo satisface el req 2
class CNEEnlacesParser(HTMLParser):
def __init__(self):
self.enlaces = []
def handle_starttag(self, tag, attrs):
dict_attrs = dict(attrs)
si el tag es un "a" y tiene como atributos "id"=="region_ref" y "href":
@jgomo3
jgomo3 / req3CNE.py
Created May 17, 2013 21:12
Un borrador de cómo puede analizarse la página del CNE con los resultados electorales con HTMLParser y obtener la parte de los resultados.
class ResultadosParser(HTMLParser):
def __init__(self):
self.estamos_en_el_div = False
self.tds = 0
self.candidato = {} # Un dict vacio
self.resultados = []
def handle_startag(self, tag, args): #
dict_args = dict(args)
@jgomo3
jgomo3 / new_aggregates.sql
Last active September 9, 2016 02:28
Example of hypotetical FIRST, SECOND and NTH Agregate Function
CREATE TEMPORARY TABLE object_with_cases
(
id int,
case int
);
INSERT INTO object_with_cases
(id, case)
VALUES
(3, 1)
@jgomo3
jgomo3 / consolidar.sh
Created May 17, 2017 18:20
Concatena todos los PDF de una carpeta
#!/bin/sh
# consolidar.sh
#
# 10 de junio de 2016
# Concatena a los pdf de la carpeta `Preliminares` los pdf
# correspondientes con el mismo nombre en la carpeta `Respuestas`
# y el resultado lo genera con el mismo nombre en la carpeta
# Consolidados.
#
@jgomo3
jgomo3 / schema_clone.py
Created June 7, 2017 18:39 — forked from rabbitt/schema_clone.py
PostgreSQL schema cloner (including data).
import psycopg2 as pg
from io import BytesIO
from collections import defaultdict
from contextlib import contextmanager
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT, ISOLATION_LEVEL_READ_COMMITTED
READ_COMMIT = ISOLATION_LEVEL_READ_COMMITTED
AUTO_COMMIT = ISOLATION_LEVEL_AUTOCOMMIT

Keybase proof

I hereby claim:

  • I am jgomo3 on github.
  • I am jgomo3 (https://keybase.io/jgomo3) on keybase.
  • I have a public key whose fingerprint is E8CA 7677 6DF0 F87E 23D7 21DA BE66 27F0 D1C6 243A

To claim this, I am signing this object:

@jgomo3
jgomo3 / explode.rb
Last active February 28, 2018 00:03
Returns the string after resolving all the references the strings do
# Given a table of strings, which could reference any other string in the table,
# returns the string after resolving all the references.
# Example:
# table = {a: 'ツ', b: '(%{a})', c1: '¯\_', c2: '_/¯', o: '%{c1}%{b}%{c2}'}
# explode_key(table, :o) => ¯\_(ツ)_/¯
# It doesn't allow circular references.
def explode_key(keys_table, key)
partial_string = keys_table[key]
allowed_loops = keys_table.keys.length # [1]
@jgomo3
jgomo3 / delete-from-repo.md
Created March 12, 2018 14:08 — forked from scy/delete-from-repo.md
How to delete a file from a Git repository, but not other users' working copies

How to delete a file from a Git repository, but not other users' working copies

Suppose you have, by mistake, added your IDE's project folder (you know, these .idea folders with all kinds of local paths and configuration data and settings in it) to the Git repository of your project. (We're talking about a whole folder here, but the same rules apply to individual files as well.)

Of course, you only realize that two days after the fact and have already pushed it, and your colleagues have already pulled it. They use the same IDE as you do, so whenever they change a setting or fix paths, they can either

  • commit that, causing nasty merge conflicts for you and others or
  • ignore the changes and carry around a modified file until the end of time without ever committing it.

Why .gitignore won't help

@jgomo3
jgomo3 / smash_hobbits.clj
Created March 16, 2018 03:03
Chapter 3 excercise for the "Clojure for the Brave and True" -- For hitting hobbits
(ns clojure-noob.smash-hobbits
(:require [clojure.string :as str]))
(def asym-hobbit-body-parts [{:name "head" :size 3}
{:name "left-eye" :size 1}
{:name "left-ear" :size 1}
{:name "mouth" :size 1}
{:name "nose" :size 1}
{:name "neck" :size 2}
{:name "left-shoulder" :size 3}