• Libros, Cine y TV

    Halt and Catch Fire

    El verano pasado descubrí Halt and Catch Fire, una serie que me sorprendió gratamente, teniendo en cuenta que no era una serie muy conocida en España siendo ésta serie revelación en EEUU. El título de la serie referencia a la instrucción de código máquina Halt and Catch Fire, que provoca que la unidad central de procesamiento del ordenador deje de funcionar. La serie comienza relatando los inicios del ordenador personal durante los años 80 y está ambientada en el Silicon Prairie de Texas. En su primera temporada se unen un vendedor comercial que trabajó en IBM, un ingeniero de sistemas y una programadora muy pasional con su trabajo, con el objetivo de construir…

  • Desarrollo

    Ejecutar un proceso de Java como un servicio en Linux

    Por necesidades de un proyecto en el que estoy trabajando, debía ejecutar un proceso de Java como un servicio en Linux (ubuntu 16.04.2 – xenial). No es complicado, pero seguramente se me olvidará cuando pase el tiempo, y es por eso que lo voy a compartir aquí. Crear un fichero en /etc/init.d/ y pegar el código de ejemplo que hay más abajo. Modificar las variables SERVICE_NAME, JAR_PARAMS, PATH_TO_JAR y seleccionar un PID_PATH_NAME que almacenará el servicio de forma temporal. Modificar los permisos de ejecucuón del fichero creado: sudo chmod +x /etc/init.d/myservice Probamos la ejecución: sudo service myservice start Probamos la detención: sudo service myservice stop Probamos el reinicio: sudo service myservice restart…

  • Agile,  Producto

    El Product Owner, ese gran desconocido.

    Los nuevos tiempos traen nuevas profesiones, nuevos puestos y la modificación de perfiles y posiciones ya existentes. Es indudable de que hay que adaptarse constantemente, incorporando nuevos conocimientos que nos permitan seguir siendo competitivos profesionalmente. UX Researcher, Visual Designer,  Interaction Designer, Product Optimizator… relacionado en el contexto de User Experience. Business Developer, Product Manager, Product Owner… relacionado en el contexto de Producto y un largo etcétera. Hoy quiero hablaros del Product Owner. No existe un perfil predeterminado y cerrado que defina al Product Owner, depende del tipo de proyecto, la misión/visión y las necesidades de la compañía. No obstante voy a intentar hacer una radiografía según un criterio muy personal de algunos aspectos que considero debería tener el…

  • Producto

    El hundimiento. Los últimos días de un proyecto.

    Muchas veces, los equipos discuten sobre nuevos cambios y proyectos en los que van a participar en un futuro próximo. Que si tiene poca cobertura por tests, que si hay mucha lógica en los controllers, que si el government de datos, que si la tecnología o framework no es el adecuado… Da la sensación de que sólo tenemos entre manos un reto tecnológico, pero nada más lejos de la realidad. Durante el ciclo de vida de un proyecto, da igual si usamos Java, Scala o Php, Cassandra o Postgresql, son elecciones que seguramente cambiarán a lo largo de la vida del proyecto. No hay que preocuparse en exceso por ello, es la evolución tecnológica de un proyecto…

  • Personal

    Los niños y la programación

    Cuando sólo tenía 10 años, en el año 1988, recuerdo que ya me gustaban mucho los ordenadores, era un mundo nuevo, lleno de posibilidades, parecía que podías hacer cualquier cosa. Ese año, mis padres me regalaron un Spectrum de 128k con unidad de cinta. Cargar un juego era toda una aventura, después de pulsar play, la cinta comenzaba a cargar el videojuego haciendo una serie de ruidos y mostrando una serie de colores en el televisor, poco a poco mostraba una imagen en el televisor como si de una impresora se tratara. Recuerdo también utilizar software donde podía programar, y fue aquí donde di mis primeros pasos en el mundo de la…

  • Desarrollo

    Object Calisthenics

    Desde finales de 2015 comencé a interesarme mucho por escribir código más limpio y comprensible, esto me llevó a leer diferente bibliografía al respecto, libros, artículos, opiniones. Durante este proceso descubrí que existen infinidad de conceptos y reglas que ayudan a los desarrolladores a conseguir que su código sea bello. Aunque todos los conceptos que he ido descubriendo se basan en el sentido común, la realidad es que poco se aplican en el mundo real, lo que me lleva a pensar que el sentido común es el menos común de los sentidos. Hoy os hablaré de la Calistenia de objetos (Object Calisthenics), si, suena raro, ¿qué es la calistenia?. Según wikipedia: La calistenia es…

  • Desarrollo

    Tell, don’t ask!

    “Tell, don’t ask” nos recuerda que no debemos usar los objetos para pedirles cosas y tomar decisiones después, lo que debemos hacer es decirles a los objetos que hagan cosas para que éstos internamente tomen sus propias decisiones según su estado. Si lo hacemos bien, evitaremos un acoplamiento entre objetos, conseguiremos sistemas mas robustos y escalables. Y es que un objeto se define por su comportamiento. Por lo tanto, cuando hablamos de «Tell, don’t ask» hablamos de cohesión, y se refiere principalmente al grado de cercanía entre los elementos de una clase (objeto). Una cohesión alta se asocia con aspectos como la robustez, la fiabilidad, la reutilización y la comprensión. Por el contrario, una cohesión débil…

  • Libros, Cine y TV

    Mr. Robot

    Nu suelo ver muchas series, ¿la razón? falta de tiempo. A diferencia de una serie, cuando ves una peli, sabes que en un tiempo determinado verás un inicio, un cuerpo y un desenlace. El problema es que a veces surgen series que me atrapan. Todo comienza con alguna recomendación, la lectura de una crítica y la visión del trailer en youtube. Cuando una serie me atrapa, no puedo dejar de ver un episodio tras otro. Esto mismo me ha ocurrido con la serie de la que os hablaré hoy, Mr. Robot. La sinopsis de la serie según wikipedia: La serie sigue a Elliot Alderson (Rami Malek), un joven hacker que sufre de fobia social, depresión clínica…

  • Desarrollo

    Law Of Demeter (LoD)

    Si buscamos en google «ley de demeter«, el primer resultado que nos encontramos nos indica: La ley de Demeter es un principio básico de la programación orientada a objetos. Sorprende al conocerlo su gran utilidad, sus resultados en proyectos de todos los tamaños y el poco conocimiento que la comunidad de desarrolladores tiene de su existencia. 7 ene. 2008 Es curioso que estos principios no sean todavía muy conocidos en la comunidad de desarrolladores, por este motivo, hace unas semanas decidimos hacer un pequeño workshop con el equipo en el que trabajo para dejar claro de qué se trata y cuales son éstos principios. Si buscamos la definición de «ley…