fixing a bunch of broken stuff I think
This commit is contained in:
parent
0dbc3ead0e
commit
8bace887a2
1551 changed files with 299 additions and 57481 deletions
|
@ -1,2 +0,0 @@
|
|||
<p>Stefan Kangas <a href="https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00217.html">writes</a> to tell us that Emacs 28.0.90, the first Emacs 28 pretest, is available at the usual places. That’s good news because it means that Emacs 28 is within sight.</p>
|
||||
<p>If you can, be sure to try it out and let the developers know of any problems you find. As usual, thanks to all the selfless engineers who are donating their time and talents to the Emacs development effort. These guys are heroes and we all owe them. <a href="https://irreal.org/blog/?p=10155">There’s lots of good stuff coming in Emacs 28</a>, including native compilation, so this should be a “big” release.</p>
|
|
@ -1 +0,0 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/r536kx/i3_polybar_finally_got_around_to_make_a_cold_days/"> <img src="https://preview.redd.it/6me1513e3l281.png?width=640&crop=smart&auto=webp&s=dacf61197c031213eb03f34d0902071c4142c453" alt="[I3 + Polybar] Finally got around to make a "cold days" theme" title="[I3 + Polybar] Finally got around to make a "cold days" theme" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/ayush123460"> /u/ayush123460 </a> <br/> <span><a href="https://i.redd.it/6me1513e3l281.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/r536kx/i3_polybar_finally_got_around_to_make_a_cold_days/">[comments]</a></span> </td></tr></table>
|
|
@ -1,4 +0,0 @@
|
|||
One more thing to add to my new desktop computer.
|
||||
Bounce I wrote bounce to convert a bunch of sound files to mono by calling SoX. It requires LAME for MP3 support.
|
||||
sudo apt install sox libsox-fmt-mp3 go install github.com/oylenshpeegul/bounce@latest We also need wodim (formerly cdrecord) when we want to burn a CD.
|
||||
sudo apt install wodim cdrkit-doc
|
|
@ -1,426 +0,0 @@
|
|||
<p>Raw link: <a href="https://www.youtube.com/watch?v=OE3mfOp5ZDI">https://www.youtube.com/watch?v=OE3mfOp5ZDI</a></p>
|
||||
|
||||
<p>This is a republication of my presentation at EmacsConf 2021. I am
|
||||
posting it on my own channel for archiving purposes. Original:
|
||||
<a href="https://emacsconf.org/2021/talks/freedom/">https://emacsconf.org/2021/talks/freedom/</a>.</p>
|
||||
|
||||
<p>The video was recorded on November 5, 2021.</p>
|
||||
|
||||
<p>What follows is the text of the presentation in Org notation. Note that
|
||||
I had mistakenly said “consubstantive” instead of “consubstantial” but
|
||||
only realised it after I concluded the recording… This is rectified
|
||||
in the text:</p>
|
||||
|
||||
<pre><code class="language-org">#+TITLE: EmacsConf 2021: How Emacs made me appreciate software freedom
|
||||
#+AUTHOR: Protesilaos Stavrou (https://protesilaos.com)
|
||||
#+DATE: 2021-11-27
|
||||
|
||||
* About me and this talk
|
||||
|
||||
Hello EmacsConf! My name is Protesilaos, also known as "Prot". I am
|
||||
joining you from the mountains of Cyprus. Cyprus is an island in the
|
||||
Eastern Mediterranean Sea.
|
||||
|
||||
My presentation focuses on the intersection between software freedom and
|
||||
what we find in the Emacs milieu. Here "the Emacs milieu" encompasses
|
||||
two magnitudes: (i) the program we use and (ii) the diverse, global
|
||||
community of people that has grown organically around it. I will talk
|
||||
to you about how Emacs made me appreciate software freedom and helped me
|
||||
exercise it to its full potential. Personal anecdotes are not the main
|
||||
focus of this talk. Rather, they serve the ancillary role of making
|
||||
certain insights more relatable.
|
||||
|
||||
The presentation is theoretical in nature and targeted at a general
|
||||
audience. No knowledge of programming is required. It is assumed,
|
||||
however, that you are familiar with some basic concepts, such as the
|
||||
fact that Emacs is extended with the Emacs Lisp programming language, or
|
||||
that Emacs is a GNU project that champions end-user software freedom.
|
||||
|
||||
Let's start with a few words about me before elaborating further:
|
||||
|
||||
+ I was born in Greece in 1988 and was raised there. As a kid I was not
|
||||
into tech-related activities. All I cared about was playing football
|
||||
(soccer) and staying outdoors. My formal education is in the
|
||||
humanities (liberal arts). I had a career in politics. I lived in
|
||||
Brussels, Belgium and worked at the European Parliament, among others.
|
||||
|
||||
+ After some intense soul-searching I realised I did not want to be a
|
||||
political operator any more and made radical changes in my life. I
|
||||
have since come to terms with the fact that I am a philosopher.
|
||||
|
||||
+ I am not a programmer. Neither by trade nor formal education. I code
|
||||
for leisure. I was not tech-savvy until my mid-20s. I have been
|
||||
using GNU/Linux distributions since the summer of 2016. While I
|
||||
switched to Emacs full-time in the summer of 2019. Before that switch
|
||||
I was running a bespoke environment that involved several standalone
|
||||
programs like Vim, Tmux, and a tiling window manager.
|
||||
|
||||
+ I am the creator and maintainer of the =modus-themes= (=modus-operandi=,
|
||||
=modus-vivendi=). These are designed to conform with the highest
|
||||
accessibility standard for legibility and optionally support the needs
|
||||
of users with red-green colour deficiency (deuteranopia). The themes
|
||||
are built into Emacs version 28 or higher. A section of my website is
|
||||
dedicated to my Emacs-related contributions.
|
||||
|
||||
For the remainder of this 40-minute talk, I will explain how Emacs made
|
||||
me appreciate software freedom, how it empowers me in my day-to-day
|
||||
computing, and the lessons I have drawn from that liberating experience.
|
||||
|
||||
* The inherent Emacs qualities for an autodidact
|
||||
|
||||
Emacs has this reputation of being extremely hard to learn and difficult
|
||||
to get started with. So how does someone like me, who was not even
|
||||
tech-literate a few years ago, go on to use Emacs effectively? How do
|
||||
you start from zero, with no knowledge of Lisp and with only a
|
||||
rudimentary grasp of programming, to eventually maintain packages for
|
||||
Emacs and even contribute directly to emacs.git and other sources?
|
||||
|
||||
The answer to these and related questions lies in the very description
|
||||
of Emacs as a "self-documenting" piece of software. It means that Emacs
|
||||
has a robust Help system which informs you about the state of a given
|
||||
construct. Such as what the original and current values of a variable
|
||||
are. Or whether some function is being "advised", else dynamically
|
||||
adjusted, by another function and what that advice amounts to.
|
||||
|
||||
The self-documenting nature of Emacs is combined with the fact that it
|
||||
consists of free software. Not only do we get information about what
|
||||
Emacs knows, but have the underlying code readily available to us. For
|
||||
example, every Help buffer provides a link to the source of the item it
|
||||
references. We can study and edit that as we wish.
|
||||
|
||||
Self-documentation and free software are blended together with a third
|
||||
quality of Emacs: its implementation as a Lisp machine or else its
|
||||
ability to evaluate Lisp code and make use of it directly. The ubiquity
|
||||
and uniformity of the Lisp interpreter together with the immediacy of
|
||||
its results help one learn how to use Emacs and how to write Emacs Lisp
|
||||
expressions. For someone who is self-taught like me and who often
|
||||
learns through a process of trial and error, this is of great value.
|
||||
|
||||
Learning how to use Emacs and how to write in ELisp is the basic
|
||||
skillset you need to also start extending Emacs for your own use, or
|
||||
even for publishing packages and making contributions to emacs.git.
|
||||
That is because the skills you acquire by tinkering with your =init.el= as
|
||||
a beginner will always stay with you throughout your time as an Emacs
|
||||
user. That is empowering in itself. It rewards your investment in time
|
||||
and effort. The more you learn, the more capable you become to enact
|
||||
change, to configure things to your liking and develop the exact
|
||||
workflow that you want without making any compromises.
|
||||
|
||||
Compare that to, say, my tiling window manager. I can configure it with
|
||||
a shell script. So I learn POSIX shell or, let's say, Bash. But my
|
||||
knowledge of the shell does not extend to modifying the behaviour of the
|
||||
window manager as such, because that is not implemented as a shell
|
||||
script but in another language. So for an autodidact like me, it is
|
||||
more difficult to learn yet another paradigm before I can achieve what I
|
||||
want. How do you make that extra step without self-documentation and
|
||||
the immediacy as well as transparency that you get from the Emacs Lisp
|
||||
interpreter? It is more demanding. Which makes Emacs comparatively
|
||||
easier when we account for the longer-term effort involved.
|
||||
|
||||
* The interconnectedness of the Emacs space
|
||||
|
||||
As I already mentioned, Emacs rewards you for the investment in time and
|
||||
effort you put into it. In my experience, this makes it easier to
|
||||
master than a combination of otherwise disparate tools, each with its
|
||||
own paradigm of interaction and particularities of implementation.
|
||||
|
||||
Before switching to Emacs, I was using a combination of standalone
|
||||
programs as part of a bespoke computing environment that I had pieced
|
||||
together. The program called "Mutt" would handle my emails, Newsboat
|
||||
dealt with my RSS feeds, the Music Player Daemon took care of my music
|
||||
collection, while I was doing work inside of a terminal emulator which
|
||||
was running a multiplexer (tmux) and Vim for on-the-fly text editing.
|
||||
Each of these, and others related to them, are fine in their own right.
|
||||
But their gestalt leaves something to be desired. Their lack of
|
||||
homogeneity meant that I could not develop portable skills between them.
|
||||
What holds true in Vim does not apply to the multiplexer. The prevalent
|
||||
methods in the email client cannot be used in the RSS reader, and so on.
|
||||
|
||||
Whereas everything that is implemented in Emacs Lisp partakes in the
|
||||
same environment automatically. If, say, you know how to use keyboard
|
||||
macros to edit code, you already know how to use the exact same skill
|
||||
to, say, create and delete windows in a process that involves text
|
||||
editing and some elaborate file management operations with Dired. If
|
||||
you have a command that scrolls down half a screen, it immediately works
|
||||
in all your buffers regardless of whether their major mode is about
|
||||
reading emails, editing text, enqueuing songs to a playlist, and so on.
|
||||
|
||||
Emacs provides a level of integration that I consider peerless.
|
||||
Everything the user deals with is implemented in ELisp. And all the
|
||||
user edits is ultimately done with ELisp. As such, the environment
|
||||
itself provides the conditions for drawing linkages between different,
|
||||
yet +consubstantive+ consubstantial, modes of interaction. For example, I
|
||||
use =bongo.el= to play back songs from my music collection. My =~/Music=
|
||||
directory is configured to have a special minor mode, so when I access
|
||||
it with =dired= it has commands that allow me to enqueue albums/songs,
|
||||
create playlists, etc. Also, I have an ~org-capture~ template which lets
|
||||
me store the details of the currently playing track and tag it
|
||||
accordingly. Continuing with the example of Bongo, I make it interface
|
||||
with my RSS reader, =elfeed.el=, by having the latter add podcast and
|
||||
video links to the former's playback queue. All this is done by simply
|
||||
re-using the same ELisp skills I learnt while configuring and extending
|
||||
Emacs.
|
||||
|
||||
The interconnectedness of the Emacs space empowers the end-user. It
|
||||
makes such emergent workflows possible. And the best part is that there
|
||||
are no dirty hacks involved: it is an innate feature of the system. You
|
||||
are leveraging the freedom that Emacs gives you in a way that confers
|
||||
agency on you. You assume the initiative. It gives you confidence to
|
||||
continue honing your skills in anticipation of further optimising---and
|
||||
controlling in full---your own integrated computing environment.
|
||||
|
||||
* The documentation culture of the Emacs community
|
||||
|
||||
If what I have mentioned thus far was all there was to the Emacs
|
||||
experience, there would still be something to be desired. Because while
|
||||
self-documentation is great, it is meant to draw from---and be a
|
||||
complement to---some hand-written material. Both new and existing users
|
||||
must be able to read what something is supposed to do, what its main
|
||||
points of entry are, how it relates to other parts, and so on. This is
|
||||
about the human aspect of Emacs, the strong documentation culture of its
|
||||
community, rather than an irreducible feature of the program we use.
|
||||
|
||||
As a matter of packaging etiquette, every non-trivial form in an Elisp
|
||||
library must have a documentation string. What a variable or function
|
||||
does needs to be spelt out in clear terms. Furthermore, the best and
|
||||
most well maintained packages, whether those are built into Emacs or
|
||||
distributed via an Emacs Lisp Package Archive, come with their own Info
|
||||
manual. Unlike a generic README, those manuals are more like fully
|
||||
fledged books, with a table of contents, cross-references, and indices
|
||||
for concepts, functions, variables, key bindings... In short, there is
|
||||
a tradition around programming with Emacs Lisp which values informative,
|
||||
high quality guidelines intended for end-users.
|
||||
|
||||
Apart from what each individual package does, Emacs itself ships with a
|
||||
helpful tutorial for newcomers, a comprehensive manual, a book targeted
|
||||
at non-programmers titled "An Introduction to Programming in Emacs
|
||||
Lisp", as well as a reference manual for Emacs Lisp itself. All this
|
||||
material, all that wealth of knowledge, is readily available to the
|
||||
end-user through the built-in Info reader. The details on how to access
|
||||
the Info reader are already explained in the initial learn-by-doing
|
||||
tutorial. For people like me who are self-taught, the documentation
|
||||
culture of the community ensures that we are not left behind. It gives
|
||||
us the chance to learn from the experts and to become better ourselves.
|
||||
|
||||
Writing concise and clear documentation is also beneficial for those who
|
||||
do it: it helps them clarify their ideas and improve their communication
|
||||
skills. These contribute to fostering a more humane social element. In
|
||||
my experience, the Emacs community has a propensity against becoming
|
||||
elitist. It helps integrate new members by not hiding anything from
|
||||
them, on top of Emacs' inherent emancipatory qualities as described
|
||||
before (self-documentation, Elisp interpreter, free software). At the
|
||||
same time, the community strives for excellence so it expects newcomers
|
||||
to do their part in reading what is generously offered to them. There
|
||||
is a difference between sharing knowledge and spoon-feeding it to users.
|
||||
The latter method keeps users dependent on it and is thus detrimental to
|
||||
them in the long run. The Emacs community disseminates what it knows
|
||||
and wants newcomers to assume agency and be responsible for doing their
|
||||
part in learning how things work. The community's documentation culture
|
||||
and uncompromising standards ensure that even once-unskilled users like
|
||||
me can be productive with Emacs and unleash its full potential. What
|
||||
newcomers need is commitment and an open mind to study what they have.
|
||||
|
||||
* The Promethean Ideal of freeing know-how and expertise
|
||||
|
||||
The documentation culture of the Emacs community springs from a
|
||||
consideration of practicality. When you explain what your program does,
|
||||
it is more likely that others will show interest in it and incorporate
|
||||
it in their workflow. Whereas freed source code that is distributed
|
||||
without any accompanying documentation will most likely only attract a
|
||||
handful of enthusiastic hackers. Still good, but could be better.
|
||||
|
||||
Apart from its practical use though, writing documentation for the
|
||||
end-user shows a spirit of altruism, an ethos of caring for others and
|
||||
wanting to empower them in their endeavours. It essentially is the same
|
||||
as helping someone; helping them escape from the ignorance that
|
||||
contributes to their sense of powerlessness. I experienced this myself:
|
||||
by reading the docs, I was able to go from an unskilled rookie to a
|
||||
competent Emacs user. Part of that competence consists in maintaining
|
||||
Elisp packages and contributing code directly to emacs.git. Writing
|
||||
documentation is about disseminating knowledge and expertise, not
|
||||
keeping it as an exclusive right of some elite.
|
||||
|
||||
Allow me then to liken this to the ancient Greek myth of Prometheas
|
||||
(Prometheus). Prometheas was a titan, or else a deity, who decided to
|
||||
teach the know-how of handling fire to humanity. The art of fire is an
|
||||
allegory about know-how in general, not specifically pyrotechnics. So
|
||||
Prometheas liberated that key knowledge by taking it away from the
|
||||
exclusivity of the gods and bringing it into the domain of humankind as
|
||||
a libre resource. This act of altruism propelled humanity to new
|
||||
heights. Every field of expertise is about handling "fire", in the
|
||||
figurative sense of implementing essential know-how.
|
||||
|
||||
Why would Prometheas, an exalted being, ever bother with the fallible
|
||||
and frail humanity? Why did a god want to empower humans instead of,
|
||||
say, making them dependent on the know-how of "fire"? If we look at the
|
||||
world around us, we witness how its overlords are unscrupulously trying
|
||||
to enclose the commons and take advantage of expertise in order to
|
||||
exploit us. Why would Prometheas not do the same thing and enslave us
|
||||
for the rest of eternity? The answer is that unlike this world's
|
||||
aspiring tyrants, Prometheas represents a higher conscience, one that is
|
||||
not corrupted by egocentrism and the greed of short-term profiteering.
|
||||
This higher conscience makes sense of the bigger picture and can foresee
|
||||
that the distribution of know-how empowers those who access it freely to
|
||||
reach their potential. It is no coincidence that the ancient sages used
|
||||
the name "Prometheas", meaning the "prescient one", the "foreseer".
|
||||
|
||||
This is a lesson on the outlook we ought to maintain, where we aspire to
|
||||
our highest. We want to be the best version of ourselves, by being more
|
||||
like Prometheas. We want our actions to be guided by this Promethean
|
||||
Ideal of liberating know-how, of making expertise readily available, and
|
||||
of providing others with the chance to prosper. When we all do so, we
|
||||
are collectively better-off. Free software is a microcosm of that.
|
||||
|
||||
* The 'killer apps' of Emacs
|
||||
|
||||
Let's be a bit more practical now. Many new users are attracted to
|
||||
Emacs because it has one or a few immensely useful applications they
|
||||
would like to use. This typically covers Org and/or one of its numerous
|
||||
accoutrements. Though there are other excellent packages like Magit.
|
||||
|
||||
The fact that Emacs has such killer apps is good. It shows that its
|
||||
extensibility is not some theoretical upside of the Lisp interpreter.
|
||||
It has tangible utility to a wide user base, including those who do not
|
||||
write Elisp themselves. Furthermore, those killer apps are good as they
|
||||
help bring newcomers and potential future contributors to the fold,
|
||||
while they provide real value to the existing members of the community.
|
||||
The more people we have and the happier they are with Emacs, the higher
|
||||
the chances that we receive some new ideas or code from them.
|
||||
|
||||
The notion of a killer app does, however, come with a latent downside
|
||||
when targeted at outsiders to the Emacs milieu. And that is because
|
||||
packages like Org and Magit do not have a standalone presence. They are
|
||||
always used in Emacs or, rather, together with the rest of Emacs. Which
|
||||
means that the user has to know what to expect from Emacs.
|
||||
|
||||
You may be aware of the type of user who proclaims that they want to
|
||||
boost their productivity but who also expects immediate results. When
|
||||
you bring the "killer app" rhetoric to such a crowd, you run the risk of
|
||||
misleading them into a false sense of self-confidence and concomitant
|
||||
expectations of success. Such users may be tempted to try Org, Magit,
|
||||
and others but are most likely going to endure a frustrating experience
|
||||
overall. The reason is that they are oblivious to what Emacs is and
|
||||
what is required to get started with it on a sustainable basis.
|
||||
|
||||
Org, Magit, and friends are fantastic tools in their own right. But
|
||||
they still are part of Emacs. To use them effectively you have to
|
||||
develop at least a modicum of understanding on what Emacs does. You
|
||||
must be patient and approach this endeavour with an open mind. Go
|
||||
through the tutorial, familiarise yourself with the Help system, make a
|
||||
habit out of reading Info manuals, and take things slowly. No killer
|
||||
app can ever be a substitute for commitment to a cause; no vaunted life
|
||||
hack will ever provide a direct conduit to some fountain of wisdom.
|
||||
|
||||
With regard to software freedom and user empowerment, what I have learnt
|
||||
is that the impulse for the killer app ought to emanate from a position
|
||||
of knowledge. First we need to temper our expectations and prefer
|
||||
propitious growth in learning over instant gratification. With Emacs,
|
||||
we have a strong foundation for our computing freedom: it consists of
|
||||
the inherent qualities of the program together with the documentation
|
||||
culture and creativity of the community. Once we learn how to benefit
|
||||
from those, we have everything we need to become proficient in all the
|
||||
modes of interaction that are available to us. Think of it as choosing
|
||||
Emacs and Org, Emacs and Magit, Emacs and Org and Magit, et cetera.
|
||||
|
||||
* You can't be an Emacs tourist
|
||||
|
||||
What I just talked about implies that you cannot simply switch to Emacs
|
||||
over the weekend or on a whimsy. You can't use it opportunistically to
|
||||
run a quick demo with which to impress your peers and win some inane
|
||||
"nerd cred". Forget about such frivolous superficialities. Emacs is a
|
||||
sophisticated tool intended for some serious work. It has been around
|
||||
for several decades and it incorporates the knowledge of a diverse group
|
||||
of contributors. Even if you want to use Emacs just for Org mode or
|
||||
whatever killer app, you still have to try to learn things in earnest.
|
||||
You still need to read the relevant Info manual, understand how to make
|
||||
changes to the plethora of user options on offer, and generally don't
|
||||
feel lost while working with Emacs. This is more so if you use Emacs to
|
||||
its full potential as an integrated computing environment; as your
|
||||
general purpose interface to the computer, where you handle uniformly
|
||||
coding and writing prose, your email correspondence, your RSS feeds,
|
||||
your music collection, your agenda and to-do lists, and so on.
|
||||
|
||||
The difficulty of Emacs is much higher for those who approach it without
|
||||
understanding what they are getting themselves into. Or for those who
|
||||
are naive enough to believe that they can cheat their way out of
|
||||
learning the fundamentals. The gist is that you cannot be an Emacs
|
||||
tourist. You can't go into Emacsland thinking that you will spend a
|
||||
couple of memorable days there and head back home to regale others with
|
||||
stories about your adventures. It does not work that way. You commit
|
||||
to Emacs for the long-term, for the freedom it offers you. Freedom in
|
||||
the moral sense but also in the very practical ways in which you can
|
||||
mould and extend your personal workflows with precision.
|
||||
|
||||
Now you may wonder why do I mention those things? Shouldn't we make
|
||||
Emacs easier for everyone? Yes, we should make everything as simple as
|
||||
possible. Though that still does not refashion Emacs into something
|
||||
entirely different. We continue to have a potent tool at our disposal
|
||||
that we must treat with the requisite respect. Take, for instance, the
|
||||
various frameworks that set up Emacs in an opinionated way so that
|
||||
newcomers get everything set up for them out-of-the-box. There is
|
||||
nothing wrong with those frameworks. In fact, a large part of the
|
||||
community uses them to great effect. However, the point stands: even
|
||||
after every package has been set up for you, you still have to put in
|
||||
the work in making use of your newfound computing freedom.
|
||||
|
||||
But, you may insist, is that not some sort of gate-keeping? Are you not
|
||||
being an elitist by telling people how they must invest time and effort
|
||||
in making the best out of their Emacs experience? No, I think this is
|
||||
not elitism. There are no secrets here, no artificial barriers to
|
||||
entry, no impediments to making progress, no tricks and gimmicks. It
|
||||
just is a statement of fact. Freedom entails responsibility. It
|
||||
requires people to take the initiative and assert control over the
|
||||
factors that are within their reach. Freedom ultimately means that we
|
||||
no longer remain dependent on being spoon-fed. We assume agency.
|
||||
|
||||
* Emacs as a champion of software freedom
|
||||
|
||||
To my mind, Emacs is the embodiment of the GNU project's ethos.
|
||||
Everything you expect from a program that is underpinned by the values
|
||||
of software freedom is found in Emacs. What you get is not merely an
|
||||
ethical tool, important though that is, but also a gift that will keep
|
||||
on giving; a gift for your further empowerment as a computer user.
|
||||
|
||||
I understood that software freedom is not about liberating the code
|
||||
itself. It is about sharing libre code in order to emancipate the user.
|
||||
The best way to achieve that is by emulating Prometheas: don't just give
|
||||
people the so-called "fire"; offer them the underlying know-how.
|
||||
|
||||
Emacs taught me the virtues of software freedom in a way that nothing
|
||||
else in the GNU/Linux space ever did. Here's an example from a few
|
||||
years ago. I needed a Markdown editor. I wanted it to centre the body
|
||||
of the text on display. It should have configurable font families and
|
||||
point sizes. Spell checking for Greek and English should be included.
|
||||
The colours had to be editable as well, so I could adjust them to a
|
||||
level of legibility I was comfortable with. While there were plenty of
|
||||
libre programs, I did not find one I could control and inspect to the
|
||||
extent I can with Emacs. Which made me feel that I had stagnated: there
|
||||
was an indelible line dividing users from developers.
|
||||
|
||||
Whereas Emacs invites you to blur the distinction between user and
|
||||
developer. It furnishes the means to become proficient in it. While
|
||||
the community complements those with its documentation culture and
|
||||
overall creativity. You start off as a complete ignoramus but soon pick
|
||||
up skills that remain useful for as long as you work with Emacs. And if
|
||||
you really want to take it a step further, you know where to look for
|
||||
inspiration and guidance. Before you realise it, you start writing code
|
||||
in Elisp and can one day share it with others.
|
||||
|
||||
What I have learnt over the past 2.5 years as an Emacs user is that if
|
||||
you go from scratch and are meticulous in your approach, you will need a
|
||||
few days or weeks before everything starts to make sense. After that
|
||||
initial awkward phase during which you familiarise yourself with the
|
||||
basics, everything else will become easier to learn. It is a matter of
|
||||
gaining more experience, one step at a time. As with every field of
|
||||
expertise, Emacs expects you to work for it and to earn it. For me that
|
||||
is worth it. In terms of being malleable in a consistent way and
|
||||
transparent in what it does, Emacs is in a league of its own.
|
||||
|
||||
In conclusion, Emacs allowed me to assert control over a great portion
|
||||
of my quotidian computing. It helped me grow out of the state of
|
||||
ignorance I was in; a state that rendered me powerless to use the
|
||||
computer exactly how I wanted. For that I am grateful. I now consider
|
||||
it my duty to contribute back to this wonderful project and community.
|
||||
|
||||
Thanks for your attention! Special thanks to the EmacsConf volunteers!
|
||||
</code></pre>
|
|
@ -1 +0,0 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/ru5hhj/i3gaps_this_is_the_last_of_my_first_rice_before/"> <img src="https://preview.redd.it/bc7koq0vk8981.jpg?width=640&crop=smart&auto=webp&s=479206ebb72458980c1a72657400be772d7b5ccb" alt="[i3gaps] This is the last of my first rice before I've stopped using linux recently. It had an animated wallpaper too. Love lain." title="[i3gaps] This is the last of my first rice before I've stopped using linux recently. It had an animated wallpaper too. Love lain." /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/exxotropia"> /u/exxotropia </a> <br/> <span><a href="https://i.redd.it/bc7koq0vk8981.jpg">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/ru5hhj/i3gaps_this_is_the_last_of_my_first_rice_before/">[comments]</a></span> </td></tr></table>
|
Loading…
Add table
Add a link
Reference in a new issue