For years, I have used myTinyTodo to manage my to-do lists. It is super light, fast and easy to use.
At some point, I struggled to update it to use my up-to-date version of PHP. Last year, I wanted to explore other languages than Python. I decided to start a small project to replace myTinyTodo. As I wanted to explore Go and React, I created two projects to build my to-do list system.
The project fulfills my needs for now. The IU is not perfect, and it lacks a lot of functionalities of MyTinyTodo but I don't really need them for now.
Development
I named the project AgayonTodo. The repositories can be found here:
The Javascript frontend relies on React and calls the API to display the data. I used the create-react-app tool to build the whole thing and followed the main tutorial. Even if I had to download the whole internet of dependencies, it is pretty efficient.
I used the Bulma CSS Framework because I wanted to try something else than Bootstrap. It can be used without Javascript, which could be helpful in some of my other projects.
The Go backend service relies on gorm, an ORM in Go. The service only provides a small CRUD API and some small tools because I don't need much at the moment. I did not want to do all the SQL requests by myself, especially if I want to add access control in the future. I thought it would be better to learn how to use that popular library.
First I would like to wish all the readers (if there is any), a merry Christmas and a nice happy end of year.
The time flew since the last article. As I was more busy with my other hobby, improv theater, I had less time to hack stuff and build new things. Nevertheless, I will summarize here what I did in the past months.
My First Thinkpad T
First, I bought a refurbished Levovo Thinkpad T480s. It is the best machine I've had. For around €300 it is really a great purchase from my point of view. I had already purchased a second-hand computer for some relatives at Media Monster, and I wanted to buy one myself to be more autonomous.
I am not a gamer and I don't have big needs. I just upgraded the RAM to 24Go in total, which is sufficient for my needs. After checking that everything was alright with Windows 11 installed by default, I formatted everything and updated the UFI Bios. Then I installed
Arch Linux with ext4 partition in an encrypted LVM.
Sway
For 15 years, I have been using Enlightenment as my primary DM. I loved it, especially the ability to change from one virtual desktop to another by moving the mouse outside the screen. With the arrival of this new computer, knowing that I would have a 14' screen, I wanted to be more efficient and to use the keyboard as much as possible. Therefore, I decided to try a modern tiling window manager. In the past, I already tried the tiling mode of Enlightenment, but I did not liked it in the long run. This time I installed Sway, a tiling WM compatible with i3. I love it. Even if at beginning, it was a little bit difficult to remember all the shortcuts. I feel really efficient, and I like to keep my hands on the super comfortable keyboard on the Thinkpad.
I also installed Foot as my primary terminal emulator.
Neovim
I also took the opportunity to start to use Neovim as my primary text editor. I wanted to try it for a really long time but never took the time for it. I recently discovered the :Tutor mode of Neovim (vimtutor) and adopted it as my primary editor. For now, I use it quite basically instead of Nano but I feel it will really improve my productivity and speed in the future.
Cleanup of this blog
This year, I also took the time to improve the performance of this blog. With time, and the growth of article, I observed that the blog was slow to load. The main issue was the use of non-optimized pictures or videos. I decided to use the Lighthouse tool natively available in Chrome/Chromium and follow the diagnostic help to improve the blog. At first, I was afraid it was not possible, and I would have to move the blog to Hugo, another static site generator. Even if Hugo is more modern, I was not happy with that idea because it could mean that the RSS feed would have been republished. As this blog pushes updates to the jabber Planet, I was afraid it would spam all users with old articles. After reading the diagnostics of Lighthouse, I was able to highly improve the performances of the blog. I can keep Pelican, my current static blog generator. I even updated the blueidea theme according to the latest changes in notmyidea, the default theme of Pelican. Two pictures are better than one big sentence.
Before
After
Strategy
In order to improve the score, the following changes were made:
Convert most of the images into webp, reduce the size and resolution of the biggest ones
Update the iframe settings of some embedded youtube video
Decrease the number of article per page
Improve some links to avoid "read more", "go" etc. generic descriptions
Pendant mes trajets en voiture, j'aime écouter des podcasts. Ma voiture supporte la connection Bluetooth avec un téléphone mais pour diverses raisons, je préfère utiliser une bonne vieille clé USB.
Je récupère les épisodes à l'aide de l'application GNOME Podcast qui récupère les flux RSS/Atom.
Les scripts ci-dessous me permettent d'écouter La semaine des 5 heures pendant des heures, étant donné qu'ils sont passés à une formule quotidienne. J'écoute également d'excellents podcasts de France Inter: Blockbusters et La Science, CQFD sur France Culture.
RTBF AUVIO
Il y a quelques mois, le site Auvio de la RTBF a changé et les liens des podcasts n'étaient plus autant mis en avant. Je suis nénmoins tombé sur ce forum qui m'a aidé à trouver la solution:
Le nom du programme en toutes lettres est remplacé par des chiffres, identiques au code d'Auvio, la plateforme de Replay/Podcast de la RTBF.
Ainsi, la semaine de 5h, l'émission cinéma dont l'identifiant 1451 voit ses addresses évoluer comme ceci:
Par ailleurs, ma voiture ne sait pas lire les fichiers m2a récupérés par l'application. Je les convertis à l'aide de FFMPEG afin de les lire. J'utilise les scripts ci-dessous pour lire le tout.
Le premier converti les fichiers en mp3 et le second les renommes en fonction de la date de l'épisode.
It's been a long time since I updated this blog. It will be a short update post about two projects.
chatty_server
The first is chatty_server, a small XMPP bot I use to interact with my server. It allows me to get information about the CPU load, traffic, weather etc.
It also has a small feature to get reminder messages. There was a bug that allowed anyone to spam reminders. Anybody can add the bot to their rooster and could create random reminders that I would get.
I got none, so the bot must remain quite unheard-of.
HTTPAuthentificationOverXMPP
The second project is HTTPAuthentificationOverXMPP, a component that I use to allow 2 Factor authentication with XMPP.
The original project had not been updated for a long time and I wanted to try to modify it to rely on another XMPP go library.
I have never coded in the Golang language and it seemed like a nice introduction. I relied on go-xmpp where I added the support for XEP 0070. It was really interesting. The new component is running for several months and I am quite happy with it even if I don't have any serious project relying on it.
The https://demo.agayon.be/ website is still up if you want to test it.
I hope being able to provide more update about my projects in the future :-).