Skip to content

Instantly share code, notes, and snippets.

View luque's full-sized avatar

Rafael Luque luque

  • http://www.osoco.es
  • Madrid, Spain
View GitHub Profile
@luque
luque / Superando la Paradoja Blub en el Desarrollo Web
Last active September 30, 2015 03:47
Propuesta de charla Codemotion: "Superando la Paradoja Blub en el Desarrollo Web"
En su ensayo "Beating the Averages" [1], Paul Graham describe la
"Paradoja Blub" como el fenómeno según el cual, un programador
habituado a un determinado lenguaje de programación, difícilmente
reconoce la superioridad de un lenguaje diferente. El lenguaje
habitual siempre es lo suficientemente bueno porque precisamente, el
programador acaba pensando en los términos de dicho lenguaje. De
hecho, las características que se encuentran en otros lenguajes y que
no existen en el lenguaje habitual, tienden a considerarse extrañas e
innecesarias porque no se comprenden.
@luque
luque / Variation of Greenpun's Tenth Rule
Created July 31, 2012 19:19
Variation of Greenpun's Tenth Rule
Any modern, innovative and worth learning framework or programming
language implements a subset of Smalltalk's features but lacks its
vision and design principles.
@luque
luque / install.sh
Created October 26, 2012 09:29 — forked from clemherreman/install.sh
How to: install Hubot on Debian Squeeze
# 1. Install nodejs and npm:
sudo apt-get update && apt-get install git-core curl build-essential openssl libssl-dev python
git clone https://github.com/joyent/node.git
cd node
# 'git tag' shows all available versions: select the latest stable.
git checkout v0.9.3
@luque
luque / Exploiting Grails
Created May 31, 2013 07:34
Exploiting Grails
Demostraremos diferentes vectores de ataque que aprovechando una simple e "inofensiva"
vulnerabilidad XSS nos permitirán acceder a la webcam del visitante, controlar su equipo
o incluirlo en una botnet.
Tras este "shock" inicial mostraremos las soluciones existentes y la forma de integrar
la seguridad como un elemento más en el ciclo de desarrollo de aplicaciones web.
Usaremos Grails como framework de ejemplo, aunque las ideas presentadas son aplicables a
cualquier framework de desarrollo web.
@luque
luque / YAUS: Yet Another URL Shortener
Last active July 19, 2018 10:32
YAUS: Prueba de programación web para selección de candidatos en OSOCO
YAUS - Yet Another URL Shortener
================================
Con el fin de poder evaluar tus capacidades técnicas como desarrollador de software, te proponemos el
siguiente ejercicio práctico de programación web. El motivo es que antes que CVs, recomendaciones en
LinkedIn y bonitos discursos repletos de acrónimos en una entrevista, lo que realmente nos importa es
tu capacidad para resolver problemas y la calidad del código que escribas.
Se trata de un ejercicio lo suficientemente realista como para permitirnos evaluar tus cualidades en
cada una de las capas, tecnologías y destrezas que intervienen en el desarrollo de aplicaciones web:
@luque
luque / Pharo Codemotion 2014
Last active October 25, 2017 13:16
Pharo: Programando en un entorno de objetos vivos.
* ¿Por qué debería interesarme Pharo, o incluso dedicar algo de tiempo a aprenderlo?
Porque Pharo es el nuevo lenguaje "cool" en el campo de los lenguajes orientados a objetos.
* ¿Qué lo hace un lenguaje tan especial?
Pharo es un lenguaje potente y elegante. Sin constructores, ni declaraciones de tipos, ni tipos primitivos. Es un lenguaje orientado a objetos puro, dinámico y sencillo, cuya sintaxis se puede escribir en una servilleta. Pharo consiste completamente en objetos y paso de mensajes, pero sobre todo en un entorno de programación vivo que coloca a los objetos en su centro.
* ¿Qué ventajas tiene programar en un entorno de objetos vivos?
@luque
luque / chaining-asynchronous-tasks
Created October 24, 2014 10:27
Chaining a variable number of asynchronous tasks with JQuery promises (http://jsfiddle.net/qopu5vLL/)
$(function() {
function doChainedTasks(tasks) {
var promise = tasks[0]();
var results = [];
$.each(tasks.slice(1), function(i, task) {
promise = promise.then(function(value) {
results.push(value);
return task();
});
Gofer it
url: 'http://smalltalkhub.com/mc/PharoExtras/MorphExamplesAndDemos/main'
username: ''
password: '';
package: 'MorphExamplesAndDemos';
load.
BouncingAtomsMorph new openInWorld.
@luque
luque / Literate Programming Resources
Created February 1, 2015 10:14
Some resources about LP
* Literate Programming to Enhance Agile Methods: http://www.cs.up.ac.za/cs/vpieterse/pub/XP2004_LP.pdf