🔗 A Special Hand
A month of nightmares
has come and gone
Those days of silence,
not a single song,
no lullaby to calm the mind
no melody to whistle while we drive
The morning after
that won’t let go
The lengthy aftermath
takes us back and forth
where every story washed away
is brought back to the shore of our front door
where all those things
now changed and ruined
give themselves a chance
to tell their tale only once more
We all need a special hand to hold
We all need a special hand to hold
We all need a helping hand
We all have a helping hand
We all need a special hand to hold
The indecision
went for too long
But who are we to judge?
Did anybody know
exactly how to act and how to best protect
the little peace that we have
But how to make the memories last
With no memento I can grasp
Are you sure that’s how it went
The story seems a little bent
(Chorus)
Will it be yours?
🔗 How to change the nmtui background color
I had to clone the NetworkManager repo and grep my way through the source code to figure out how to do it, but here’s how to change the background color of nmtui from the default pink to a more subdued blue background:
NEWT_COLORS=’window=blue’ nmtui
As usual, add a line like `export NEWT_COLORS=’window=blue’` to your `~/.profile` file to make this setting automatic in future terminal sessions.
Apparently you can set lots of color settings with that variable
🔗 Receita de Best Pancakes
Receita de panquecas de banana e aveia, cortesia da Tamani:
* 2 bananas maduras
* 2 ovos
* ½ xícara de leite (alternativamente, leite de amêndoa ou de aveia)
* 1 colher de chá de extrato de baunilha (ou de açúcar de baunilha)
* 1½ xícara de aveia
* 2 colheres de chá de fermento químico
* ½ colher de chá de canela
* ¼ colher de chá de sal
Bater tudo no liquidificador e fazer as panquecas na frigideira com fogo baixo.

🔗 That time I almost added Tetris to htop
Confession time: once I *almost* added a terminal version of Tetris as an Easter egg in htop.
I managed to implement a real crude but working version of it code golfing to make it as short as possible and got it pretty tiny, then added it to the help screen so it would activate by typing h, t, o, p (since h would take you to the help screen and the other keys would be nops in that screen).
Then there’s the question of how to hide an Easter egg in a FOSS codebase… The best I could think of was to make it into a long one-liner starting at column 200 so that most people looking at the code without word-wrapping editors would miss it. But after everything was coded, I decided that trying to “sneak code in”, even in my own codebase, was a bad practice and the good intention of innocent fun wasn’t worth it.
My fascination with Tetris goes way back. I first implemented it when I was in high school, and it getting it done really gave me pause: that was a real program, something that people paid real money for in Nintendo cartridges. It was the first time I thought I could really call myself a programmer for real. At the same time, it was my first contact with the ethics of software. I had never heard of FOSS then, and yet I asked myself: “what if my friends ask for the source code? what should I do?”
Years later, when we did the first CD version for our GoboLinux distro, I took an existing ncurses version of Tetris and hacked it into our installer, adding a progress bar that showed the status of files copying from CD to disk, while the user played the game (distro installers took forever back then!). Everyone loved it–except for the fact that it was supposed to auto-quit when the installation was finished but we changed the list of packages last minute so it got the count wrong.
A lot of people just kept playing for a long time without realizing the installation was done! (But it wasn’t too bad, they could just press Esc or something to quit and finish the install.)
Our early Gobo releases were full of little fun tweaks like that. In one release we included an emulator and legend has it that some hidden folder contains a ROM (not Tetris!), but not even I remember where that is, and that ISO probably isn’t even online anymore. (We really should have preserved our old stuff better!)
The memory of the Tetris installer in Gobo having a last-minute bug was another thing that dispelled me from the idea of the Tetris Easter egg in htop: while having bugs is just normal, I couldn’t bear the thought of htop having some serious bug caused by code added for silly reasons…
htop has its fair share of “unnecessary code”, such as the “big-digit LCD” meter and the themes, which are more artsy than utilitarian and I stand by them. If anything, I think software in general should be more artsy.
But “hidden Tetris in htop causes buffer overflow” would be terrible PR for the project (and my reputation by extension, I guess). That along with the bad taste in the mouth of the idea of hiding code in FOSS left made me drop the Easter egg idea.
I wish I still had that code, though! If only to keep it to myself as an autobiographical side-note.
Come to think of it, after writing all of this I realize I probably _should_ have included that code… as a comment!! Maybe that’s the way to do Easter eggs in FOSS? Add a fun/silly feature but leave it commented out, so that someone tinkering with the code finds it, enables it and has fun with it for a bit. I know that *I* would have enjoyed finding something like that in a codebase.
Oh well, maybe someday I’ll pull this off in some project.
🔗 Receita de Orange Chicken
Ingredientes
Orange Chicken à moda do Panda Express. Receita obtida nesse link. Os comentários recomendaram reduzir a medida da maizena e farinha, e dobrar a quantidade do molho da receita original para a quantidade de frango recomendada; as medidas abaixo já estão ajustadas.
Galinha
* 1 kg de frango, sem pele e sem coxa (a receita originalmente dizia 2 lb = 905 g)
* 1 colher de sopa de sal
* 1 colher de chá de pimenta
* 65 g (1/2 xícara) de maizena
* 190 g (1,5 xícara) de farinha
* 1 ovo
* 360 ml (1,5 xícara) de água
* 2 colheres de sopa de azeite
* 6 xícaras de azeite (1,5 l) para a fritura
Molho
* 2 colheres de sopa de azeite
* 1/2 colher de chá de pimenta calabresa
* 2 colheres de sopa de alho, picado
* 1 colher de chá de gengibre, picado
* 100 g (1/2 xícara) de açúcar
* 110 g (1/2 xícara) de açúcar mascavo
* 120 ml (1/2 xícara) de suco de laranja
* 120 ml (1/2 xícara) de vinagre
* 70 ml (4 colheres de chá) de shoyu
* 70 ml (4 colheres de chá) de água
* 70 ml (4 colheres de chá) de maizena
* 35 ml (2 colheres de chá) de óleo de gergelim
Preparo da galinha
- Corte a galinha em cubos (2×2 cm) e reserve.
- Em uma tigela, junte o sal, pimenta, maizena e farinha. Mexa bem para misturar.
- Adicione o ovo, água e o azeite até chegar à consistência de uma massa de panqueca.
- Adicione a galinha à massa e refrigere por ao menos 30 minutos.
- Aqueça o azeite em um wok ou frigideira funda até 180°C (350°F).
- Cuidadosamente ponha os pedaços de galinha no óleo e frite por 5-6 minutos, até ficar um marrom levemente dourado.
- Remova a galinha da frigideira e transfira para um prato coberto com papel-toalha.
Preparo do molho
- Em uma panela funda, adicione o azeite em fogo médio-alto.
- Quando o óleo começar a estalar, adicione a pimenta calabresa, gengibre e alho e frite por 30 segundos, mexendo constantemente.
- Adicione o açúcar e o açúcar mascavo, mexendo para misturar.
- Adicione o suco de laranja e deixe os açúcares dissolverem no líquido, mexendo ocasionalmente.
- Adicione o vinagre e o shoyu, e mexa para combinar.
- Em um recipiente separado, misture a maizena e a água e bata para combinar. Adicione essa mistura à panela.
- Continue cozinhando o molho até chegar à consistência de maple syrup.
- Adicione os frangos fritos na panela e mexa até que estejam completamente untados de molho.
- Cubra com o óleo de gergelim.
Follow
🐘 Mastodon ▪ RSS (English), RSS (português), RSS (todos / all)
Last 10 entries
- Aniversário do Hisham 2025
- The aesthetics of color palettes
- Western civilization
- Why I no longer say "conservative" when I mean "cautious"
- Sorting "git branch" with most recent branches last
- Frustrating Software
- What every programmer should know about what every programmer should know
- A degradação da web em tempos de IA não é acidental
- There are two very different things called "package managers"
- Last day at Kong