0:00:00.000,0:00:05.839
(Amin: Alrighty, Leo Vivier, take it away.)
0:00:03.760,0:00:06.879
Okay, well, thank you. I'm in. So you've
0:00:05.839,0:00:08.880
just had a
0:00:06.879,0:00:10.320
little roundup of the news, and we're
0:00:08.880,0:00:11.120
going to get started now with some
0:00:10.320,0:00:13.840
presentations.
0:00:11.120,0:00:15.920
We're starting with user
0:00:13.840,0:00:18.000
developer stories.
0:00:15.920,0:00:19.199
I was extremely interested in this
0:00:18.000,0:00:21.600
section because I
0:00:19.199,0:00:24.160
wanted to get a chance, basically, to tell
0:00:21.600,0:00:27.039
you a little more about who I am and
0:00:24.160,0:00:28.160
how I got from basically being a user of
0:00:27.039,0:00:30.640
Emacs
0:00:28.160,0:00:31.279
to being nowadays a package
0:00:30.640,0:00:33.280
maintainer,
0:00:31.279,0:00:34.559
and maybe more in the future. I don't
0:00:33.280,0:00:36.160
know. So,
0:00:34.559,0:00:37.760
just for the organizers, I'm planning to
0:00:36.160,0:00:39.680
speak for 15 minutes, and I'll have five
0:00:37.760,0:00:41.360
more minutes of questions at the end.
0:00:39.680,0:00:43.440
As I told you before, if you want to have
0:00:41.360,0:00:44.879
questions, you know you can use the pad,
0:00:43.440,0:00:47.360
and I'll be reading the questions from
0:00:44.879,0:00:49.600
there. Okay. So
0:00:47.360,0:00:51.280
hi there, as Amin introduced me before,
0:00:49.600,0:00:53.280
my name is Leo Vivier.
0:00:51.280,0:00:54.800
I'm a freelance software engineer
0:00:54.800,0:00:59.359
in France, and I have been using Emacs
0:00:58.079,0:01:01.280
now for
0:00:59.359,0:01:03.039
i believe close to eight years. I can't
0:01:01.280,0:01:07.680
believe it's been so long.
0:01:03.039,0:01:12.000
But yes, it's been a journey because,
0:01:07.680,0:01:14.560
in a way, nothing
0:01:12.000,0:01:15.119
made me go for Emacs. You know I'm an--
0:01:15.119,0:01:19.200
sorry, I was about to say Emacs major, but
0:01:17.280,0:01:21.280
no, I'm an English major. I went to
0:01:19.200,0:01:24.320
university to study English literature
0:01:21.280,0:01:26.159
and linguistics, and
0:01:24.320,0:01:28.240
I just got started in emacs
0:01:26.159,0:01:31.340
because I was looking for ways to take
0:01:28.240,0:01:32.640
better notes. I was looking for ways to
0:01:31.340,0:01:34.640
[Applause]
0:01:32.640,0:01:36.720
structure the way I was learning,
0:01:34.640,0:01:40.079
structure the way I was
0:01:36.720,0:01:42.320
taking notes. I stumbled one day
0:01:40.079,0:01:43.759
upon this weird piece of software which
0:01:42.320,0:01:46.479
was called Emacs,
0:01:43.759,0:01:47.920
and I've been trapped forever since,
0:01:46.479,0:01:49.280
basically, because
0:01:47.920,0:01:51.119
eight years ago, when I discovered
0:01:49.280,0:01:52.720
Emacs I just couldn't let go. There was
0:01:51.119,0:01:55.439
just something very
0:01:52.720,0:01:56.320
interesting about the way you configured
0:01:55.439,0:01:58.799
your setup,
0:01:56.320,0:01:59.759
and I just wanted to dive deeper and
0:01:58.799,0:02:04.320
deeper.
0:01:59.759,0:02:06.640
So the title is of this talk exactly is
0:02:04.320,0:02:08.000
how I went from user to package
0:02:06.640,0:02:09.840
maintainer, and
0:02:08.000,0:02:11.599
the package now that I'm maintaining is
0:02:09.840,0:02:12.080
called org-roam. I'm not the only one
0:02:11.599,0:02:14.879
doing this.
0:02:12.080,0:02:15.440
I'm helped with many lovely people
0:02:15.440,0:02:21.360
working on org-roam.
0:02:18.720,0:02:23.360
I got started as a maintainer
0:02:21.360,0:02:24.720
only this year, so that means that for
0:02:23.360,0:02:27.360
the eight years I've been
0:02:24.720,0:02:29.200
an Emacs user, seven of those years were
0:02:27.360,0:02:31.040
spent merely being a user
0:02:29.200,0:02:33.920
trying to be a sponge for knowledge,
0:02:31.040,0:02:36.800
trying to learn as much as I could.
0:02:33.920,0:02:39.040
I believe it would be
0:02:36.800,0:02:40.959
interesting for me to share my story
0:02:39.040,0:02:42.160
because I believe that I'm far from
0:02:40.959,0:02:43.599
being the only user
0:02:42.160,0:02:45.519
who can make the jump to being a
0:02:43.599,0:02:46.879
maintainer. A lot of you have
0:02:45.519,0:02:48.959
a lot of knowledge when it comes to
0:02:46.879,0:02:51.040
Emacs. Some of you
0:02:48.959,0:02:52.720
are at different steps in your journey.
0:02:51.040,0:02:55.680
Some of you, for instance, are just
0:02:52.720,0:02:57.040
starting to copy stuff out of
0:02:55.680,0:02:59.519
StackExchange
0:02:57.040,0:03:00.720
into your Emacs configuration. let's
0:02:59.519,0:03:01.599
say you want to do something very
0:03:00.720,0:03:04.480
particular
0:03:01.599,0:03:05.920
and you haven't found a way to do so.
0:03:04.480,0:03:06.640
You go on StackExchange. You find
0:03:05.920,0:03:09.040
something
0:03:06.640,0:03:10.239
that's interesting. You add it to your
0:03:09.040,0:03:11.680
Emacs configuration. You
0:03:10.239,0:03:13.519
barely understand anything that's going
0:03:11.680,0:03:14.800
on. You know that it's supposed to be
0:03:13.519,0:03:17.200
Emacs Lisp.
0:03:14.800,0:03:19.440
"I hardly know Emacs and I
0:03:17.200,0:03:21.440
know even less what is Lisp supposed to be."
0:03:19.440,0:03:22.800
But you paste it in and it does what you
0:03:21.440,0:03:26.959
want it to do, and you say
0:03:22.800,0:03:29.280
"Great, I'll move on to my work now." So
0:03:26.959,0:03:30.879
that's how I got started. I had
0:03:29.280,0:03:33.440
a very spartan
0:03:30.879,0:03:35.200
setup for Emacs, which a lot of you must
0:03:33.440,0:03:36.000
know... The first time you launch Emacs,
0:03:36.000,0:03:39.599
you have this feeling that you're jumping 20
0:03:37.840,0:03:43.680
years back in time, as far as the
0:03:39.599,0:03:45.920
user interface is concerned. But
0:03:43.680,0:03:46.959
as you get to spend more time with Emacs...
0:03:46.959,0:03:50.959
Some would call it Stockholm syndrome
0:03:49.120,0:03:53.360
insofar as you can't see
0:03:50.959,0:03:54.640
how spartan the entire thing is, but it
0:03:53.360,0:03:58.400
actually is
0:03:54.640,0:04:00.400
a lovely prison so to speak.
0:03:58.400,0:04:01.680
That's how I got started eight years
0:04:00.400,0:04:04.319
ago. I just wanted
0:04:01.680,0:04:05.519
to find a way to do my research properly.
0:04:04.319,0:04:07.280
I wanted to have a
0:04:05.519,0:04:08.959
tool that I could use to write my notes
0:04:07.280,0:04:11.680
in plain text, because I was already
0:04:08.959,0:04:14.560
fairly averse to
0:04:11.680,0:04:16.320
Microsoft solutions when it
0:04:14.560,0:04:19.359
came to taking notes.
0:04:16.320,0:04:20.880
So yeah, I got started in emacs. I
0:04:19.359,0:04:23.040
read a little bit about what plain text
0:04:20.880,0:04:26.000
was about. Just to be clear,
0:04:23.040,0:04:27.120
at the time, yes, I was very good with
0:04:26.000,0:04:30.160
computers,
0:04:27.120,0:04:32.479
but I was not a computer science student.
0:04:30.160,0:04:33.520
I had barely any experience with
0:04:32.479,0:04:36.080
programming
0:04:33.520,0:04:36.800
and coding, and I was even less of a
0:04:36.080,0:04:39.919
hacker
0:04:36.800,0:04:42.560
back then.
0:04:39.919,0:04:44.479
It just goes to show you that at the
0:04:42.560,0:04:45.840
beginning, I had close to no knowledge,
0:04:44.479,0:04:47.840
whether it be about
0:04:45.840,0:04:48.880
the free software world, whether it be
0:04:47.840,0:04:50.800
about...
0:04:48.880,0:04:52.479
Sacha, do you want to say something? (Sacha: just
0:04:50.800,0:04:54.080
confirming, you're not sharing anything
0:04:52.479,0:04:55.360
on the screen at the moment, right?)
0:04:54.080,0:04:55.759
No, I'm not sharing anything, I'm
0:04:55.360,0:04:59.040
just
0:04:55.759,0:05:02.240
presenting.
0:04:59.040,0:05:03.680
So when I started, I had no
0:05:02.240,0:05:07.199
experience whatsoever.
0:05:03.680,0:05:10.080
I was just a literature major
0:05:07.199,0:05:11.039
trying to get better at taking notes.
0:05:11.039,0:05:15.280
I stumbled upon LaTeX. As many people
0:05:13.440,0:05:17.039
who stumble upon LaTeX know,
0:05:15.280,0:05:19.759
you don't just stumble upon
0:05:17.039,0:05:21.199
LaTeX, you embroil yourself in the
0:05:19.759,0:05:24.560
turmoil of
0:05:21.199,0:05:27.440
suffering, of late nights tweaking,
0:05:24.560,0:05:30.000
so that your document is exactly in the
0:05:27.440,0:05:33.440
perfect shape you want it to be.
0:05:33.440,0:05:36.639
Soon after, when I got started with Emacs
0:05:35.520,0:05:38.400
and LaTeX,
0:05:36.639,0:05:40.560
I discovered something that truly
0:05:38.400,0:05:44.479
changed my life, and it was Org Mode.
0:05:40.560,0:05:46.960
As you'll get a lot of presentations
0:05:44.479,0:05:49.360
this afternoon about Org Mode,
0:05:46.960,0:05:50.479
I won't be spending too much time on it.
0:05:49.360,0:05:53.680
But Org Mode,
0:05:50.479,0:05:56.880
for me, was a revelation. It's...
0:05:53.680,0:05:59.039
There was something that, upon reading
0:05:56.880,0:06:02.080
articles on how to use Org Mode,
0:05:59.039,0:06:04.160
especially one of the key
0:06:02.080,0:06:06.000
article that I'd read which really made
0:06:04.160,0:06:09.199
a huge impact on me
0:06:06.000,0:06:10.720
was the "Organize Your Life in Plain Text" one
0:06:09.199,0:06:12.240
which i'm sure many of you must have
0:06:10.720,0:06:15.919
stumbled upon
0:06:12.240,0:06:18.720
in your Emacs journey...
0:06:15.919,0:06:19.680
For me, when I stumbled upon
0:06:18.720,0:06:21.840
this
0:06:19.680,0:06:23.440
document, I was starting to get
0:06:21.840,0:06:24.240
interested in Getting Things
0:06:23.440,0:06:26.560
Done and
0:06:24.240,0:06:29.199
all the nitty-gritty stuff about
0:06:26.560,0:06:31.919
organization and self-organization.
0:06:29.199,0:06:32.960
It just felt like everything was under
0:06:31.919,0:06:36.960
my fingertips
0:06:32.960,0:06:40.880
to make the perfect workflow.
0:06:36.960,0:06:44.080
There was something incredibly
0:06:40.880,0:06:46.319
satisfying about
0:06:44.080,0:06:48.319
having a system that gave you so many
0:06:46.319,0:06:50.160
options to configure your experience
0:06:48.319,0:06:54.479
exactly how you wanted.
0:06:50.160,0:06:57.199
You had this feeling that
0:06:54.479,0:06:57.599
the people behind Org Mode had thought
0:06:57.199,0:07:00.479
of everything,
0:06:57.599,0:07:02.000
whichever small adjustment
0:07:00.479,0:07:04.800
that you needed in workflow
0:07:02.000,0:07:05.440
whether it be more states for your
0:07:04.800,0:07:07.520
TODOs,
0:07:05.440,0:07:09.360
whether it be, oh, I want my weeks to
0:07:07.520,0:07:13.039
start on Monday and not on Saturday,
0:07:09.360,0:07:13.520
oh, it's half past one and I need
0:07:13.039,0:07:15.280
to...
0:07:13.520,0:07:17.039
in the morning, I mean, and I need to make
0:07:15.280,0:07:17.680
sure that the item that i'm marking as done
0:07:17.680,0:07:21.199
is done for the day before and not for
0:07:19.199,0:07:21.919
the current day. You see what I'm talking about.
0:07:21.919,0:07:28.800
So many details that were already
0:07:25.280,0:07:31.039
present in Org Mode. At first you're
0:07:28.800,0:07:34.080
really impressed, because you think,
0:07:31.039,0:07:35.599
wow, they thought of everything, but then
0:07:34.080,0:07:38.080
you realize that it's just a matter of
0:07:35.599,0:07:40.800
experience, just a matter of people
0:07:38.080,0:07:42.400
contributing code, because the
0:07:40.800,0:07:43.520
development of Org Mode, Emacs, and
0:07:42.400,0:07:45.440
everything is just
0:07:43.520,0:07:46.879
open to the public. You know, it's like
0:07:45.440,0:07:48.560
everything is being done with the garage
0:07:46.879,0:07:50.960
door opened. You can just
0:07:48.560,0:07:51.680
go on Org Mode on Savannah and see
0:07:50.960,0:07:54.800
everything that is being developed.
0:07:54.800,0:08:02.639
For me, the shift that occurred
0:07:58.639,0:08:04.240
in my mind was when
0:08:02.639,0:08:06.240
I was reading all the options, I
0:08:04.240,0:08:08.160
was looking at all the variables that i
0:08:06.240,0:08:11.440
could modify for Org Mode,
0:08:08.160,0:08:12.560
and there came a time, maybe two to three
0:08:11.440,0:08:15.599
years ago,
0:08:12.560,0:08:17.759
where I thought, oh wow,
0:08:15.599,0:08:19.599
maybe for the first time in a while,
0:08:17.759,0:08:21.440
there is no option for me to do what I
0:08:19.599,0:08:24.479
want to be doing with Org Mode.
0:08:21.440,0:08:26.400
I believe at the time the the key
0:08:24.479,0:08:29.199
issue that triggered this reflex for me was
0:08:29.199,0:08:33.599
I wanted to do something with the agenda.
0:08:31.039,0:08:34.159
I wanted to have a super category so, you
0:08:33.599,0:08:36.320
know, in the...
0:08:34.159,0:08:38.000
for those of you who know, in your
0:08:36.320,0:08:39.440
agenda, you have the ability to have many
0:08:38.000,0:08:41.200
files, and you have the ability to have
0:08:39.440,0:08:44.560
categories.
0:08:41.200,0:08:47.920
I wanted somehow to group my
0:08:47.920,0:08:52.560
TODOs in smaller groups, or bigger
0:08:51.680,0:08:53.920
groups, I should say,
0:08:52.560,0:08:55.440
so that, for instance, I could have one
0:08:53.920,0:08:56.000
group for my professional life, I could
0:08:55.440,0:08:59.120
have a group
0:08:56.000,0:08:59.600
for one work, the second
0:08:59.120,0:09:00.800
work...
0:08:59.600,0:09:02.800
I could have something for
0:09:00.800,0:09:06.000
university and all this.
0:09:02.800,0:09:08.240
I thought, yeah,
0:09:06.000,0:09:09.600
I think I'd like this.
0:09:09.600,0:09:15.519
After having spent so long working
0:09:12.959,0:09:17.200
with Emacs and working with Org Mode,
0:09:15.519,0:09:18.800
I had some ideas about what was
0:09:17.200,0:09:21.120
within the realm of possibility and what
0:09:18.800,0:09:23.040
wasn't. Here I thought to myself,
0:09:21.120,0:09:24.320
this is definitely something that I can do.
0:09:24.320,0:09:31.360
And so thus started my journey
0:09:27.839,0:09:33.040
into the Org Mode libraries.
0:09:31.360,0:09:34.959
I won't go too much into details right
0:09:33.040,0:09:37.040
now, because right now, the main objective
0:09:34.959,0:09:40.240
that I have is just to show you
0:09:37.040,0:09:41.600
how simple it is to become a maintainer,
0:09:40.240,0:09:42.800
how to become more involved with the
0:09:41.600,0:09:46.320
development.
0:09:42.800,0:09:48.839
The libraries in Org Mode,
0:09:46.320,0:09:50.320
they're written in Elisp, which is a very...
0:09:50.320,0:09:54.080
It might seem like an obscure language,
0:09:52.080,0:09:56.399
and it certainly is,
0:09:54.080,0:09:57.279
but as soon as you get the logic of the
0:09:56.399,0:09:59.360
language--and
0:09:57.279,0:10:00.560
what i'm telling you
0:09:59.360,0:10:01.760
is coming from someone who's never
0:10:00.560,0:10:04.399
studied programming--
0:10:01.760,0:10:06.079
it made sense.
0:10:04.399,0:10:07.279
Everything is so verbose when you get
0:10:06.079,0:10:10.399
into the code.
0:10:07.279,0:10:13.360
When you learn the rudiments
0:10:10.399,0:10:14.079
of Elisp, you start getting to the code,
0:10:13.360,0:10:17.120
and you start
0:10:14.079,0:10:19.519
thinking, wow, okay that makes sense,
0:10:17.120,0:10:21.360
and you start developing a logic
0:10:19.519,0:10:24.720
for all this.
0:10:21.360,0:10:26.959
So, equipped as I was with this
0:10:24.720,0:10:27.760
new knowledge, I went on my project,
0:10:27.760,0:10:30.880
i went into the Org agenda code,
0:10:30.000,0:10:33.440
and I thought, okay,
0:10:30.880,0:10:34.640
is there anything that I can use to do
0:10:33.440,0:10:37.760
my bidding?
0:10:34.640,0:10:38.560
Fast forward maybe two to three weeks of
0:10:38.560,0:10:42.720
intense turmoil and many nights which
0:10:41.600,0:10:45.279
were spent
0:10:42.720,0:10:46.079
single-mindedly working on this project,
0:10:46.079,0:10:51.680
two weeks after, I had something that was
0:10:48.079,0:10:54.640
working, and I was pretty happy about it.
0:10:51.680,0:10:56.800
That was a key landmark for
0:10:54.640,0:11:00.320
me, because when that happened,
0:10:56.800,0:11:02.160
it just felt like, okay, I can contribute
0:11:00.320,0:11:03.120
something to Org Mode, and I can do
0:11:02.160,0:11:06.000
something that would benefit as many people
0:11:06.000,0:11:09.519
as possible.
0:11:07.600,0:11:11.440
And to me, that was the click. That's when
0:11:09.519,0:11:13.680
it occurred. That's when I
0:11:11.440,0:11:14.640
went on my first project and I did something
0:11:14.640,0:11:18.079
that felt useful to the community.
0:11:18.079,0:11:21.760
And nowadays, as I told you, I
0:11:20.079,0:11:22.640
maintain packages, but really, nothing
0:11:21.760,0:11:24.399
has changed.
0:11:22.640,0:11:26.880
The only thing, maybe, that has changed
0:11:24.399,0:11:28.320
that I've turned my mind onto other problems.
0:11:28.320,0:11:35.279
Maybe I've got three more minutes
0:11:32.000,0:11:38.399
and I'd like to finish by
0:11:35.279,0:11:39.600
maybe something a little different.
0:11:38.399,0:11:42.079
I've told you my Emacs story and
0:11:39.600,0:11:43.600
I hope I've stressed how little effort
0:11:42.079,0:11:46.560
it took me to
0:11:43.600,0:11:48.399
move from steps to steps on the ladder.
0:11:46.560,0:11:48.959
The ladder implies a sense of hierarchy,
0:11:48.399,0:11:52.240
but it really isn't.
0:11:48.959,0:11:53.920
Whatever your step on the
0:11:52.240,0:11:55.600
journey of Emacs is...
0:11:53.920,0:11:57.440
Some of you might be at the
0:11:55.600,0:11:59.360
step where you're really worried
0:11:57.440,0:12:01.440
about learning Elisp because it feels
0:11:59.360,0:12:02.399
like such a monumental task to be
0:12:01.440,0:12:04.720
undertaking
0:12:02.399,0:12:06.079
and you have no experience whatsoever,
0:12:04.720,0:12:07.839
but the thing is,
0:12:06.079,0:12:09.600
maybe you could try climbing this first
0:12:07.839,0:12:11.200
step on the ladder. Maybe you could try,
0:12:09.600,0:12:13.120
if you have any project,
0:12:11.200,0:12:14.880
if you've been using Org Mode,
0:12:13.120,0:12:15.600
maybe one day you thought, "oh, yes,
0:12:15.600,0:12:19.920
I wish I could do this but I can't,"
0:12:18.160,0:12:21.680
or maybe do try to do this,
0:12:19.920,0:12:23.279
maybe do try to change something in a
0:12:21.680,0:12:26.560
major mode that you're using
0:12:23.279,0:12:29.760
and which you feel might be better.
0:12:26.560,0:12:31.040
I think Emacs, Org Mode, and all free
0:12:29.760,0:12:34.240
software in general
0:12:31.040,0:12:34.720
has this tendency to give you this idea
0:12:34.720,0:12:41.360
that I can be a hacker
0:12:38.720,0:12:43.200
in the sense of the term
0:12:41.360,0:12:46.320
that you're modifying things
0:12:43.200,0:12:48.399
to do your bidding.
0:12:46.320,0:12:50.320
For me, I believe this to be a very
0:12:48.399,0:12:52.959
healthy attitude towards software.
0:12:50.320,0:12:54.079
As Amin said in the very beginning,
0:12:54.079,0:12:59.360
we are doing this entire presentation--
0:12:57.279,0:13:00.800
sorry, this entire conference with free software.
0:13:00.800,0:13:03.920
Just see all the things we've been able
0:13:02.240,0:13:07.360
to do in free software.
0:13:03.920,0:13:10.399
For me, Emacs
0:13:07.360,0:13:14.399
was my gateway, so to speak,
0:13:10.399,0:13:17.200
into how to contribute to free software,
0:13:14.399,0:13:18.639
about the philosophy that surrounds it.
0:13:18.639,0:13:22.000
What I would like to do... I'll finish
0:13:20.560,0:13:23.360
on this note and then I'll be taking
0:13:22.000,0:13:26.480
your questions.
0:13:23.360,0:13:29.360
Just try.
0:13:26.480,0:13:31.279
You've read on Reddit that you
0:13:29.360,0:13:33.040
need to go through the Elisp manual
0:13:31.279,0:13:35.920
in Emacs. You might be scared,
0:13:33.040,0:13:38.560
but just do it. Just give it a shot.
0:13:35.920,0:13:39.199
Just give it maybe one afternoon.
0:13:38.560,0:13:42.160
Try to read it.
0:13:39.199,0:13:43.120
Try to see if this appeals to your mind.
0:13:43.120,0:13:45.680
If you've been interested enough in my
0:13:44.399,0:13:47.199
presentation right now, and if you're
0:13:45.680,0:13:48.560
interested enough in any of the talks
0:13:47.199,0:13:49.519
you're going to have during the entire
0:13:48.560,0:13:51.839
conference,
0:13:49.519,0:13:52.959
do give it a shot. I'm pretty sure
0:13:51.839,0:13:55.760
you will like the journey
0:13:52.959,0:13:57.120
on which you will be embarking upon. So i
0:13:55.760,0:13:57.680
believe i'm finishing one minute early
0:13:57.120,0:14:00.000
but I see quite a bit of questions already.
0:14:01.040,0:14:06.000
I'm not sure. Sacha, should I
0:14:04.320,0:14:07.120
just be reading the questions, or
0:14:06.000,0:14:08.639
do you want to be feeding me the
0:14:07.120,0:14:11.120
questions?
0:14:08.639,0:14:12.320
(Amin: It's really up to you. it's
0:14:11.120,0:14:13.600
completely up to you.
0:14:12.320,0:14:15.839
If you've got the questions
0:14:13.600,0:14:18.320
open and can take them or read them,
0:14:15.839,0:14:19.680
by all means please.)
0:14:18.320,0:14:20.880
Okay, well, I'm going to read them because
0:14:19.680,0:14:22.800
I've got them on the side. I'm going
0:14:20.880,0:14:24.959
to start with the one at the bottom.
0:14:22.800,0:14:26.959
"Do you feel that being a white male
0:14:24.959,0:14:29.680
contributed to your experience?"
0:14:26.959,0:14:31.360
Yeah. I mean, I do believe... There's
0:14:29.680,0:14:34.639
an idea of privilege. I mean, I'm
0:14:31.360,0:14:35.279
french. I live in... I'm lucky enough to
0:14:34.639,0:14:38.560
be here
0:14:35.279,0:14:39.120
at university, okay, and I'm fairly aware
0:14:38.560,0:14:41.600
of the
0:14:39.120,0:14:42.880
discrepancies that happen, even in France,
0:14:41.600,0:14:46.320
according to this...
0:14:42.880,0:14:51.040
So, yes, I believe my journey
0:14:46.320,0:14:51.040
was heavily influenced by this.
0:14:51.199,0:14:54.320
If you would like to specify the
0:14:52.639,0:14:56.560
question, please do, but I don't have
0:14:54.320,0:14:59.199
really all that much to ask on this.
0:14:56.560,0:14:59.839
"What is your advice to start learning
0:14:59.839,0:15:04.160
Elisp language? Any particularly good
0:15:01.279,0:15:06.880
resource or any other tips?" I finished
0:15:04.160,0:15:07.760
um my presentation by telling you about
0:15:07.760,0:15:11.519
the Elisp introduction which is built into
0:15:10.560,0:15:13.519
Emacs. What I might do... I'm going to share my
0:15:13.519,0:15:19.519
screen just to show you
0:15:15.120,0:15:22.880
how this works. I will be sharing
0:15:19.519,0:15:24.399
this window.
0:15:22.880,0:15:27.199
I believe it's frozen on my end, so I
0:15:24.399,0:15:28.959
can't see anything.
0:15:27.199,0:15:31.680
i'm not sure if you can see me or if my
0:15:28.959,0:15:31.680
camera is moving.
0:15:32.560,0:15:36.000
Okay, so my Firefox is frozen. So i'll
0:15:34.800,0:15:36.800
answer the question, but I won't be able
0:15:36.000,0:15:40.000
to show you
0:15:36.800,0:15:42.639
what I wanted to show you.
0:15:40.000,0:15:44.320
There's a built-in guide inside Emacs to
0:15:42.639,0:15:46.880
learn Elisp.
0:15:44.320,0:15:49.040
Maybe the best chance that you have
0:15:46.880,0:15:50.959
is just to go open these info pages.
0:15:49.040,0:15:53.839
I'm sure someone will be kind enough to
0:15:50.959,0:15:54.880
mention this to you in the #emacsconf channel
0:15:53.839,0:15:56.880
on IRC
0:15:54.880,0:15:59.040
but it's probably the best way
0:15:56.880,0:16:01.279
to get started with Elisp.
0:15:59.040,0:16:03.360
You know, we tend to get obsessed, with
0:16:01.279,0:16:04.880
software and with programming, about
0:16:03.360,0:16:06.959
what's the best way to get started.
0:16:04.880,0:16:08.399
You see so many people who are
0:16:06.959,0:16:10.639
heavily interested
0:16:08.399,0:16:12.320
in getting started with programming but
0:16:10.639,0:16:14.320
they never managed to get started
0:16:12.320,0:16:16.320
because there's so much choice.
0:16:14.320,0:16:17.920
My advice would be to just get started.
0:16:16.320,0:16:18.800
Don't get so worried about the first step.
0:16:18.800,0:16:23.920
Well, if I may still recommend the
0:16:21.839,0:16:26.480
first step, even after saying this,
0:16:23.920,0:16:28.000
do try to start with the
0:16:26.480,0:16:29.600
built-in guides. I believe they're pretty
0:16:28.000,0:16:32.079
pretty good.
0:16:29.600,0:16:33.199
There was another question. It's
0:16:32.079,0:16:34.800
the last question that I can read and
0:16:33.199,0:16:36.000
after that, you will have to read
0:16:34.800,0:16:37.920
the questions for me because everything
0:16:36.000,0:16:41.600
is frozen on my end.
0:16:37.920,0:16:44.240
I hope I'm not frozen
0:16:41.600,0:16:45.680
in a very bad position so
0:16:44.240,0:16:48.240
please excuse me if
0:16:45.680,0:16:49.759
my mouth is open or anything. (Amin: no, we
0:16:48.240,0:16:51.120
just completely lost the video feed, so
0:16:49.759,0:16:52.720
no worries.)
0:16:51.120,0:16:54.800
Oh, splendid, so I won't have to make a
0:16:52.720,0:16:56.800
fool out of myself.
0:16:54.800,0:16:58.320
So the last question I wanted to answer was
0:16:56.800,0:16:59.199
"Have you read Dirk Gently's Holistic
0:16:58.320,0:17:02.079
Detective Agency?"
0:16:59.199,0:17:03.519
No, I haven't. I hope it's not
0:17:03.519,0:17:06.559
a jab at the way i'm dressing for the
0:17:05.199,0:17:08.559
conference, but yeah,
0:17:06.559,0:17:10.559
I haven't read it. Was there any
0:17:08.559,0:17:13.919
other question?
0:17:10.559,0:17:15.919
(Amin: I see one other question.
0:17:15.919,0:17:19.679
"Any recommendation for good packaging
0:17:17.919,0:17:23.199
guides or places to start?
0:17:19.679,0:17:24.959
i get a bit overwhelmed by some things.
0:17:23.199,0:17:26.799
For example, the choice of different test
0:17:24.959,0:17:28.240
frameworks.")
0:17:26.799,0:17:30.400
Right. Okay. So that's a very good
0:17:28.240,0:17:33.840
question. I believe
0:17:30.400,0:17:35.840
alphapapa is in the chat right now.
0:17:33.840,0:17:37.760
As myself a new lisp developer for
0:17:35.840,0:17:38.320
org-roam, i'd really recommend you to look into
0:17:38.320,0:17:42.799
his package developers' guide because you
0:17:40.640,0:17:44.559
have a list of all the softwares that
0:17:42.799,0:17:45.760
are extremely useful to be using when
0:17:44.559,0:17:48.000
you're getting started.
0:17:45.760,0:17:50.000
If you're looking into a first
0:17:48.000,0:17:52.640
step for how to develop
0:17:50.000,0:17:53.520
elast package, i'd really advise you to
0:17:52.640,0:17:56.559
look into edebug.
0:17:53.520,0:17:58.000
It's one word, edebug,
0:17:56.559,0:17:58.400
and you have a section in the manual for this,
0:17:58.400,0:18:01.919
because for me, it was the key step to
0:18:00.799,0:18:04.320
getting to
0:18:01.919,0:18:05.679
develop good packages. It was
0:18:04.320,0:18:06.160
understanding basically what the code did
0:18:06.160,0:18:09.919
and having us something like a
0:18:08.960,0:18:11.760
REPL (read-evaluate-print-loop)
0:18:09.919,0:18:13.360
that allows you to step through the code
0:18:11.760,0:18:13.919
and see exactly which states the
0:18:13.360,0:18:16.000
variables are at which at this point in the
0:18:16.000,0:18:20.080
program. That's really my biggest advice
0:18:18.400,0:18:21.200
to you
0:18:20.080,0:18:24.400
[Music]
0:18:21.200,0:18:26.160
Any other question? Thanks. Yeah, I see one
0:18:24.400,0:18:28.240
or two more.
0:18:26.160,0:18:30.080
So there's one. They ask, "How did the
0:18:28.240,0:18:33.120
freedom of Emacs help you on
0:18:30.080,0:18:36.480
your way?"
0:18:33.120,0:18:38.080
So the freedom of Emacs... I mentioned
0:18:36.480,0:18:40.320
that Emacs, for me, was my gateway
0:18:38.080,0:18:41.360
into free software and the freedom of
0:18:40.320,0:18:43.840
Emacs was that
0:18:41.360,0:18:44.960
you could maybe... First and foremost,
0:18:43.840,0:18:47.840
compared to
0:18:44.960,0:18:48.400
other software, was that you had
0:18:47.840,0:18:51.039
behind Emacs,
0:18:48.400,0:18:52.400
Elisp, which allows you to read the code,
0:18:51.039,0:18:53.039
read whatever is going on in the
0:18:52.400,0:18:54.640
background.
0:18:53.039,0:18:56.160
Surely, if you go deep enough, you'll
0:18:54.640,0:18:58.000
end up on
0:18:56.160,0:18:59.679
C functions that you might not be able to
0:18:58.000,0:19:02.000
read if you do not have the experience.
0:18:59.679,0:19:03.520
But for Org Mode, which was my gateway
0:19:02.000,0:19:06.400
into Emacs,
0:19:03.520,0:19:08.240
most of it is written in Elisp, and all
0:19:06.400,0:19:10.080
the commands have a very verbose
0:19:08.240,0:19:13.440
name, like something simple as
0:19:10.080,0:19:15.840
org go to next subtree or
0:19:13.440,0:19:16.880
org go to a parent subtree. You know, things
0:19:15.840,0:19:20.240
like this.
0:19:16.880,0:19:22.799
It's so elegant. It's verbose.
0:19:20.240,0:19:24.320
That's a sense of freedom
0:19:22.799,0:19:26.160
insofar as you can go into the code and
0:19:24.320,0:19:28.640
see, oh, okay, that's how it's implemented.
0:19:26.160,0:19:30.400
I believe in a way that's the freedom
0:19:28.640,0:19:31.600
and the liberty that is given to you to
0:19:30.400,0:19:33.039
look into the code
0:19:31.600,0:19:34.640
is something that invites you to do the
0:19:33.039,0:19:35.200
same with your life. As
0:19:34.640,0:19:36.559
someone who
0:19:35.200,0:19:38.080
does a little bit of philosophy on the
0:19:36.559,0:19:38.799
side, I believe it's a very healthy
0:19:38.080,0:19:42.320
message
0:19:38.799,0:19:45.440
to be gathering from a piece of software.
0:19:42.320,0:19:50.720
(Amin: Awesome, thank you.
0:19:45.440,0:19:50.720
Let's see... So we have...
0:19:50.960,0:19:55.200
I think I saw another question pop up.)
0:19:57.200,0:19:59.760
I'm not sure how we're doing as far
0:19:58.559,0:20:02.080
as time is concerned... I believe we
0:19:59.760,0:20:04.240
have like one or two minutes more.
0:20:02.080,0:20:05.679
(Amin: Yeah, actually, we're quite a bit
0:20:04.240,0:20:07.840
ahead of the schedule, so if we take a
0:20:05.679,0:20:09.440
little bit longer, we're fine.
0:20:07.840,0:20:11.280
If you do have more
0:20:09.440,0:20:12.880
questions, please do.) I'm just sorry that
0:20:11.280,0:20:16.000
my video is not working anymore.
0:20:12.880,0:20:17.120
(Amin: No problem. Someone was
0:20:16.000,0:20:21.120
actually saying...
0:20:17.120,0:20:24.159
What's the most recent...
0:20:21.120,0:20:25.919
Actually, yeah well before that.
0:20:24.159,0:20:27.440
"Please show off your three-piece suit
0:20:25.919,0:20:30.080
before you end your talk,
0:20:27.440,0:20:31.919
which requires fixing your frozen camera.
0:20:30.080,0:20:34.000
if this is not possible, please post
0:20:31.919,0:20:36.240
suit selfies in an easily accessible
0:20:34.000,0:20:38.720
location."
0:20:36.240,0:20:40.559
Okay, I'll make sure to do this. But yes, I
0:20:38.720,0:20:41.200
wanted to hype things up for the
0:20:40.559,0:20:43.039
conference,
0:20:41.200,0:20:44.400
so yes I did get the three-piece suit out.
0:20:43.039,0:20:45.919
I'm very glad
0:20:44.400,0:20:47.760
you like it. By the way when you get
0:20:45.919,0:20:50.080
a chance to see me live again,
0:20:47.760,0:20:51.280
do appreciate that my tie has both the
0:20:50.080,0:20:53.679
colors of Emacs purple
0:20:51.280,0:20:54.960
and also Org Mode green.
0:20:53.679,0:20:55.760
It took me a while to find this one, so I
0:20:55.760,0:20:58.880
hope you will appreciate this.
0:21:00.840,0:21:06.880
(Amin: Awesome. Let's see. We have
0:21:03.679,0:21:08.960
one other question. "What's the
0:21:06.880,0:21:10.159
most recent Emacs package or tool that
0:21:08.960,0:21:14.480
you've discovered
0:21:10.159,0:21:17.600
that you've added to your repertoire?")
0:21:14.480,0:21:20.320
Very interesting question.
0:21:17.600,0:21:20.799
The thing is,
0:21:20.799,0:21:23.919
when you've spent as long as I have on
0:21:22.320,0:21:25.120
Emacs--and I know that I've only spent
0:21:23.919,0:21:28.799
eight years and some of you
0:21:25.120,0:21:30.000
might have spent maybe 10, 20, maybe even
0:21:28.799,0:21:32.799
more years on Emacs--
0:21:30.000,0:21:35.120
but for me, I believe the the coolest
0:21:32.799,0:21:38.200
neat trick that I found in Emacs was
0:21:35.120,0:21:40.080
a mode which is called beacon-mode.
0:21:40.080,0:21:43.679
It's something that allows
0:21:42.559,0:21:45.120
you to show
0:21:43.679,0:21:46.960
when you're jumping between buffers or
0:21:45.120,0:21:49.760
when you're dropping between windows,
0:21:46.960,0:21:51.520
it shows exactly where your point is in
0:21:49.760,0:21:53.840
that buffer by making
0:21:51.520,0:21:55.440
a slight ray of light which looks like a
0:21:53.840,0:21:57.760
beacon, hence the name.
0:21:55.440,0:21:59.520
It really helps you navigate buffers
0:21:57.760,0:22:01.760
because it always shows in a very
0:21:59.520,0:22:03.520
visual way where your point is.
0:22:01.760,0:22:04.640
I'll get a chance to show this to
0:22:03.520,0:22:08.720
you later today
0:22:04.640,0:22:08.720
when i'll be presenting my other talks.
0:22:10.159,0:22:16.880
(Amin: AWesome.
0:22:13.840,0:22:20.159
We have one question
0:22:16.880,0:22:20.880
from Jonas, the maintainer
0:22:20.159,0:22:24.720
from Magit.
0:22:20.880,0:22:26.880
He asks, "When you touched your
0:22:24.720,0:22:29.600
webcam, that blew a fuse at my place.
0:22:26.880,0:22:29.600
How did you do that?")
0:22:29.760,0:22:32.960
Well, I'm very sorry, Jonas, that it
0:22:31.600,0:22:36.000
happened to you, but i'll make sure not
0:22:32.960,0:22:36.000
to touch my webcam again.
0:22:36.960,0:22:43.919
(Amin: Do we have any other questions?)
0:22:41.600,0:22:45.840
I have to trust you on this one.
0:22:43.919,0:22:46.960
I'm really sorry. Everything is frozen
0:22:45.840,0:22:48.720
on my end.
0:22:46.960,0:22:49.940
(Amin: No problem. Yeah i'm more talking to the
0:22:48.720,0:22:51.520
audience, I guess.)
0:22:49.940,0:22:55.120
[Music]
0:22:51.520,0:22:56.960
I hope my lack of
0:22:55.120,0:22:58.159
slides didn't bother you. I really
0:22:56.960,0:23:01.039
wanted to have this
0:22:58.159,0:23:01.600
verbose time with people, to be
0:23:01.039,0:23:04.880
able to...
0:23:01.600,0:23:05.280
it's a message that i've been trying
0:23:04.880,0:23:06.960
to share with as many people as possible.
0:23:08.640,0:23:14.159
In france we do have an Emacs workshop
0:23:11.760,0:23:16.000
that we have on a monthly basis.
0:23:14.159,0:23:18.960
I've been learning a lot
0:23:16.000,0:23:20.400
with those people and I felt like
0:23:18.960,0:23:22.480
doing the same with Emacs conference
0:23:20.400,0:23:24.000
would be good. That's why i'm really
0:23:22.480,0:23:25.120
happy, and I'm really lucky to have had
0:23:24.000,0:23:27.919
the chance to
0:23:25.120,0:23:29.200
do this today. I hope some of you
0:23:27.919,0:23:31.679
I've convinced you
0:23:29.200,0:23:34.480
of climbing up a step on a ladder or
0:23:31.679,0:23:37.280
making a step in a journey.
0:23:34.480,0:23:38.080
(Amin: Absolutely. Thank you so much, Leo.
0:23:38.080,0:23:41.279
I happen to completely agree
0:23:41.279,0:23:45.600
with your not necessarily using a slide
0:23:43.600,0:23:48.480
when it's not really needed
0:23:45.600,0:23:49.200
and to help give some face-to-face time
0:23:49.200,0:23:53.520
with the audience. Unfortunately
0:23:51.840,0:23:55.200
your webcam cut out, but I mean
0:23:53.520,0:23:57.279
before that.)
0:23:55.200,0:23:59.679
Yes, I'll make sure to fix the problems
0:23:57.279,0:24:02.240
later on, so don't worry about it.
0:23:59.679,0:24:03.200
(Amin: Awesome. Alrighty. I guess we're
0:24:02.240,0:24:06.400
wrapping up
0:24:03.200,0:24:08.000
for your talk and getting ready for the
0:24:06.400,0:24:10.000
next talk.)
0:24:08.000,0:24:11.760
Sure. Well, thank you so much. I'll see
0:24:10.000,0:24:16.799
you all later, I suppose!
0:24:11.760,0:24:16.799
(Amin: Sounds good. Thank you again, Leo. Bye-bye)