It’s been seven months since the last update article in October 2020. We’re still in a pandemic and living a more self-reliant, distanced, and introspective life. I’ve personally taken the stance of slowing down, to use this intermittent time to my advantage for personal growth. Slow living and the enjoyment of little things.
Let’s get to what I’ve been up to.
Psychology, Philosophy & Books
Explanation: The past few months I’ve been interesting in broadening my horizon, the so-called cognitive diversity. To do that I’ve tried to learn about other cultures, through translation tools, language, traveling by reading and viewing documentaries, or even watching “ancient” films.
One of the excellent series I’ve watched is called “Les Routes de L’Impossible”. It follows truck drivers from around the world as they move their load from one place to another. Transportation of goods, moving, is a great way to get acquainted with countries we didn’t know about.
Apart from the countless documentaries, I’ve also started a new hobby
which consists of watching movies from the 1920-1930s era. They offer a
crack through time, a telescope effect over new ways of thinking. It’s
fascinating from an artistic point of view, as the medium was still
relatively new, people were exploring the opportunities about what could
be done with it, not bounded by templates, tropes, and budgets.
Arguably, I’ve found these movies more entertaining, perplexing, emotional, and enjoyable than the current ones, especially compared to Hollywood movies. They have more depth, an emphasis on the story-telling and not quick and dirty effects or cliché scenarios.
I’ve written some reviews of films I’ve watched on my gopher:
In case you don’t have a gopher client, here’s a proxy that allows browsing gopher over the web. I am also considering adding a page on the blog with the same content.
When it comes to books, I haven’t read that many new books that were not technical.
- The Five Stages of Collapse: Survivors’ Toolkit by Dmitry Orlov
This was more of a long rant on occidental cultures and economies than an actual book about collapse. It has many tidbits about indigenous groups and different ways of living, which was interesting.
- Das Kapital by Karl Marx
A hard read, but worth reading. It splits everything that makes up what a “capital” really is, how it cannot disappear but inherent to transactions. Then defines “capitalist”, “capitalism”, and the concept of “surplus value”. The book then goes on a tirade about worker’s rights, especially in the textile industry with the 1847 Factories Act in the United Kingdom. It gives a novel perspective on things we take for granted.
- Waiting For Godot by Samuel Beckett
An absurd metaphorical play that is instantly captivating. In its simplicity, you cannot but extract more meaning out of the actions of the characters.
Similarly, I’ve taken a liking to dadaist art, post-modernist,
meta-modernist, surrealist, and shinkankakuha art.
I’ve watched multiple shorts, films, and visited a couple of online museums. This is worth the mind-opening experience, especially during these times, with friends through a video call.
Ascii Art & Art
Explanation: I’ve included, as part of the cultural journey, my ASCII artworks as an occasion to dive into history.
My latest set of pieces are about armours through the ages and
I’ve also updated my Redbubble account with them. Check it out!
With that, I’ve learned many of the historical biases, especial regarding the old “history is written by the victor”. It affects our perception of certain geographical areas on Earth and how we refer to them.
Explanation: Between October and December, the UNESCWA, in association with the Lebanese ministry of Labor, due to the dire situation, started a free access program to Coursera for Lebanese that registered on their platform. I did so, and went on a spree of courses. It was a hectic learning experience.
When I was done, I had completed over 20 certificates, both sub-courses, and specialization included.
Here’s some of them:
- University of Michigan — Model Thinking — certificate
- Stanford — Cryptography I — certificate
- University of Colorado Boulder — Effective Communication:Writing, Design, and Presentation — certificate
- BCG — The hidden value – Lean in manufacturing and services — certificate
- HEC Paris — Business Model Innovation — certificate
- HEC Paris — Inspirational Leadership:Leading with Sense — certificate
- University of Colorado — Secure Software Design specialization — certificate
- The University of North Carolina at Chapel Hill — Positive Psychology — certificate
- UCI — Fundamentals of Management — certificate
- UCI — The Art of Negotiation — certificate
- The University of Edinburgh — Philosophy, Science and Religion — certificate 1, certificate 2, certificate 3
As you can see, I went over multiple topics in a range of domains in a short span of time. The courses were all very interesting and added to my general knowledge. I might not use these in my day-to-day, but who would say no to more education and the chance to learn things we’ve always wanted to learn.
Articles & Writings
Explanation: I’ve written a book!
Ok, now that I’ve said it, I can explain.
I got interested in the subject of internet studies with an emphasis
on narrative control. The content I found online was too descriptive of
current events and didn’t take distance from them, a lot of them anchored
in shock value without reflection.
So I took it upon myself to do my own mini-research, which turned into an article series, then a booklet called “Internet: Medium For Communication, Medium For Narrative Control” that I’ve released here.
This is probably the longest research I’ve done for anything, and I still felt as if it was barely scratching the surface of the topic.
I’ve later found that the booklet is also listed on Google Scholar, and so I’ve registered myself to be listed as the rightful author. See it live.
The cover, seen above, is an AI generated image that has been glitched using a single byte technique that I’ve mentioned in this article.
Apart from the book, I’ve also written 3 new articles since the last update:
- What Does It Take To Resolve A Hostname
A transcript of a talk I’ve given for the nixers conf 2020.
- A Peek Into The Future Of Distros
A reflection on the big projects that are moving the Linux ecosystem. Some people took it as a direct attack on their views, or as a representation of what I personally believe to be “a good development”. However, this was merely an observation of facts and not a personal opinion. I’m neither in favor, nor against the changes I’ve listed, I only see them happening.
- Making Sense of The Audio Stack On Unix
An article that got some of attention about demystifying the audio stack on Unix. It covers a lot of ground in an approachable manner.
Unix, Nixers, Programming
Explanation: Soon after the last update article, we organized a nixers conference, the very first one. It was a really fun experience that everyone enjoyed. It could have been a bit more of organized, but it was nice to try out.
We had four speakers and each presented some unique talk.
My own talk was about resolving hostnames, which was something I wanted to dive into for a long time, as it is convoluted. I hope I made it simpler.
On nixers, we’ve also started a book club. Phillbush is managing the thread. Here are the books we went over so far.
- Nixers Book Club - Book #1: The UNIX Programming Environment
- Nixers Book Club - Book #2: The UNIX-HATERS Handbook
- Nixers Book Club - Book #3: The Wayland Book
- Nixers Book Club - Book #4: The Art of UNIX Programming
I love the idea of reviewing the books, discussing, and reading them with others. It’s easier to grasp the ideas when you have others that are discovering them at the same time.
Our CTF team went to the Trend Micro finals in December, it was enjoyable but extremely hard. I haven’t looked much into CTFs since then, as it was only something I attempted on the side.
Additionally, I’ve been trying out the Rust language and the Nix package manager.
I’ve finished reading the Rust official book, and updated systemd-manager to support switching between session and service bus (more on dbus). This last one was something that motivated me to learn Rust, to test out my skills.
On the Nix pkg manager side, I’ve read the usual documentation, the
nix-pills, and tried out things
I’ve found nix really nice and practical but I’ve ran into issues when downloading packages as it is extremely slow. The same goes for searching as it seems to be interpreting all expressions, so it’s easier to search online instead. These two are the same issues I’ve had when trying out port systems in the past, but they certainly didn’t have the advantages that nix has, such as rollbacks and reproducibility.
When it comes to audio specifically, after writing that audio stack article, I dig into multiple aspects that I’ve always wanted to.
- I made a small program called
aconfdump after someone messaged
me on IRC saying that the best explanation of ALSA configuration was
in that post, but that they still found it difficult to understand how the
configuration files got parsed. So I read a bit of the configurations
and tools but couldn’t find how to dump the whole tree. Therefore,
I wrote a mini tool to do it. However, the next day we saw that the upcoming ALSA
version will have in the
dump-cfgoption that does more or less the same thing.
- I found, when writing that article on audio, that pulseaudio restore database was something most had no idea about, was an unapproachable and uneditable binary blob. So I’ve written an editor and viewer for PulseAudio restoration DBs, pa-resto-edit.
- I started reading and trying out things with PipeWire. I’m planning to write an article specifically on this as I’ve found that the documentation is still extremely sparse. Even the documentation files are barely understood by anyone. I tried getting into the Rust binding to write a native client, however it isn’t ready yet, it’s still a work-in-progress, as Rust doesn’t create binding for inline functions, which constitute most of PipeWire code. I’m following on their IRC channel what is happening. I also had in mind to write a native client, but someone is already working on one called helvum, so I’m tagging along and trying to see how they go about it.
- To better understand PipeWire, I’ve taken a detour to learn Gstreamer. All the container format, codecs, and pipeline handling. I like how well documented and introspective the code and plugins are. Hopefully, PipeWire will soon follow the same route.
Explanation: The online research I posted got referenced by some people discussing Lebanon biodiversity but later removed due to the work-in-progress.
I’ve also found a suillus mediterraneensis in my garden.
Other than this, I’ve implemented the Morel game on Tabletopia to be able to play even at distance. Give it a try here.
Life and other hobbies
Explanation: My other hobbies are still there. I’ve tried a lot of cooking styles, different recipes, mastered the art of fried rice, had fun making bread, etc.. However, I haven’t updated my cooking section in a long time.
I’m still on a streak with the brain teaser app Elevate, however I’ve stopped my subscription since the banking situation in Lebanon and foreign currency restrictions have been in place.
My biggest hobby right now is my garden. I’ve been composting and
planting different things. From tomatoes, cherry tomatoes, radish,
carrots, zucchinis, rocket, persil, garden cress, cilantro, mint,
different types of lettuces, cucumbers, hot and mild peppers, lemon,
walnuts trees, loquat tree, common fig trees, lemon trees, berries,
oranges, avocados, different types of beans, eggplants, a dozen olives
trees, grape vines, and more…
It’s a hobby that is time consuming but rewarding. I love that when working from home I can just go in the garden directly after work and slowly, but certainly, take care of it.
In retrospect that seems like plenty of stuff!
I got multiple plans ahead, countless things I want to explore. My most recent obsession has been with Gstreamer and PipeWire. I’m preparing an article about PipeWire, it’s still a work in progress though but if I ever need help the main devs are really friendly on IRC.
Aside from this, I want to keep that new hobby of watching old movies and enriching my perspectives by learning about other cultures and traditions.
Obviously, it’s gardening season so I won’t stop that until next October at least.
Next month, I’m planning to kick back the Nixers June events. We’ll have a workflow compilation and the week in the TTY.
I’m not so sure I’ll dive into nix or nixOs more, I’ll try from time to time.
There’s another topic, unrelated to tech I might explore and write about. Maybe it’ll give rise to another booklet. Some weird topic like Everyday philosophy. I’ve found I love writing in general.
On the tech side, I’m looking forward, after the audio topic, to go into more popular ones such as containers, eBPF, maybe continue with Wayland, flatpak, access control mechanisms, init systems or service managers, and randomness. These last two have been on my list for a while, especially randomness on Unix as I was planning to write about it before the Time on Unix article but left it aside when I did the Coursera courses.
As far as books are concerned, I haven’t read much because of the economic situation. Books are hard to come by and are now worth one fourth of the average salary. I’ve also refrained from ordering new ones as I used to ship them to my workplace and we’re all doing remote work now. Shipping to my house is too complicated with the lack of courier service and no addresses.
This is it!
As usual… If you want something done, no one’s gonna do it for you, use your own hands, even if it’s not much.
And let’s go for a beer together sometime, or just chill.
Internet Archive Book Images, No restrictions, via Wikimedia Commons
If you want to have a more in depth discussion I'm always available by email or irc.
We can discuss and argue about what you like and dislike, about new ideas to consider, opinions, etc..
If you don't feel like "having a discussion" or are intimidated by emails then you can simply say something small in the comment sections below and/or share it with your friends.