Emptty, a blazing fast Display Manager

Emptty is one of the newest additions to and already a favorite of mine. This CLI Display Manager is blazing fast and offers a few configuration options.

One of these options and my personal favorite is setting the MOTD, like the one you see on the post image. As far as I can tell, it only supports plain text and ANSI color escape codes. If the possibility for scripts arises, it can allow some really cool stuff.

I’m already picturing it: lolcat all the things! But I drool… I mean, digress.

You can also choose the TTY where it’ll run, set auto login, create custom sessions just for emptty and a couple for customization options you can check over at Github.

And .xinitrc users, emptty has your back.

If config XINITRC_LAUNCH is set to true, it enables possibility to use .xinitrc script. See samples

The package is in version v0.2.0.r12.44b809d-1 at the time of publishing of this post. In this version, the package has:

  • 745,34Kib of download size
  • 1910,79Kib of used disk space after install
  • ~6,8Mib of used RAM when running

As you can see, it’s really lightweight. At least as important, it looks really nice and gives a nostalgic vibe.

If you like efficiency, I think you’ll love this CLI Display Manager written in Go. To install it, assuming you already have userrepository in your repository list, just run:

sudo pacman -Syuv emptyy-git

One last thing: please become a Patron if you want to support Even €1 will help cover the monthly expenses, just over €15. If I get enough patrons, I’ll be able to upgrade the virtual machine to one with better specs, which will allow a higher package compression level, shorter build times and maybe even packaged kernels. Thank you 🙂


Lista antinonio atualizada

Há alguns meses que não atualizava a minha lista de bloqueio, para adblockers, à merda do Nónio. Ela não me estava a dar problemas, por isso não senti necessidade de a rever.

No dia 21 de junho, no entanto, um dos developers do uBlock Origin abriu um bug por causa dos tipos de regras usadas, bug esse que está relacionado com outro reportado no repositório deste adblocker. TL;DR: estava a misturar filtros estáticos com regras dinâmicas.

Enquanto corrigia o problema, aproveitei por fazer duas pequenas atualizações na lista. A primeira, sugerida num comentário do bug report, é a remoção d’O Público da lista, uma vez que já não faz parte da rede Nónio.

A outra alteração foi a remoção do domínio da lista, uma vez que o MEO GO está a usar este domínio para algum tipo de validação relacionado com o Widevine e os utilizadores da minha lista não vão conseguir utilizar o serviço da MEO se a tiverem ativa. Dá sempre para permitir este domínio quando se visita o site do MEO GO, mas para isso têm que primeiro detetar o problema e mais vale facilitar a vida aos utilizadores do que os fazer andar atrás do problema.

Para terem a nova versão da lista basta aguardarem pela atualização automática, que acontece a cada 3 horas. Se quiserem acelerar o processo, podem sempre forçar a atualização dentro das opções do uBlock Origin.

Se não sabes o que é o Nónio, este site, criado pelo @tomahock, explica o que é e porque é mau.


My tools of trade in a Linux system

With no special order:

Desktop environments and/or window managers

  • plasma (to me, the best desktop environment for any free software operating system)
  • i3wm (paired with picom [] for transparency, blur and rounded corners)

Terminal emulators

  • konsole (I’ve grown very fond if this terminal emulator since I switched to the plasma desktop, and it has blur for the blings ;))
  • urxvt-unicode (with tabbedex, so I can have tabs with it)

Text editors

  • micro (my favorite and because it supports gui keybinds, although it’s a cli text editor)
  • nano (simple and super useful, available by default in a lot of linux distributions)
  • vim (I have a custom mode for writing markdown text)
  • gedit (for when I need a text editor with a gui)

Note taking

  • qownnotes


  • firefox (my favorite for around a decade and an half. I actually used the 0.x versions)
  • chromium
  • brave
  • falkon


  • gimp (and a fork named glimpse)
  • darktable
  • lightzone (like darktable)
  • jpegoptim
  • optipng
  • oxipng
  • youtube-dl

System tools

  • htop
  • gotop
  • cat
  • scat (for when I need to ‘cat’ a file with syntax highlight)
  • less
  • watch (I like to keep a pane opened on tmux with the hardware temperature [watch -n1 ‘sensors -A | egrep “edge|temp”‘])
  • openssh
  • dotdrop (for the dotfiles backup)
  • tmux (I love this terminal multiplexer)
  • tmuxinator (useful if you want to open tmux with any number of panes by default)
  • broot (a cli file manager with vim-like keybinds and commands)
  • fzf integrated with bash (because fuzzy search rocks)
  • pacman (because I use EndeavourOS, basically Arch with a graphical installer)

What about you? What are your tools of trade in a Linux system?


Some notes about userrepository performance with the new provider

In the previous post, I wrote about how I changed the virtual machine provider from Scaleway to Hetzner. In the days following the transition, I timed how much it took to build all the packages and sync them to the webserver, so I could compare the new provider with the previous one.

The specs are very similar: 4 vCPUs and 8GB of RAM. There is one difference, however: with Scaleway, the vCPUs were some Intel low-end ones (although they’ve upgraded to AMD EPYC very recently) and with Hetzer they are AMD EPYC. And what a difference this makes.

Previously, 250 and something packages took almost 5 hours to complete the build and sync them to the webserver. Now, it takes around 4 hours and 12 minutes to build and sync 328 packages. That’s a huge difference.

I’ve only been using Hetzer for userrepository for about a week, but so far it feels like an improvement. But I’ve yet to test the network performance.

Geekices is back (in beta)

After a small forced hiatus, is back. The Covid-19 pandemic made a hit in my income and the wife’s income, so I had to temporarily suspend non-priority expenses. During this period, I had time to consider a few things about the future of the project and decided to change the provider from Scaleway to Hetzner, mostly because the Arch image they’re using is essentially abandonware.

If you’re reading this, you’ll probably know that Arch Linux changed the default package compression to ZSTD. In order to update or install any package, you’ll need a pacman version that supports this compression and up-to-date libraries. These requirements aren’t met in older Arch images, like the one used by Scaleway, so the only two solutions were installing another distribution, chrooting into it and hack an Arch install (the solution presented to me by Scaleway support) or change provider. The second option was the less time-consuming one.

Hetzner doesn’t provide Arch by default when creating a virtual manchine, but after creating it the user can boot it in rescue mode and run the installimage script that makes the process almost a breeze. After running the script, I advise you to manually chroot and temporarily allow root logins for the SSH daemon in order to be able to login remotely after booting the VM normally.

The virtual machine configuration I chose has similar specs to the previous one with Scaleway: 4vCPUs and 8GB of RAM. In the first few hours of use, I noticed a small improvement in package compile times – but this is just my perception; I have yet to time the build times. But even things like refreshing the repository package list is faster, way faster, and that’s really noticeable.

For the time being, I’ll consider in beta state, so use it with some degree of carefulness. The source is the same, but I changed the provider and I’m evaluation the virtual machine and network performance. Let’s see how it goes.