// Patrick Louis
A blog consisting of well researched articles about Unix, philosophy, and more. From deep dives to well-rounded overviews that remove mysticism, everything is easily explained in a consumable way. Every article tries to take a new point of view, to link ideas together, and to tackle topics that haven't been before.

Did You Know Fonts Could Do All This?

Freetype, included in the font stack on Unix, is quite complex. There are so many layers to get it to do what it does that it's easy to get lost. From finding the font, to actually rendering it, and everything in between. Like most of the world, I use a rather low screens definition (1366x768 with 96 dpi) and rather old-ish laptop, unlike some f... more

Notes About Compilers

Compilers, these wonderful and intricate pieces of software that do so much and that so many know little of. Similar to the previous article about computer architecture, I'll take a look at another essential, but lesser known, CS topic, Compilers. I won't actually dive into much details but I'll keep it short to my notes, definitions, and what ... more

Computer Architecture Takeaways

Computer architecture can be considered a boring topic, one that is studied during CS education, then put aside, and leaves place to the shiny new toys that capture the attention. I've recently revisited it, and I'd like to summarize some takeaways. more

Wild Mushrooms in Lebanon

Finally, The project about mapping wild mushrooms in Lebanon is out! The project consists of a map with wild mushroom specimens, their locations, along with pictures and descriptions of them. It is based on the only two research papers on the topic I've found, Joseph Thiébaut research paper Champignons observés dans le Liban et la Syrie de 1930... more

D-Bus and Polkit, No More Mysticism and Confusion

Dbus and Polkit are two technologies that emanate an aura of confusion. While their names are omnipresent in discussions, and the internet has its share of criticism and rants about them, not many have a grasp of what they actually do. In this article I'll give an overview of these technologies. more

Evolutionary Software Architecture

In a previous post, I've underlined the philosophy behind Domain Driven Design, DDD, and now I'd like to move to a practical approach that handles real issues in software development and architecture, requirements that constantly change, and models that are never precise, never current, and/or never using the best technology available. One of th... more

Domain Driven Design Presentation

We're used, as software engineers to try to make things perfect, to see things from above, to think we're great architects and creators. What's more important though is to create software that does an important job for someone. What are the best ways to create such software? more

Time on Unix

An article covering everything you need to know about time on Unix. Time, a word that is entangled in everything in our lives, something we're intimately familiar with. Keeping track of it is important for many activities we do. more

Software Distributions And Their Roles Today

What are software distributions? You may think you know everything there is to know about the term software distribution, but take a moment to think about it, take a step back and try to see the big picture. more

The Self, Metaperceptions, and Self-Transformation

How would you describe yourself? How do you usually talk about yourself? Do you feel like you are the writer of your own narrative? Who are you? more

March 2020 Projects

Here comes another life update. My biological clock seems to have chosen to remind me to post these updates once every 6 months, with seasonal changes. more

Command Line Trash

No this isn't a post trashing shell scripting. Handling files on the command line is most of the time a non-reversable process, a dangerous one in some cases (Unix Horror Stories). There are tricks to avoid the unnecessary loss and help in recovering files if need be. more

Loading of xinitrc,xserverrc,xresources,xdefaults,xprofile,xsession,xmodmap

We often hear discussions about X configuration files and their roles. Namely, xinitrc,xserverrc,xresources,xdefaults,xprofile,xsession,xmodmap. So let's try to clear up this mumbo jumbo of words. more

Key And Trust Store on Unix-like OS

Let's have a discussion about all the kinds of trust stores found on Unix-like operating systems. For those not in the know, trust stores are places where the operating sytems generally, or the specific software, stores private and public keys (asymmetric), trusted CAs, and symmetric keys (decryption keys). more

Will Lebanon Collapse or Will it Survive

Collapse, the word that is on everyone's lips in Lebanon. What does it mean, will Lebanon fall or survive, and what does the future have in store? "We can predict everything, except the future", I hear someone say, but can we at least get some possibilities. more

Professional Software Engineering Topics And Practices

As the field of SE/CS is getting more press, graduates are flooding the market. Yet, the curriculum given in many universities still seems barren when it comes to professionalism, forcing newcomers to learn via unpolished street creds. Not only is it leading to mysticism about what skills are required but is also leading to a lack of discipline,... more

No, Alfa isn't draining your data without your knowledge

In Lebanon conspiracy theories are such a common occurrence that the whole world but yourself is to blame for your ailment. I usually dismiss them but the one in this post got on my nerves, and moreover a quite simple experiment could finally shatter it and remove it as an option from all conversations. more

September 2019 Projects

In the blink of an eye 6 months have gone by. Since then, I've written a single article about time on the internet and thus the blog needs an update on my latest endeavours. more

Time On The Internet

Time can be measured in all sort of ways, some more accurate than others, but the perception of its flow varies widely depending on the subjective experience. That's the distinction between physical and psychological time. Psychological time is influenced and influences our cognitive systems. It influences how we act and respond to information... more

February 2019 Projects

The new year has begun... A while ago! My last post Was almost 9 months ago, more than half a year has passed. A lot has happened but I still feel like time has passed quickly. more

Adding Glue To a Desktop Environment

In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don't make sense then this article will... more

Xft but for XCB

In this post I'm going to go over "fonts for xcb" a mini-project I've been working on recently and I'll document the parts that are not usually found online. more

Drawables, Regions, Shapes, Types of WM, Reparenting, Compositing, Redirecting, Unredirecting, Rendering

In this article we're going to go over the big list of words found in the title. When I worked on 2bwm I didn't have much experience with X programming in general. I've sort of learned it on the spot. That's why I'm trying to gain more knowledge before continuing to re-rewrite 2bwm from scratch. Now that I've got a bit more background I think ... more

May 2018 Project List

Five months have past since my last post about personal projects. more

Less ties with a machine

Let's say you've been using a machine for a year or two and over time you gradually become more attached and dependent on it. This is a situation I've found myself into more than once and it is quite annoying, it's straining for the brain. I've been through it the past few days and it and I kept wondering about the ways I could make it less of a... more

Tools, glue, scripts, and automation on Unix

Today we take for granted the concept of software as a tool but it didn't always exist. Mini-scripts, the interoperable programs, the small utilities for specific tasks, etc. This is what we're going to discuss, where do they come from, the history, and a bit more. more

Scale and arguments

In this article I'm going to pose a not so novel compatibilistic idea about the so-recurrent philosophical discussion of free will and determinism. However, this can apply to any topic where reductionism is over-used. Let's get started. more

Online Convergence

This article is about nothing surprising but may act as a reminder to anyone that wanders online or that manages a community. There's too much already written about the subject of echo chambers so what I'll do is list ideas that I find interesting but that aren't mentioned enough. more

December 2017 Projects

Five months have past since my last post about personal projects and endeavours but it feels like I've been stagnating for much longer. more

Data Storage on Unix

Libraries and banks, amongst other institutions, used to have a filing system, some still have them. They had drawers, holders, and many tools to store the paperwork and organise it so that they could easily retrieve, through some documented process, at a later stage whatever they needed. That's where the name filesystem in the computer world e... more

Hidden Hope For Control

This article is about a rarely discussed component that resides in the background of our lives. No word clearly describes this phenomenon as it's a fusion of different ideas. We blueprint ourselves according to media that display extravagant versions of winners and losers. The profiles on social media are facade created around individuals — Pr... more

Logos and Artworks in the Unix World

Logos and artworks in the Unix world, where do those come from. We'll try to analyse a bunch of popular Unix mascots and logos. Throughout my research I could distinct two groups of mascots and logos. Even though it's not fun to have a binomial vision of the world, black and white, but this is what I found and this is mostly what it is. more

Processes On Unix

In this episode we'll tackle a topic that joins many parts of the systems and so is hard to fully cover. It has a relationship with everything in the system, it glues it together. We're going to be discussing processes on Unix. more

July 2017 Projects

It's been four months since the last post about my personal projects and endeavours. These past months I've been following, slowly but steadily, on the activities I had set the pace for previously. more

Cross Culture Frustration

It's not uncommon to hear, from persons that relocated to a new country, discussions related to the dissatisfactions with the new land they've set upon or the land they've just left behind. Apart from the stifling reply, "they're just not used to it", what else is hiding behind this phenomenon. Let's dissect this case. more

Zombies

You check your processes and see some hanging around with a weird status and using no resources. You don't know if you should remove them or not. Then you try removing them and it doesn't work. In this episode we're going to discuss zombie processes. more

WM & DE

We've had a previous episode discussing xcb, x11, wayland, all about display servers. I've said in the beginning of the episode that it would not be about window managers. Well, today folks we're going to do just that. This one is going to be about window managers and desktop environments. more

Green on black?

The idea of green text on black background comes from the "Green screens" aka monochrome monitors. It was nicknamed Green screen even though the monochrome monitor came in many other different colors other than green. A monochrome monitor is a monitor that only has one color, as the name implies. It was used before color screens were... more

Shells

What's a shell, what does it do, why would we need that? A shell is a program that acts as an intermediary between the user and the operating system, the kernel. It lets you execute commands on a computer. Specifically, on Unix, the shell is a command-line interface, a prompt that waits for commands entered by the user, interpret and execute ... more

Unix philosophy

Understanding the Unix philosophy and what makes a Unix system Unixy. Let the good discussion flow, let all arguments and ideas be put down on the table. more

Terminals

We spend so much time typing at a terminal and yet the underlying mechanisms and history behind it are often overlooked. The TTY is an integral part of Unix, and we take most of its behavior for granted even though it has a huge history baggage that it carries to this day. For instance pressing control-C or control-Z to stop or put in the back... more

Unix system calls

System calls are one subject that scares many people. Actually most of the low level stuffs happening on the operating system scares a lot of people. I admit, I was a bit afraid of dealing with this subject. Not because it's hard or anything but because it's something that we're not used to dealing with every day, it's like a hidden magic spe... more

Special Files

Everything is a file, right. Files on Unix have no specific format, nothing is imposed about how they should be, and there's no need to incorporate anything specific for them to be files. There's no file type, all the files are the same. But that's not really true. There are two differentiations. One is at a higher level, a meta level, usin... more

Ricing

We've had an episode about display servers and libraries, and then we had another episode about window managers and desktop environments, and so the next logical step is to do one about ricing and customization. This is what we're going to do today in the company of xero, neeasade, and halfwit. more

Newcomers

What would you say or give as advice to newly unix users. What is there first to dabble with. Today we're discussing advices and tips you'd like to tell newcomers. Remember the first time you laid your hands on a Unix box, most probably you were lost, just like most people. Now that you've got some experience with Unix in general what would you... more

Making the best CLI

Unix is known for its set of small command line utilities. What are your ideas and features for the best CLI programs. What makes a complete utility. more

Licenses on Unix

The world of licenses is the legal world, a world where the literal meaning of words is important and where all the crevasses are exploited. I'm not a lawyer, nor have I studied laws, and whatever I say will be based on what I understood from my reading. In this episode we're going to do a small overview of the topic of licenses on Unix. But b... more

Fonts on Unix

Understanding how the fonts work on Unix isn't simple. I had never thought when starting this research that this field was this deep. Not only is it overwhelming, but the information around the subject is also not easily digestable. The last two weeks I've been researching this and in this podcast you'll barely find but the essential. It's stil... more

File hierarchy

Files, the predominant representation of everything on Unix, how are they scattered around? more

Unix executables

An executable is something that causes a computer to perform some tasks according to encoded instructions. It's in opposition to a data file which must be parsed by another program to be meaningful, for example an image or video. The instructions are usually in machine code, read by the cpu and so dependent on the cpu architecture. An executa... more

Environment Variables

A set of dynamic values, helper or configuration values, that can affect the way a process runs. Usually it's the process that queries those values, they are part of its "environment" and consequently the name. They are there so that the process can know the suitable values of the system it's running on. They are metadata, so to say... more

Daemons on Unix

You've certainly heard of daemons, those processes that lurk in the background and do what they're supposed to do. You might even have written and run programs that are daemons. Today we'll talk about them, those daemons ({day,dee}mon), what there is to know about their mechanism and details. A big generic overview of daemons on Unix. more

Browsers

Browsers, your windows to the WWW What do you use, customize, the problems you've stumbled upon, how we're using those browsers in the Unix world, the most used browsers, why we use them, and all the problems we've encountered I'm venam and you're listening to. The nixers podcast more

Booting On Unix

At the beginning of time there was nothing... But that all depends on your definition of nothingness, what is nothingness... A power button is pressed, and suddenly BIG BANG... After a while, you get a Unix login prompt. Have you ever wondered what led to this, what happened behind the scenes from the time you pressed the power button until t... more

Bits and words

The topics in this episode are fairly simple, even basic, but I'd like to tackle them from a different perspective. The information in a computer is represented in binary form. For them the bit is the basic unit of this information. Bits are binary, and binary means that there can only be two states, or it's the first or the second state, nothi... more

Why Deliberate Positive Illusion Is Important

There may exist someone in your entourage, someone you may care deeply about, or maybe even yourself, that is being crushed by the real and raw perception of themselves. They may appear to an external observer as someone who expresses a lot of self-deprecation or negativity, but the observed categorized this as realism. We often hear the senten... more

A Case Against Misinterpretations

It has become rampant nowadays to find many persons misinterpreting or skewing evolutionary psychology studies to praise or blame the stance they fancy or despise. The slants are non-sense and blot this relatively new field of social science by conflating it with bigotry and excruciatingly non-scientific arguments. Many of the pernicious indivi... more

March 2017 Projects

Hello fellow readers, This is the first post of 2017, let's recap what I've been up to since the start of the year. Show me how you spend your day and I'll tell you what you care about more

Dynamic Evolutionary Psychology Project

Hello fellow readers, It is finally up! more

Originality & Creativity

We take actions based on our unconscious mind, we follow our unspoken norms and taboos. For a little while we may think we are original or creative, but we aren't — at least not following the definition we attributed to the terms. This is not uncommon, everyone thinks that they are innovative. A positive illusion or just the opposite, let's not... more

Default Unix Programs

Welcome to hell, choose your default program! You'll soon learn in this podcast why this subtitle was chosen. Let's go, follow my train of thoughts and don't get lost. The default programs... more

Out Loud

What if you could see your life from a third person point of view. What if you could get closer to yourself. Who are we anyway? more

Why Is It So Uncomfortable To Eat Alone At A Restaurant

You're hungry on your way home and are thinking of passing by a restaurant, to sit down, relax, and eat, but there's an uncertainty feeling emerging. Why is it so uncomfortable to eat alone in a restaurant? At first glance it seems like an appropriate solution, You're hungry, tired, and there's someone there waiting to cook for you. What might ... more

Mind Map Creators On Unix

Mind maps are, from wikipedia, A mind map is a diagram used to visually organize information. A mind map is hierarchical and shows relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of w... more

Xcb, X11, Xlib, Wayland?

What's happening here! This isn't a podcast about window managers and the ways to make one. (Though we might record one in the future) It's about the architectural differences between the different ways of interacting with the system to display graphics. Be it by interacting with other layers such as X11 or higher or by directly drawing them ... more

Unix Signals

Signals have been there since the very first version of Unix. They were just a bit different from what we know today. For many reasons in fact, they've gone through many iterations of development and ideas. Today we have one single system call to catch all signals but that only appeared in version 4 of Unix and before that there were differen... more

Pass Time

Let's start with definitions because the words themselves are not representative of my perspective. I think there's a clear distinction between words. We have different words for a reason, they have different meanings. They might be thought to be synonymous but do have backgrounds, connotations, history, roots, that differ, The generic aspect... more

September 2016 Projects

Hello fellow readers, In this post I’ll list some of the projects and experiments I worked on or finished since last time, or planing to work on in the next few weeks. more

What Are We

We are born, we live, and we die. Yet, humans presumptuously want to ply meaning with their existence. What am I — Just a coincidence? What makes me special, am I distinguishable? We're not blind and won't be satisfied with the unlaborious mythological answers. Which are only enough for the simple minds. The essence is there, somewhere downs... more

June 2016 Project List

Hello fellow readers, In this post I’ll list some of the projects and experiments I’m working on or just finished. My last projects update was in February. more

9 to 5

I find it fervently infuriating when someone uses the word passion and degrades it. They degrade the meaning of the word. Passion is the ultimate upgrade of the hobby, a cultivated curiosity. Something you're currently dedicating your life to. You diminish it when blurting that a person that doesn't spend any time outside the "obligatory wo... more

Death

This is my philosophy of life. I hope it resonates with you. It's ubiquitous, we tacitly agree to it. The anxiety, the stress, the fear, the conflicts, the mystical, the norms, the religions, reputation, we use those blocks to build walls around us. The cold concrete hurts our hands — We're proud of our construction. Isn't it what we are supp... more

What Needs To Change In The Lebanese Mentality

Ten years ago we moved to Lebanon. There was a culture clash. In this post I'll explain why some locals go on destructive paths. We all know generalizations have the nasty effect of activating justice warriors. My intention is not to trigger rage, generalizations are what they are, a resonance of the state of mind *we* are living in. While e... more

Society, Hacking, Anonymity, Mystification, and Hysteria

Hello fellow readers, This post is a refresh on correlated subjects I've discussed in the past. I'm revisiting them considering the recent media coverage. Social awakening is at the door. more

Driving In Lebanon

Hello fellow readers, This article is about driving in Lebanon. I used to spend my whole day walking until I bought a car. Walking was time-consuming and tiresome. On the long run I got used to it and with my "wasted" time on transportation I read books, watched movies, and listened to podcasts. I also had many adventures on my way. ... more

Current Projects

Hello fellow readers, This post is about the recent projects I've been working on and planning. more

If I had to teach a child

Giving life is not a simple decision, if it even is a decision at all. The world, the societies, are moving fast. Who can tell what the future will hold. Only children and their children will be part of it. I wonder what it would be like to teach someone à la `tabula rasa` — even if I'm still learning to be an adult myself. more

5 In The Morning

It's 4:45am, you wake up! Rusty, you get out of bed. Man up, drink some water because your mouth is sore. You wash your face with cold water. Then, stand up for 5 minutes, simply looking at the fridge to realize you're still too numb to be able to eat or even to choose a meal... Anyway, you just want to leave as soon as possible. You pack up yo... more

What Programming And Computing Represent

Hello fellow readers, In this post I'll discuss what programming and computing are for me. Computers are tools. Their functions can be summed to entertainment, utility, and information. It's common to find persons loosing themselves to a tool, slave to their creation. Programming is something useful. It's a big domain where you learn language... more

Group And Community Projects

Hello fellow readers, In this post I'll talk about group and community projects. Everyone has been part of multiple group projects throughout their life. From school researches, to university presentations, to work. It's only by sharing ideas and finding common grounds that goals can be achieved. However, it's hard to maintain cohesion and i... more

On My Way

Hello fellow readers, In this post I'll depict the most memorable events that happened on my way to work. It's a strange world. more

Futurists

Hello fellow readers, In this post I'll introduce futurists, some people with a very special occupation. more

Justification After Actions

Hello fellow readers, In this post I'll discuss a subject that has been nagging me. Justification After Actions I usually write to clear my mind about a topic. These days I can't really keep up with all the things that bug me. This subject is a preparation to a broader subject that I'm preparing to write about. more

The Harden The Fuck Up Post!

Sometimes you need to boost up, to push yourself up. Shia LaBeouf motivational video is pretty good at that, I'll do the same in this post. more

July 2015 Project List

Hello fellow readers, In this post I'll list some of the projects I'm currently working on. more

TTY Week

Hello fellow readers, This week is TTY week at nixers.net. Last summer we did the same challenge and it turned out a pretty enjoyable and a great learning experience. I'm going to add logs in this post and hopefully it'll render beautifully (because I can't check my blog from the TTY.) more

Myself, Stoicism, Minimalism, and Society

I've been meditating lately, trying to fight the parts of me that aren't in equilibrium. After starting my full time job, my way of life shaped to fit the situation. Beyond the changes, those inner thoughts kept surfacing telling me to stay true to myself. I am far from an hypocrite, but society brainwash system is strong and if you find yours... more

Important Factors To Evolution

Hello fellow readers, The last two months I've been extremely interested in evolutionary programming and group dynamics. In this post I'll try to gather some important factors I've noticed repeating themselves across the multiple opinions and examples, and the ones that just seemed noticeably important. more

Mathematics The Law Of the World

Hello fellow readers, This post is about a little adventure I had with maths. I'm currently reading a book called `clever algorithms`, I go along at my own pace doing researches on hard subjects or things I forgot from high school. Digging through the cross entropy algorithm I had to take a break and learn more about distribution. Namely, I ... more

View On Social Changes In 2015

Hello fellow readers, This post is about an analysis of social changes in 2015. more

Keeping track of your things

Hello fellow nixers, This thread is about having your machine help you remember things throughout your days, to be your companion. more

Learning and Curiosity

About a week ago an instructor at university was asking why most students did not try the step-by-step tutorials at home, or why they didn't at least read it. He then started a speech, trying to understand us and saying that we would not be able to enter the work world easily with this mindset, and asking students what they thought of it. more

Obscurity Of Communication

A hot subject these days is privacy. Since the Snowden's leaks we have been getting headlines about privacy every two or three days. This post is not about something new but it's to dwell into ways of thinking we haven't been accustomed to. I don't personally have any interest in conspiracy theories and secret societies but it's still interesti... more

Ricerous

Hello fellow readers, This post is simply to link to the ricerous project threads. more

How to write a simple Manpage

Hello nixers, In this thread you'll learn how to write a very simple man page for your programs. more

UML Editor/Designer on Unix

Hello fellow Unixer, This thread is about a must have software engineer tool called an UML(Unified Modeling Language) designer. More precisely, it's about finding the open source UML Editor/Designer that you need. more

JS/HTML Obfuscation

Hello fellow readers, This thread is about obfuscating the content of a webpage. This might not be so useful, security wise, because all the sensitive information should be kept server side. However, for the ones trying to reverse engineer the page this is a huge obstacle. more

Cheap And Enjoyable Gaming On Unix

Hello fellow Unixers, In this thread I'll explain how to enjoy playing games on free Unix OS for a cheap price. The rumor that gaming on Unix is bad has been around for quite some time now. While it's almost true for the newest games with the 3D rendering that makes hair looks so real that it feels like your own hair are fake, it's still not t... more

[C/C++] Valgrind to find memory leaks

Hello readers, valgrind, from the man page, is a suite of tools for debugging and profiling programs. I'll introduce you to the memory leak finder feature of valgrind. (note, valgrind only works on posix compliant OS) more

Social Networking

Hello fellow readers, I've been away of the social networking scene for a year, after obvious wrong events such as Facebook entering the stock market. This post is a reminder of those horrible, so called, online social networks. Social networks make people look stupid! On a personal level, I've been out for a year and I still feel the weird ... more

Another Little thing I thought about

Hello people, Yet again, I came up with another _little_ quote. Feel free to use it in any context or to give your opinion about it. more

Little thing I thought about

Hello People, I was about to sleep when I came out with this more

The Evolution of security

I have been watching a lot of video conferences on security and I'm wondering what will happen in the next couple of years. more