Cómo explicarle a un niño de 6 años los Closures de Javascript

Recordando una clase de programación que tuve en la escuela, donde me era complicado explicar el tema a alguien que no sabía programación, llegué a esta respuesta en StackOverflow de como una gran imaginación puede ayudar a explicar cosas complicadas hasta a niños pequeños, les dejo la respuesta:

Había una vez:

Una princesa…

function princess() {

Ella vivía en un mundo maravilloso lleno de aventuras. Ahí conoció a un carismático príncipe, montó sobre un unicornio todo el mundo, combatió dragones, platicó con animales y realizó muchas otras cosas fantásticas.

    var adventures = [];

    function princeCharming() { /* ... */ }

    var unicorn = { /* ... */ },
        dragons = [ /* ... */ ],
        squirrel = "Hello!";

Pero ella tiene que regresar siempre a su aburrido mundo lleno de rutinas y «adultos».

    return {

Y ella casi siempre les platicaba sobre sus fantásticas aventuras como princesa.

        story: function() {
              return adventures[adventures.length - 1];
        }
    };
}

Pero todo lo que ellos ven es a una pequeña niña…

var littleGirl = princess();

… que cuenta historias sobre magia y fantasía.

littleGirl.story();

Y aunque los adultos conozcan a las verdaderas princesas, ellos nunca creerán en los unicornios y dragones por que ellos nunca los podrán ver. Los adultos dicen que ellos solo existen dentro de la imaginación de la niña.

Pero nosotros conocemos la verdad: que la pequeña niña con la princesa dentro…

… es realmente una princesa con una pequeña niña dentro de ella.

 

Como usar las tarjetas de crédito (Opinión)

Según Wikipedia una  «La tarjeta de crédito es un instrumento material de identificación del usuario, que puede ser una tarjeta plástica con una banda magnética, un microchip y un número en relieve. Es emitida por un banco o entidad financiera que autoriza a la persona a cuyo favor es emitida, utilizarla como medio de pago en los negocios adheridos al sistema, mediante su firma y la exhibición de la tarjeta. Es otra modalidad de financiación, por lo tanto, el usuario supone asumir la obligación de devolver el importe dispuesto y de pagar los intereses, comisiones bancarias y gastos pactados.» Continuar leyendo «Como usar las tarjetas de crédito (Opinión)»

Día 100 de Enrique Peña Nieto

En estas elecciones presidenciales no hubo mucho de donde elegir, nadie tenía un «Buen plan» de desarrollo. Considero que no es importante lo que pasó si no lo que podemos revisar ahora.

Gracias a ADNPolítico podemos revisar avances del plan de nuestro presidente Enrique Peña Nieto, podemos revisarlo en su sitio llamado Promesómetro <http://www.adnpolitico.com/promesometro>.

En mi opinión va bien, de sus 100 días de 2091 (4.78%) lleva cumplidas 17 promesas de 363 (4.68%) que aunque no va un nada retrasado puedo ver que tiene 50 propuestas en desarrollo lo que lo hace ir bien.

 

Firebird y VB.Net

En este post les hablaré un poco sobre la relación de estos dos elementos que aunque muchas cosas vienen en el Intenet, no deja de ser una ayuda encontrar todo junto.

Hablamos de Firebird refiriéndonos a la Base de datos Open Source <http://www.firebirdsql.org/> y su conector para .Net <http://www.firebirdsql.org/en/net-provider/>

La instalación del servidor de bases de datos se debe adaptar a tus necesidades, es decir si lo quieres en el sabor Classic, SuperClassic o SuperServer, las diferencias están muy bien marcadas en la página de Firebird.
La instalación del componente es igual de sencilla, solo es cuestión de descargarla e instalar. Continuar leyendo «Firebird y VB.Net»

FTP modo Pasivo bloqueado mediante IPTables

Recientemente tuve este problema al bloquear el Internet en la empresa donde trabajo, y es que cuando uno intentaba conectarse a un servidor FTP si iniciaba sesión, pero no podían leer los directorios.

Esto sucede ya que en una conexión FTP no solo se usa el puerto 20 o 21 para la transmisión de datos, si no se usan otros adicionales aleatorios.

La solución es cargar los módulos ip_conntrack_ftp e ip_nat_ftp mediante los comandos

# /sbin/modprobe ip_conntrack
# /sbin/modprobe ip_conntrack_ftp
# /sbin/modprobe ip_nat_ftp
Verificamos que esté funcionando recibiendo unos valores con este comando:
lsmod | grep conntrack_ftp

Cargamos una regla en el IP Tables para que permita esa conexión

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Con esto el problema quedó resuelto.