14 de diciembre de 2018

Kubernetes y Docker

Docker es una tecnología que crea un contenedor que permite ejecutar un entorno dentro de una máquina sin tener que virtualizarla. Esto es muy útil y muy potente ya que además de evitarte setups innecesarios el coste en recursos de la máquina es mucho menor que la virtualización.

Otro de los aspectos más interesantes que aporta Docker es lo sencillo que resulta el empaquetado y distribución de contenedores así como la automatización de su despliegue en cualquier entorno.

¿Qué es lo que sucede en la práctica? Que al final terminas utilizando varios contenedores en un mismo proyecto y necesitas poder organizarlos y ejecutarlos de una manera coherente de manera automática. Aquí es donde entra la orquestación de contenedores que ofrece Kubernetes.

Kubernetes es una tecnología de orquestación de paquetes que permite el autoarranque, autoescalado y autoreplicación de los contenedores Docker (y de otros). Es una tecnología líder de mercado -ahora mismo en 2018- desarrollada orginalmente por Google que aprovecha todo el conocimiento que tienen ellos en entornos de alto rendimiento. Docker tiene su propia tecnología para hacer esto (Docker Swarm), pero no han conseguido desbancar a Kubernetes.

La mayoría de los proyectos hoy en día requieren varios servicios separados, si quieres trabajar de manera óptima (y barata) te recomiendo utilizar Kubernetes con Docker para poder ahorrar y escalar al máximo de una manera sencilla.

4 de diciembre de 2018

Popurri de PS4

Mi plataforma principal de juego habitual es mi PC con Windows, es donde juego a los juegos que más tiempo me roban en mi vida como el Civilization de turno, Elite o DOTA 2. Pero aún así de vez en cuando juego a la PS4, sobre todo al Gran Turismo y a todo tipo de juegos tipo puzzle.

Os pongo aquí las capturas en vídeo de los últimos juegos a los que estoy jugando en plan secundario.


Dándole caña al Machine Learning

Últimamente por una serie de circunstancias de lo más variopintas me he visto implicado -esto parece un delito- en el desarrollo de un proyecto relacionado con el Machine Learning (ML), y qué queréis que os diga, es apasionante.

Ahora mismo estoy trabajando con el reconocimiento de imágenes con Watson (IBM) con un proyecto que utiliza NodeJS para la parte del servidor.

El procedimiento es bastante más sencillo de lo que uno se imagina, tienes por un lado que preparar la carga de imágenes con las que Watson generará el classifier, una vez haces la carga y se genera el classifier lo aplicas a las imágenes que quieres reconocer para obtener un porcentaje de identificación.

Es muy importante también alimentar al sistema con una serie de imágenes conflictivas que puedan dar falsos positivos identificándolas como erróneas para que este aprenda mejor.

A más imágenes más conocimiento (y más coste), pero es una pasada ver como tu pequeño bebé va creciendo cada día y es más y más listo :)

Este proyecto utiliza Machine Learning, no Deep Learning, en otro post os explicaré las diferencias.

Amazon tiene una serie de cursos gratuitos muy útiles enfocados a su plataforma, os pongo aquí el enlace.

8 de noviembre de 2018

Videojuegos: Narrativa vs Mecánica

Una de mis principales aficiones desde hace muchos años son los videojuegos, desde que era niño pequeño y vi por primera vez Galaxians en una máquina de bar quedé abducido por esta actividad.

Hace muchos años debido a las limitaciones técnicas los videojuegos tenían gráficos muy sencillos y mecánicas muy esquemáticas pero directas. Con el tiempo las posibilidades técnicas se ampliaron facilitando un mayor despliegue artístico y comenzaron a aparecer juegos con un gran componente narrativo con una jugabilidad menos directa que no se centraba en mecánicas basadas normalmente en los reflejos.

A estas alturas ya no recuerdo que juego basado en narrativa fue al primero que jugué, puede que fuese al Monkey Island, o al Another World o quizás a Dune.

El caso es que estos tres juegos me sirven como ejemplo, Another Wolrd quizás menos ya que tiene un importante componente arcade, pero en estos tres títulos el elemento principal es la historia. ¿Me gustaron estos juegos? Sí, me encantaron, durante largo tiempo este tipo de juegos con gran componente de narrativa (los Final Fantasy y demás, las aventuras gráficas) fueron mi tipo de juego favorito.

Sin embargo en los últimos tiempos bien por mi edad o bien porque no tengo tanto tiempo como antes ya no me siento atraído por la historia de los juegos, de hecho le doy rápido al botón de saltar historia e ignoro la mayoría de los diálogos, me gusta ir a la chicha, a la mecánica, la inmensa mayoría de las historias me resultan repetitivas y nada originales, pero sin embargo las mecánicas aunque no sean originales me siguen resultando entretenidas, sobre todo cuanto más directas son.

Ahora mismo tengo intención de jugar a la segunda parte de la nueva trilogía de Tomb Raider, pero cada vez que tengo intención de hacerlo termino jugando a Street Fighter V en modo multijugador.

A lo mejor todo esto es solo una racha y vuelvo a enamorarme de las narraciones, pero en este momento prefiero entretenimiento puro.


29 de junio de 2018

GIT: Cómo cambiar el email del usuario en la configuración

Normalmente trabajo en varios proyectos a la vez, normalmente para diferentes clientes por lo que a la hora de subir los diferentes commits es necesario que el email que aparece sea diferente.

Para cambiar el email a nivel global:
git config --global user.email "email@example.com"

Para cambiar el email a nivel de proyecto:
git config user.email "email@example.com"

Espero que os sea de utilidad.

14 de abril de 2018

PS4: Horizont Zero Dawn

Horizont Zero Dawn es una aventura de mundo abierto desarrollado por Guerrilla Games. El juego es exclusivo para PS4 y ha tenido gran éxito entre público y crítica.

Después de echarle unas 20 horas por fin me he terminado la historia principal -y un montón de misiones secundarias- y la verdad es que he quedado bastante satisfecho.

Como puntos fuertes a destacar mencionar primero la excelente historia que te mantiene enganchado desde el principio hasta el final. Es cierto que está trufada de tópicos, pero el planteamiento de ese futuro en plan edad de hierro es bastante original en el mundo de los videojuegos y está muy bien desarrollado.

La protagonista principal -Aloy- tiene carisma, empatizas en seguida con ella, y además está muy lejos del prototipo noventero de heroína tetona y de cerebro vacío. Está excelemente doblada por Michelle Jenner, aunque sus expresiones faciales y la sincronización labial son muy mejorables.

El resto de los personajes son bastante más habituales, algunos caen más simpáticos, otros menos, y otros -tal como mencionamos antes- son puro topicazo. Se nota además que el juego ha sido desarrollado en Holanda ya que el plantel de personajes a nivel étnico parece sacado de las calles de Amsterdam :)

A nivel de jugabilidad tiene un sistema de armamento muy trabajado, con gran variedad de armas y unos tutoriales muy útiles para hacerse con ellas. La única pega es la lanza, que es el arma que utilizas cuerpo a cuerpo, su sistema de combate es muy simple y además la cámara cuando golpeas con la lanza muchas veces te hace perder por completo la perspectiva de donde estás y de quién -o a quién- está golpeando. Va a ser uno de los puntos que seguro que mejoran para la segunda parte.

A nivel gráfico el juego es de lo mejor de PS4, comparable a Uncharted 4 sin ningún problema, es más, con escenarios mucho más grandes por los que puedes circular sin que haya un parón de carga.

Los efectos meteorológicos, el agua, los decorados... son realmente increíbles, dan ganas de perder el tiempo por el inmenso mapa haciendo todo tipo de tareas secundarias para subir de nivel.

El juego es muy divertido, es una especie de sandbox prehistórico mezclado con toques de tecnología en el que se combinan pequeños toques de juego de supervivencia, plataformas, combate y especialmente exploración. Me recuerda mucho al Legend of Zelda de la Nintendo Switch.

Lo compré por 20 euros, ahora está muy barato, por lo que a este precio tan increíble es irresistible, recomiendo su compra sin ningún genero de duda.

Ahí unos cuantos bugs -he grabado un par jugando-, a ver si hago un especial de bugs y los pongo.

Valoración: 8/10

5 de marzo de 2018

PS4: Dragon Ball FighterZ

Hace muchos, muchos años, descubrí la serie Dragon Ball en la TV3, en concreto yo vivía en aquella época todavía en Alicante y quedé enganchado a las aventuras de Son Goku por completo.

Con el tiempo llegaría su continuación, Dragon Ball Z, que tendría todavía más éxito aún y que desataría la fiebre del manga en España.

Pasaron los años y cuando por fin terminó DBZ y comenzó Dragon Ball GT me desenganché por completo.

Fruto de aquella época fueron surgiendo una serie de juegos basados en Dragon Ball y Dragon Ball Z (la mayoría en esta parte) que año tras año fueron apareciendo en todas las consolas del mercado. El más antiguo que recuerdo haber jugado era un Dragon Ball Z en francés para la Megadrive, estaba muy bien, sobre todo por la espectacular pantalla partida, era un juego que capturaba de manera memorable la esencia de la serie de televisión.

Luego fui jugando a las diferentes iteraciones que fueron apareciendo, recuerdo con especial intensidad algún juego para PS2 bastante interesante (No recuerdo si era el Dragon Ball Budokai I y II) y la versión para PSP.

En PS3 es posible que incluso comprara alguno, pero no lo recuerdo bien, así que seguramente solo fuera una demo.

Los juegos que salían de la saga no eran nada especial, y por otra parte Dragon Ball era parte ya de la nostalgia de un tiempo perdido.

Hete aquí que apareció una nueva película en los cines, Dragon Ball La Batalla de los dioses (prefiero olvidar la infecta Dragon Ball Evolution), y de nuevo la saga recuperó su magia. Se ve que gustó mucho porque se relanzó de nuevo la saga con Dragon Ball Super en televisión, otra serie de películas, manga, etc.

Mi mujer decidió comprar el Dragon Ball Xenoverse, y la verdad es que el juego era bastante bueno, no era el típico refrito de personajes sin novedad alguna. Luego compramos la segunda parte -a la que tengo pendiente jugar aún-. Eran juegos por encima de la media, pero no eran la perfección...

Hasta que llegó Dragon Ball FighterZ, para mí, como fan de ARC System Works y de Capcom -la de verdad- es sin duda el mejor juego de toda la saga, y uno de los mejores juegos de lucha de la actualidad en el sector "casual".

A nivel gráfico el juego es alucinante, supera de lejos la calidad visual de la serie de televisión, es increíble lo bien animados que están los personajes, lo bonitos que son los escenarios, lo espectaculares que son los ataques especiales, el mimo que se ha puesto en cada uno de los detalles.

A nivel sonoro se echa de menos la banda sonora original de la serie -hay algunos temas disponibles vía DLC-, pero el nivel es muy bueno. El sonido es genial, con las voces en japonés, como Toriyama manda.

La mecánica del juego es sencilla de jugar, pero muy difícil de dominar, mucho más profunda de lo que aparenta. El típico machaca botones no te va a ganar una partida, se nota la sabia mano de ARC.

El netcode funciona bastante bien, después de una beta llena de problemas los combates online con una calidad de conexión buena van muy fluidos. A día de hoy está el problema de los "Rage quit", pero eso es el pan nuestro de cada día de este tipo de juegos.

Y por ahora no tiene micropagos con dinero real dentro del juego, lo cual es muy de agradecer.

En definitiva un juego muy recomendable que vale cada euro gastado en él.

Valoración: 8/10

Os pongo un vídeo que he grabado hoy jugando.

12 de febrero de 2018

ZX Spectrum: El pack Super 10

En el año 1986 yo tenía 12 años para 13 y mi padre nos compró un Spectrum +2 con este pack de regalo, y la verdad, estuvo 100% acertado.

Como el +2 era un ordenador muy nuevo algunos de los juegos necesitaban ayuda extra para hacerlos funcionar, ya sea a través del modo 48K o con trucos curiosos como el Abu Simbel Profanation. Como en aquellos tiempos no había Internet y casi nadie tenía aún el +2 a mis hermanos y a mí nos tocó buscarnos la vida para hacerlos funcionar :)

El modelo +2 a diferencia del +2A no venía preparado para mover la altura del azimut del reproductor de casete.


Voy a comentaros uno a uno cada uno de esos juegos -brevemente- y alguna de sus curiosidades.

Abu Simbel Profanation: Juego dificilísimo donde los haya, tenías que medir cada salto píxel a píxel, pero con unos gráficos increíbles y un carisma arrollador. Para hacerlo funcionar en el +2 tenías que cargarlo en modo 48 K y lo que es más curioso, para iniciar partida tenías que reproducir sonido en la cinta para que funcionase el menú de opciones, increíble pero cierto :)



Bruce Lee: Es una aventura muy sencilla pero divertida en la que tienes que manejar a Bruce Lee para conseguir pasar una serie de pantallas. Al principio recuerdo que estábamos muy perdidos ya que no sabíamos como abrir las puertas para pasar la pantalla inicial, luego fue coser y cantar. Creo recordar que tenía carga turbo.



Cauldron II: Otra aventura colorista y espectacular en el que tienes que manejar a una calabaza para vencer a la malvada bruja del castillo. El mapa es inmenso, la variedad de los enemigos enorme, la diversión solo comparable con su dificultad. Mi hermano Pepe se lo terminó sin trucos, yo aún alucino. Este juego me marcó.



Rock'n'Wrestle: En aquella época ni siquiera sabía lo que era al lucha libre, venía con una carga turbo horrorosa, costaba mucho cargarlo hasta que descubrimos que metiendo un cuchillo plano y apretando el play con más fuerza metíamos el azimut más adentro y el juego conseguía cargar. Había que cargarlo en modo 48K, en las instrucciones obviamente no venía nada. El juego es divertido una vez le pillabas el tranquillo, pero se hacía repetitivo demasiado pronto.



Saboteur: Juegazo con mayúsculas, otro juego al que sigo jugando a día de hoy. Tienes que manejar a un ninja molón para robar unos documentos y salir huyendo con un helicoptero. Recuerdo todavía el mensaje inicial de recompensa por denunciar la piratería, en aquellos tiempos ni siquiera sabía que se podían copiar los juegos :). Los gráficos geniales, la animación increíble, divertido, emocionante y con un mapa enorme. Fue uno de los juegos donde comenzamos dibujar mapas, y uno de los primeros mapas de los "Patas arriba" de Micromanía que recuerdo.



Spy Hunter: Espectacular juego de coches que recordaba al coche fantástico pero armado hasta los dientes con todo tipo de misiles, aceite, humo, etc. En determinados momentos del juego podías convertirte en una lancha. Divertido, pero algo repetitivo.



Three Weeks in Paradise: Nunca llegamos a disfrutar del todo este juego, en parte porque lo perdimos -o nos lo robaron-, gráficamente era muy bonito pero con una corrupción de atributos bestial. La música era muy pegadiza, todavía podría tararearla :). La mecánica era la de una aventura de objetos con muy poca o nula lógica.



Turbo Esprit: Para muchos el antecesor espiritual de Grand Theft Auto, para mí también. Tienes que conducir tu flamante deportivo Lotus Turbo Esprit para atrapar a los traficantes de drogas que pululan por la ciudad. La ciudad es inmensa, el motor 3D del juego genial dadas las limitaciones de la máquina. El juego es muy, muy divertido, y puedes divertirte no solo haciendo las misiones principales, perderte por la ciudad es todo un placer. Imprescindible.



Way of the Exploding Fist: Juegazo increíble de lucha que transportó el espíritu de Karate Champ a la perfección al Spectrum. Las animaciones, el sistema de combate, la inteligencia artificial de los oponentes, la rapidez de respuesta de los controles tanto para un jugador como para dos, los gráficos de los escenarios... en fin, todo un pedazo de clásico que te permitía creerte todo un especialista en artes marciales. Con este juego nació mi devoción por los juegos de lucha.



Zorro: Un clon de Bruce Lee, muy similar con más toque de aventura. En este caso manejas al Zorro que debe recorrer todas las pantallas eliminando a los enemigos y saltando por sus plataformas. Muy divertido.



La verdad es que este pack fue una gran idea de Erbe, me impactó profundamente y me hizo disfrutar mucho de nuestro Spectrum. Fruto de ello comencé a soñar con programar mis juegos, y bueno, llevo ya desde el año 97 ganándome la vida con la programación, gran parte del mérito -además del esfuerzo de mis padres al comprarnos el 386- viene de este pack que nos regalaron y que cambió mi vida :)