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