Skip to content

Instantly share code, notes, and snippets.

@arturoherrero
arturoherrero / about.md
Created August 17, 2011 14:48 — forked from jasonrudolph/about.md
Programming Achievements: How to Level Up as a Developer

Programming Achievements: Suggestions from the GitHub Community

Last week, I published some ideas for leveling up as a developer. I put it on GitHub as a gist, and I encouraged people to modify the list to their liking:

Feel free to fork it and add more achievements. (Make sure they're measurable.)

Or, fork it and mark off the achievements you've already conquered. You might even flag the one that you're currently working on.

So far, more than 270 developers have forked this gist. Many devs have customized their forks as personal to-do lists (e.g., crossing off past achievements and highlighting the goal they're currently pursuing). A number of people have also added new achievements to their forks, indicating additional experiences that they

@arturoherrero
arturoherrero / gist:1720240
Created February 1, 2012 23:55
Scala micro test lib
//@kikito's micro test lib, simply awesome! http://stackoverflow.com/q/7866079/462015
class AssertException(msg: String) extends Exception(msg: String)
def assertThrows[E](f: => Unit)(implicit eType:ClassManifest[E]) {
try {
f
} catch {
case e: Exception =>
if (eType.erasure.isAssignableFrom(e.getClass)) { return }
@arturoherrero
arturoherrero / gist:1726395
Created February 2, 2012 23:17
Los lenguajes de la JVM

Los lenguajes de la JVM

Durante mucho tiempo Java ha sido conocido simplemente como un lenguaje de programación. Sin embargo, hoy en día al mencionar Java también pensamos en toda una plataforma de desarrollo. Actualmente la Java Virtual Machine (JVM) soporta más de 200 lenguajes de programación diferentes.

En esta charla haré un recorrido por 4 lenguajes diferentes en los que aprenderemos distintos paradigmas de programación. Comenzamos con Java, un lenguaje que apenas necesita introducción; rápidamente llegaremos a Groovy, que partiendo de la sintaxis de Java crea un nuevo lenguaje dinámico; el siguiente será Scala, que mezcla el paradigma de orientación a objetos y el paradigma funcional; y por uĺtimo Clojure, LISP en la JVM!

@arturoherrero
arturoherrero / gist:2765247
Created May 21, 2012 23:02
Universal Principles of Design
80/20 Rule -> La regla del 80/20
Accessibility -> Accesibilidad
Advance Organizer -> Organizador previo
Aesthetic Usability Effect -> La estética en la facilidad de uso
Affordance -> Adecuación
Alignment -> Alineación
Iteration -> Iteración
Law of Prägnanz -> La ley de Prágnanz
Layering -> Organización de la información por capas
Legibility -> Legibilidad
@arturoherrero
arturoherrero / DateEqualsHamcrestSpec.groovy
Last active October 10, 2015 19:58
Testing Utils. Extend the default assertion methods inherited from the JUnit framework's TestCase and GroovyTestCase class
@Grab(group='org.hamcrest', module='hamcrest-all', version='1.3')
@Grab(group='org.spockframework', module='spock-core', version='0.7-groovy-2.0')
import static org.hamcrest.Matchers.not
import org.hamcrest.BaseMatcher
import org.hamcrest.Description
import spock.lang.Specification
class DateEqualsHamcrestSpec extends Specification {
def "test date equals"() {
@arturoherrero
arturoherrero / nexus-availability.sh
Last active December 11, 2015 21:48
Check the availability of Nexus X devices.
#!/usr/bin/env bash
# Check the availability of Nexus X devices.
#
# Install wget from Homebrew:
# $ brew install wget
#
# Setup OS X Mountain Lion to send mails from Terminal:
# $ sudo mkdir -p /Library/Server/Mail/Data/spool
# $ sudo /usr/sbin/postfix start
@arturoherrero
arturoherrero / issuudownload.sh
Created February 19, 2013 23:31
Download issuu documents. Credits: http://www.kurtsik.org/blog/?p=1068
#! /bin/bash
# Script para descargar los documentos de issuu.com como imagenes JPG
# y convertirlos a PDF.
# kurtsik-2011
#
TMP_DIR="/tmp/issud/"
TMP_FILE="issuufile"
KONT=1
I_MAGICK=0

Command line tools every developer should know

Prior reading

  • The Unix philosophy, specially the "Make each program do one thing well" [1]

Basic

  • File and directory navigation/manipulation (ls, cd, mkdir, rm, rmdir, touch, cp, mv)
  • ln/unlink/readlink
@arturoherrero
arturoherrero / update_git_repositories.sh
Created August 13, 2013 15:47
Update Git repositories
for d in *; do (cd $d && git pull); done