Los 7 errores más comunes de un líder técnico
He tenido la fortuna de haber liderado proyectos multi-millonarios para compañías en la lista Fortune 100; proyectos que han tenido un impacto positivo en millones de personas y proyectos que han fracaso catastróficamente. Precisamente, es de esos últimos proyectos de...
El modelo PaaS (Platform-as-a-Service o Plataforma como servicio)
En el modelo de plataforma como servicio (PaaS), el vendedor ofrece un entorno de desarrollo para los desarrolladores de aplicaciones, quienes desarrollan software y ofrecen esos servicios a través de la la plataforma del proveedor. El proveedor normalmente desarrolla...
El modelo SaaS (Software-as-a-Service) o Software como servicio
Tradicionalmente, el método más común de adquisición de software ha sido a través de licencias. Principalmente consiste en que uno, como cliente, debe instalar el software en una computadora propia o en una red, y opcionalmente se ofrece un contrato de mantenimiento...
Qué es el cloud computing (computación en la nube)?
La definición de la computación en la nube o cloud computing se basa en 5 atributos: multiusuario (recursos compartidos), escalabilidad masiva, elasticidad, pagas por lo que usas, y auto-abastecimiento de recursos. groupMultiusuario A diferencia de los modelos...
Aplicaciones para programar en Mac
Toma mi curso de Introducción a C completamente GRATIS! A continuación te presento una lista de mis aplicaciones favoritas, que utilizo día con día para para programar en Mac. Cabe resaltar que ésta lista de herramientas está hecha con programadores web en mente. code...
Los lenguajes de programación más fáciles de aprender
De una vez advierto que éste es un artículo subjetivo, existen muchísimas opiniones al respecto. Un millón de personas pueden estar de acuerdo conmigo, y otro millón pueden pensar que estoy completamente equivocado. Sin más preámbulo, en mi opinión éstos son los...
Aprende a escribir un troyano en Python
Toma mi curso de Introducción a C completamente GRATIS! En éste tutorial, te voy a enseñar a como escribir los cimientos de una herramienta de administración remota (RAT) en Python. Antes de empezar el tutorial, asegúrate que tienes instalado Python 2.7.x, en otras...
Puertos bien conocidos, puertos registrados y puertos efímeros
Cuando escribes tus primeras aplicaciones de tipo cliente-servidor, es muy común perder dedicarle mucho tiempo a pensar que puerto utilizar para que tu servidor acepte conexiones. En éste artículo te voy a explicar brevemente los diferentes puertos que existen en tu...
La diferencia entre 0.0.0.0 y 127.0.0.1
Cuando incursionas en el mundo de las redes, invariablemente en algún momento te encontrarás con direcciones IP "especiales" o "privadas" que tienen un significado diferente dependiendo del contexto. Una confusión muy común entre principiantes es asumir que la...
Captura de banderas con curl, telnet y netcat
La técnica más fundamental durante la enumeración de servicios es la captura de banderas o banner grabbing. Ésta técnica consiste en establecer conexiones con servicios remotos, y analizar la respuesta que éstos servicios nos regresan. Aunque no lo parezca, la...