Abstract/Concrete Inheritance Model in AngularJS

In a previous post I showed how to create a “classic” inheritance model in AngularJS using directives. This time I will show another inheritance model: the abstract/concrete.

In OOP, an abstract class cannot be instantiated, it serves only to provide common properties and functionality to child classes. In Angular, we have to make an analogy and define that an abstract directive is one that does not have a template or a link function, only a controller. The template is provided by child directives.

Continue reading “Abstract/Concrete Inheritance Model in AngularJS”

Directive Inheritance in AngularJS

Inheritance is a powerful way to extend directives functionality and at the same time, improve code reuse. Lets see how it works in Angular with a simple example. The first step is to create a directive called “outer” which is going to be our top-level directive in our hierarchy.

Continue reading “Directive Inheritance in AngularJS”

[Spanish] Story Points: Definiendo el esfuerzo relativo

Scrum es una metodología de desarrollo de software muy popular en la actualidad. Una de las herramientas de Scrum para la planificación de la duración de un proyecto, es la actividad conocida como “planning poker” en donde el equipo de desarrollo le asigna a cada funcionalidad del sistema, o lo que en Scrum se conoce como “historia de usuario”, una cantidad de puntos que miden su dificultad relativa.

Continue reading “[Spanish] Story Points: Definiendo el esfuerzo relativo”

[Spanish] Las telecom y sus grandes datos

telecom antenna

Gran parte de mi experiencia profesional como ingeniero la he obtenido trabajando en empresas de telecomunicaciones. Las telecomunicaciones tienen para mi una connotación especial porque tienen el poder de transformar la vida de las personas. Cuando un pequeño poblado obtiene de un día para otro acceso a Internet dejan de estar excluidos, tienen acceso a la más grande colección de información y conocimiento que como especie humana hemos recolectado en nuestra historia. Sus oportunidades de crecer, de aprender, de estar informados o de divertirse mejoran a la par que mejora su calidad de vida. El acceso a Internet es un gran democratizador del conocimiento, una herramienta para la nivelación de las oportunidades y reducir así la brecha social que amenaza con descomponer la sociedad.

Continue reading “[Spanish] Las telecom y sus grandes datos”

[Spanish] Las metodologías ágiles no son útiles para las startups

Como parte de los requisitos para obtener mi título de maestría en ingeniería de sistemas, durante los últimos meses he estado desarrollando un anteproyecto de tesis titulado “Marco de Referencia para la Selección de Metodologías Ágiles o Planificadas para Startups”. El objetivo principal de la tesis era crear una evaluación que le permitiese a una startup decidirse entre usar una metodología ágil o una disciplinada para la creación de su producto de software. El alcance se limitaba a recomendar un enfoque metodológico y no una metodología en particular (XP, Scrum, RUP, TSP, etc.).

Continue reading “[Spanish] Las metodologías ágiles no son útiles para las startups”

[Spanish] Unbundling: Un modelo de negocio para las operadoras celulares

Las empresas de telefonía celular se encuentran en un proceso de transformación profundo. Esto debido a que la forma en que usamos las redes celulares ha cambiado, las llamadas de voz y SMS han sido relegadas por una creciente demanda de conexiones de datos. En parte también por el temor de que colosos de la tecnología como Google entren al sector con modelos de negocio innovadores arrasando todo a su paso. Sea cual sea la razón, una la estrategias adoptadas por las empresas de telefonía celular para su transformación ha sido el unbundling.

Continue reading “[Spanish] Unbundling: Un modelo de negocio para las operadoras celulares”

[Spanish] Las “grandes” empresas y su resistencia al cambio

Cuando se habla de burocracia, usualmente pensamos en el estado. Lo cierto es que la burocracia es una enfermedad endémica de todas las “grandes” empresas o instituciones. El estado, al ser la institución más “grande” de todas, sufre de forma más evidente esta enfermedad. En este contexto, la palabra “grande” sirve como peyorativo pues no exhibe grandeza, sino que se refiere a una vasta cantidad de recursos humanos y capitales desperdiciados.

Continue reading “[Spanish] Las “grandes” empresas y su resistencia al cambio”

[Spanish] Actualización de Ubuntu 13.04 e Instalación de los Guest Additions

Video tutorial de cómo actualizar el sistema operativo Ubuntu 13.04, operando dentro de Windows 7 por medio de una máquina virtual (VirtualBox). Se explica también como instalar el plugin de los “Guest Additions” de VirtualBox para poder acceder al modo de pantalla completa.

Continue reading “[Spanish] Actualización de Ubuntu 13.04 e Instalación de los Guest Additions”

[Spanish] Cómo instalar y usar GAWK en Windows

GAWK es un lenguaje simple pero muy útil para procesar logs de información. Aunque originalmente fue desarrollado para Linux, es posible usarlo en Windows gracias a la aplicación cygwin, que no es más que un emulador del terminal de Linux corriendo dentro de Windows.

Continue reading “[Spanish] Cómo instalar y usar GAWK en Windows”

[Spanish] Cómo establecer los permisos de la carpeta www en Ubuntu

Uno de los primeros pasos que todo desarrollador web realiza al instalar apache, es establecer los permisos de esta carpeta para garantizar que tanto el usuario personal como el usario del servidor web, tengan acceso a ella y puedan realizar modificaciones. Para tal fin usaremos el comando setfacl

Continue reading “[Spanish] Cómo establecer los permisos de la carpeta www en Ubuntu”

[Spanish] El misterio del error de precisión de los números de punto flotante

Finalmente he podido entender el misterio del error de precisión de los números de punto flotante que afecta a todos los lenguajes de programación. Para explicarlo, voy a emular el trabajo que realiza el computador para almacenar y leer el número decimal 0.1

Continue reading “[Spanish] El misterio del error de precisión de los números de punto flotante”

[Spanish] Breve resumen del libro “Clean Code – A Handbook for Agile Software Craftmanship”

Recientemente leí el libro “Clean Code – A Handbook for Agile Software Craftmanship” de Robert C. Martin y decidí compartir algunos apuntes interesantes sobre lo que el autor considera como buenas prácticas de programación.

Continue reading “[Spanish] Breve resumen del libro “Clean Code – A Handbook for Agile Software Craftmanship””