Let's explore and deobfuscate the input stack on Linux. Our aim is to understand its components and what each does. Input handling can be divided into two parts, separated by a common layer. We’ll try to make sense of all this, one thing at a time, with a logical and coherent approach.
Time flows through us so quickly, like rivers and ravines; but also, like travelers, we're advancing on its endless plains, mountains, and ridges. Aren't we living contradictions, and embracing the elements. Let's sit down and write about a few things that happened since the last time.
Throughout the countless years of research on this blog a common thread always comes up: Some features and toggles are often hidden under mountains of hubris that nobody understands. It could be because the software is under-or-badly documented, that it's 'too-flexible' and made to handle cases that never materialize, or just that people don't capt what they're dealing with and never bother looking under the hood. These software are crying to have better interfaces!
Take a look at your process tree, it's likely that you might notice a new service: rtkit-daemon, the RealtimeKit Daemon. It seems nobody on the internet is talking about it, so let's explain what it's about in this article.
Here's something that's shocking to say: Most of what you think of as traditional, regardless of where you live, has only appeared 3 generations ago, three generations only. For the few things that existed beforehand, they mostly didn't exist in their current form, and weren't as widespread — thus can't really be called an authentic heritage. Try it, list 10 things that you personally consider classics and find when they originated and started to be commonplace with the general population, you'll notice 8-out-of-10 are relatively recent, or at least more recent than you thought.
We often get absorbed in the moment, it's tough to take a pause and reflect. However, if we never do we might forget our stances and essential parts of ourselves. So here comes the time to stop, and refresh about what I've been up to, to judge and think about the direction of things.
Life is pretty bland today! Indeed, we're the cozy spectators of homogenization through globalization, pushed by a series of ephemeral trends, one dying after another, and carried by consumer society. It's as if the cultural vibes all seem to walk in the same direction. What is this direction? Where did novelty go, have countercultures disappeared? Yet, they were omnipresent, bubbling and thriving, in yesteryears. What is a counterculture anyway?
Every so often we need to regroup and give shape to our scattered ideas, turning them into well-structured paragraphs so that they make sense. From simple observations of events to shower thoughts. That's what I'll try to do in this article, swapping heavy words for a lucid mind.
Is someone that is subjectively experiencing something more knowledgeable than someone who didn't or currently isn't? Are analytical external observers sometimes more adept at understanding what is happening than the persons that are currently deep in the experience?
´Life is what happens in the space between´. Indeed, since the last update article a world pandemic has passed, truces have been signed in some countries, new wars have started in others, climate is going increasingly haywire, and the global political and economic turmoils have led to protests and revolts in countless places. The world keeps moving and I'm but a tiny spec in the grand scheme of things. Yet, you're reading this article, so you're interested about what I've been up to!
Plenty of cheesy quotes often say that total security stands on the opposite of total freedom. Undeniably, in computers and operating systems this is a fact. This article will focus on the topic of access control on Unix-like systems. Sit back and relax as it transports you on a journey of discovery. We'll unfold the map, travel to different places, allowing to better understand this wide, often misunderstood, and messy territory. The goal of this article is to first and foremost describe what is present, allowing to move forward, especially with the countless possibilities already present. Because how can we better shape the future if we don't know the past.
It's already been quite a while since the last update article in Spring last year. The dynamics around the pandemic have changed but it is still omnipresent and the constant weight is taking its toll on everyone. Similarly, I'm hearing an echo that can't be silenced, that of a need for change and return to what captivates me. As some readers might have noticed, I haven't posted nor been very active the past few months.
After writing a whole book about internet and narrative control I want to share what I personally do, in my own limited ways, to try not to get stuck in bubbles. The book covers a lot of ground on this used up road, especially in the last part, but let's be practical instead. This isn't meant to be didactic but only informative of my reflection on how I attempt to achieve this and the issues I've encountered.
The PipeWire project is slowly getting popular as it matures. Its documentation is still relatively sparse but is gradually growing. However, it's always a good idea to have people from outside the project try to grasp and explain it to others in their own words, reiterating ideas, seeing them from their own perspective.
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.
Our mini internet study has come to an end. In this series we've seen the new actors and spaces introduced by the internet, the actors using them, from the new economies, to netizens in between, to state actors. We've also took some reflective time to understand why we can be susceptible to biases and why we have so much difficulties with online interactions. Next we've looked at the big picture by diving into subjects such as paralysis, neoliberalism, the truth and trust crises, and a future glance at mass hypnosis and psychosis. Finally, in the last part of the series we've seen four type of solutions, market and economy or laissez-faire, legal path with governments being involved for transparency and accountability, technical software solutions, and web literacy as education and a maturity to learn to live in the information society, a post-modern society.
We can attempt to patch things, use tools and software as countermeasures, to add laws and regulations, or to let the market decide, but in the end we are at the center of everything. If we are facing difficulties with the medium it's because we haven't matured enough to handle it properly. Right now we're still in the process of trying to grasp how it works, in an apprenticeship stage. Knowing our tools, how to use the internet medium properly, is a foundational skill, as important as any other in our information society. This goes under the name of digital, internet, or web literacy, the ability to read, write, and participate properly on the medium, in its full extent. It's an application of the broader information literacy.
When free market and regulations fail, when the laws of rights can't properly protect anyone and trust has eroded, we're left only with ourselves. In that scenario, tech is seen as the savior of the internet, the weapon and armor of choice for everyone, building and selecting software that resolve issues. For social media platforms and other big entities such as governments, algorithms can be used for detection, categorization, and remedial. The first step of an issue is to know, without knowledge it's hard to defend.
The market and corporate self-regulation have their limits. They cannot in themselves be sources of morals and ethics. This is the realm of laws, the legislations that governments make are the real arbiters of duties and rights. The governments, as state entities, can impose the rules that should be followed to be able to act on their territories. However, laws are bound by geographical areas and as such cannot be international. They can only be inter-governmental if treaties and partnerships are in place. Companies can decide to comply to different regulations in different areas to be able to operate on these markets.
In this last part of the series we'll go over the adaptations we are undergoing to remove the frictions we have with the internet — anything to make it better suited for us. We'll take multiple perspectives, primarily the ones of users, societies, and others that are encountering the issues we've seen related to this new communication channel. Let's start by taking the point of view of the market and economy as ways, in themselves, to provide solutions to problems we've had. Keep in mind that these heavily depend on the locality, culture, and practices of the tech companies at the epicenter of the internet drastic changes that are taking over the world. Most of these giants embody a neoliberal mindset and originate from the USA.
The internet brings with it technological advancements that reminds us of dystopia that sci-fi writers have written about. So let's go beyond what we've tackled so far and project ourselves in hypothetical futures to posit bigger consequences. The two archetypical stories of dystopian futures are Brave New World by Aldous Huxley and 1984 by George Orwell.
Nobody likes to be put in a box, nobody likes to be paralyzed. In a world where the individual is put first, we want to feel in control. Yet, we are lost in a whirlpool of chaotic and clashing ideologies, memeplexes and absolutist templates. Who are we, how should we define ourselves? This makes us distrust any form of authority and renounce classical forms of media. As individuals, we're looking for authenticity, whatever form it can take even if disingenuous, so that we can find our new roots, our new base. Then, there's nobody better suited to affirm justice than internet mobs. It feels like the internet is the new far-west, a lawless land of incessant doubt, lacking meaning and trust, where gurus, inspirational influencers, and vigilantes reign and data, personal data, and metrics of reputation are the currency held by the banks of social media. Or it may also feel like eunemics in action — the deliberate improvement of the meme pool — and people wanting to take part in the cultural meme wars and genocides.
In this part of the series, we'll explore the bigger picture and the generic issues and 'ill effects' on societies that are brought by the emergence of the internet or accelerated by it. We'll begin with a look at three inter-related subjects, a general social paralysis, an apparent sentiment of homogeneity, and the relation with the widespread neoliberal mindset.
To be a netizen means to be part of the online social sphere. There's no way around it, to have a voice and participate people have to join a platform, which comes with its own limitations. The rules of the platforms are the rules of the information society but the platforms adapt more to fit us than we adapt to them. Anything happening on them is directly because of real people interacting together. People that have their own hopes, emotions, values, prejudices, and beliefs. Consequently, through our own cultural differences, ambiguities, and insecurities, we are indirectly manipulating ourselves.
Humans are prone to manipulations by their own experiences and biases. Let's review what are some of the cognitive biases and cultural weaknesses that make us fall for all sort of things on the internet. We've already looked at coercion, deception, and other types of persuasion principles in a previous sections. In the following two we'll emphasize on ourselves instead of external factors.
Since ancient times, nations have tried to write history from their own point of view. As they say, history is written by the victors. Today, the speed of the internet allows rewriting the narrative in real-time, and state actors will certainly take advantage of this. Namely, there are two ways, or generations, of state information-control practices, an information scarcity approach, aka censorship, and an embracing of information approach, speech itself as a censorial weapon. Both require monitoring of the population to properly adapt the tactic in use.
The internet is a new resource and when introduced in our social structures it has fueled the construction of utilities around it. Like any tool it has no effects on its own but only through its usages. In particular, it has altered our capacity of communication making it interactive, multimodal, asynchronous or synchronous, global or local, many-to-many, one-to-many, one-to-object, object-to-object. In this section we'll go over some of the things the internet allows to do through the platforms and services hosted on it. We can't go over everything because that would be equivalent to describing what modern life is about. Instead, we'll paint a rough picture of the internet in between the corporate, private, and public sphere.
The artifacts we've previously seen have given rise to new types of economies, tools, and arsenals that can be used by different actors for different incentives. Let's start by focusing on the economic aspects by looking at actors such as social media platforms, newspapers, and advertisement companies. Life in an information society is about moving data, the new raw material, around our manufacturing pipelines. This data is then consumed by either paying with attention or money. Data and attention are the two assets of the digital economies that emerged.
In this last section of our first part about artifacts and places, we'll explore memes, internet memes, and cults, their definitions, how they have transformed and crisscrossed, their relationship, their role as communication vectors, and the extreme forms that they can take. Meme is a word that comes up in many conversations. It can refer to two related definitions, the classic one and the internet-related one.
The internet is littered with nuggets of information, some made of gold and some worthless. From this mine we can extract meta-information, inferences that can lead to more lucrative valleys. Two of the most talked about are personal data and models, also known as statistical trends visualizations, big data analysis, and predictive studies. Let's take a look at what is personal data, where and why people share them, why they're valuable, and how they can be used with different types of models. In another part of the series we'll focus on the actors and consequences.
With the advent of smartphones, social media platforms are on the rise. Let's step back and try to understand what social media are, not by citing events and instances happening on the different platforms, nor the countless consequences but by describing the characteristics of this new informational channel. We'll go over the rest later but let's take some distance for now.
Our journey begins with three terms, propaganda, influence, and persuasion. To most, they sound like synonyms but each convey a different concept. Like any form of communication the internet can be used as a channel for them. What does communication consist of? The very broad domain of communication studies — with multiple sub-disciplines such as journalism, film critic, public relation, and political science — often use a simple reductionist model called the Shannon–Weaver model of communication.
To no one's surprise, the internet has permeated all aspects of our lives. All other means of communication have dwindled in comparison, even though the technological behemoth is relatively young (around 50 years old as of 2021). Worldwide, according to statistics from 2019, people spent an average of 2 and a half hours a day on social media. The top place goes to The Philippines with 3h53min per day.
Audio on Unix is a little zoo, there are so many acronyms for projects and APIs that it's easy to get lost. Let's tackle that issue! Most articles are confusing because they either use audio technical jargon, or because they barely scratch the surface and leave people clueless. A little knowledge can be dangerous.
Resolving hostnames (DNS?) might not seem like it, but it's complicated. Let's take a moment to see if we can at least demystify what happens on the client side instead of seeing it as a big tangled mess of configurations, libraries, and tools.
Seven long and perilous months have gone by since my previous article, what feels like an eternity, and yet feels like a day — Nothing and everything has happened. All I can add to the situation in my country, that I've already drawn countless times, is that my expectations weren't fulfilled. Indeed, after a governmental void and a horrific explosion engulfing a tremendous part of the capital, I'm not sure any words can express the conflicting feelings and anger I have. Sentimentalities aside, let's get to what I've been up to.
We live in a world that is gradually and incessantly attracted by over-rationality and order. In this article we'll burst the enchanted bubble and embrace corruption and chaos — We're going to discuss the topic of image glitch art.
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 font designers that live in a filter bubble where everyone has the latest macbook. Thus, good and legible font rendering is important. Let's play with lesser known toggles available to us when it comes to font rendering and see what they do, let's have fun and explore possibilities.
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 I actually found intriguing and helpful.
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.
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 à 1933 along with Nadine Modad research paper Survey and identification of wild mushrooms in Lebanon and my own research and findings over the past few years. It took me around 2 months, or almost 15h to fill the map. These research papers have been my bedtime stories for quite a while.
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.
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 the solution to such problems is to build an evolutionary architecture.
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?
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.
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.
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.
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.
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).
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.
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.
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, duty, and craftsmanship.
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.
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.
Time can be measured in all sorts 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 and events around us, and the information and events around us influence it.
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.
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 help. Let's hope this can open your mind to new possibilities.
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.
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 it's good to share it with the world, for others that are like me, looking for knowledge and good articles on the topic.
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 pain. Imagine if today you suddenly lost access to your current work machine, what would you do? This all rotates around the concept of having "less ties", "fewer worries", "better or lighter workflow". And there are no exact step-by-step guides to reach this, only nebulous and vague ideas that rotate around it. However, checking some of them might make it less straining on the brain, less of a burden, for possible future changes.
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.
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.
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.
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 emerges from and this is one of the subject of this episode. We're going to discuss data storage on Unix with some discussion about filesystem and an emphasis on storage device.
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 — Profile being a well-chosen word as it misses the other angles. All across those there's an implicit demand of mechanized efficiency which slipped from our workplace to our interaction with ourselves. We are our own employee and are expecting results.
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.
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.
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.
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.
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, nothing else. The CPU has some built-in commands to manipulate a fix set of those bits. The set of bits with a fixed size for a processor, that this processor is designed to handle at a time, is called a word. This varies between processors. Because of how tied and low level binary operations are, they are operations directly supported by the cpu, they are faster than higher level abstractions and consume less memory space. For this reason it is sometimes chosen, at the sake of clarity, by some programmers as a data structure. We're going to discuss some topics related to words and some usages of bitwise operations in 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 this prompt appears? In this episode we're discussing the boot process and what is specific to Unix about it. I'm venam and you're listening to the Nixers podcast.
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
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.
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. For example, the temporary location to store temporary files, or the home directory. This defintion is vague, the implementation could be done in a lot of ways. What's really an environment variable... Well, this isn't clear. Are those environment variables respected, forced? Also, this isn't a clear thing.
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 executable once compiled will only work on a particular family of processor because the machine code instruction differs within the families of processors. It also differs depending on the hardware, let's say the GPU. An exception to this are the fat binaries which include the code for multiple hardwares in a single binary. It makes it bigger though, obviously. There aren't many implementations of this in the Unix world but the most relevant example are the OSX and ios binaries, which are architecture independant, they are fat binaries, which explains why their binaries are huge. We've said the instructions were in machine code but more generally they can be in any format, interpreted and reconstituted into bytecode by a scripting language or a middle man program that will do just in time compilation or anything else so that the machine understands. An emulator for example, java bytecode is also a good take.
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 still skimming the surface of the topic. If I explain something in a wrong manner, be sure to correct me in the extended podcast discussion thread. The people that truly understand the full font stack can be counted on one's hand, I'd like to salute those true heroes. They deserve respect. And if they had an anthem I would've played it at the beginning of this episode. So yes, we're going to discuss fonts.
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 beware, a "small" overview in the legal world is quite heavy!
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 tell yourself from the past. Guests, thlst, abhx/stark
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.
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, using mimetypes which we discussed in an earlier episode about default programs. You can listen to it to get a small overview. The other difference is at a lower level, and that's what we're going to discuss.
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 spell. I was also afraid of dealing with this subject because I thought I could make mistakes while explaining it and giving other people false assumptions about the mechanism of their Unix operating systems. But that's ok... We'll explain everything slowly. In this podcast we're discussing system calls on Unix operating systems, it's going to be a quick overview of what's happening there. If you're someone that hardly know anything about them then it's the episode you need to listen to.
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 background a process, or using control-A to go to the beginning of the line. You might think that the control-A comes from the EMACS keybinds but it doesn't, it's the opposite, the EMACS keybinds are inspired by the TTY. In this episode we're going to dive in the world of terminals. A big, rough, and unhoned overview of this part of Unix.
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.
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 them, and when its done, prompts again for a new command. It stays in this state that we call REPL, read evaluate print loop, or interpreter. All that while hiding the details of how it did it.
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 invented in the early days of computing, from 60s till the 80s, as a successor to the teletype terminal, which was a typewriter, with papers connected to a machine.
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.
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.
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 sentence "I am not a pessimist, but I am a realist," which doesn't necessarily carry the connotation we're bringing to light here. However, for that particular someone we mentioned, realism is equivalent to a degraded nihilism. Realism in itself is a challenging subject because definitions are nebulous. We also tend to find absolute and eternal answers more attractive than vague ones. Certainty feels good to us. But nothing is like that for "real", we define and delimit things and at the same time we can see that those limits are vague and change through different lenses and scales. The absolute and vague are there at the same time.
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 individuals that advance them are confabulating and fabricating ideas to fit their world view. Their truculent piffles are due to multiple complex misunderstandings and internal fears. One of them relates to a common confusion about the definition of the term "scientific theory". A so common confusion that it has become an adage that the ignoramus abuses to spurt out, officiously, blatantly wrong statements.
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
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 discuss determinism. The human brain works by re-interpreting and linking concepts. There's no blank slate, otherwise we would have no base to stack ideas unto. Those concepts come from the surrounding bubble, a relatively narrow one. Like a snowball rolling through fresh snow. The bigger the ball gets the more we can see of life, the more complex the components of the ball get, the more likely they are to stick, encroached on it, buried under the snow. But even that perception of reality isn't reality, it's a vehicle. A transportation that might take you somewhere no one has ever set foot. If only creativity would spur.
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...
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 words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those.