Conociendo un ODROIDian: Chris Lord

Por favor háblanos un poco sobre ti. Soy un ingeniero de software y músico, la mayor parte de mi vida me dedico a lo primero. Actualmente, estoy trabajando en un sistema de captura de movimiento en tiempo real para dispositivos integrados (https://github.com/glimpse-project/glimpse), pero he trabajado en todo tipo de cosas en la última década. Mis áreas de interés han sido, sin ningún orden en particular: sistemas integrados, interfaces de usuario aceleradas por hardware, back-ends de navegador web y, más recientemente, aprendizaje automático. Vivo en el sur de Londres, donde he vivido toda mi vida, aunque estudié en la Universidad de Southampton, donde cursé una licenciatura de informática de primera calidad.

Figura 1 - Encuentro con Ralph Stanley II en el Vine Grove Bluegrass Festival en Kentucky

¿Cómo empezaste con los ordenadores? Desde muy temprana edad, empecé a interesarme por los ordenadores y los aparatos electrónicos, ya que mi padre era programador informático, y mi madre también pasaba mucho tiempo haciendo contabilidad y escribiendo COBOL para ganarse la vida. Recuerdo tener ordenadores toda mi vida, empezando con un Epson QX-10, antes de pasar a una máquina Amstrad 8086 y luego diversos PCs a lo largo de los años. Siempre he mostrado mucho interés por los ordenadores y mi padre tenía muchas ganas de satisfacer mis curiosidades, así que tuve la ventaja de que empezaron a enseñarme a programar a los 4 años, comenzando con MF-BASIC, antes de continuar con C y adentrarnos en el ensamblador Z80.

Durante mi infancia, mi madre también trabajó en lo que por aquel entonces se llamaba Cable (luego United Artists, luego Telewest, luego BlueYonder y ahora Virgin Media) y esto nos permitió tener Internet a bajo coste, que aproveché al máximo. Esto era bastante inusual por aquel entonces, tener acceso a internet y poder usarlo durante largos períodos de tiempo era algo bastante raro a principios de los 90 en Inglaterra. Aunque pasé mucho tiempo jugando a juegos, también pasé bastante tiempo programándolos, y ampliando mis conocimientos sobre programación en general. No pasó mucho tiempo hasta darme cuenta de que disfrutaba bastante más de todo lo que rodeaba a la programación de los juegos que de la programación de los juegos en sí, así que nunca me sentí atraído por esta trayectoria profesional.

¿Qué te atrajo a la plataforma ODROID? Había estado investigando algunos dispositivos de juegos portátiles basados en la Pi, pero siempre me había molestado el hecho de que usar una Pi significara, por lo general, usar Linux y lidiar con tiempos de arranque prolongados. Que yo sepa, la Pi no admite ningún estado de suspensión, lo cual lo convierte en una opción bastante mala para este caso en concreto. Me encontraba leyendo un artículo en Engadget sobre el kit portátil de juego retro basado en Pi, y alguien en la sección de comentarios mencionó el ODROID-GO. Casi inmediatamente, supe que este dispositivo era prácticamente o estaba muy cerca de lo que estaba buscando; un dispositivo que pueda iniciarse instantáneamente en una aplicación y que tiene el potencial suficiente para emular los sistemas de los 80s. Sin mencionar la insana duración de la batería. Además de disfrutar de todos los kits que se le pueden acoplar, no hace mucho tiempo desarrolle un kit TTL gigatron, un proceso que me pareció muy divertido y que me aporto muchos conocimientos. Estoy ansioso por modificar mi ODROID-GO con una conexión para auriculares, y quién sabe qué otras actualizaciones se le pueda ocurrir a la gente en el futuro.

¿Cómo usas tus ODROIDs? Principalmente utilizo mi ODROID-GO para jugar a juegos de NES durante mis viajes de trabajo o mientras veo la televisión. Especialmente, soy un gran fanático de la versión NES de Tetris, y después de pasar un tiempo mejorando el código de actualización de la pantalla, puedo decir que se trata de un excelente dispositivo para practicar. Probablemente haya pasado más tiempo escribiendo código para este ODROID que realmente jugando en él, aunque es de esperar que la diferencia no sea demasiado notable. Disponer de pines GPIO perfectamente accesibles en el exterior del dispositivo es un buen acierto que sería divertido aprovechar en algún momento, tal vez para sacarle partido a la funcionalidad del cable de conexión de la Gameboy.

Figura 2: Configuración de la impresión 3D mejorada por IKEA, con un M3D Pro

¿Cuál es tu ODROID favorito y por qué? El ODROID-GO es mi favorito, ya que es el único ODROID que tengo 🙂 Sin embargo, mirando el resto de la gama, el H2 parece interesante. Disponer de ese potencial y de la arquitectura x86 supone una gran ventaja para muchos posibles usos. Me interesaría conocer su consumo de energía en comparación con los modernos SoCs Pi.

¿Qué innovaciones te gustaría ver en futuros productos de Hardkernel? Me encantaría ver más diseños ultraportátiles, como el GO. Los dispositivos de juegos portátiles personalizables me atraen bastante, especialmente por el tipo de perfil ultra reducido del GO. En algunas cuestiones, el GO está un poco limitado, me encantaría ver en un modelo posterior (¿celebrando el undécimo aniversario, tal vez?) SPI para la salida de pantalla. O al menos, usar SPI para la salida de pantalla junto con una pantalla que requiera datos de píxeles de al menos 16 bits. Simplemente no cuenta con suficiente ancho de banda para una salida de 60Hz sin tener que realizar algunos trucos inteligentes (que es en lo que he estado trabajando, con cierto éxito). Si tuviera integrado un controlador LCD que pudiera hacer actualizaciones de 8 bits a base de paletas de colores, o un controlador que pudiera llegar a los 80 MHz completos del bus, no tendría ese problema. Contar con un conjunto de chips que permitiese controlar con mayor precisión la velocidad del bus SPI también ayudaría a resolver este problema, actualmente el ESP32 ofrece 40Mhz o 80Mhz, los informes técnicos muestran que el controlador LCD elegido alcanza los 70Mhz. Realmente se trata de una limitación del chip ESP32, pero creo que podría solucionarse si se pensara en algo.

Figura 3 - Una versión terminada del microcomputador Gigatron TTL

Figura 4 - El microordenador Gigatron TTL mostrando una imagen demo

¿Qué aficiones y hobbies tienes aparte de los ordenadores? Cuando no estoy trabajando con los ordenadores, paso la mayor parte de mi tiempo tocando música. Toco muy bien el banjo y pertenezco en una banda llamada The Vanguards (http://thevanguards.uk/). Cuando no estamos de conciertos, me gusta tocar en sesiones abiertas por Londres, en los últimos años he hecho dos peregrinaciones musicales a los estados del sur. Especialmente me gusta tocar bluegrass, que gusta bastante en este país. He tocado música durante la mayor parte de mi vida, empezando por el piano cuando tenía 6 años, pasando por el euphonium, trombón, bajo, guitarra eléctrica, batería, banjo, guitarra acústica y contrabajo, con diferentes niveles de dominio. El banjo es mi instrumento principal en este momento, pero todavía disfruto tocando el piano y podría enganchar la guitarra rítmica si me viera en un apuro. Para mí, la música es una forma de evadirme de los ordenadores, que dominan la mayor parte del resto de mi vida. Me gusta mantenerlos separados lo máximo posible.

Figura 5 – La banda de Chris The Vanguards después de grabar un video promocional

¿Qué consejo le darías a alguien que quiera aprender más sobre programación? He tenido el privilegio de estar en situaciones que me han permitido entrevistar a otros programadores durante mi carrera, y algo que creo que realmente separa a unas personas de otras es el conocimiento básico que tienen sobre cómo funcionan verdaderamente los ordenadores. Es demasiado esperar que la gente entienda el funcionamiento de las modernas CPU con sus diversas micro-arquitecturas y extensas y ridículas líneas de datos, aunque indudablemente los conceptos básicos todavía pueden aplicarse con gran acierto a la programación en la actualidad. Puedes notar la diferencia entre alguien que empezó en JavaScript o Python y nunca fue más allá, y alguien que ha programado sistemas en C o Assembler, incluso para trabajos de alto nivel. Sugeriría a las personas que intentases alcanzar el nivel más bajo con el que se sientan más cómodos. Para mí, ese era la programación Assembler en una calculadora gráfica TI-83, y luego lo mismo para la Gameboy. Pienso que la plataforma Arduino ahora puede enseñar lecciones similares y nunca ha sido tan fácil ni tan barato sumergirse en este mundo.

Figura 6: Logrando de un nuevo record en Tetris NES con el ODROID-GO

Be the first to comment

Leave a Reply