Connect to a server behind a NAT using mosh

February 21, 2023

If you’re not familiar with mosh it’s essentially SSH but with support for roaming and it works like a charm on slow connections. I wanted to access my server which is behind a NAT, but with the default config it was not straightforward to do so. When you first launch mosh, sshd is launched in the background then kills the connection, in order to circumvent that, edit the ssh daemon config file: /etc/ssh/sshd/config to add the port you want to connect to:

Read More

The fish shell is amazing

November 8, 2021

I’ve been lurking the fish shell for a couple of years now (and the nushell but it is another story for another time). Not so long ago, I decided to try it, and it’s simply… amazing. If I had to state one feature that makes me like to use it, it’ll be the autocompletion, hands down. It’s the first time I just take a shell and without customization it’s pleasing to use.

Read More

Thoughts on how to find remote work in Cameroon

September 4, 2021

Remote work is the new norm there has never been a time like this, where as a SE you can make more than a decent living. This isn’t a know-it-all kind of post, I just wanted to write a bit about my experience, but it’s way too long (6 months+) so I will just share what worked and not for me. Before I forget, this is mainly for people like me doing computer science for the sake of doing it. Not because someone forced us or whatever. In short, geeks I guess. If you’re like me the perspective of spam applying and writing corresponding CVs is not very appealing. So, if CS is just a means to an end - not that there’s something wrong with that - but this might rub you off the wrong way (and you guessed right, no, I don’t look forward to enter management to “escape” coding). The job landscape in Cameroon is… saddening. While everywhere else the supply exceeds the demand, here it’s the exact opposite, which inevitably leads to abuse. Also, if you are still a student, this might not be for you directly, you can still read it to be prepared but there are many opportunities for students and I talk a bit about GSoC here. That being said, let’s get started.

Read More

Display Driver on RedHat-based Linux distributions (tested on Asus MB169B+)

May 1, 2021

I got myself a Asus MB169B+ to use with my Thinkpad X1 Yoga, and what leads me to write this is because when you try to install the displaylink driver you are instantly redirected to Ubuntu’s, even very active members in the community suggest you to do so. Well, let me tell you something: you don’t need to, display-rpm is what you have been looking for. And the thing is actually up to date: I am currently running with the 5.11.16 kernel on Fedora 33. Granted Fedora 34 is already out but it still got you covered, you can build it yourself. with everything that bleeding-edginess implies. The only downside is that it only works on Xorg for now. One more reason to stay away from Sway for now.

Read More

Frankentile (KDE + i3)

April 22, 2021

I used i3 for 2 years (2017-2019), then Sway to get a taste of Wayland for almost the same amount of time. Although I was quite satisfied with my setup, I discovered something even better for me: KDE + i3. Or more exactly KDE - KWin + i3.

Read More

Approche guerilla au Google Summer of Code

April 9, 2021

Note préliminaire, si tu n’as aucune idée de ce qu’est le GSoC je te renvoie vers l’excellente page Wikipedia à ce sujet. J’ai été contacté par un étudiant de mon ancienne école à propos de cette opportunité, somme toute assez unique à laquelle j’ai participé il y’a quelques années déjà. J’aurais pu répondre directement, mais ce serait hautement spécifique et je n’aurais pas vraiment eu le temps de rassembler toutes mes pensées à ce sujet. Et étant donné qu’il n y’a pas beaucoup de documentation relative à ça en français, il m’a semblé qu’une pièce de ce style serait assez utile. Il s’agit plus un mélimélo de choses que je pense plutôt que quelque chose de vraiment structuré, un ensemble d’heuristiques pour permettre de réduire drastiquement le nombre d’organisation/projets que tu auras à considérer pour ton choix (parce que le choix t’appartient après tout).

Read More

Synchronous Async

April 7, 2021

This piece might need to dive a bit in the source code of atbswp. I was working on atbswp trying to solve a problem I spotted since the beginning of the project: How to stop the infinite playback. It doesn’t seem like it, but it was very challenging for me. I even asked it on stackoverflow

Read More

One-liner to reverse a String on a word basis

April 2, 2021

Browsing Lobsters, I stumbled upon a thread, someone talking about reversing a string on a word basis using C while in retrospect they could just have used awk. I decided to give it a shot but make it more challenging by using a one-liner. Once again I am amazed by the power of the coreutils, it almost feels like cheating:

Read More

3 Basic Rules in C

March 26, 2021

Credits to Mark Davis

  1. Functions should do 1 thing and only 1 thing. The minute a function tries to do 2 or 3 things, or it goes over 50-60 lines (with a few exceptions around conditionals) it is trying to do to much.
Read More

Why C?

March 25, 2021

These days I was pretty involved in some recruitement process with codeweaver (the guys working on Wine). And even though it didn’t turn out very well for me. I rediscovered what really reasonates with me as far as computer science is concerned, and it’s C programming. I mean, I genuinely enjoyed writing their recruitment tests (that I can’t share for obvious reasons). And it meant one thing for me: I needed to go back to the basics (and no, it’s not the camping syndrom).

Read More

One-liner to test the requirements for building the Linux Kernel

February 23, 2021

I applied to a program at the Linux Foundation, and even though it didn’t go exactly well (I was too slow to complete a challenge) I learned a lot of things. But I found it tiresome to check manually if each program in Documentation/Changes is installed, so I came up with this one-liner.

Read More

Use atbswp's infinite playback effectively - case of a Youtube video

February 20, 2021

If you use atbswp (or any macro recorder) for a punctual task, this guide is not for you. My target are repetitive tasks that you can make atbswp perform infinitely (watching repeatedly a Youtube video for example). This is just a set of good practices I was able to identify while using atbswp for various tasks.

Read More

How I learned to embrace failure

November 25, 2020

If you see my Github profile, especially the contribution map, I’m almost active everyday, which is quite deceptive because in fact I’m not active everyday. If you look more closely, you’ll notice I’m more active in my dotfiles repo, which is just something I can’t stop doing, tweaking my setup to be more ProDuCtIvE. While looking at it closely, I think it was a symptom of something, something really big, something I don’t really want to confront, but here I am.

Read More

Vim Sessions

November 24, 2020

Even though I prefer to use one buffer at a time to be more focused. I sometimes needed to have multiple buffers open in splits (Terminal, Netrw, …). And when for whatever reason, I needed to close them or shutdown my computer. I didn’t like loosing my context. Enter Vim sessions.

Read More

Internationalization in Org-mode with Doom Emacs

September 22, 2020

Not so long ago, I discovered digraphs and since I use aerc as my email client, I immediately found it to be a blessing, because I write in many languages on a daily basis (mainly French, English and Spanish), and changing keyboard layouts is very painful for the brain, and everybody knows that the QWERTY layout is superior for Vim, even Theprimeagen (yes this was an actual talk at the Vimconf 2020) says so, but I absolutely hate the international US Layout.

Read More

Monitoring Torrents On Your Server

June 11, 2020

There are a lot of clients to manage torrents on your server: deluge, rtorrent, … but I decided to settle with transmission, mainly because it’s already installed in most of the distributions I had to manage and it provides a really handy daemon to manage all your downloads.

Read More

Migrating from Twitter to Mastodon

May 19, 2020

Straight from their main page: “Mastodon is an open source decentralized social network”, so it’s basically the project Bluesky but already implemented (Without the ads yay). More specifically, it’s a bunch of small (compared to the whole thing) independent communities which can interact with each other. You can find more information about Mastodon and how it works in the documentation.

Read More

Announcing atbswp, a minimalist macro recorder

March 16, 2020

atbswp: Automate The Boring Stuff With Python (yes like the book) is a multi platform, open source clone of tinytask, and for those who don’t know it, the core feature of the software is to allow the users to record their mouse and keyboard actions and reproduce them identically as many times as they want.

Read More

The Open Source Way

August 25, 2018

I’ve been throught many articles, videos, etc. That cover just one topic : Opensource, one of the resources I’ve been through really impressed me and I decided to share the content:

Read More