Blog
Advice choosing a Linux distro
Published 2026-08-30This is a post written for the kind of person who watches programming influencers, or maybe for the kind of person who watches LTT. However, I’m comparing distros for general desktop use, not server nor gaming specific.
So what’s the best distro? Fedora. Why?
- It’s well configured by default, in large part because Fedora has close relations with many of the big Linux Desktop projects, like GNOME and systemd.
- Packages are mostly vanilla, which usually means they have fewer bugs.
- Even if it’s not the most popular, it’s popular enough, so you can find things like forum posts that solve your issues, or custom repos for proprietary software like Sublime Text.
It’s not without problems
Lo que no importa con Daniel Matamala
Published 2026-08-22Lo Que Importa es un podcast, en el que Daniel Matamala entrevista a expertos sobre temas relevantes.
Cuáles temas relevantes? El podcast ha tenido, entre otros:
- Dos capítulos sobre natalidad
- Tres capítulos sobre trump1
- Como cinco capítulos sobre corrupción
Cuantos capítulos sobre el costo de las viviendas? Cero
Aquello en lo que la mayoría de la gente gasta el 30% de su plata o más, parece que no es algo que Importa.
Evidently Firefox
Published 2026-06-24Every once in a while, there’s a controversy about something Mozilla does. Integrating AI, or changing their terms of use, or creating Privacy Preserving Attribution, or installing a weird Mr. Robot themed extension.
I don’t usually agree with Mozilla’s decisions, but I understand where they’re coming from: they need to diversify their funding somehow. And their incentives are far less bad than the ones at Google or Apple.
Of course I use Firefox. It wouldn’t make sense to use anything else.
Hugo infrequent blogger experience
Published 2026-06-24Just in case I migrate off of Hugo, then forget why I did that.
WARN deprecated: project config key languageCode was deprecated in Hugo v0.158.0 and will be removed in a future release. Use locale instead.
ERROR deprecated: the ":filename" permalink token was deprecated in Hugo 0.144.0 and subsequently removed. Use ":contentbasename" instead.
Watching for changes in /home/vicho/Proyectos/blog/archetypes, /home/vicho/Proyectos/blog/assets/images, /home/vicho/Proyectos/blog/content/posts, /home/vicho/Proyectos/blog/layouts/_default, /home/vicho/Proyectos/blog/static/vendor
Watching for config changes in /home/vicho/Proyectos/blog/hugo.toml
Start building sites …
hugo v0.162.1+extended linux/amd64 BuildDate=2026-06-07T00:00:00+00:00 VendorInfo=Fedora:0.162.1-1.fc44
ERROR deprecated: lang in front matter was deprecated in Hugo v0.144.0 and subsequently removed.
Built in 33 ms
ERROR error building site: logged 2 error(s)
Sifu
Published 2026-01-18Que maravilla. No todos los días encuentra uno un juego que vaya tan bien con sus gustos. Sifu es uno de esos juegos para mí.
El sistema de combate es suficientemente complejo como para que uno deba estar atento al jugar, y se sienta orgulloso de sus victorias. Un motivo por el que no me gustan los RPGs es porque en lugar de ser el jugador quien mejora, es el personaje quien mejora. No es el caso en este juego, lo cual es bastante fácil de comprobar: después de haber avanzado harto, uno juega el primer nivel de nuevo y resulta impresionantemente fácil. Cómo no sentir satisfacción con uno mismo?
Agent CLIs in Termux
Published 2026-01-17Termux is a sort of linux distro for android. It allows you to use a unix terminal in your phone.
It would be nice to use it to program, but of course the phone keyboard is very awkward for that purpose. You need to write symbols like { and < constantly. But with ✨️AI✨️ you can avoid this problem, by using a coding agent instead, and describing changes in natural language.
Z Flip: Primeros Días
Published 2025-12-03Tomé la irracional decisión de comprar un Samsung Z Flip. Digo irracional porque los plegables son teléfonos que se echan a perder mucho antes y y son caros y tienen menos funcionalidades que otros teléfonos del mismo precio.
Y se sobrecalienta un montón, cosa que no esperaba.
Habiendo dicho eso, sí hay ventajas, la principal de la cual es que el teléfono se puede volver chico y se puede usar sin desdoblarlo. Dado que le tengo miedo a desdoblarlo muchas veces (me temo que hacerlo puede romperlo) hago el intento de usarlo en su forma plegada, mucho menos propensa a crear adicciones. Además, desdoblar este teléfono requiere el uso de 2 manos, así que de ese modo limita el uso excesivo.
Prosa o viñetas con LLMs
Published 2025-08-23Los LLMs son fanáticos de escribir cosas con viñetas (puntos)
- Demuestran sabiduría
- Minimizan spam
O al menos eso diría un LLM. Pero yo diría que sí alargamos cada punto a un párrafo quedamos en:
Para empezar, demuestran sabiduría, porque ehmmmm estoooo las personas que saben pueden mencionar muchas cosas, así que si un modelo puede mencionar muchas cosas, esto implica que deben saber mucho. (?)
Además, minimizan spam. Las personas suelen buscar respuestas rápidas, con 3 puntos generales, en lugar de 3 párrafos. Así que les enviaremos 20 puntos en 3 niveles de nesting. (?)
It's fine if the Gemini protocol doesn't make sense
Published 2025-05-04It is common for programmers to think that everything can be transmitted via text. It’s also Obviously False, just watch a 3blue1brown video and you’ll realize the incredible value that visuals can have for understanding concepts. Yet us programmers keep making that mistake:
- In the Gemini protocol, images are a second-class citizen. And it’s designed to not be extensible, so that “bug” can’t be fixed.
- One of the most common requests for notes applications is for the backend format to be plain text, because that’s portable.
Plaintext is frequently not enough. Arguably, we don’t even want our code to be a long boring stream of text: we usually add syntax highlighting to it.
Yet another "computers are fast" post
Published 2024-04-05I’ve seen many of these posts, so reading this one probably doesn’t help anyone learn anything new. But sometimes you get used to slow things, and remembering that it doesn’t have to be this way comes as a surprise.
So I took an optional course on compact data structures in my last year of university, where we learned different representations of common CS data structures, like trees, arrays or text indexes, that were designed to use less bits than the traditional representations.
For example, ordinal tree structures can be represented as simple parentheses, like this ((())()(()())), which uses less than 2 bytes to represent the structure of a tree that, using 64-bit pointers and linked lists, would be around 60 bytes. “Supporting” data is needed to move around the trees efficiently, but the structures we studied usually had light supporting structures, with lower space requirements than the data itself.
I made an online "Tipover" game
Published 2024-02-07When I was a kid, I had a puzzle game/toy about figuring out the way to get to a red box, on a grid with stacked boxes. A while ago, I decided to make a web version of that, to learn React and Tailwind. You can visit it here.
Why make this post now? Because I wanted to have more posts here, I guess.
Utilidades de construcción
Published 2023-12-22La idea de este post es que sea una referencia de las cosas cuyos nombres siempre olvido cuando necesito.
Cáncamo

Un tornillo que termina en gancho. Puede ser abierto o cerrado.
Tarugo

Para poner un tornillo en paredes. Hay para concreto, tabiques, etc.
Ojo que la palabra también se puede referir a estos cilindros de madera:

Golilla
Las golillas (en el resto del mundo se conocen como Arandelas) sirven para que un tornillo no le haga daño al material en que se atornilla. Son simplemente argollas.
The weakness of Haskell's docs
Published 2023-06-06Una clásica crítica a la documentación de Haskell es que la comunidad usa los (excelentes) tipos como suplemento de documentación real, en vez de usarlos como complemento. Uno se pregunta “¿cómo se hace X?” y te responden que veas los tipos de la librería y lo “sabrás”. Lo cual puede ser cierto para ciertas mentes, aunque no mucho para la mía1.
Ejemplos de documentación que lleva al éxito se encuentran en librerías famosas de Python (requests, django) o javascript, que incluyen tutoriales. Esto hace que comenzar sea mucho más rápido. Pero el paso 2 no lo es. Una referencia es irremplazable, y ese es el propósito de los tipos de las librerías de Haskell.
Demos of native HTML things
Published 2023-06-03This contains native things, to check how they work on different devices/browsers easily. Most examples are either taken from Mozilla MDN directly or slightly edited.
Unfortunately, these widgets are infrequently seen in the web for a reason. They are not too accessible or usable forcing you to end up using a custom solution1. So I don’t actually recommend using these widgets.
Select Multiple
code:
<select multiple name="pets" id="pet-select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
<option value="parrot">Parrot</option>
<option value="spider">Spider</option>
<option value="goldfish">Goldfish</option>
</select>
Input with Datalist
You can add a list attribute to some input types, to give suggestions, like a native, limited select2 alternative. The suggestions themselves should be in a <datalist>, and the list attribute is the id of the corresponding datalist.
Asistentes Virtuales: Los problemas causados por TIs ¿se pueden solucionar con más TIs?
Published 2021-09-30Llevas media hora viendo historias y publicaciones en Instagram. Te das cuenta de que es mucho tiempo, así que la cierras. Al ver el menú principal de tu teléfono, instintivamente apretas un botón. Se abre de nuevo Instagram. ¿Cómo tan weón?
No te culpo, me pasa lo mismo, y a muchas otras personas también. Además, no hay de qué avergonzarse. Estás peleando contra equipos millonarios de personas brillantes cuyo único interés es lograr mantenerte adicto a la aplicación. No es una situación fácil en la que estar. Y para peor, si no la ocupas después te sientes solo porque no sabes nada de nadie.
Xiaomi Mi Smart Speaker Review
Published 2021-09-01Here’s my review of the Mi Smart Speaker, after about a month of using it. I should mention that the streaming service I use is Spotify.
In short, the speaker’s pretty bad:
- Default eq settings have waaaay too much bass. There’s an option to change it, but it’s very limited.
- When listening to music, it’s pretty common to hear a buzz, a sound that makes me think that there’s something moving inside that shouldn’t be. (Update: it’s just the sound of the speaker vibrating on top of the ground. You can silence it by putting some books or other weight on top, but then the mic has trouble hearing you).
- Worst of all: Half the times I tell it to play something, it just says that something went wrong1. This seems to be an issue with a lot of Google Assistant speakers though, so maybe it’s not Xiaomi’s fault. Update: As of December 2023, this doesn’t happen anymore, at least not so much that it’s annoying.
I haven’t done a thorough comparison on all smart speakers in this price range, to be honest I have only tried this one. But if this is (as they say) the best one you can find under $50, you may want to just save your money.
Citas de la Agenda Fech 2017
Published 2021-07-25Me voy a cambiar de casa ahora, así que estoy botando cosas. Incluyendo una agenda de la Fech de 2017, que nunca usé, pero tenía unas citas graciosas abajo.
Guardo las citas acá para no perderlas. Están organizadas por el mes de la agenda en la que estaban, aunque eso no tiene ninguna relación con la fecha original de la cita.
Marzo
Se ve bien divertido el chiquillo, con terno y morral
Why is GPL use declining?
Published 2019-11-01Today I started writing a reply on Hacker News in which I tried to answer the question in the title of this post, and I ended up giving my answer to what license makes a project successful too. I decided to post that reply here because it got too long. So here it is, with some modifications.
Should projects use permissive or copyleft licenses to be successful?
Short answer: It depends on the size and quantity of companies working on things related to the project .