Piensas que eres un ingeniero, pero no lo eres

Hace ya mucho tiempo leí un artículo de Nic Ferrier titulado algo así como Piensas que eres un ingeniero, pero no lo eres. Nic habla de los ingenieros de software, y de por qué cree que en realidad no lo son.

Esta es una discusión que tengo conmigo mismo muchísimas veces. Soy un ingeniero, o no lo soy. Me gusta pensar que sí lo soy, pero ¿me gusta pensar así porque es lo que he estudiado? Como he dicho, es una lucha interna que no termino de ganar o perder.

Bueno, pues este artículo va en la dirección de que los ingenieros de software, los que nos dedicamos a crear software, en realidad no somos ingenieros.

Continuar leyendo →

T3chFest 2019 (English)

Conference itself

T3chFest conference agenda:

  • +1650 attendees
  • +80 volunteers
  • +80 talks
  • 30 companies
Continuar leyendo →

Progressive web apps training

Notas tomadas de un curso de Google Chrome Developers titulado Progressive web apps training. Según el primer episodio, el formato del curso será algo así como: nosotros te mostramos algo, tú creas alguna cosa, repetimos.

Esa lista de vídeos en YouTube son material de apoyo del curso de Google Developers Developing Progressive Web Apps (PWAs) Course. Primero, comencé siguiendo los vídeos de la playlist, pero una vez descubierto el codelabs es lo que voy a seguir.

No tengo ni idea de qué saldrá de aquí, no tengo ni idea si el curso está bien o no. Pero aquí iré contando lo que vaya creando, las notas que vaya tomando, las ideas que vaya teniendo.

Continuar leyendo →

Never binge again

de Glenn Livingston

Never binge again

Por qué lo he leído

El título lo dice claro, ¿no? No te metas un atracón nunca más (bueno, más o menos, esta es mi traducción particular).

Tengo tendencia a incrementar mi masa. No creo que sea por nada malo en particular, simplemente, me gusta comer, disfruto comiendo, y los dulces me encantan. Así que cualquier excusa es buena para pasarme de la cuenta comiendo.

Vi por twitter que alguien lo recomendaba, que tenía buenos consejos para corregir cierto vicios, en especial los de la comida, y ahí que fui.

Continuar leyendo →

WeCodeFest 2019

El año pasado ya me quedé con las ganas de asistir al [WeCodeFest]. Mucha gente a la que respeto por el trabajo que hacen, hablaba muy bien de una conferencia nueva, en Valladolid. Bueno, no era tanto como una conferencia, era un evento más enfocado en la práctica, en arremangarse y probar cosas, hacer cosas. Y eso me gusta bastante, pero no pudo ser.

Este año sí, y ha sido super especial, me ha encantado. Se puede decir que es un evento pequeño, organizado con mucho amor y mucho atención al detalle, y sobretodo práctico. Lo más interesante no son las charlas programadas, si no los talleres o las conversaciones planteadas en el open space.

WeCodeFest 2019

Continuar leyendo →

Implementar un API REST sobre ReactPHP

Necesito implementar una nueva funcionalidad para un proyecto que tengo entre manos.

Tengo un Sistema de Notificaciones, escrito en PHP, cuyo único acceso desde el exterior es a través de conexiones WebSocket implementadas en una aplicación que llamaré simplemente Servidor. Los clientes de este sistema son aplicaciones web que crean una conexión permanente desde el navegador y mediante la cual reciben notificaciones de distinto tipo.

Necesito acceder al sistema a través de un API REST, para poder hacer peticiones al sistema y extraer así cierta información: monitorización, configuración,…

Sistema de Notificaciones

Continuar leyendo →

How to become a better software developer

Aquí recojo las notas sobre el artículo titulado How to become a better software developer, de Tyle Hakes, en el blog de 7pace.

Por el título, esperaba encontrar consejos, técnicas sobre cómo mejorar, cómo y qué practicar, no sé alguna cosa concreta.

En el artículo vi que lo importante para el autor es aprender. De hecho, casi copia/pega el curso de Aprender a aprender. Aunque algo nuevo sí que había, algún buen consejo sí que saqué.

Continuar leyendo →

Centralized logging with Elastic stack

Notas tomadas sobre el curso Centralized Logging with the Elastic Stack: Getting Started de JP Toto en Pluralsight. El curso muestra cómo usar y configurar Logstash, Elasticsearch y Kibana para centralizar y monitorizar servidores, tráfico de red o aplicaciones.

Continuar leyendo →

You are your own gym

de Mark Lauren

Por qué lo he leído

Tengo predisposición a coger peso. He tenido ya varios ciclos de adelgazar, engordar, adelgazar y volver a engordar. Tengo claro que lo de adelgazar lo consigo casi exclusivamente con la dieta, con la alimentación. Pero también tengo claro que debo hacer ejercicio.

Debido a mi trabajo, llevo una vida bastante sedentaria. Me gusta salir a la calle, jugar con mi hijo, montar en bicicleta, y me divierte practicar casi cualquier deporte. Otra cosa es que les dedique el suficiente tiempo semanalmente.

Este libro describe cómo hacer ejercicio sin ninguna otra herramienta que tu propio cuerpo. Seguro que eso disminuiría la fricción de hacer deporte.

Continuar leyendo →

Real Software Engineering

Charla de Glenn Vanderburg titulada Software Art Thou, real software engineering sobre qué es ingeniería y cómo vemos la ingeniería en el mundo del software. Similitudes y diferencias con otras ingenierías y discusiones sobre si desarrollar software es o no una ingeniería de verdad.

En realidad, creo que esta es la segunda vez que veo la charla, pero no encuentro las notas por ningún lado, así que ahí van.

Como bonus, van las notas de una charla parecida del mismo autor hablando sobre Ingeniería y Artesanía del Software.

Continuar leyendo →

Play by play: Machine learning exposed

Notas tomadas de un curso de Pluralsight titulado Play by play: machine learning exposed. Los play by play son cursos donde un par de personas trabajan juntas en un proyecto o problema. Normalmente una de ellas es una experta en el tema, y la otra hace de estudiante, aportando una visión novedosa e ingenua del tema.

En este caso, Katharine Beaumont es la experta en machine learning y James Weaver es el novato en el campo, aunque aporta su visión experta en el mundo del desarrollo de software.

Continuar leyendo →

La pirámide de tests en la práctica

Unas pocas notas sobre un artículo de Ham Vocke publicada en la web de Martin Fowler titulada The practical test pyramid.

No son notas sobre todo el artículo, porque la mayoría son conceptos que conozco y estoy de acuerdo, pero alguna idea nueva sí que he descubierto.

Continuar leyendo →

Material extra de Learning how to learn

Cuando seguí el curso sobre Aprendiendo a aprender, en Coursera/Whatever, había unos cuantos artículos como material extra, relacionados sobre el tema que me resultaron interesantes.

Continuar leyendo →

30 días con RxJS

Jorge Cano, inspirado por la iniciativa de Web Bos de 30 días con JavaScript, creó 30 días con RxJS. Y aquí están mis notas, que he ido tomando a lo largo de los días, siguiendo el camino de Jorge, un día cada vez.

Bueno, Jorge no llegó a producir los 30 días. Veremos hasta qué día llego yo consumiéndolo.

Continuar leyendo →

Refactorizar, ¿por dónde empiezo?

Notas sobre el artículo de J.B. Rainsberger titulado Refactoring: where do I start?. Rainsberger es una persona a la que admiro como profesional, suele expresarse con bastante claridad y suele hablar/escribir/comunicar sobre temas que me interesan bastante.

Continuar leyendo →

Curso sobre RxJS

Notas tomadas durante la realización del curso de Pluralsight RxJS: Getting started de Brice Wilson.

Es un curso (parece que bastante completo) sobre programación reactiva en JavaScript. Tiene conceptos que ya he aprendido en otro momento, pero al trabajar con Angular siento que necesito profundizar en algunos conceptos de RxJS. Veamos si este curso me sirve para ampliar mis conocimientos en este tema.

Continuar leyendo →

Desplegar una aplicación Angular en producción

Estoy desarrollando una aplicación que consta de varios sistemas. No se trata para nada de algo hecho con microservicios, pero el sistema completo está compuesto de varias aplicaciones. Algunas del lado servidor, y una applicación web escrita en Angular.

En estas notas quiero apunta cómo desplegar una applicación Angular y servirla a través de un servidor HTTP nginx.

Continuar leyendo →

Curso: How to Think About Machine Learning Algorithms

No hay muchos cursos sobre Machine Learning en Pluralsight. Buscando entre los que parecen más generales, más teóricos que prácticos, este tiene buena pinta.

Busco cursos más generalistas para ir aprendiendo los conceptos. Los más específicos, los que hablan más sobre herramientas que sobre conceptos, no me interesan todavía. Todo llegará.

Continuar leyendo →

Seven Ineffective Coding Habits of Many Programmers

Charla de Kevlin Henney sobre 7 hábitos poco efectivos de muchos programadores donde habla precisamente de eso, de ciertos hábitos perjudiciales para trabajar en equipo.

Continuar leyendo →

Curso: Understanding Machine Learning

Machine Learning es un concepto que lleva sonando mucho tiempo. No es que pretenda convertirme en un experto del día a la mañana, pero el curso Understanding Machine Learning es corto y parece que puede explicar los conceptos básicos de una forma sencilla.

Continuar leyendo →

Empezando con ZeroMQ

En el trabajo nos hemos encontrado con un problema: tenemos un servidor al que los clientes se conectan a través de Web Sockets desde un navegador. Este servidor se encargará de generar datos en tiempo real para esos clientes. La idea es que sea capaz de soportar cuantos más clientes mejor, claro. Para ello, digamos que el trabajo del servidor debería ser lo más liviano posible y no bloquearse nunca, no hacer ninguna operación que sea bloqueante. Estrictamente, leer de un fichero o hacer una llamada a través de la red ya sería bloqueante.

En definitiva, la solución que vamos a probar es comunicar dos procesos: el servidor y el proceso bloqueante a través de un software de intercambio de mensajes. Vamos a comenzar con ZeroMQ, que es una herramienta que parece que funciona bien con las tecnologías que estamosç utilizando.

Continuar leyendo →

Dockerizar una base de datos

Llevo entre manos un proyecto software, da un poco igual de qué se trata. Pero como casi todo software, necesita guardar datos, y la idea es guardarlos en una base de datos.

¿Qué base de datos utilizar? En un principio había pensado en PostgreSQL, por ser software libre, pero no tengo nada de experiencia con ella. Sí estoy acostumbrado a MySQL, pero prefiero usar software libre, así que me voy a decidir por MariaDB, que es prácticamente un MySQL, pero en software libre.

Continuar leyendo →

Recursos sobre reactividad

Aquí espero ir recogiendo unos cuantos recursos para la serie de artículos en el blog sobre programación reactiva en JavaScript. Espero que estos recursos me ayuden a aprender sobre el tema y que puedan ayudar a otros a hacer lo mismo.

Continuar leyendo →

Parsear ficheros XML con Node.js

Sí, todavía hay sistemas que utilizan XML como formato de salida de sus datos. En este caso, necesito poder parsear ficheros XML reportados por impresoras con información del nivel de tinta en sus cartuchos y otra información. En principio, la idea que tengo es la de extraer dicha información mediante XPath, para no tener que recorrer el fichero nodo por nodo, hijos, y toda la estructura de árbol.

Todos los ficheros XML tendrán el mismo formato, por lo que con un solo parser podría extraer información de diversas máquinas.

En una primera búsqueda, parece que los paquetes npm [xpath] y [xmldom] son unas herramientas adecuadas para comenzar.

Continuar leyendo →

Down and out of the Magic Kingdom

de Cory Doctorow

Por qué lo he leído

No recuerdo exactamente quién lo recomendó, simplemente estaba en mi lista de lectura y quería leer un libro que no fuera técnico, una novela, un libro que contara una historia. Y tiene licencia libre, así que está disponible para la lectura de cualquiera. ¿Por qué dejarlo escapar?

Down and out of the Magic Kingdom

Continuar leyendo →

Ver todos los posts por categoría, o ver todos ordenados por fecha.