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