Federico Mena

Fotografía de Federico Mena

¿Quién eres y qué haces?

Mi nombre es Federico Mena Quintero. Trabajo en el proyecto GNOME desde 1996, y me pagan por hacerlo desde 1998. Desde cierto punto de vista, “me saqué la lotería” del software libre; en 1998 me contrataron en Red Hat por un año y medio para trabajar en el proyecto que había iniciado junto con otras personas, y luego en el 2000 me fui a trabajar a Helix Code, que se iba a dedicar exclusivamente al desarrollo de GNOME y sus aplicaciones. Estoy consciente de que esto es un caso excepcional y de que no cualquier persona que trabaje en un proyecto de software libre va a correr con la misma suerte. Me siento muy privilegiado.

(Helix Code se volvió Ximian, luego nos compró Novell, luego compraron a Suse, luego combinaron Suse y Ximian, luego vendieron la parte de Suse un par de veces y hoy en día trabajo para Suse. Es complicado.)

Estoy en el equipo del ambiente gráfico en Suse - lo que verías en la pantalla en una estación de trabajo - y lo que hago es desarrollar la plataforma de GNOME la mayor parte del tiempo. De repente tengo que arreglar bugs de integración con la distro de Suse, o subirle una nueva versión de algún paquete. Pero casi todo el tiempo estoy con desarrollo de GNOME.

Soy parte del cuerpo de directores de la GNOME Foundation, una ONG sin fines de lucro que promueve el desarrollo de software para computadoras personales y usuarios finales. Este puesto es temporal; el cuerpo de directores se re-elije cada dos años. Como puesto más permanente estoy en el comité del Código de Conducta de la Fundación; ahí hacemos lo posible por evitar el acoso a la gente del proyecto y lidiamos con reportes de mala conducta según un procedimiento bien definido.

Casi todo mi tiempo de desarrollo se enfoca en librsvg, una biblioteca de infraestructura básica para tomar archivos SVG (ilustraciones vectoriales) y convertirlos a imágenes de pixeles como PNG. Lo glamoroso de esa biblioteca es que la portamos por completo de C a Rust a lo largo de tres o cuatro años, sin romper en absoluto la compatibilidad con aplicaciones existentes que la usan.

Ahora estoy buscando rustificar otras cosas, y la mejor manera de seguir lo que hago es leer mi blog. Desde hace varios meses intento que todos los artículos nuevos estén en español y en inglés; empecé escribiendo mi blog en inglés porque la mayor parte de la gente que lo leía era de lugares no hispanohablantes, pero me di cuenta que esto no era lo más conveniente para la gente de México y América Latina que quiere seguir temas técnicos.

Fuera del mundo de las computadoras, me gusta transportarme en bicicleta, aunque mi ciudad apenas va a instalar su primera ciclovía (¿se imaginan? ¿en 2020?). Me dio por el ciclismo urbano hace unos 7 u 8 años, cuando hicieron colisión en mi cabeza la paranoia por el cambio climático, el fin de la era petrolera, y el ver cómo es posible que otros lugares la gente sí se transporte en bici. Yo tenía piernas muy debiluchas, de eso que te hincas y cuesta trabajo levantarse; la bici automáticamente resolvió eso. Algo que no me esperaba es que mejoró mi propiocepción (que tu cuerpo sepa en qué posición está); soy muy torpe físicamente y me doy de golpes con todo, tenía pésima puntería al lanzar cosas, etc. Después de transportarme en bici de forma regular por un par de años, la cosa va mucho mejor.

Durante la paranoia por el fin de la era petrolera, también me dio por aprender carpintería tradicional, con herramientas manuales. Como que quería tener un “Plan B” por si las computadoras dejaban de funcionar; quería poder hacer algo útil en un mundo sin electricidad. Resulta que hay todo un mundillo de gente en internet que ha resuscitado las técnicas tradicionales y las herramientas que ya casi no se fabrican, y es maravilloso. Si la bici me dio piernas fuertes, la carpintería me dio brazos fuertes y destreza manual - motricidad fina. Digo, no soy un fortachón, pero ya no soy un muñeco de goma, y agradezco a estos hábitos por haber modificado mi cuerpo para bien.

Me gusta mucho cocinar y me da por aprender a hacer platillos de todo el mundo. Es bonito tener equipo de afilado por la carpintería y así tener cuchillos de cocina siempre filosos, para que picar una cebolla no se vuelva un proyecto de media tarde.

¿Qué hardware usas?

Para la chamba tengo una PC armada con un CPU i7 viejito; ni siquiera tiene AVX2. Tiene 16 GB de RAM, lo cual es apenas suficiente para correr las pruebas de librsvg y recompilar paquetes a cada rato.

Me volví fan de los teclados mecánicos; tengo un HyperX con los contactos “brown”. Se ve bien padriuris si te gusta la estética gamer de negro y LEDs rojos, pero me gustaría algo con colores más… no sé, boscosos. Si un día no tengo en qué gastar, tal vez le consiga teclas de otros colores. Se me hace una pena que los teclados por default cada vez son más chafas y difíciles de usar si sabes mecanografía, aunque ocurre lo mismo con las herramientas de carpintería: las más comerciales son una porquería que mínimamente funciona, pero no es lo que quieres si estás todo el día usándolas.

Tengo una laptop con un CPU i5 viejito, que ya está en las últimas. Tenía una hermosura i7 ligera y delgada, pero falló por varios lados y ya nunca la pude arreglar. La laptop que tengo se la pepené a mi mamá años antes de que ella muriera. No la uso tan intensamente como para querer cambiarla de inmediato, aunque ya pronto tendré que hacerlo, en especial si se puede volver a viajar después de la cuarentena.

Tengo un iPhone no tan viejo. El anterior me duró 10 años, y lo elegí sobre un Android porque estaba yo muy paranóico con las actualizaciones de seguridad. Ni lo odio ni lo amo; es una herramienta que funciona más o menos bien y ya. Me cagan sus conectores propietarios y que no tiene enchufe de audífonos, y el esnobismo y precio de todo lo Apple.

Mi bici “grande” es armada a partir de un cuadro de acero de dudosa procedencia, aunque el tipo del taller me jura que es de buena calidad, y no le tengo quejas. Le he ido poniendo componentes de buena calidad; es más una “touring bike” que una bici de montaña o de ruta. En mi fantasía mental, se volvería una “gravel bike” si le quitara peso y comodidad, pero para la ciudad se me hacen indispensables las salpicaderas y la patita para que la bici se quede parada. Aprendí algo de costura para poder fabricarle bolsas y alforjas para transportar cosas y que las cargue la bici; no me gusta traer una mochila en la espalda al rodar.

Mi bici “chica” es una preciosura plegable, una Brompton viejita que me cambió la vida. Paradójicamente le cabe más carga que a la bici grande, aunque no es buena para andar a todo terreno. También le hice sus bolsas y es comodísima para ir a hacer mandados.

En la carpintería tengo casi puras herramientas manuales que funcionan sin electricidad: serruchos, cepillos y garlopas, gramiles, formones, gubias, escuadras, cuchillos. Casi no tengo herramientas “finas”, son de marcas comerciales pero que he podido ajustar para que funcionen muy bien. Me encantaría tener cepillos Lie Nielsen y serruchos Bad Axe, pero es como pensar en usar ropa de sastre todos los días.

¿Qué software utilizas?

Mi distro es openSUSE Tumbleweed; me conviene porque mi trabajo es para esa familia de distros. Soy programador, desde 1995 uso Emacs como editor de textos y la memoria muscular es tan intensa que me costaría trabajo cambiarme a otra cosa - aunque cada vez que miro vscode digo, guau.

Uso Firefox porque conozco a varios de los desarrolladores y me gusta su filosofía, y por hacerle la contra a Google. Le pongo las extensiones habituales para bloquear anuncios, y el “Tree Style Tabs” para hacerme la idea de que sí se puede trabajar con muchas pestañas abiertas.

Uso Shotwell para organizar mis fotos; es un lindo programita para GNOME, algo más que iPhoto, algo menos que Lightroom.

Cosas sin las que no puedo vivir: Magit en Emacs para trabajar con repositorios de git, org-mode para tomar mis notas y llevar mi bitácora personal. Gdb y rr para debugueo de todos los días, en especial este último para bugs donde no sabes ni por dónde. Solía usar GNU screen (similar a tmux) todo el tiempo, pero de unos meses para acá uso nada más varias pestañas en el Gnome-terminal y me funcionan bien. Uso Firefox Sync para pasar pestañas del navegador entre las compus y teléfono.

Muy de repente uso Gnome-games para lanzar un emulador de Nintendo de 8 bits y jugar Megaman, Blaster Master y esos juegos viejos.

Me dan rachas de contribuir intensamente a OpenStreetMap; la aplicación clave que uso para hacerlo en la calle es el Go Map!!. Para la bici y en Xalapa es es útil poder ver el mapa con curvas de nivel; para eso uso Pocket Earth, que también usa los datos de OpenStreetMap. Para navegación uso Maps.me, también usa OpenStreetMap, y para llevarle la contra a Google.

¿Cuál sería tu hardware/software ideal?

Una compu personal que no tenga que administrar ni configurar. Un servidor en casa que no tenga que administrar ni configurar para que siquiera funcione, con respaldos, fotos, música, películas. Todo con software libre que no tenga que administrar. En GNOME muuuuuuy lentamente nos estamos acercando a ese ideal, pero todavía no llegamos a ese punto.

Te pongo un ejemplo. Si quieres hacer tus respaldos en casa sin mandar todos tus datos a la nube, o te compras un NAS o pones una máquina con… ¿NFS? ¿Samba? ¿Borg backup? Yo no soy experto en respaldos ni granjas de servidores, nada más quiero que funcionen y que la máquina me diga cuando hay que remplazar un disco duro.

Pones tu RAID - puse un RAID6 por si falla un disco al estar reconstruyendo otro - y se vuelve un problema cuando ya no encuentras discos del tamaño de los que tenías. ¿Quieres cambiar tu RAID de discos de 1 TB a discos de 2 TB? Hay que copiar todo pa’fuera y re-armarlo y re-copiar al RAID. Ese tipo de tareas me revientan, y no tengo la paciencia para ver si tiene sentido instalar ZFS en casa.

Lo único que quiero es que las fotos familiares estén estables, y que haya respaldos para los datos de las compus que hay en la casa. Y que haya música y películas almacenadas y accesibles en casa. Si instalar y configurar un servicio así involucra algo más que “las películas están en $hostname”, o “los respaldos mándalos a $hostname”, alguien no hizo su tarea de usabilidad.

Muchos dicen, instálate un Nextcloud en casa, pero requiere configurar una base de datos, y luego ves que HTTPS no funciona en casa porque no tienes ni servidor DNS ni certificados ni bla bla bla. No soy sysadmin; quiero que tengamos cosas bonitas en una red casera sin requerir un sysadmin en casa. Algo anda mal cuando las coas son más fáciles en la nube, donde las compus no son tuyas, que en tu propia casa.

Mi trabajo es de desarrollo de software compilado. Me gustaría una estación de trabajo con un CPU medianamente rápido, memoria muy rápida y almacenamiento masivo con baja latencia. Me asusta que el M1 de Apple es todo eso y es totalmente propietario y cerrado. Algún día cercano actualizaré mis PCs y veré qué hay disponible. Ya me cayó el veinte de los gabinetes con ventiladores ultra-silenciosos; no quiero volver a tener compus que suenan como aspiradora.

Hace mucho que no uso videojuegos con grandes requerimientos de 3D y audio y esas cosas, entonces no tengo idea de qué podría requerir.

Tengo una relación de amor/odio con los monitores grandotes. Quiero algo para ver mucho código, sin tener que mover mucho la vista, sin tener que menearle mucho al manejo de ventanas. No uso mi compu como TV, entonces aunque me gustaría alta resolución para tener mucho texto, no me preocupa que las películas no se vean ahí “de lo mejor”.

Mi reino por una laptop con un teclado mecánico y que no se caliente.