WEBVTT
00:00:00.000 --> 00:00:03.760
(Amin: Alrighty, Leo Vivier, take it away.)
00:00:03.760 --> 00:00:05.319
Okay, well, thank you. I'm in.
00:00:05.319 --> 00:00:08.393
So you've just had a little roundup of
the news,
00:00:08.393 --> 00:00:11.120
and we're going to get started now with
some presentations.
00:00:11.120 --> 00:00:15.920
We're starting with user
developer stories.
00:00:15.920 --> 00:00:18.568
I was extremely interested in
this section
00:00:18.568 --> 00:00:21.133
because I wanted to get
a chance, basically,
00:00:21.133 --> 00:00:24.160
to tell you a little more about
who I am and
00:00:24.160 --> 00:00:28.160
how I got from basically being
a user of Emacs
00:00:28.160 --> 00:00:31.279
to being nowadays a package maintainer,
00:00:31.279 --> 00:00:34.156
and maybe more in the future. I don't
know.
00:00:34.156 --> 00:00:36.954
So, just for the organizers, I'm
planning to speak for 15 minutes,
00:00:36.954 --> 00:00:39.680
and I'll have five more minutes of
questions at the end.
00:00:39.680 --> 00:00:41.880
As I told you before, if you want to have
questions,
00:00:41.880 --> 00:00:43.440
you know you can use the pad,
00:00:43.440 --> 00:00:45.871
and I'll be reading the questions from
there.
00:00:45.871 --> 00:00:49.600
Okay. So hi there, as Amin introduced me
before,
00:00:49.600 --> 00:00:51.280
my name is Leo Vivier.
00:00:51.280 --> 00:00:55.662
I'm a freelance software engineer
in France,
00:00:55.662 --> 00:00:59.359
and I have been using Emacs now for
00:00:59.359 --> 00:01:00.885
I believe close to eight years.
00:01:00.885 --> 00:01:03.039
I can't believe it's been so long.
00:01:03.039 --> 00:01:09.967
But yes, it's been a journey because,
in a way,
00:01:09.967 --> 00:01:13.255
nothing made me go for Emacs.
00:01:13.255 --> 00:01:17.011
You know I'm an-- sorry, I was about to
say Emacs major,
00:01:17.011 --> 00:01:18.638
but no, I'm an English major.
00:01:18.638 --> 00:01:23.990
I went to university to study English
literature and linguistics,
00:01:23.990 --> 00:01:26.159
and I just got started in Emacs
00:01:26.159 --> 00:01:28.240
because I was looking for ways to take
00:01:28.240 --> 00:01:31.340
better notes. I was looking for ways to
00:01:32.640 --> 00:01:34.640
structure the way I was learning,
00:01:34.640 --> 00:01:38.084
structure the way I was taking notes.
00:01:38.084 --> 00:01:40.079
I stumbled one day
00:01:40.079 --> 00:01:42.032
upon this weird piece of software
00:01:42.032 --> 00:01:43.759
which was called Emacs,
00:01:43.759 --> 00:01:46.479
and I've been trapped forever since,
00:01:46.479 --> 00:01:48.328
basically, because eight years ago,
00:01:48.328 --> 00:01:49.515
when I discovered Emacs,
00:01:49.515 --> 00:01:50.632
I just couldn't let go.
00:01:50.632 --> 00:01:52.720
There was just something very
00:01:52.720 --> 00:01:54.487
interesting about the way
00:01:54.487 --> 00:01:56.320
you configured your setup,
00:01:56.320 --> 00:01:59.759
and I just wanted to
dive deeper and deeper.
00:01:59.759 --> 00:02:04.320
So the title is of this talk exactly is
00:02:04.320 --> 00:02:07.637
how I went from user to package
maintainer,
00:02:07.637 --> 00:02:09.686
and the package now that I'm maintaining
00:02:09.686 --> 00:02:12.080
is called org-roam. I'm not the only one
doing this.
00:02:12.080 --> 00:02:18.720
I'm helped with many lovely people
working on org-roam.
00:02:18.720 --> 00:02:22.149
I got started as a maintainer
only this year,
00:02:22.149 --> 00:02:23.360
so that means that for
00:02:23.360 --> 00:02:24.720
the eight years I've been
00:02:24.720 --> 00:02:27.360
an Emacs user, seven of those years were
00:02:27.360 --> 00:02:29.200
spent merely being a user
00:02:29.200 --> 00:02:31.040
trying to be a sponge for knowledge,
00:02:31.040 --> 00:02:33.920
trying to learn as much as I could.
00:02:33.920 --> 00:02:36.800
I believe it would be
00:02:36.800 --> 00:02:39.040
interesting for me to share my story
00:02:39.040 --> 00:02:40.959
because I believe that I'm far from
00:02:40.959 --> 00:02:42.160
being the only user
00:02:42.160 --> 00:02:44.327
who can make the jump to being a
maintainer.
00:02:44.327 --> 00:02:47.572
A lot of you have a lot of knowledge
when it comes to Emacs.
00:02:47.572 --> 00:02:51.040
Some of you are at different steps in
your journey.
00:02:51.040 --> 00:02:52.720
Some of you, for instance, are just
00:02:52.720 --> 00:02:55.680
starting to copy stuff out of
00:02:55.680 --> 00:02:59.058
StackExchange into your Emacs
configuration.
00:02:59.058 --> 00:03:01.599
Let's say you want to do something very
particular
00:03:01.599 --> 00:03:04.480
and you haven't found a way to do so.
00:03:04.480 --> 00:03:05.527
You go on StackExchange.
00:03:05.527 --> 00:03:07.930
You find something that's interesting.
00:03:07.930 --> 00:03:10.077
You add it to your Emacs configuration.
00:03:10.077 --> 00:03:11.680
You barely understand anything that's
going on.
00:03:11.680 --> 00:03:14.800
You know that it's supposed to be Emacs
Lisp.
00:03:14.800 --> 00:03:17.200
"I hardly know Emacs and
00:03:17.200 --> 00:03:19.440
I know even less what is Lisp supposed
to be."
00:03:19.440 --> 00:03:22.172
But you paste it in, and it does what
you want it to do,
00:03:22.172 --> 00:03:26.682
and you say "Great, I'll move on to my
work now."
00:03:26.682 --> 00:03:28.821
So that's how I got started.
00:03:28.821 --> 00:03:33.888
I had a very spartan setup for Emacs,
which a lot of you must know...
00:03:33.888 --> 00:03:36.000
The first time you launch Emacs,
00:03:36.000 --> 00:03:36.920
you have this feeling
00:03:36.920 --> 00:03:38.852
that you're jumping 20 years
back in time,
00:03:38.852 --> 00:03:43.260
as far as the user interface is
concerned.
00:03:43.260 --> 00:03:46.959
But as you get to spend more time with
Emacs...
00:03:46.959 --> 00:03:49.120
Some would call it Stockholm syndrome
00:03:49.120 --> 00:03:50.959
insofar as you can't see
00:03:50.959 --> 00:03:52.929
how spartan the entire thing is,
00:03:52.929 --> 00:03:58.400
but it actually is a lovely prison,
so to speak.
00:03:58.400 --> 00:04:00.400
That's how I got started eight years ago.
00:04:00.400 --> 00:04:04.319
I just wanted to find a way to do my
research properly.
00:04:04.319 --> 00:04:05.699
I wanted to have a tool
00:04:05.699 --> 00:04:07.280
that I could use to write my notes
00:04:07.280 --> 00:04:08.959
in plain text, because I was already
00:04:08.959 --> 00:04:16.320
fairly averse to Microsoft solutions
when it came to taking notes.
00:04:16.320 --> 00:04:19.180
So yeah, I got started in Emacs.
00:04:19.180 --> 00:04:21.651
I read a little bit about what plain
text was about.
00:04:21.651 --> 00:04:24.364
Just to be clear, at the time, yes,
00:04:24.364 --> 00:04:27.120
I was very good with computers,
00:04:27.120 --> 00:04:30.160
but I was not a computer science student.
00:04:30.160 --> 00:04:34.302
I had barely any experience with
programming and coding,
00:04:34.302 --> 00:04:39.919
and I was even less of a hacker
back then.
00:04:39.919 --> 00:04:43.052
It just goes to show you that
at the beginning,
00:04:43.052 --> 00:04:44.479
I had close to no knowledge,
00:04:44.479 --> 00:04:45.840
whether it be about
00:04:45.840 --> 00:04:47.457
the free software world,
00:04:47.457 --> 00:04:48.880
whether it be about...
00:04:48.880 --> 00:04:50.290
Sacha, do you want to say something?
00:04:50.290 --> 00:04:52.479
(Sacha: just confirming, you're not
sharing anything
00:04:52.479 --> 00:04:54.080
on the screen at the moment, right?)
00:04:54.080 --> 00:04:55.204
No, I'm not sharing anything,
00:04:55.204 --> 00:04:59.040
I'm just presenting.
00:04:59.040 --> 00:05:01.173
So when I started,
00:05:01.173 --> 00:05:03.680
I had no experience whatsoever.
00:05:03.680 --> 00:05:07.199
I was just a literature major
00:05:07.199 --> 00:05:11.039
trying to get better at taking notes.
00:05:11.039 --> 00:05:12.466
I stumbled upon LaTeX.
00:05:12.466 --> 00:05:15.280
As many people who stumble upon
LaTeX know,
00:05:15.280 --> 00:05:17.519
you don't just stumble upon LaTeX,
00:05:17.519 --> 00:05:21.950
you embroil yourself in the turmoil of
suffering,
00:05:21.950 --> 00:05:24.560
of late nights tweaking,
00:05:24.560 --> 00:05:26.923
so that your document is exactly
00:05:26.923 --> 00:05:33.440
in the perfect shape you want it to be.
00:05:33.440 --> 00:05:36.639
Soon after, when I got started with
Emacs and LaTeX,
00:05:36.639 --> 00:05:39.334
I discovered something that truly
changed my life,
00:05:39.334 --> 00:05:40.560
and it was Org Mode.
00:05:40.560 --> 00:05:44.479
As you'll get a lot of presentations
00:05:44.479 --> 00:05:46.960
this afternoon about Org Mode,
00:05:46.960 --> 00:05:49.360
I won't be spending too much time on it.
00:05:49.360 --> 00:05:53.680
But Org Mode, for me, was a
revelation. It's...
00:05:53.680 --> 00:05:55.869
There was something that,
00:05:55.869 --> 00:05:59.039
upon reading articles on
how to use Org Mode,
00:05:59.039 --> 00:06:02.453
especially one of the key
articles
00:06:02.453 --> 00:06:04.160
that I'd read which really made
00:06:04.160 --> 00:06:06.000
a huge impact on me
00:06:06.000 --> 00:06:09.199
was the "Organize Your Life in Plain
Text" one,
00:06:09.199 --> 00:06:12.240
which I'm sure many of you must have
stumbled upon
00:06:12.240 --> 00:06:15.919
in your Emacs journey...
00:06:15.919 --> 00:06:20.307
For me, when I stumbled upon this
document,
00:06:20.307 --> 00:06:22.488
I was starting to get interested
00:06:22.488 --> 00:06:24.240
in Getting Things Done and
00:06:24.240 --> 00:06:26.560
all the nitty-gritty stuff about
00:06:26.560 --> 00:06:29.199
organization and self-organization.
00:06:29.199 --> 00:06:32.960
It just felt like everything was under
my fingertips
00:06:32.960 --> 00:06:36.960
to make the perfect workflow.
00:06:36.960 --> 00:06:44.080
There was something incredibly
satisfying about
00:06:44.080 --> 00:06:45.834
having a system that gave you
00:06:45.834 --> 00:06:48.319
so many options to configure your
experience
00:06:48.319 --> 00:06:50.160
exactly how you wanted.
00:06:50.160 --> 00:06:54.479
You had this feeling that
00:06:54.479 --> 00:06:57.599
the people behind Org Mode had thought
of everything,
00:06:57.599 --> 00:07:00.479
whichever small adjustment
00:07:00.479 --> 00:07:02.000
that you needed in workflow
00:07:02.000 --> 00:07:05.440
whether it be more states for your
TODOs,
00:07:05.440 --> 00:07:07.520
whether it be, oh, I want my weeks to
00:07:07.520 --> 00:07:09.360
start on Monday and not on Saturday,
00:07:09.360 --> 00:07:13.520
oh, it's half past one and I need to...
00:07:13.520 --> 00:07:15.280
in the morning, I mean, and I need to make
00:07:15.280 --> 00:07:17.680
sure that the item that I'm marking as done
00:07:17.680 --> 00:07:18.759
is done for the day before
00:07:18.759 --> 00:07:20.233
and not for the current day.
00:07:20.233 --> 00:07:21.919
You see what I'm talking about.
00:07:21.919 --> 00:07:25.280
So many details that were already
00:07:25.280 --> 00:07:27.235
present in Org Mode.
00:07:27.235 --> 00:07:31.335
At first you're really impressed,
because you think, wow,
00:07:31.335 --> 00:07:33.470
they thought of everything,
00:07:33.470 --> 00:07:36.378
but then you realize that it's just a
matter of experience,
00:07:36.378 --> 00:07:39.712
just a matter of people
contributing code,
00:07:39.712 --> 00:07:42.171
because the development of Org Mode,
Emacs,
00:07:42.171 --> 00:07:44.455
and everything is just
open to the public.
00:07:44.455 --> 00:07:45.440
You know, it's like
00:07:45.440 --> 00:07:47.685
everything is being done
with the garage door opened.
00:07:47.685 --> 00:07:50.402
You can just go on Org Mode on Savannah
00:07:50.402 --> 00:07:54.800
and see everything that is being
developed.
00:07:54.800 --> 00:08:01.586
For me, the shift that occurred in my
mind was
00:08:01.586 --> 00:08:04.139
when I was reading all the options,
00:08:04.139 --> 00:08:05.881
I was looking at all the variables
00:08:05.881 --> 00:08:08.160
that I could modify for Org Mode,
00:08:08.160 --> 00:08:12.560
and there came a time, maybe two to
three years ago,
00:08:12.560 --> 00:08:15.599
where I thought, oh wow,
00:08:15.599 --> 00:08:17.759
maybe for the first time in a while,
00:08:17.759 --> 00:08:19.260
there is no option for me to do
00:08:19.260 --> 00:08:21.440
what I want to be doing with Org Mode.
00:08:21.440 --> 00:08:23.668
I believe at the time,
00:08:23.668 --> 00:08:29.199
the key issue that triggered
this reflex for me was
00:08:29.199 --> 00:08:31.039
I wanted to do something with the agenda.
00:08:31.039 --> 00:08:34.159
I wanted to have a super category so,
you know, in the...
00:08:34.159 --> 00:08:36.606
for those of you who know,
in your agenda,
00:08:36.606 --> 00:08:38.376
you have the ability to
have many files,
00:08:38.376 --> 00:08:41.200
and you have the ability to have
categories.
00:08:41.200 --> 00:08:47.920
I wanted somehow to group my
00:08:47.920 --> 00:08:51.680
TODOs in smaller groups, or bigger
00:08:51.680 --> 00:08:52.560
groups, I should say,
00:08:52.560 --> 00:08:53.780
so that, for instance, I could have
00:08:53.780 --> 00:08:55.131
one group for my professional life,
00:08:55.131 --> 00:08:57.462
I could have a group for one work,
00:08:57.462 --> 00:08:59.600
the second work...
00:08:59.600 --> 00:09:02.800
I could have something for university
and all this.
00:09:02.800 --> 00:09:09.600
I thought, yeah, I think I'd like this.
00:09:09.600 --> 00:09:12.959
After having spent so long working
00:09:12.959 --> 00:09:15.519
with Emacs and working with Org Mode,
00:09:15.519 --> 00:09:16.766
I had some ideas about
00:09:16.766 --> 00:09:19.292
what was within the realm of possibility
and what wasn't.
00:09:19.292 --> 00:09:21.120
Here I thought to myself,
00:09:21.120 --> 00:09:24.320
this is definitely something that I can do.
00:09:24.320 --> 00:09:27.839
And so thus started my journey
00:09:27.839 --> 00:09:31.360
into the Org Mode libraries.
00:09:31.360 --> 00:09:33.222
I won't go too much into details
right now,
00:09:33.222 --> 00:09:34.959
because right now, the main objective
00:09:34.959 --> 00:09:37.040
that I have is just to show you
00:09:37.040 --> 00:09:40.240
how simple it is to become a maintainer,
00:09:40.240 --> 00:09:42.800
how to become more involved with the
development.
00:09:42.800 --> 00:09:46.320
The libraries in Org Mode,
00:09:46.320 --> 00:09:50.320
they're written in Elisp, which is a very...
00:09:50.320 --> 00:09:52.080
It might seem like an obscure language,
00:09:52.080 --> 00:09:54.080
and it certainly is,
00:09:54.080 --> 00:09:57.279
but as soon as you get the logic of the
language--and
00:09:57.279 --> 00:10:00.136
what I'm telling you is coming from
someone
00:10:00.136 --> 00:10:01.760
who's never studied programming--
00:10:01.760 --> 00:10:04.399
it made sense.
00:10:04.399 --> 00:10:05.534
Everything is so verbose
00:10:05.534 --> 00:10:07.279
when you get into the code.
00:10:07.279 --> 00:10:11.065
When you learn the rudiments
of Elisp,
00:10:11.065 --> 00:10:13.360
you start getting to the code,
00:10:13.360 --> 00:10:15.229
and you start thinking, wow,
00:10:15.229 --> 00:10:17.120
okay that makes sense,
00:10:17.120 --> 00:10:21.360
and you start developing a logic
for all this.
00:10:21.360 --> 00:10:24.720
So, equipped as I was with this
00:10:24.720 --> 00:10:27.760
new knowledge, I went on my project,
00:10:27.760 --> 00:10:30.000
I went into the Org agenda code,
00:10:30.000 --> 00:10:30.880
and I thought, okay,
00:10:30.880 --> 00:10:34.640
is there anything that I can use to do
my bidding?
00:10:34.640 --> 00:10:39.733
Fast forward maybe two to three weeks of
intense turmoil
00:10:39.733 --> 00:10:46.079
and many nights which were spent
single-mindedly working on this project,
00:10:46.079 --> 00:10:48.781
two weeks after, I had something
that was working,
00:10:48.781 --> 00:10:51.680
and I was pretty happy about it.
00:10:51.680 --> 00:10:54.849
That was a key landmark for me,
00:10:54.849 --> 00:10:56.800
because when that happened,
00:10:56.800 --> 00:10:58.860
it just felt like, okay,
00:10:58.860 --> 00:11:01.335
I can contribute something to Org Mode,
00:11:01.335 --> 00:11:07.600
and I can do something that would
benefit as many people as possible.
00:11:07.600 --> 00:11:08.970
And to me, that was the click.
00:11:08.970 --> 00:11:10.530
That's when it occurred.
00:11:10.530 --> 00:11:14.640
That's when I went on my first project
and I did something
00:11:14.640 --> 00:11:18.079
that felt useful to the community.
00:11:18.079 --> 00:11:19.945
And nowadays, as I told you,
00:11:19.945 --> 00:11:22.640
I maintain packages, but really, nothing
has changed.
00:11:22.640 --> 00:11:24.399
The only thing, maybe, that has changed
00:11:24.399 --> 00:11:28.320
is that I've turned my mind onto other
problems.
00:11:28.320 --> 00:11:32.000
Maybe I've got three more minutes,
00:11:32.000 --> 00:11:35.279
and I'd like to finish by
00:11:35.279 --> 00:11:38.399
maybe something a little different.
00:11:38.399 --> 00:11:39.449
I've told you my Emacs story
00:11:39.449 --> 00:11:42.924
and I hope I've stressed how little
effort it took me
00:11:42.924 --> 00:11:46.560
to move from steps to steps on the
ladder.
00:11:46.560 --> 00:11:48.959
The ladder implies a sense of hierarchy,
but it really isn't.
00:11:48.959 --> 00:11:53.920
Whatever your step on the journey of
Emacs is...
00:11:53.920 --> 00:11:55.830
Some of you might be at the step
00:11:55.830 --> 00:11:57.440
where you're really worried
00:11:57.440 --> 00:11:59.360
about learning Elisp because it feels
00:11:59.360 --> 00:12:02.399
like such a monumental task to be
undertaking
00:12:02.399 --> 00:12:04.720
and you have no experience whatsoever,
00:12:04.720 --> 00:12:06.079
but the thing is,
00:12:06.079 --> 00:12:07.839
maybe you could try climbing this first
00:12:07.839 --> 00:12:09.600
step on the ladder. Maybe you could try,
00:12:09.600 --> 00:12:11.200
if you have any project,
00:12:11.200 --> 00:12:13.120
if you've been using Org Mode,
00:12:13.120 --> 00:12:15.600
maybe one day you thought, "oh, yes,
00:12:15.600 --> 00:12:18.160
I wish I could do this but I can't,"
00:12:18.160 --> 00:12:19.920
or maybe do try to do this,
00:12:19.920 --> 00:12:21.442
maybe do try to change something
00:12:21.442 --> 00:12:23.279
in a major mode that you're using
00:12:23.279 --> 00:12:26.560
and which you feel might be better.
00:12:26.560 --> 00:12:28.722
I think Emacs, Org Mode,
00:12:28.722 --> 00:12:31.040
and all free software in general
00:12:31.040 --> 00:12:34.720
has this tendency to give you this idea
00:12:34.720 --> 00:12:38.720
that I can be a hacker
00:12:38.720 --> 00:12:41.360
in the sense of the term
00:12:41.360 --> 00:12:43.200
that you're modifying things
00:12:43.200 --> 00:12:46.320
to do your bidding.
00:12:46.320 --> 00:12:48.042
For me, I believe this to be
00:12:48.042 --> 00:12:50.320
a very healthy attitude towards
software.
00:12:50.320 --> 00:12:54.079
As Amin said in the very beginning,
00:12:54.079 --> 00:12:57.279
we are doing this entire presentation--
00:12:57.279 --> 00:13:00.800
sorry, this entire conference with
free software.
00:13:00.800 --> 00:13:01.686
Just see all the things
00:13:01.686 --> 00:13:03.920
we've been able to do in free software.
00:13:03.920 --> 00:13:10.399
For me, Emacs was my gateway,
so to speak,
00:13:10.399 --> 00:13:14.399
into how to contribute to free software,
00:13:14.399 --> 00:13:18.639
about the philosophy that surrounds it.
00:13:18.639 --> 00:13:20.003
What I would like to do...
00:13:20.003 --> 00:13:21.375
I'll finish on this note and then
00:13:21.375 --> 00:13:23.360
I'll be taking your questions.
00:13:23.360 --> 00:13:26.480
Just try.
00:13:26.480 --> 00:13:28.592
You've read on Reddit
00:13:28.592 --> 00:13:31.807
that you need to go through the Elisp
manual in Emacs.
00:13:31.807 --> 00:13:35.920
You might be scared, but just do it.
Just give it a shot.
00:13:35.920 --> 00:13:38.560
Just give it maybe one afternoon.
00:13:38.560 --> 00:13:39.199
Try to read it.
00:13:39.199 --> 00:13:43.120
Try to see if this appeals to your mind.
00:13:43.120 --> 00:13:44.230
If you've been interested enough
00:13:44.230 --> 00:13:45.241
in my presentation right now,
00:13:45.241 --> 00:13:47.199
and if you're interested enough in any
of the talks
00:13:47.199 --> 00:13:49.519
you're going to have during the entire
conference,
00:13:49.519 --> 00:13:50.747
do give it a shot.
00:13:50.747 --> 00:13:52.959
I'm pretty sure you will like
the journey
00:13:52.959 --> 00:13:55.418
on which you will be embarking upon.
00:13:55.418 --> 00:13:57.120
So I believe I'm finishing
one minute early,
00:13:57.120 --> 00:14:01.040
but I see quite a bit of questions already.
00:14:01.040 --> 00:14:04.320
I'm not sure. Sacha, should I
00:14:04.320 --> 00:14:05.847
just be reading the questions,
00:14:05.847 --> 00:14:08.639
or do you want to be feeding me the
questions?
00:14:08.639 --> 00:14:10.755
(Amin: It's really up to you.
00:14:10.755 --> 00:14:12.320
It's completely up to you.
00:14:12.320 --> 00:14:13.600
If you've got the questions
00:14:13.600 --> 00:14:15.839
open and can take them or read them,
00:14:15.839 --> 00:14:18.320
by all means, please.)
00:14:18.320 --> 00:14:19.420
Okay, well, I'm going to read them
00:14:19.420 --> 00:14:20.581
because I've got them on the side.
00:14:20.581 --> 00:14:22.800
I'm going to start with the one at the
bottom.
00:14:22.800 --> 00:14:24.959
"Do you feel that being a white male
00:14:24.959 --> 00:14:26.959
contributed to your experience?"
00:14:26.959 --> 00:14:29.165
Yeah. I mean, I do believe...
00:14:29.165 --> 00:14:30.771
There's an idea of privilege.
00:14:30.771 --> 00:14:33.250
I mean, I'm French. I live in...
00:14:33.250 --> 00:14:36.959
I'm lucky enough to be here at
university, okay,
00:14:36.959 --> 00:14:40.714
and I'm fairly aware of the
discrepancies that happen,
00:14:40.714 --> 00:14:41.600
even in France,
00:14:41.600 --> 00:14:42.880
according to this...
00:14:42.880 --> 00:14:46.320
So, yes, I believe my journey
00:14:46.320 --> 00:14:51.199
was heavily influenced by this.
00:14:51.199 --> 00:14:53.547
If you would like to specify the
question, please do,
00:14:53.547 --> 00:14:56.560
but I don't have really all that much to
ask on this.
00:14:56.560 --> 00:14:59.839
"What is your advice to start learning
00:14:59.839 --> 00:15:01.279
Elisp language? Any particularly good
00:15:01.279 --> 00:15:03.421
resource or any other tips?"
00:15:03.421 --> 00:15:07.760
I finished my presentation by telling
you about
00:15:07.760 --> 00:15:10.937
the Elisp introduction which is built
into Emacs.
00:15:10.937 --> 00:15:13.936
What I might do... I'm going to
share my screen
00:15:13.936 --> 00:15:17.819
just to show you how this works.
00:15:17.819 --> 00:15:22.880
I will be sharing this window.
00:15:22.880 --> 00:15:24.234
I believe it's frozen on my end,
00:15:24.234 --> 00:15:27.199
so I can't see anything.
00:15:27.199 --> 00:15:28.597
I'm not sure if you can see me
00:15:28.597 --> 00:15:32.560
or if my camera is moving.
00:15:32.560 --> 00:15:34.387
Okay, so my Firefox is frozen.
00:15:34.387 --> 00:15:35.361
So I'll answer the question,
00:15:35.361 --> 00:15:40.000
but I won't be able to show you what I
wanted to show you.
00:15:40.000 --> 00:15:44.320
There's a built-in guide inside Emacs to
learn Elisp.
00:15:44.320 --> 00:15:46.880
Maybe the best chance that you have
00:15:46.880 --> 00:15:49.040
is just to go open these info pages.
00:15:49.040 --> 00:15:50.959
I'm sure someone will be kind enough to
00:15:50.959 --> 00:15:54.880
mention this to you in the #emacsconf
channel on IRC
00:15:54.880 --> 00:15:56.880
but it's probably the best way
00:15:56.880 --> 00:15:59.040
to get started with Elisp.
00:15:59.040 --> 00:16:00.991
You know, we tend to get obsessed,
00:16:00.991 --> 00:16:03.013
with software and with programming,
00:16:03.013 --> 00:16:04.880
about what's the best way to get
started.
00:16:04.880 --> 00:16:08.399
You see so many people who are heavily
interested
00:16:08.399 --> 00:16:10.409
in getting started with programming
00:16:10.409 --> 00:16:12.320
but they never managed to get started
00:16:12.320 --> 00:16:14.320
because there's so much choice.
00:16:14.320 --> 00:16:16.320
My advice would be to just get started.
00:16:16.320 --> 00:16:18.800
Don't get so worried about the first step.
00:16:18.800 --> 00:16:22.493
Well, if I may still recommend
the first step,
00:16:22.493 --> 00:16:23.920
even after saying this,
00:16:23.920 --> 00:16:27.073
do try to start with the built-in
guides.
00:16:27.073 --> 00:16:29.600
I believe they're pretty, pretty good.
00:16:29.600 --> 00:16:31.691
There was another question.
00:16:31.691 --> 00:16:33.055
It's the last question that I can read
00:16:33.055 --> 00:16:34.564
and after that, you will have to
00:16:34.564 --> 00:16:37.920
read the questions for me because
everything is frozen on my end.
00:16:37.920 --> 00:16:43.935
I hope I'm not frozen in a very bad
position,
00:16:43.935 --> 00:16:47.406
so please excuse me if my mouth is open
or anything.
00:16:47.406 --> 00:16:51.120
(Amin: no, we just completely lost the
video feed, so no worries.)
00:16:51.120 --> 00:16:54.800
Oh, splendid, so I won't have to make a
fool out of myself.
00:16:54.800 --> 00:16:56.800
So the last question I wanted to answer was
00:16:56.800 --> 00:16:59.199
"Have you read Dirk Gently's Holistic
Detective Agency?"
00:16:59.199 --> 00:17:05.741
No, I haven't. I hope it's not a jab at
the way I'm dressing for the conference,
00:17:05.741 --> 00:17:10.559
but yeah, I haven't read it. Was there
any other question?
00:17:10.559 --> 00:17:15.919
(Amin: I see one other question.
00:17:15.919 --> 00:17:19.679
"Any recommendation for good packaging
guides or places to start?
00:17:19.679 --> 00:17:23.199
I get a bit overwhelmed by some things.
00:17:23.199 --> 00:17:26.799
For example, the choice of different test
frameworks.")
00:17:26.799 --> 00:17:29.263
Right. Okay. So that's a very good
question.
00:17:29.263 --> 00:17:33.840
I believe alphapapa is in the chat right
now.
00:17:33.840 --> 00:17:36.314
As myself a new Lisp developer for
org-roam,
00:17:36.314 --> 00:17:38.320
I'd really recommend you to look into
00:17:38.320 --> 00:17:40.032
his package developers' guide,
00:17:40.032 --> 00:17:42.507
because you have a list of
all the softwares
00:17:42.507 --> 00:17:44.559
that are extremely useful to
be using when
00:17:44.559 --> 00:17:45.760
you're getting started.
00:17:45.760 --> 00:17:48.347
If you're looking into a first step
00:17:48.347 --> 00:17:50.947
for how to develop elisp packages,
00:17:50.947 --> 00:17:52.640
I'd really advise you to
00:17:52.640 --> 00:17:53.520
look into edebug.
00:17:53.520 --> 00:17:56.559
It's one word, edebug,
00:17:56.559 --> 00:17:58.400
and you have a section in the
manual for this,
00:17:58.400 --> 00:18:00.799
because for me, it was the key step to
00:18:00.799 --> 00:18:03.791
getting to develop good packages.
00:18:03.791 --> 00:18:06.160
It was understanding basically
what the code did
00:18:06.160 --> 00:18:08.866
and having us something like
00:18:08.866 --> 00:18:09.919
a REPL (read-evaluate-print-loop)
00:18:09.919 --> 00:18:11.760
that allows you to step through the code
00:18:11.760 --> 00:18:13.210
and see exactly which states
00:18:13.210 --> 00:18:15.643
the variables are at which at this point
00:18:15.643 --> 00:18:20.080
in the program. That's really my biggest
advice to you.
00:18:21.200 --> 00:18:26.160
Any other question? Thanks. Yeah, I see
one or two more.
00:18:26.160 --> 00:18:33.120
So there's one. They ask, "How did the
freedom of Emacs help you on your way?"
00:18:33.120 --> 00:18:35.507
So the freedom of Emacs...
00:18:35.507 --> 00:18:38.080
I mentioned that Emacs, for me,
was my gateway
00:18:38.080 --> 00:18:39.216
into free software
00:18:39.216 --> 00:18:40.652
and the freedom of Emacs
00:18:40.652 --> 00:18:42.551
was that you could maybe...
00:18:42.551 --> 00:18:43.840
First and foremost,
00:18:43.840 --> 00:18:46.385
compared to other software,
00:18:46.385 --> 00:18:49.003
was that you had behind Emacs, Elisp,
00:18:49.003 --> 00:18:51.039
which allows you to read the code,
00:18:51.039 --> 00:18:53.039
read whatever is going on in the
background.
00:18:53.039 --> 00:18:54.380
Surely, if you go deep enough,
00:18:54.380 --> 00:18:58.172
you'll end up in C functions that you
might not be able to read
00:18:58.172 --> 00:18:59.679
if you do not have the experience.
00:18:59.679 --> 00:19:03.520
But for Org Mode, which was my gateway
into Emacs,
00:19:03.520 --> 00:19:05.883
most of it is written in Elisp,
00:19:05.883 --> 00:19:08.546
and all the commands have a
very verbose name,
00:19:08.546 --> 00:19:10.080
like something simple as
00:19:10.080 --> 00:19:13.440
org go to next subtree or
00:19:13.440 --> 00:19:16.880
org go to a parent subtree. You know,
things like this.
00:19:16.880 --> 00:19:20.240
It's so elegant. It's verbose.
00:19:20.240 --> 00:19:22.799
That's a sense of freedom
00:19:22.799 --> 00:19:24.491
insofar as you can go into
the code and see,
00:19:24.491 --> 00:19:26.160
oh, okay, that's how it's implemented.
00:19:26.160 --> 00:19:28.640
I believe in a way that's the freedom
00:19:28.640 --> 00:19:30.264
and the liberty that is given to you
00:19:30.264 --> 00:19:31.600
to look into the code
00:19:31.600 --> 00:19:32.670
is something that invites you
00:19:32.670 --> 00:19:34.460
to do the same with your life.
00:19:34.460 --> 00:19:36.776
As someone who does a little bit of
philosophy on the side,
00:19:36.776 --> 00:19:38.799
I believe it's a very healthy message
00:19:38.799 --> 00:19:42.320
to be gathering from a piece of software.
00:19:42.320 --> 00:19:45.440
(Amin: Awesome, thank you.
00:19:45.440 --> 00:19:50.960
Let's see... So we have...
00:19:50.960 --> 00:19:57.200
I think I saw another question pop up.)
00:19:57.200 --> 00:19:58.559
I'm not sure how we're doing as far
00:19:58.559 --> 00:19:59.760
as time is concerned... I believe we
00:19:59.760 --> 00:20:02.080
have like one or two minutes more.
00:20:02.080 --> 00:20:04.240
(Amin: Yeah, actually, we're quite a bit
00:20:04.240 --> 00:20:05.679
ahead of the schedule, so if we take a
00:20:05.679 --> 00:20:07.840
little bit longer, we're fine.
00:20:07.840 --> 00:20:10.225
If you do have more questions, please
do.)
00:20:10.225 --> 00:20:12.880
I'm just sorry that my video is not
working anymore.
00:20:12.880 --> 00:20:17.120
(Amin: No problem. Someone was actually
saying...
00:20:17.120 --> 00:20:24.159
What's the most recent... Actually, yeah
well before that.
00:20:24.159 --> 00:20:27.440
"Please show off your three-piece suit
before you end your talk,
00:20:27.440 --> 00:20:30.080
which requires fixing your frozen camera.
00:20:30.080 --> 00:20:31.306
If this is not possible,
00:20:31.306 --> 00:20:36.240
please post suit selfies in an easily
accessible location."
00:20:36.240 --> 00:20:38.143
Okay, I'll make sure to do this.
00:20:38.143 --> 00:20:41.200
But yes, I wanted to hype things up for
the conference,
00:20:41.200 --> 00:20:43.039
so yes, I did get the three-piece suit out.
00:20:43.039 --> 00:20:44.563
I'm very glad you like it.
00:20:44.563 --> 00:20:45.919
By the way, when you get
00:20:45.919 --> 00:20:47.760
a chance to see me live again,
00:20:47.760 --> 00:20:50.080
do appreciate that my tie has both the
00:20:50.080 --> 00:20:51.280
colors of Emacs purple
00:20:51.280 --> 00:20:53.679
and also Org Mode green.
00:20:53.679 --> 00:20:55.556
It took me a while to find this one,
00:20:55.556 --> 00:21:00.840
so I hope you will appreciate this.
00:21:00.840 --> 00:21:03.094
(Amin: Awesome. Let's see.
00:21:03.094 --> 00:21:06.880
We have one other question. "What's the
00:21:06.880 --> 00:21:08.960
most recent Emacs package or tool that
00:21:08.960 --> 00:21:14.480
you've discovered that you've added to
your repertoire?")
00:21:14.480 --> 00:21:17.600
Very interesting question.
00:21:17.600 --> 00:21:22.614
The thing is, when you've spent as long
as I have on Emacs--
00:21:22.614 --> 00:21:23.919
and I know that I've only spent
00:21:23.919 --> 00:21:25.120
eight years and some of you
00:21:25.120 --> 00:21:27.901
might have spent maybe 10, 20,
00:21:27.901 --> 00:21:30.000
maybe even more years on Emacs--
00:21:30.000 --> 00:21:34.926
but for me, I believe the coolest neat
trick that I found in Emacs
00:21:34.926 --> 00:21:40.080
was a mode which is called beacon-mode.
00:21:40.080 --> 00:21:43.679
It's something that allows you to show
00:21:43.679 --> 00:21:45.006
when you're jumping between buffers
00:21:45.006 --> 00:21:46.960
or when you're dropping between windows,
00:21:46.960 --> 00:21:50.681
it shows exactly where your point is in
that buffer
00:21:50.681 --> 00:21:55.440
by making a slight ray of light which
looks like a beacon, hence the name.
00:21:55.440 --> 00:21:57.760
It really helps you navigate buffers
00:21:57.760 --> 00:21:58.986
because it always shows
00:21:58.986 --> 00:22:01.760
in a very visual way
where your point is.
00:22:01.760 --> 00:22:04.640
I'll get a chance to show this to you
later today
00:22:04.640 --> 00:22:10.159
when I'll be presenting my other talks.
00:22:10.159 --> 00:22:20.880
(Amin: Awesome. We have one question
from Jonas, the maintainer of Magit.
00:22:20.880 --> 00:22:25.128
He asks, "When you touched your webcam,
00:22:25.128 --> 00:22:26.880
that blew a fuse at my place.
00:22:26.880 --> 00:22:29.760
How did you do that?")
00:22:29.760 --> 00:22:31.242
Well, I'm very sorry, Jonas,
00:22:31.242 --> 00:22:36.960
that it happened to you, but I'll make
sure not to touch my webcam again.
00:22:36.960 --> 00:22:41.600
(Amin: Do we have any other questions?)
00:22:41.600 --> 00:22:43.919
I have to trust you on this one.
00:22:43.919 --> 00:22:46.960
I'm really sorry. Everything is frozen
on my end.
00:22:46.960 --> 00:22:49.940
(Amin: No problem.) Yeah I'm more
talking to the audience, I guess.
00:22:51.520 --> 00:22:56.018
I hope my lack of slides didn't bother
you.
00:22:56.018 --> 00:23:00.481
I really wanted to have this verbose
time with people,
00:23:00.481 --> 00:23:01.600
to be able to...
00:23:01.600 --> 00:23:04.880
It's a message that I've been trying
00:23:04.880 --> 00:23:08.640
to share with as many people as possible.
00:23:08.640 --> 00:23:11.760
In France, we do have an Emacs workshop
00:23:11.760 --> 00:23:14.159
that we have on a monthly basis.
00:23:14.159 --> 00:23:16.000
I've been learning a lot
00:23:16.000 --> 00:23:18.960
with those people and I felt like
00:23:18.960 --> 00:23:20.400
doing the same with Emacs conference
00:23:20.400 --> 00:23:22.713
would be good. That's why I'm
really happy,
00:23:22.713 --> 00:23:24.000
and I'm really lucky to have had
00:23:24.000 --> 00:23:26.418
the chance to do this today.
00:23:26.418 --> 00:23:29.200
I hope some of you, I've convinced you
00:23:29.200 --> 00:23:31.472
of climbing up a step on a ladder
00:23:31.472 --> 00:23:34.480
or making a step in a journey.
00:23:34.480 --> 00:23:38.080
(Amin: Absolutely. Thank you so much, Leo.
00:23:38.080 --> 00:23:41.279
I happen to completely agree
00:23:41.279 --> 00:23:43.600
with your not necessarily using a slide
00:23:43.600 --> 00:23:45.600
when it's not really needed
00:23:45.600 --> 00:23:49.200
and to help give some face-to-face time
00:23:49.200 --> 00:23:50.685
with the audience.
00:23:50.685 --> 00:23:52.923
Unfortunately, your webcam cut out,
00:23:52.923 --> 00:23:55.200
but I mean before that.)
00:23:55.200 --> 00:23:57.914
Yes, I'll make sure to fix
the problems later on,
00:23:57.914 --> 00:23:59.679
so don't worry about it.
00:23:59.679 --> 00:24:02.240
(Amin: Awesome. Alrighty. I guess we're
00:24:02.240 --> 00:24:08.000
wrapping up for your talk and getting
ready for the next talk.)
00:24:08.000 --> 00:24:09.538
Sure. Well, thank you so much.
00:24:09.538 --> 00:24:11.760
I'll see you all later, I suppose!
00:24:11.760 --> 00:24:16.799
(Amin: Sounds good. Thank you again, Leo. Bye-bye)