Interview with InfoQ China on Emacs and life
What follows is the English version of my interview with InfoQ China. The main focus is on Emacs, though some other general topics about life are also discussed.
The sources in Chinese:
Thanks to Kimmy Luo (罗燕珊) for making this happen!
[ They asked me for a few pictures, which you will find below. I don’t have a camera. Those are the best I could get with a phone I borrowed whose capturing software tends to exaggerate contrast, highlights, and shadows, as well as distort colours. ]
Why Emacs?
It is a program that empowers the user. Once you learn how to use it, you can extend it to do exactly what you want with text. This extensibility allows you to consolidate different parts of your computing workflow into a single configuration. The resulting integration allows you to adapt to evolving circumstances by re-using or iterating on the knowledge you have already acquired through usage of Emacs.
For example, I use my own “focus mode” for Emacs: the logos
package.
It is a simple program I wrote. Because of the integration that Emacs
provides, I can use this tool for everything: regular text editing,
reading, video presentations… It works with programming files and
with prose. I just had to write one program and got the benefit for all
specific workflows I do inside of Emacs (text editing, email
correspondance, daily agenda, etc.). Otherwise I would have to write a
focus mode for each individual application: one for the email client,
another for the text processor, et cetera.
Congratulations again for winning the 2021 Award Outstanding New Free Software Contributor by the FSF. First of all, would you like to briefly introduce yourself to Chinese readers?
Thank you!
[ Prot edit: Check my post about the award. ]
My name is Protesilaos. For most people, this is an obscure name. It is ancient Greek in origin. I never heard anyone who is called that. Even Greek speakers find it strange, which is why they often ask me to repeat how they should call me. As such, some friends call me “Prot”. You are welcome to do the same.
I program as a hobby. My focus is on software that respects the freedom of the user: it is known as “free” or “libre” software. Over the last 2.5 years I have been using GNU Emacs and have been contributing to it in various ways, such as by writing packages, doing video tutorials, and delivering presentations of a more theoretical nature such as those I did for EmacsConf 2021 and LibrePlanet 2022.
I also am a philosopher. My philosophical disposition underpins everything I do. For me, philosophy is not a mere academic or intellectual preoccupation. It is a way of living. You study abstract magnitudes in order to understand the specifics and from the specifics you again generalise to find the underlying principles. In this inquisitive process you learn more about the Cosmos and our place in it. The goal for the day-to-day experience is to have wisdom be the guide of your behaviour. Put simply, you always want to understand the bigger picture that frames and informs a given state of affairs in order to have the right perspective on things.
I have a personal website (https://protesilaos.com) where I publish my ideas on a range of topics, such as Emacs, politics, philosophy. Everything I post is available under terms of use that respect the freedom of the user. All the knowledge I share is for free and in accordance with this spirit of liberty.
I try to present my thoughts in a clear way, while still being thoroughgoing. It is common to write, say, 3000 words on a single topic and keep it relatable to a general audience. As such, my website is a resource for self-learning while it chronicles my development as a thinker or teacher; “teacher” in the sense of conveying knowledge, not the formal capacity of a profession.
Professionally I do whatever is available in my region. Usually this is some farming activity, though it depends on the season and the prevailing conditions. Unemployment is a reality here that we must cope with.
What have you been up to lately?
Apart from my ongoing contributions to the broader Emacs milieu, I recently started a series of video presentations on philosophy. My plan is to basically repackage ideas I have already elaborated on and present them in a way that is easy to access. I think everyone with a hint of intellectual curiosity can benefit from those. In this process, I will develop new concepts and provide insight into topics that people can relate to.
Again, my philosophy has a direct effect on everyday life. It remade me and will remake anyone who opts to live in accordance with the pursuit of wisdom. This is not something you study on the weekend and simply forget about as soon you get back to your usual routine.
How did you get into programming at first?
It was when I switched to a free software operating system in mid-2016. This operating system is known as “GNU/Linux” though some people call it “Linux” for the sake of convenience: it is a Unix-like system. Unix basically is an old operating system whose design is good for several applications. Programmers and others like GNU/Linux, or other Unix-like systems, for a number of reasons, as they make their life easier.
At the heart of Unix is the command-line. This is a text-centric interface where you type some special words and get back the outcome of an operation. Simply put, you can manipulate text or other data in an efficient way.
The beauty of Unix, and of its underlying philosophy, is that you can piece together a complex operation out of basic instructions. So I was tinkering with the command-line, trying to learn the basics and then eventually was able to perform more demanding tasks.
The GNU/Linux space is great for people like me who may lack a formal education in computer science but have the passion to learn more about the computer. This is because we have excellent documentation and promote the hacker spirit of playing around with the code and the tools at your disposal. I use the phrase “playing around” because I see it as a game with both an educational and recreational value.
Just by using GNU/Linux and then Emacs, I learnt how to program. I still learn something new every day and become better at using the computer as a tool that does what I want in an effective way that respects me.
Although Emacs has a long history, many people believe that it is relatively niche and has a relatively high entry barrier. There are many modern and easy-to-use text editors today, and there are also many active open source communities. Why would you choose Emacs?
Emacs was not my first choice when I switched to GNU/Linux. I started off with one of those easy-to-use applications. The problem I identified over time was that this ease-of-use comes at the hidden high cost of inflexibility. It works for as long as you are willing to do things the way the developer or provider envisaged. As soon as you deviate from that path, you have to implement dubious workarounds and dirty hacks.
Emacs comes with the promise of flexibility. While it has a lot of power out-of-the-box, it ultimately lets you refashion every aspect of it and assume control. Emacs does not have a clear dividing line between the code that is in the core application and the one the user runs. Every piece of code stands on an equal footing with the rest. Once you learn how to extend Emacs, you realise that the possibilities are virtually endless. This is why many Emacs users are like me in how they use this program: they integrate most of their daily computing inside of Emacs, from text editing, to email correspondence, the agenda, and so on. We do this not because we have some weird obsession with using Emacs for everything: it just makes perfect sense to have consistency and efficiency at scale.
The high barrier to entry is, I think, a matter of perspective. Yes, Emacs requires you to alter your expectations: you will have to learn how to use it and stop thinking of it as yet another text editor. If you accept that Emacs is special and that your time with it will be worth the upfront investment in effort, you will get past the initial awkward phase and start appreciating the flexibility it offers.
The other way of looking at this high barrier to entry is in terms of wider workflows instead of minute tasks. Imagine three generic applications that cater to this ease-of-use: a basic email client, a regular text editor, and a simple task management app. How do you quickly capture some text from your editor into a to-do task and how do you link that task to a relevant email thread? It is very difficult to draw linkages between three different applications. Whereas inside Emacs this sort of workflow is easy to accomplish, automate, and improve upon. So which case actually has a higher barrier to entry when we start thinking about workflows? We realise how if we change our perspective, the case is different and that Emacs gets easier as it goes.
Did you encounter any difficulties when you first learned Emacs? What moment made you determined to choose it?
The first moment I remember that made me consider extensibility as a core feature was when I was searching for an easy-to-use Markdown editor. None had the features I wanted. And none could be tweaked to fit my use-case. This is about the inflexibility I alluded to earlier. I then realised that those standalone applications do not combine nicely and do not help you be efficient at scale. It took me some time to discover Emacs, but I always had this problem that these Markdown apps made obvious.
I thus switched to Emacs as a conscious decision to fix the problems I encountered before with other disparate applications. In the past, it was difficult to draw linkages between the various programs. Whatever sort of integration or consistency was fragile. So I decided to check out Emacs and start learning it from scratch. I had heard stories of how it is extensible and customisable. Maybe it was what I always wanted.
I did not find any real difficulty with Emacs. Quite the opposite! I discovered ways to make my life considerably easier. The key was my mindset. I downloaded Emacs with the understanding that it is a special tool that requires a change in mentality. I had to put in some work to get what I wanted, which is true for anything we do that involves a degree of sophistication. The first few days I had to familiarise myself with the key bindings. After that, it was only a matter of daily practice and continuous study of the available resources, like the manual, to understand the “Emacs way” of doing things. I believe I learnt everything within the first three months. After that, it was all about refinement and the development of expertise, such as how to program with Emacs Lisp (Elisp is the programming language we use to extend Emacs).
After becoming an Emacs user, what is your biggest takeaway?
That superficial ease-of-use is a false friend. This is not to suggest that we should make things difficult for newcomers. No! We should make everything as easy as possible. Though not at the expense of flexibility. Inflexibility has a very high cost, which is ultimately reducible to the freedom of the end-user. We do not want to forgo our freedom.
My journey as a GNU/Linux and Emacs user has taught me that what we really need from the computer is to do things the way we want. Anything that contributes to that end is worth having, while whatever detracts from it should be removed or otherwise reconsidered.
There is a Quora-like platform in China, and there is a popular Emacs-related question on it: Is Emacs an outdated text editor? If it were you, how would you answer this question?
Emacs is not outdated. Development is active and the community is thriving. It also is not outdated because it is relevant for our modern-day needs.
We are caught in this mentality of thinking that if something was not invented or re-invented within the last few months, then it cannot possibly be any good. This is a pernicious bias that some groups have an interest to induce in us in pursuit of their own ulterior ends.
If anything, I think Emacs is ahead of its time. Just look at the state of the technology world all around us. We are conditioned to behave as passive consumers of technology-as-a-commodity. You download some app that you have no control over. You use it the way the developer wants. You give away your privacy and freedom just how the provider planned. And you learn to never question any of this, accepting it as the new normal.
That is until you realise that technology is not a commodity. Technology is a resource: know-how with a direct application. These are tools we use to make our life better. Just like the hammer or the screwdriver, they are not there to function as the “remote control” of some software provider over our computing life. They are not there to sustain an extractive economic-political order.
There will come a moment when we will recognise the significance of owning the means of computing. Our data, our programs. This realisation will be better for us as a species and for the planet at-large, as we will eliminate the wasteful practices of the current establishment.
Couched in those terms, think of Emacs not as the program itself but as a paradigm of how to write an end-user application that respects freedom. Emacs embodies values that are worth learning and applying in our life. It also is an excellent program for efficiently accomplishing practical tasks. Just try it in earnest and overcome the prejudice of favouring whatever is new and shiny.
Can you give some advices to newcomers to Emacs based on your experience?
My advice applies to life in general. Do not get into the habit of doing things opportunistically. Do not favour short-term convenience at the expense of longer-term sophistication. Learn to focus on a given task and commit to it. This attitude will make you a better person overall.
Emacs is a thoughtful tool. It requires some effort to reveal its potential. This is the same for everything we do in life, like learning how to play a musical instrument, studying a foreign language, performing some physical exercise… Whatever we do, we do it better when we put in the requisite effort and develop the appropriate method.
Compared with other text editors, there are not many Emacs users now. Have you ever wondered how Emacs can attract more users?
Is this true? I read about it every so often, but I get the impression that we do not have reliable data on the matter. It might be the case that Emacs occupies a shrinking portion of an otherwise expanding pie. More and more people get into programming. Some of them choose Emacs. So while Emacs may not be popular in relative terms, it might not necessarily be doing bad in absolute terms.
I think the best way to attract new users is two-fold: (i) continue iterating on what makes Emacs great and stay true to it, and (ii) expand on what Emacs is and how it can be useful. The latter can be broadened to encompass practical solutions like making the website better, showcasing specific workflows, streamlining the development tools and on-boarding experience, adding a “getting started” wizard for new users, and so on.
I believe many people do not yet realise what I covered before about the traps of easy-to-use applications. I learnt about that inflexibility the hard way through trial and error. But if we can reach out to people, we might be able to explain to them why they may want to opt for a more flexible and powerful way of doing things.
Ultimately though, sheer numbers are not the real goal here. We always need developers to write packages and contribute to the core application. Beside that, there is nothing in the nature of things which changes depending on how many users Emacs has. Take my use-case as an example: Emacs is the best tool for what I am doing with the computer and this is not contingent on how many other people use the program and/or what they think about it.
Is your daily schedule fixed? Can you share with us how your day goes?
I am adaptable and do not consider myself a control freak. I take whatever life gives me, the ostensibly good and the seemingly bad, the plenty and the scarce, and simply cope with evolving circumstances. I do have routines, though I leave room for spontaneity.
In an ordinary day, I wake up at around 5 or 6 in the morning. I go for a hike in the nearby mountaintops or forests and come back home to take a cold shower and do some work on the computer. I receive lots of emails, which I always reply to. Sometimes I spend the entire morning dealing with my email correspondence. When I have no emails waiting for me, I maintain the Emacs packages I have already published and/or write new ones. Or I prepare some text for my website, like a presentation on philosophy. I take regular breaks from the computer and go for more walks around the area.
That is basically it. Life is uneventful where I live. Most people would consider it boring. I am indifferent.
Why don’t you use social media?
Because they are not truly social. They are designed to extract as much value as possible for their corporate owners. Thus, they rely on patterns which trigger specific types of response and which contribute to all sorts of invidious behaviours. It is no coincidence that social media is becoming synonymous with the lack of attention or focus, over-the-top reactions, absence of reasonable discussion, virtue signalling, and relentless witch-hunting.
I do not mind using technology to get to know people. I am happy to do that. However, I do not want to live in a world whose rhythms are dictated by a platform provider or any unaccountable operator for that matter; rhythms which determine how people behave. I will not be a part of it.
I care about genuine sociability. The kind which recognises that there are human beings involved. The exchange may be face-to-face or via a remote method. The medium is not the goal. What matters is that we connect with actual people.
I used to be on social media many years ago. If there is a single moment that made me change my attitude, it has to be the following. I once published a long essay. Within seconds I got several upvotes and comments like “well done, great read”. Seriously? You can parse all the nuances present in a document that is several thousand words long within an instant? So I figured that those are superfluous comments to make people feel a certain way by showing others who they follow or what they pretend to read.
There are no real people on social media. Or if they are, they are going extinct. We find avatars in a role-playing game of social expectations.
Can you tell us about your hobbies?
There is Emacs, which I already covered at length. My other hobby is hiking. I like to explore the nature all around me. Scale the mountains, walk through forests, gain access to new vantage points. This physical activity keeps me as healthy as ever and provides me with the energy to be productive. I never have what people call a “bad day”. All days are a celebration of life.
Are you blogging and doing YouTube channels out of interest? What’s the motivation to keep doing it?
I have been publishing articles on my website since 2011. I am a prolific writer. I do it because of an inner need to express myself. That is my primary motivation. There may be secondary motives, like helping others, but those would not be sustainable without this propensity to think, re-think, and speak my mind.
You might wonder why not keep it private then. I do it in public because I want to demonstrate how I do not fear what others think and do not care to appear as perfect to some audience. Think about what I said earlier on the topic of social media and the quest to find true people, not avatars. It is the same idea. If my language has errors, you will identify them. If my thinking is incomplete, you will notice. There are no pretences in this regard.
This reflects how I do philosophy, where I do not care about the appearance of intellectuality. I am interested in the substance. Those who think I have something to say, do so because they recognise the value of my words. It is not the jargon or professorial palaver that attracts them, as there is none. It is not my title as some esteemed professor, for I am not one.
If anyone wonders “who do you think you are to voice an opinion on this matter?”, I blithely reply: “I am Protesilaos. Nice to be here!”.
As for videos, they are the continuation of my writing through other means. I wanted to have a way to actually speak, because it helped me practice my language skills. Speaking differs from writing in one important way: you need to be clear at all times. In writing, we can afford to use longer sentences to describe complex relationships. But in speech we need to be more considerate. Anyone who communicates ideas must be aware of these subtleties in order to be effective.
When did you start thinking about Free Software? Has your understanding of Free Software changed since you entered the software community?
I started thinking about software freedom from a political perspective. This was a few years before I switched to GNU/Linux. I was not tech-savvy, so I could only approach this topic with my background in politics, economics, and law. I was interested in ways to take back control from the technological establishment, with its deep connections to—or symbiotic relationship with—the state apparatus and other parts of the business elite. To me, every little change matters. Their cumulative effect is greater than we may think. I was searching for a means to bring about that eventuality or at least contribute to it.
I still believe in those political views. What has changed over the years, as I have also learnt how to program, is my broadened conception of software freedom. I now think that it is not enough to have a free software license attached to some code base. We need programs that empower the user. To quote what I said at LibrePlanet 2022:
We do not want to have freed code that is operated by powerless users. Instead, we want to teach the user how they may assume stewardship over their own means of computing. Free software must not be a mere alternative to proprietary code. It must incentivise a shift in attitude towards self-rule. We should strive to educate the user through the design of the program that they can use what is offered to them in a way that makes sense for them and not just the developer or provider. Little by little, step by step, the user will learn to seek freedom in everything and assume the requisite responsibility.
https://protesilaos.com/codelog/2022-03-22-libreplanet-emacs-living-freedom/
This is why I now consider technical matters, such as code correctness, composability, and extensibility as contributing factors to a liberty-enabling computing experience. Put differently, I think of software freedom in terms of how we live with it. The permissive copyright license is not enough.
Could you talk about how your background in the humanities has influenced the way you think about Free Software?
What I have learnt from the humanities is that the context matters. For example, how can we understand the conflict that is unfolding right now on the European continent without an appreciation of the historical magnitudes?
We must always consider the bigger picture and try to combine the insights of as many disciplines as possible. This will help us understand phenomena at a deeper level.
As their name implies, the humanities provide insight into the human condition. This is of paramount importance for technology in general and free software in particular, because all those inventions or applications are dependent on how we think of them and, in turn, have a profound effect on our interpersonal relations.
I often read expressions such as “let’s keep politics out of this”. I understand the salient point, though I question the premise that the discussion is otherwise rooted in objectivity. Software is a human construct. As with all such constructs, it embodies values, beliefs, assumptions. Those may be deep-seated and not obvious. Which is why we sometimes mistake our products of thought for indubitable objectivity. Yet biases or implicit views are there. I discover them all the time, such as by maintaining my own packages for Emacs.
Once we recognise that software is dependent on us and thus cannot be values-free, we will try to organise our life in such a way as to treat software for what it is: something that we influence and whose application influences us. We will no longer treat it as the exclusive domain of so-called “geeks” or “nerds”. Software affects everyone, in the same way clean air is a matter that concerns us all.
It is appropriate not to conflate distinct causes though as our resources are finite. Free software has a clear political ambition, which relates to copyright and concomitant issues. We do not want to mix that with other goals, which may be equally important but are not specific to our cause.
The humanities encourage us to look at the bigger picture and discern the connections. Just think, for instance, how bad coding practices such as bloated websites and wasteful apps affect power consumption and how that on a grand scale impacts the environment. So while we focus on software freedom, we must not remain oblivious to the world around us.
You used to say, “In a manner of speaking, I just talk to programmers about philosophy and to philosophers about programming”, can you explain further what that means?
It means that I blend practical insights about programming with abstract thoughts about life or the world at-large. It also means that I do not consider myself a geek or nerd in the negative sense, in that I do not obsess with the technicalities of a narrow field while ignoring the wider context. I am interested in drawing linkages between different disciplines.
On another note, this claim also says a lot about how I approach intellectual matters in general. I think that the formation of an elite in every field of inquiry is ultimately to our longer-term detriment. Whenever we try to draw indelible lines between what is and what isn’t appropriate, what is the orthodoxy and which are the heterodox positions, we end up introducing elements of arbitrariness or extraneous value judgements under the guise of technical correctness or pedantry. As with farming, monoculture will be our downfall while polyculture ensures sustainability.
My claim is a way of saying that I transcend those boundaries simply because they are not real boundaries. I show that someone with a background in the humanities has a place in a software community, that a philosopher can do something practical like write a program, and so on. The flip-side is that the technically minded programmer will be better off once they learn how to think about the world around them beyond the confines of the machine.
As far as I know, you moved to a remote area in the mountains, and you said in an interview that it had something to do with your beliefs. Can you tell us what your current beliefs are, what is your state of mind?
I live in the Troodos mountains of Cyprus. This part of the island is fairly quiet and uneventful. I wanted to come here because I felt that my previous lifestyle of city life in Brussels, Belgium lacked wisdom. When you are set on a career path, you have obligations and expectations that are not about you as a person but concern you as an operator in some grand design. The more you go down that path, the fewer the chances to discover and ultimately express your true self as you are trapped in an incessant role-playing game where you try to be the person those expectations, obligations, duties demand. Either you become the one others need you to be, or you change course. I had to opt for the latter due to an inexorable inner call.
This shift in focus coincided with the realisation that I was drawn to philosophy. I was a philosopher! I never studied it in a formal capacity, though I always had hints of theorising even when I was younger. I am not who I was in my early twenties (I now am 33 years old) as I revised everything, from the roots to the branches, so to speak. This might sound weird, but I was not myself back then. I was an avatar within a certain social-cultural milieu and could not realise how much of my behaviour was influenced, framed, conditioned, or otherwise determined by those unwritten rules.
I had to quit in order to discover myself. To make myself, if you will. I had to break free from my little bubble to realise that the comfort zone is but an illusion built on arbitrariness. The impression of selfhood is a work-in-progress that evolves as we learn more about the world, experience different people, and reflect on their impact on us. By escaping from that illusory safety of my career, with all of its accoutrements, I opened up to the possibility of making and remaking who I am.
Currently I am at a point of tranquillity. I can no longer be disturbed by what people think about me, whether my neighbour likes the clothes I wear, what my peers may say about my life, and so on. Whereas before I was nudged to pursue appearances and disregard the substance.
The mountain gives nourishment far beyond its location. It epitomises my belief that everything is connected. We cannot have a healthy mind without a healthy body. The two are not distinct magnitudes. They are part of the same system. We simply use different words to describe analytical constructs, with the proviso that they do not have a standalone presence. And so, there is no health in an environment that induces stress, causes burnout, and ultimately does not care about the person. Think of the mountain not as a physical place but as a symbol: this is life without artificial goals, a place where you recognise that you are not special in any way but merely exist as yet another presence in the Cosmos.
What questions/topics have you been thinking about the most lately?
Most of what I have in mind will be published in the following weeks and months as part of my video series on philosophy. As such, I cannot talk about the particularities just yet: they are in a state of flux. Though they will be publicly available on my website under libre terms of use, as always.
Let me then tell you what I can right now.
There are many who contact me expressing views like “I checked your Emacs content, but was even more interested in all the rest”. To me, this shows that people understand the need for a broadened view of things. They recognise that the geek or nerd attitude of focusing only on technical matters is not sufficient for our life, even though it may be fecund in its own right. I want to see more of that: the human element in its fully fledged form.
I have also been made aware about how my work helps others. I never thought this would be possible, given how I never post my publications on social media or other fora. I get messages about how I have inspired someone to do certain things like find the courage or motivation to accomplish a demanding task. I feel that there are a lot of people who, like me in years past, are trapped in a cycle that denies them their selfhood and alienates them from the world. Perhaps my contributions can facilitate a paradigm shift towards a more purposeful way of living. Emacs is just an example or point of entry in this regard.
Ultimately though, I am interesting in people who are prepared or want to eventually be honest with themselves. When we let go of this notion of the little bubble which serves as a comfort zone, when we allow others to come close or open our mind to new possibilities and experiences, we learn more about who we are and what the world has to offer. This is especially difficult for someone like me who is an introvert and a recluse. Though it is this genuine openness that allows us to flourish as individuals and as a collective.
[ Prot edit: For posterity, I received the questions on 2022-03-27 and sent my replies on 2022-03-28. ]