0:00:10.480,0:00:15.040
hello relatives
0:00:11.519,0:00:18.960
grant shangri is what they call me
0:00:15.040,0:00:22.160
and all of you i gladly take your hand
0:00:18.960,0:00:25.199
and shake it um
0:00:22.160,0:00:25.199
greetings everyone
0:00:26.240,0:00:30.480
today i'm going to talk about lakota
0:00:28.560,0:00:33.680
language and emacs and how
0:00:30.480,0:00:36.000
free software and emacs empowered me to
0:00:33.680,0:00:38.960
write on the computer in the language of
0:00:36.000,0:00:38.960
my ancestors
0:00:39.520,0:00:45.760
um start off the look with the story of
0:00:42.640,0:00:48.800
lakotiappi the lakota language
0:00:45.760,0:00:52.160
the lakota dakota dialect area
0:00:48.800,0:00:55.600
for those of you who you don't know
0:00:52.160,0:00:56.840
the lakota dakota people are also known
0:00:55.600,0:00:59.760
as the sioux
0:00:56.840,0:01:03.120
and the tribes cover an
0:00:59.760,0:01:05.199
area of roughly 10 us states and parts
0:01:03.120,0:01:08.479
of canada and so this language is
0:01:05.199,0:01:10.880
spoken over a wide range of of
0:01:08.479,0:01:10.880
area
0:01:11.520,0:01:16.640
however the us government policy
0:01:14.400,0:01:18.640
directly tried to silence this language
0:01:16.640,0:01:20.960
my father was taken to a boarding school
0:01:18.640,0:01:23.280
and was punished for speaking
0:01:20.960,0:01:25.119
his native language and so he didn't
0:01:23.280,0:01:28.880
teach it to his children
0:01:25.119,0:01:29.600
several generations of lakota and dakota
0:01:28.880,0:01:31.600
people
0:01:29.600,0:01:32.640
and other tribes all over the country
0:01:31.600,0:01:34.560
lost
0:01:32.640,0:01:38.320
lost their first language their native
0:01:34.560,0:01:41.040
language so today only around 2000
0:01:38.320,0:01:43.119
first first language native speakers are
0:01:41.040,0:01:44.960
speaking lakota
0:01:43.119,0:01:47.600
however there's language recovery
0:01:44.960,0:01:49.759
projects that are empowering
0:01:47.600,0:01:51.720
second language learners like myself to
0:01:49.759,0:01:54.479
teach it to the new generation of
0:01:51.720,0:01:57.119
children um
0:01:54.479,0:01:58.000
which brings me to my story um i grew up
0:01:57.119,0:02:00.880
without knowing
0:01:58.000,0:02:01.520
my heritage um i didn't know who my
0:02:00.880,0:02:04.719
father was
0:02:01.520,0:02:07.119
both my parents were white um
0:02:04.719,0:02:08.720
i discovered my biological family in
0:02:07.119,0:02:12.160
around 2015
0:02:08.720,0:02:13.840
was kind of a shock to me up until that
0:02:12.160,0:02:15.520
point probably the only time i'd heard
0:02:13.840,0:02:18.720
the lakota language was in
0:02:15.520,0:02:20.720
the movie dances with wolves possibly
0:02:18.720,0:02:24.160
some other times
0:02:20.720,0:02:27.200
around nebraska i'd heard it um but
0:02:24.160,0:02:28.319
even myself growing up you know pretty
0:02:27.200,0:02:30.560
close to
0:02:28.319,0:02:32.239
to lakota people and other native
0:02:30.560,0:02:34.560
american people
0:02:32.239,0:02:36.640
american indian people i kind of thought
0:02:34.560,0:02:39.760
it was just dead i thought the language
0:02:36.640,0:02:42.000
was not alive anymore um
0:02:39.760,0:02:43.920
but in 2016 my daughter began her
0:02:42.000,0:02:46.720
journey into this world and i
0:02:43.920,0:02:48.239
i was doing a lot of searching to find
0:02:46.720,0:02:50.560
out like what could i do
0:02:48.239,0:02:51.920
you know not knowing my family not
0:02:50.560,0:02:54.080
knowing my culture
0:02:51.920,0:02:55.280
what could i do to try to bring that
0:02:54.080,0:02:58.640
into our life
0:02:55.280,0:03:00.720
um and so i found out about these
0:02:58.640,0:03:02.720
lakota classes that were happening i
0:03:00.720,0:03:04.560
went up to standing rock
0:03:02.720,0:03:06.640
in north dakota and attended the lakota
0:03:04.560,0:03:08.480
summer institute for three weeks
0:03:06.640,0:03:09.680
and began my journey to learn the
0:03:08.480,0:03:13.120
language so i can
0:03:09.680,0:03:16.400
try to pass it on so
0:03:13.120,0:03:16.400
this brings us to emacs
0:03:16.560,0:03:20.959
i could talk a lot more about my story
0:03:19.200,0:03:24.640
i'm sure there's a lot to say
0:03:20.959,0:03:26.319
but we're here to talk about emacs um
0:03:24.640,0:03:29.040
i was already a free software user at
0:03:26.319,0:03:31.440
the time and at the lakota language
0:03:29.040,0:03:33.280
uh institute they they were they're
0:03:31.440,0:03:34.879
giving us software there's a dictionary
0:03:33.280,0:03:37.360
you could get on android
0:03:34.879,0:03:38.560
um there was a keyboard for android that
0:03:37.360,0:03:41.760
you could type with
0:03:38.560,0:03:44.959
they had keyboard input methods for mac
0:03:41.760,0:03:46.720
and windows but i'm a linux user free
0:03:44.959,0:03:49.280
software user
0:03:46.720,0:03:49.760
so i didn't have access to those things
0:03:49.280,0:03:53.120
as
0:03:49.760,0:03:55.280
as easily as i could and i do a lot of
0:03:53.120,0:03:57.280
my thinking and note taking in emacs and
0:03:55.280,0:04:01.200
in org mode
0:03:57.280,0:04:04.640
and so being able to to write this
0:04:01.200,0:04:07.680
to to um to write things down to type
0:04:04.640,0:04:08.720
on my own computer uh was was pretty
0:04:07.680,0:04:11.360
important to me
0:04:08.720,0:04:12.799
and i wasn't much of an emax hacker yet
0:04:11.360,0:04:15.519
at the time i had
0:04:12.799,0:04:16.720
barely done anything mostly just you
0:04:15.519,0:04:20.479
know hacked on my
0:04:16.720,0:04:23.600
config file but this was a real
0:04:20.479,0:04:27.280
chance for me to experience
0:04:23.600,0:04:30.400
the the benefits of free software first
0:04:27.280,0:04:33.680
hand and not just to benefit myself but
0:04:30.400,0:04:33.680
to potentially benefit
0:04:34.080,0:04:38.800
everyone anyone interested in learning
0:04:36.080,0:04:38.800
this language
0:04:39.120,0:04:44.880
so emacs and
0:04:42.880,0:04:47.520
that free software philosophy really
0:04:44.880,0:04:49.840
empowered me so i began digging in
0:04:47.520,0:04:51.520
um i looked i began reading the the
0:04:49.840,0:04:53.680
manual more closely
0:04:51.520,0:04:55.440
as an american i'm i'm sad to say
0:04:53.680,0:04:58.479
there's not a lot of
0:04:55.440,0:05:00.160
other languages spoken or written where
0:04:58.479,0:05:02.240
i'm from
0:05:00.160,0:05:04.720
so it's not common that i that i have to
0:05:02.240,0:05:07.600
think about this with computers
0:05:04.720,0:05:09.120
i know international people you know
0:05:07.600,0:05:11.280
have had to come up with
0:05:09.120,0:05:12.160
with interesting ways to to enter their
0:05:11.280,0:05:14.800
text
0:05:12.160,0:05:16.320
and emacs is probably a pioneer in that
0:05:14.800,0:05:17.520
i i'd like to know more about the
0:05:16.320,0:05:19.840
history of this but
0:05:17.520,0:05:22.160
there's a whole section in the manual on
0:05:19.840,0:05:23.840
international emacs
0:05:22.160,0:05:25.440
and i began reading this and i was
0:05:23.840,0:05:28.000
talking about
0:05:25.440,0:05:29.759
different input methods and and how many
0:05:28.000,0:05:31.680
different languages were supported and
0:05:29.759,0:05:33.680
how you could enter the text and how it
0:05:31.680,0:05:34.560
supports the different characters and so
0:05:33.680,0:05:36.639
on
0:05:34.560,0:05:38.880
um i even noticed a few languages
0:05:36.639,0:05:41.840
support several input methods
0:05:38.880,0:05:43.440
that became important for me later on as
0:05:41.840,0:05:45.280
i was working on this
0:05:43.440,0:05:46.720
many many languages are already
0:05:45.280,0:05:48.479
supported so
0:05:46.720,0:05:50.080
those of you who haven't looked into
0:05:48.479,0:05:52.639
this yet if you press
0:05:50.080,0:05:53.680
control backslash it will open up a
0:05:52.639,0:05:57.039
selection menu
0:05:53.680,0:05:59.120
for you to to select um
0:05:57.039,0:06:01.440
your input method and you can there's
0:05:59.120,0:06:03.120
207 listed here
0:06:01.440,0:06:04.639
that's including the two that i've
0:06:03.120,0:06:09.199
contributed
0:06:04.639,0:06:11.120
um so 205 on on a vanilla emacs
0:06:09.199,0:06:13.840
so that's a lot of languages supported
0:06:11.120,0:06:17.440
by emac emacs but there's so many more
0:06:13.840,0:06:19.280
that could be um and since emacs is free
0:06:17.440,0:06:20.000
software and it is what it is i knew
0:06:19.280,0:06:22.639
that defining
0:06:20.000,0:06:23.039
a new input method was surely possible
0:06:22.639,0:06:25.440
um
0:06:23.039,0:06:27.120
unfortunately the the manual didn't
0:06:25.440,0:06:28.800
describe it directly or at least i
0:06:27.120,0:06:30.960
didn't pick it up so
0:06:28.800,0:06:32.319
um you know the new emax hacker that i
0:06:30.960,0:06:34.880
was i
0:06:32.319,0:06:37.360
i timidly dove down into the source code
0:06:34.880,0:06:40.479
and discovered the quail package
0:06:37.360,0:06:40.960
um so back in the day apparently there
0:06:40.479,0:06:44.240
was
0:06:40.960,0:06:44.240
mule which is like the
0:06:44.560,0:06:48.000
multi i don't i don't know it stood for
0:06:47.360,0:06:50.160
something about
0:06:48.000,0:06:51.759
language environments and and it has
0:06:50.160,0:06:54.960
evolved
0:06:51.759,0:06:58.000
and at some point um some japanese
0:06:54.960,0:06:59.039
uh coders created an input method called
0:06:58.000,0:07:03.599
tamago
0:06:59.039,0:07:06.720
which means egg in japanese and uh
0:07:03.599,0:07:08.800
tamago evolved into quail and they
0:07:06.720,0:07:10.720
in the comments you can see they talk
0:07:08.800,0:07:12.800
about how the quail egg is eaten in
0:07:10.720,0:07:15.280
japan it's a smaller thing and
0:07:12.800,0:07:16.960
the quail mode is like a nicer version
0:07:15.280,0:07:19.039
of tamago i guess and
0:07:16.960,0:07:22.639
there's a pun saying they hoped it would
0:07:19.039,0:07:26.240
egg people on to create more input modes
0:07:22.639,0:07:28.479
and quail is quite nice i looked into it
0:07:26.240,0:07:30.720
and there's basically two things you use
0:07:28.479,0:07:32.240
quail defined package and quail define
0:07:30.720,0:07:35.759
rules
0:07:32.240,0:07:35.759
so quail defined package
0:07:36.080,0:07:41.759
you can see here is a function it's
0:07:38.960,0:07:43.599
probably a macro that takes a name
0:07:41.759,0:07:44.879
a language a title and some optional
0:07:43.599,0:07:48.080
stuff which
0:07:44.879,0:07:48.080
i didn't really have to deal with
0:07:48.319,0:07:52.400
define name is a new quail package for
0:07:50.479,0:07:52.879
input language title is a string to be
0:07:52.400,0:07:54.400
split
0:07:52.879,0:07:56.800
at the mode line to indicate this
0:07:54.400,0:07:56.800
package
0:07:57.120,0:08:03.039
so i began trying to do lakota input now
0:08:00.879,0:08:04.240
this is a whole thing on its own because
0:08:03.039,0:08:07.680
the lakota language
0:08:04.240,0:08:10.800
was never written um
0:08:07.680,0:08:12.879
pre-contact and post contact
0:08:10.800,0:08:14.800
like there's several attempts at writing
0:08:12.879,0:08:16.960
it and different orthographies
0:08:14.800,0:08:19.199
and there's drama around all of this
0:08:16.960,0:08:19.199
stuff
0:08:19.360,0:08:24.160
it's pretty common to have drama going
0:08:21.120,0:08:26.560
on in any american indian stuff
0:08:24.160,0:08:28.479
going on so as i was doing this i
0:08:26.560,0:08:29.680
started with the suggested lakota
0:08:28.479,0:08:32.880
orthography which
0:08:29.680,0:08:35.680
is actually called by its authors the
0:08:32.880,0:08:36.959
the standard lakota orthography but its
0:08:35.680,0:08:40.880
authors are
0:08:36.959,0:08:43.039
um are european
0:08:40.880,0:08:45.040
um the main author is a man named jan
0:08:43.039,0:08:46.160
ulrich and i appreciate all his work and
0:08:45.040,0:08:49.360
i'm grateful for
0:08:46.160,0:08:51.040
the materials he's made available but um
0:08:49.360,0:08:54.160
it's a little bit problematic because
0:08:51.040,0:08:56.720
it's not an orthography created by
0:08:54.160,0:08:57.920
our people by lakota people so there's
0:08:56.720,0:09:00.080
another one called the white hat
0:08:57.920,0:09:01.839
orthography which is created by albert
0:09:00.080,0:09:04.480
whitehat who's a teacher
0:09:01.839,0:09:05.360
um from the chichanguk tribe so i
0:09:04.480,0:09:08.640
created two
0:09:05.360,0:09:10.720
and thankfully emax lets me do that so
0:09:08.640,0:09:11.680
it's pretty simple quail defined package
0:09:10.720,0:09:13.279
i just
0:09:11.680,0:09:15.360
say the package i want and then all
0:09:13.279,0:09:16.480
these nils and t's for options i don't
0:09:15.360,0:09:18.240
actually know what they mean but it
0:09:16.480,0:09:20.240
works
0:09:18.240,0:09:22.640
i could look it up and then quail define
0:09:20.240,0:09:23.600
rules just defines mappings from ascii
0:09:22.640,0:09:26.640
keys to
0:09:23.600,0:09:29.680
the the text you want to put in so
0:09:26.640,0:09:33.600
for this one there's a nasal n and then
0:09:29.680,0:09:36.640
a dot and a macron like a wedge shape
0:09:33.600,0:09:39.839
for marking up the consonants
0:09:36.640,0:09:41.760
so that one's pretty easy and then the
0:09:39.839,0:09:43.040
suggested lakota orthography is a little
0:09:41.760,0:09:45.600
bit more difficult
0:09:43.040,0:09:46.800
but still pretty easy i just map a
0:09:45.600,0:09:49.760
sequence of keys
0:09:46.800,0:09:51.760
a followed by the apostrophe makes the
0:09:49.760,0:09:53.519
accented vowels so all of those
0:09:51.760,0:09:55.839
and then again we have the hot checks
0:09:53.519,0:09:58.399
for the guttural sounds of the language
0:09:55.839,0:09:59.120
and the nasal end so that's it basically
0:09:58.399,0:10:02.480
these two
0:09:59.120,0:10:06.560
definitions allow me to type
0:10:02.480,0:10:09.279
lakota language in emacs um
0:10:06.560,0:10:09.920
and it's great it works great publishing
0:10:09.279,0:10:11.760
it
0:10:09.920,0:10:13.839
is another problematic thing i wanted to
0:10:11.760,0:10:16.079
use free software to do that
0:10:13.839,0:10:17.600
so the first thing i did was i i posted
0:10:16.079,0:10:19.440
on sourcehut
0:10:17.600,0:10:20.959
which is great it's a good alternative
0:10:19.440,0:10:22.880
for a git forge
0:10:20.959,0:10:24.000
and i got it published on melba so the
0:10:22.880,0:10:25.760
lakota input
0:10:24.000,0:10:27.760
package is available if you'd like to
0:10:25.760,0:10:29.839
try it out
0:10:27.760,0:10:31.680
and bandali one of our hosts for the
0:10:29.839,0:10:33.200
conference is helping me now
0:10:31.680,0:10:35.279
through the process of committing the
0:10:33.200,0:10:37.120
code to emacs
0:10:35.279,0:10:39.279
because i would like to do that i would
0:10:37.120,0:10:41.680
like it to be available to everyone
0:10:39.279,0:10:43.279
through emacs itself so that anyone who
0:10:41.680,0:10:43.920
wants to use it just has to download
0:10:43.279,0:10:46.240
emacs
0:10:43.920,0:10:47.120
and there you go you can type lakota
0:10:46.240,0:10:50.160
language
0:10:47.120,0:10:53.279
so uh pila maya thank you
0:10:50.160,0:10:55.920
all for listening and
0:10:53.279,0:10:58.320
i hope to see you around in our emacs
0:10:55.920,0:11:04.720
community
0:10:58.320,0:11:04.720
uh day