Published on February 26, 2024

FOSDEM 2024 Opening Keynote

First weekend of February was, as usual, the FOSDEM conference in Belgium, and I could not miss it. I started attending a few years back, and since then I have tried going if my schedule allowed it.

This is a super brief summary of my experience during the event on the two days I was there, though this year I left early on Sunday before the conference properly finished so Sunday was a bit more scarce. A lot of unattended talks from the agenda too, I have a huge backlog of videos to watch now.

Read more »

My defaults at the end of 2023

Published on December 31, 2023

I'm too joining this trend, since it seems like a good idea to keep track of the tools I use, others may discover new ones as I have done in people lists, and it's a good way to see how my preferences change over time.

Here's my list for this year:

Category Tools/Platforms
πŸ’» Operating System MacOS
⌨️ Launcher Alfred
πŸ“± Mobile OS iPhone
πŸ“¨ Mail Client Fastmail Web
πŸ“ Notes Notion (personal) & Obsidian (personal/work)
πŸ–ΌοΈ Photo Management Google Photos / iCloud Photos / Local NAS (A mess)
πŸ“† Calendar Fantastical
πŸ™πŸ»β€β™‚οΈ Contacts Fastmail
πŸ“ File Storage SynologyDrive & Syncthing
🌐 Browser Arc
πŸ”Ž Search Engine Kagi
πŸ”– Bookmarks Shiori
πŸ“‘ Read It Later Shiori
πŸ“– RSS Reader Miniflux
β˜‘οΈ Task Management Todoist
πŸ›’ Shopping Lists Todoist
πŸ‘₯ Social Media Mastodon
πŸ’¬ Chat Telegram, Element, iMessage
πŸ’° Finances Actual
🎡 Music Apple Music / Bandcamp / Local NAS
🎀 Podcasts Apple Podcasts / iVoox
πŸ” Password Management 1Password
πŸ§‘β€πŸ’» IDE and Code Editor Visual Studio Code
πŸ”‘ VPN Tailscale , WireGuard
🏠 Home automation Home Assistant

I just read The Sunlit Man

Published on October 27, 2023

Cover for the Spanish version of The Sunlit Man

Name The Sunlit Man
Author Brandon Sanderson
Pages 544 (Spanish physical edition)
Rating 4 (out of 6)
Recommended For Sanderson fans and fantasy/sci-fi lovers, yes.

The last Secret Novel from Brandon Sanderson, titled The Sunlit Man (or El hombre iluminado in Spanish, the version I read). This is the most Cosmere focused novel of the four, with a lot of references to The Stormlight Archives series; or at least I guess so, since I haven't read any books from that series yet, though some names feel familiar.

I've enjoyed it, just not as much as the others to be honest. I liked the environment a lot and the idea of a planet that can kill you easily and what that means for the population of the planet, their livelihood, their interactions, ... In the end is a Space Opera ala Sanderson, and I don't know if I just got spoiled with Tress of the Emerald Sea (my favorite of the three) that I just wanted something as different. and this one being the most similar to the novels I already read from Sanderson just made it a little worse for me.

Even with that, I recommend fantasy/sci-fi lovers a read; it's just around 500 pages of non-stop movement, you get to the heart of the story pretty quickly and from there is just non-stop movement until you get to the outcome in the final two-three chapters.

And with this, the year of Sanderson is over.

Using ssh_config Match to connect to a host using multiple IP or Hostnames

Published on August 12, 2022

My main computer is a MacBook Pro from 2017, but I have some servers laying around and one other laptop connected at home with ArchLinux installed that I use mainly for development. I connect to it remotely either directly using a SSH/Mosh + Tmux + Emacs/Vim combination, or using the pretty convenient VSCode Remote Extensions when I'm not feeling much of a hacker.

Thing is, I may access this computer either from my home network directly if I'm at home or via a SDN if I am not (at the office, coffeeshop, visiting family, etc).

My approach was to setup the hosts directly on my ~/.ssh/ssh_config as you would with different machines:

# .ssh/config
Host laptop.lan
    HostName # Internal network IP

Host laptop.sdn
    Hostname # SDN IP

That way, I would connect to each one of them depending on the situation. Using tmux and ssh is not that much of a problem since I could just detach from home, go away, then connect via SDN an everything would be there (though I had to remember which alias to use instead of just ssh laptop). For VSCode is not that convenient since I would need to close the connection, made a new one to the new host and so on. Surely we could made this simpler, right?

In my home network, my main router is also my DNS server (with Ad Blocking, rules and all kind of fancy things), and that server resolves my local domain (*.lan) to LAN IP Addresses, so I can start with a simple config as I had previously:

# .ssh/config
Host laptop
    HostName laptop.lan

Now, what happens if I'm not at home? I could solve this in several ways:

  • I could ping my router, but that could collide with other networks out there.
  • I could check if my Wifi BSSID is one of the APs at home, but I could also connect via Ethernet.
  • I could check if I can resolve the laptop.lan address, though this requires network access, but in the end is the one I ended up using.
$ dig +short laptop.lan # At home

$ dig +short laptop.lan
# Empty result when away from home

Now, here comes the Match magic:

# .ssh/config
Host laptop
    HostName laptop.lan

Match originalhost laptop exec "[[ $(/usr/bin/dig +short laptop.lan) == '' ]]"
    HostName laptop.sdn

Using Match we can replace properties for a defined host using matches. In this ad-hoc example what I did is:

  • Match originalhost laptop: The connection host need to match laptop
  • exec "[[ $(/usr/bin/dig +short laptop.lan) == '' ]]": Execute dig and try to resolve my LAN's laptop domain name. This needs to be a successful command for it to match, in this case we compare digs output to an empty string to evaluate if we can resolve the laptop.lan domain name (check the [[ ]]).
  • HostName laptop.sdn If both rules match, replace the HostName property with the laptop's SDN domain name.

This is a pretty easy way to just ssh laptop wherever I am. I didn't knew about this particular keyword until today, and it's pretty powerful!

Documentation: ssh_config(5) manpage

April 2022

Published on May 04, 2022

A picture of a room in my house right now, full of boxes because we're moving to a new flat.

This is the most accurate summary I can give of the last month. This is the first time player 2 and I are moving between places together, and between the usual work this kind of thing has and some surprises we have had along the way... I didn't have time for anything else.

TV has been set in the living room for... three days? And we haven't used it. I can play a little bit on the Deck when tired, but usually no more than 20 minutes or so. Reading is limited to that little time before going to sleep, and we've been so tired that I'm lucky if I manage to finish one chapter.

I started to catch up with Github and E-Mail yesterday (literally!), hopefully things will normalize in June.