diff options
Diffstat (limited to '2020')
4 files changed, 7875 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.sbv b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.sbv new file mode 100644 index 00000000..0d4556a9 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.sbv @@ -0,0 +1,918 @@ +0:00:00.160,0:00:05.359 +okay awesome okay + +0:00:03.360,0:00:07.440 +so first question what does bard beaver + +0:00:05.359,0:00:09.679 +max mean good question + +0:00:07.440,0:00:10.800 +um in one version of my talk i spent too + +0:00:09.679,0:00:14.559 +long explaining it + +0:00:10.800,0:00:17.920 +and decided to cut it out um + +0:00:14.559,0:00:20.960 +it's basically a bad pun on uh + +0:00:17.920,0:00:22.480 +band camp so like a + +0:00:20.960,0:00:25.199 +beevock i don't even know if i'm + +0:00:22.480,0:00:29.199 +pronouncing that correctly it's like + +0:00:25.199,0:00:32.239 +a tent or a camp that you put up hastily + +0:00:29.199,0:00:35.440 +and a bard is a musician of course so + +0:00:32.239,0:00:36.480 +uh yeah i don't know i like puns i'm a + +0:00:35.440,0:00:38.399 +dad + +0:00:36.480,0:00:40.960 +and uh that's the best i could come up + +0:00:38.399,0:00:42.879 +with um + +0:00:40.960,0:00:45.039 +i'll probably find a different name for + +0:00:42.879,0:00:47.520 +it but i liked that bewak + +0:00:45.039,0:00:48.719 +if you stick an m in there it becomes + +0:00:47.520,0:00:52.160 +vivomax + +0:00:48.719,0:00:55.039 +and it's kind of like editor macros for + +0:00:52.160,0:00:55.039 +generating some + +0:00:56.239,0:00:59.840 +generating some html + +0:01:00.160,0:01:05.920 +okay yes it is confusing chatting on irc + +0:01:04.000,0:01:09.520 +at the same time + +0:01:05.920,0:01:10.880 +um great question grant yeah + +0:01:09.520,0:01:12.880 +um so right now you're sharing your + +0:01:10.880,0:01:14.479 +screen um are you planning on like + +0:01:12.880,0:01:16.880 +showing something with it or for example + +0:01:14.479,0:01:20.400 +should i maximize you i don't know + +0:01:16.880,0:01:22.880 +i can turn it off for now okay + +0:01:20.400,0:01:24.240 +you can turn on the webcam yeah okay + +0:01:22.880,0:01:28.159 +yeah i'll maximize your + +0:01:24.240,0:01:28.159 +webcam okay thanks um + +0:01:28.240,0:01:31.360 +i'll get to the answer for my color + +0:01:30.000,0:01:34.640 +theme here in a bit + +0:01:31.360,0:01:37.280 +in irc next question on + +0:01:34.640,0:01:38.479 +the ether pad does this metadata + +0:01:37.280,0:01:41.360 +workflow also support + +0:01:38.479,0:01:42.720 +unsynchronized lyrics within id3 tags + +0:01:41.360,0:01:45.920 +multi-line metadata + +0:01:42.720,0:01:47.920 +i don't know um actually + +0:01:45.920,0:01:49.280 +it's funny because i was trying out + +0:01:47.920,0:01:52.640 +different things with metadata + +0:01:49.280,0:01:55.360 +and really the biggest thing was to + +0:01:52.640,0:01:56.399 +figure out how to do mass tag editing + +0:01:55.360,0:01:58.479 +and that was like + +0:01:56.399,0:01:59.600 +not it wasn't very intuitive like i said + +0:01:58.479,0:02:01.840 +with emms + +0:01:59.600,0:02:03.040 +i think emms is really great but its + +0:02:01.840,0:02:06.479 +interface is huge + +0:02:03.040,0:02:07.040 +like if you do meta x and type emms you + +0:02:06.479,0:02:10.160 +get + +0:02:07.040,0:02:13.200 +i don't know 270 some candidates + +0:02:10.160,0:02:14.319 +there's a lot of functions going on i + +0:02:13.200,0:02:16.319 +basically found the + +0:02:14.319,0:02:18.879 +features that i needed to get this + +0:02:16.319,0:02:21.040 +workflow working + +0:02:18.879,0:02:22.160 +i would guess that you probably can do + +0:02:21.040,0:02:24.080 +it and if you don't + +0:02:22.160,0:02:26.720 +if you can't do it out of the box i + +0:02:24.080,0:02:28.160 +think you could script the mms to do + +0:02:26.720,0:02:29.840 +that + +0:02:28.160,0:02:31.840 +i'd like to know more and i'm certainly + +0:02:29.840,0:02:35.200 +going to be + +0:02:31.840,0:02:38.640 +investigating it i will try and post my + +0:02:35.200,0:02:38.640 +findings somewhere online + +0:02:39.519,0:02:43.920 +is it possible to import batch metadata + +0:02:42.080,0:02:49.360 +i'm not sure i would guess + +0:02:43.920,0:02:51.840 +yes is the answer emms can connect to + +0:02:49.360,0:02:53.040 +like metadata services i haven't done + +0:02:51.840,0:02:56.959 +that because i was just + +0:02:53.040,0:02:59.519 +using audio files that i created myself + +0:02:56.959,0:03:00.400 +i know that on the back end it calls out + +0:02:59.519,0:03:02.319 +to + +0:03:00.400,0:03:03.760 +shell programs for tagging things + +0:03:02.319,0:03:04.560 +there's a lot of different options that + +0:03:03.760,0:03:08.000 +can + +0:03:04.560,0:03:10.319 +shell out too i was using the + +0:03:08.000,0:03:12.239 +the vorbis tools to tag the particular + +0:03:10.319,0:03:15.120 +files i was working with + +0:03:12.239,0:03:15.840 +you can also use tiny tag and there's + +0:03:15.120,0:03:17.840 +some other + +0:03:15.840,0:03:19.120 +that might be the python library i can't + +0:03:17.840,0:03:21.120 +remember there's two other libraries + +0:03:19.120,0:03:24.080 +that i can shell out too for + +0:03:21.120,0:03:24.080 +doing metadata + +0:03:24.400,0:03:29.040 +my current workflow for tagging music is + +0:03:26.400,0:03:32.159 +to first apply replay gain in fubar 2000 + +0:03:29.040,0:03:34.560 +fix egregious mistakes use beats to + +0:03:32.159,0:03:36.640 +apply metadata from music brains + +0:03:34.560,0:03:38.400 +or discogs go over remaining albums with + +0:03:36.640,0:03:40.080 +fubar 2000 again + +0:03:38.400,0:03:43.280 +is there a chance textual tagging could + +0:03:40.080,0:03:45.120 +allow doing it all in one program + +0:03:43.280,0:03:47.280 +have i experimented with mask tag + +0:03:45.120,0:03:49.120 +updates queries i have not + +0:03:47.280,0:03:51.920 +again i was just doing this workflow + +0:03:49.120,0:03:54.159 +taking raw files with no tags and doing + +0:03:51.920,0:03:54.159 +that + +0:03:54.799,0:04:01.519 +i believe because it calls out to + +0:03:58.159,0:04:03.040 +the programs in the back end i'm sure + +0:04:01.519,0:04:06.159 +you could work that out + +0:04:03.040,0:04:08.239 +and i think emms would benefit from + +0:04:06.159,0:04:11.280 +having something like that because + +0:04:08.239,0:04:14.000 +we work with text and emacs being able + +0:04:11.280,0:04:16.799 +to to use emacs as a front end for those + +0:04:14.000,0:04:18.560 +updates would be really fantastic so + +0:04:16.799,0:04:20.400 +really it's just a matter of + +0:04:18.560,0:04:22.720 +writing the interface to the external + +0:04:20.400,0:04:24.560 +tool + +0:04:22.720,0:04:26.840 +is there a link to some info expanding + +0:04:24.560,0:04:28.479 +philosophy of how to compensate + +0:04:26.840,0:04:31.199 +musicians um + +0:04:28.479,0:04:32.720 +no i don't really have a lot of + +0:04:31.199,0:04:33.919 +philosophy around that i guess the first + +0:04:32.720,0:04:36.800 +thing i could say would be + +0:04:33.919,0:04:38.960 +something like a universal income i feel + +0:04:36.800,0:04:42.000 +like that would solve a lot of problems + +0:04:38.960,0:04:45.199 +if musicians could just be musicians and + +0:04:42.000,0:04:46.240 +not have to worry about their pay i will + +0:04:45.199,0:04:48.720 +think about it more + +0:04:46.240,0:04:50.160 +um this is kind of one of my first + +0:04:48.720,0:04:52.240 +forays into being getting + +0:04:50.160,0:04:53.360 +public with some of these ideas so i + +0:04:52.240,0:04:55.840 +will try to do more + +0:04:53.360,0:04:57.199 +and let the community know what emacs + +0:04:55.840,0:04:58.880 +theme am i using + +0:04:57.199,0:05:02.240 +can't remember it's one of the cowlin + +0:04:58.880,0:05:05.680 +themes k-a-o-l-i-n + +0:05:02.240,0:05:09.120 +i think it was aurora or + +0:05:05.680,0:05:12.880 +or bubble gum maybe but the + +0:05:09.120,0:05:16.000 +cowlin themes are nice i recommend them + +0:05:12.880,0:05:18.880 +not using doomy max do mode line though + +0:05:16.000,0:05:20.080 +it's very pretty svg support built into + +0:05:18.880,0:05:23.600 +emacs + +0:05:20.080,0:05:25.520 +i'm using emacs 27.1 and yes svg support + +0:05:23.600,0:05:28.800 +is built in + +0:05:25.520,0:05:30.639 +i may have had to compile it with some + +0:05:28.800,0:05:33.759 +cairo support + +0:05:30.639,0:05:33.759 +i don't remember for sure + +0:05:33.840,0:05:38.080 +but yes you can even take screenshots of + +0:05:36.720,0:05:41.199 +your emacs + +0:05:38.080,0:05:44.320 +from within emacs in svg + +0:05:41.199,0:05:46.160 +it's pretty great okay um + +0:05:44.320,0:05:48.000 +i don't know how much more time we have + +0:05:46.160,0:05:50.840 +left for questions + +0:05:48.000,0:05:52.639 +that's most of the things on the ether + +0:05:50.840,0:05:54.320 +pad + +0:05:52.639,0:05:56.479 +i think we have like 10 more minutes to + +0:05:54.320,0:05:59.120 +catch up with like the schedule + +0:05:56.479,0:06:01.919 +okay yes or if there are more questions + +0:05:59.120,0:06:04.639 +feel free to answer them + +0:06:01.919,0:06:05.440 +okay i'll start kind of looking through + +0:06:04.639,0:06:09.039 +irc + +0:06:05.440,0:06:09.039 +and keep an eye on the pad too + +0:06:09.680,0:06:13.440 +thank thank you all for um listening and + +0:06:12.479,0:06:15.680 +for + +0:06:13.440,0:06:17.919 +enjoying the talk i'm glad it turned out + +0:06:15.680,0:06:17.919 +well + +0:06:19.440,0:06:35.840 +awesome yeah it's been fun + +0:06:22.800,0:06:35.840 +so far + +0:06:36.000,0:06:41.120 +how did i manage okay um i can post a + +0:06:39.199,0:06:44.240 +snippet of that or actually i can share + +0:06:41.120,0:06:44.240 +my screen can't i + +0:06:46.319,0:06:51.840 +okay i actually have it up right here so + +0:06:49.599,0:06:53.440 +i think i got this from alpha papa to be + +0:06:51.840,0:06:56.960 +honest + +0:06:53.440,0:07:00.960 +um so i define screenshot + +0:06:56.960,0:07:03.680 +svg um + +0:07:00.960,0:07:04.960 +it's an interactive command oh yeah + +0:07:03.680,0:07:08.560 +there's alpha papa + +0:07:04.960,0:07:10.639 +okay there we go + +0:07:08.560,0:07:11.599 +i would like to change this so that i + +0:07:10.639,0:07:14.000 +can get it into + +0:07:11.599,0:07:14.639 +like the copy paste buffer so i don't + +0:07:14.000,0:07:17.039 +have to + +0:07:14.639,0:07:19.840 +copy the file in but uh i haven't really + +0:07:17.039,0:07:19.840 +hacked on it yet + +0:07:20.560,0:07:26.319 +okay um org header colors + +0:07:24.400,0:07:28.479 +okay so that might be a good question i + +0:07:26.319,0:07:28.479 +know + +0:07:29.120,0:07:31.840 +the presentation + +0:07:33.199,0:07:36.479 +uh sorry it's hard to think and type at + +0:07:35.520,0:07:39.759 +the same time + +0:07:36.479,0:07:39.759 +think and talk and type + +0:07:41.680,0:07:45.759 +okay so the presentation is just a + +0:07:45.120,0:07:48.240 +normal + +0:07:45.759,0:07:48.960 +um org file right so i have my headers + +0:07:48.240,0:07:50.639 +and my + +0:07:48.960,0:07:52.560 +and the author you can even stick your + +0:07:50.639,0:07:54.400 +email and other headers in there + +0:07:52.560,0:07:56.720 +but there's a package called org tree + +0:07:54.400,0:07:56.720 +slide + +0:07:57.599,0:08:03.919 +which i whoops why is it not + +0:08:01.440,0:08:05.440 +um i must have not required it good + +0:08:03.919,0:08:08.000 +question grant + +0:08:05.440,0:08:09.599 +yeah um can you try sharing your screen + +0:08:08.000,0:08:13.199 +maybe + +0:08:09.599,0:08:15.599 +oh is it not shared i'm sorry boards + +0:08:13.199,0:08:15.599 +thank you + +0:08:17.039,0:08:21.680 +there we go should be coming up + +0:08:22.000,0:08:29.120 +see yeah it's coming up yep we see it + +0:08:26.720,0:08:29.120 +awesome + +0:08:33.919,0:08:38.800 +all right okay i don't know why this + +0:08:37.599,0:08:41.839 +isn't working + +0:08:38.800,0:08:41.839 +it was working + +0:08:53.780,0:08:59.760 +[Applause] + +0:08:56.080,0:08:59.760 +okay you want to see the screenshot + +0:09:01.839,0:09:09.760 +whoops okay i just took a screenshot + +0:09:06.839,0:09:12.800 +um so org tree slide + +0:09:09.760,0:09:14.480 +i don't know why it's not launching i + +0:09:12.800,0:09:16.000 +thought that i had required it but i + +0:09:14.480,0:09:23.839 +must not have + +0:09:16.000,0:09:23.839 +maybe i'll try + +0:09:26.959,0:09:29.279 +okay + +0:09:30.959,0:09:34.560 +so there we go so org tree slide is a + +0:09:33.040,0:09:37.680 +way that basically uses + +0:09:34.560,0:09:38.880 +narrowing and some kind of font tricks + +0:09:37.680,0:09:41.680 +to + +0:09:38.880,0:09:42.640 +it changes your titles or your your + +0:09:41.680,0:09:44.560 +metadata into + +0:09:42.640,0:09:46.560 +kind of this banner for the title here + +0:09:44.560,0:09:47.920 +and it automatically sets the faces for + +0:09:46.560,0:09:51.360 +you i know you can + +0:09:47.920,0:09:55.279 +customize that of course and then as you + +0:09:51.360,0:09:59.200 +go through the org file you get these + +0:09:55.279,0:09:59.200 +kind of nice animations and + +0:09:59.600,0:10:04.160 +what's it called breadcrumbs up at the + +0:10:02.839,0:10:06.399 +top + +0:10:04.160,0:10:07.920 +so org tree slide i highly recommend it + +0:10:06.399,0:10:09.600 +it's really nice because you can give + +0:10:07.920,0:10:10.880 +your presentation + +0:10:09.600,0:10:12.560 +and practice it and while you're + +0:10:10.880,0:10:13.760 +practicing it you can edit things as + +0:10:12.560,0:10:16.160 +well because it's still just + +0:10:13.760,0:10:16.880 +an org document using narrowing you know + +0:10:16.160,0:10:20.079 +it doesn't + +0:10:16.880,0:10:23.920 +actually change anything um so + +0:10:20.079,0:10:23.920 +definitely recommend org tree slide mode + +0:10:24.079,0:10:29.200 +okay let's see what else + +0:10:29.760,0:10:32.880 +share my screen to demo oh that's the + +0:10:32.160,0:10:35.279 +svg + +0:10:32.880,0:10:35.279 +let's see + +0:10:39.519,0:10:43.839 +okay so i don't know if you can see this + +0:10:41.279,0:10:49.360 +now but i'm actually viewing the svg + +0:10:43.839,0:10:51.920 +screenshot that i took with emacs + +0:10:49.360,0:10:52.720 +see here's the source of it so emacs + +0:10:51.920,0:10:57.839 +made that + +0:10:52.720,0:10:57.839 +and here's the image and + +0:10:58.160,0:11:01.760 +it's cool because you can even do it + +0:10:59.600,0:11:05.360 +again and again and + +0:11:01.760,0:11:09.040 +open more screenshots of screenshots + +0:11:05.360,0:11:09.040 +yeah definitely emac exception + +0:11:11.200,0:11:18.079 +fun stuff + +0:11:14.880,0:11:20.160 +anything else in chat or + +0:11:18.079,0:11:24.000 +header colors oh yeah i talked about the + +0:11:20.160,0:11:24.000 +themes this is another cowlin theme + +0:11:24.800,0:11:29.839 +i think the one in the talk was + +0:11:30.560,0:11:36.560 +maybe this one aurora + +0:11:34.959,0:11:38.079 +oh here's there's something funny when + +0:11:36.560,0:11:38.880 +you start org tree slide with a + +0:11:38.079,0:11:42.160 +different theme + +0:11:38.880,0:11:44.000 +this top header bar gets the faces from + +0:11:42.160,0:11:47.600 +that previous theme and i have not + +0:11:44.000,0:11:47.600 +figured out how to fix that yet + +0:11:47.760,0:11:51.120 +did i have to compile to get the + +0:11:49.200,0:11:54.480 +screenshot i think maybe i did + +0:11:51.120,0:11:58.399 +yes if i'm remembering correctly + +0:11:54.480,0:12:01.360 +i got emacs 27 i'm not on a mac + +0:11:58.399,0:12:02.079 +i saw alpha papa's comment on reddit and + +0:12:01.360,0:12:06.800 +then + +0:12:02.079,0:12:06.800 +um i recompiled it with cairo support + +0:12:08.839,0:12:11.839 +yes + +0:12:18.000,0:12:25.839 +okay lots of good conversation on here + +0:12:21.920,0:12:28.079 +yep i have like one or two more minutes + +0:12:25.839,0:12:28.079 +okay + +0:12:31.680,0:12:35.519 +um i guess while i'm here i might as + +0:12:34.240,0:12:38.959 +well say thank you to + +0:12:35.519,0:12:40.320 +the organizers uh i really appreciate + +0:12:38.959,0:12:42.720 +everybody's work on this + +0:12:40.320,0:12:45.279 +it's fun to be a part of this community + +0:12:42.720,0:12:47.279 +i'm enjoying the other talks i've seen + +0:12:45.279,0:12:48.560 +so far today and i'm looking forward to + +0:12:47.279,0:12:50.480 +to the rest + +0:12:48.560,0:12:52.720 +um it's really interesting just from + +0:12:50.480,0:12:54.720 +being on emacs in irc + +0:12:52.720,0:12:56.959 +for a few months i've already connected + +0:12:54.720,0:13:00.720 +with a lot of interesting people + +0:12:56.959,0:13:03.120 +and have a lot of cool connections + +0:13:00.720,0:13:03.120 +already + +0:13:04.079,0:13:07.519 +thank you for being a part of the + +0:13:05.519,0:13:09.680 +community grant + +0:13:07.519,0:13:12.800 +that's good to be here i have another + +0:13:09.680,0:13:12.800 +talk tomorrow as well + +0:13:16.560,0:13:20.160 +oh thanks for everyone in the ether pad + +0:13:18.399,0:13:21.680 +2 for putting more comments on these + +0:13:20.160,0:13:24.639 +questions here + +0:13:21.680,0:13:24.639 +and taking the notes + +0:13:29.360,0:13:33.040 +ok so i think that's about all the time + +0:13:31.680,0:13:36.720 +that we have for the q + +0:13:33.040,0:13:38.480 +a okay um thank you again so much grant + +0:13:36.720,0:13:39.920 +for your awesome talk and for popping in + +0:13:38.480,0:13:42.000 +for questions + +0:13:39.920,0:13:46.800 +yeah thanks again for hosting see you + +0:13:42.000,0:13:46.800 +later cheers + diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.sbv b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.sbv new file mode 100644 index 00000000..f0f427a3 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.sbv @@ -0,0 +1,360 @@ +0:00:00.080,0:00:03.520 +for the list of questions in whatever + +0:00:01.680,0:00:06.160 +order you like + +0:00:03.520,0:00:08.000 +okay so i see what package is used um + +0:00:06.160,0:00:10.400 +probably cemex mode + +0:00:08.000,0:00:11.360 +um right so the main package that was + +0:00:10.400,0:00:14.480 +being demoed + +0:00:11.360,0:00:16.720 +um that is not yet on melpa in fact i + +0:00:14.480,0:00:19.359 +haven't even decided on a name for it + +0:00:16.720,0:00:22.080 +um i've alternately alternately called + +0:00:19.359,0:00:26.000 +it epistemic mode i've called it + +0:00:22.080,0:00:28.560 +um england i called it uh + +0:00:26.000,0:00:30.240 +all kinds of things but at the moment + +0:00:28.560,0:00:31.439 +you can find it on my github there's a + +0:00:30.240,0:00:32.960 +link + +0:00:31.439,0:00:35.600 +in the presentation itself if you go to + +0:00:32.960,0:00:38.879 +github slash account about + +0:00:35.600,0:00:39.840 +um the package there it's currently + +0:00:38.879,0:00:42.879 +named indra + +0:00:39.840,0:00:46.800 +i'm not sure um + +0:00:42.879,0:00:49.920 +packages actually yes the second one is + +0:00:46.800,0:00:53.280 +red that was the name that i selected um + +0:00:49.920,0:00:53.920 +last night um and that's because it + +0:00:53.280,0:00:55.760 +might that + +0:00:53.920,0:00:57.520 +there's a concept in tibetan buddhism + +0:00:55.760,0:00:58.480 +that seems like it might have something + +0:00:57.520,0:00:59.840 +to do with + +0:00:58.480,0:01:01.600 +the kinds of concepts we're talking + +0:00:59.840,0:01:04.000 +about with this package so i just + +0:01:01.600,0:01:05.760 +thought it would be a good name for it + +0:01:04.000,0:01:09.920 +so you can look up that concept + +0:01:05.760,0:01:13.119 +and get a sense of it on wikipedia + +0:01:09.920,0:01:15.759 +next question is how to deal with dwarak + +0:01:13.119,0:01:16.960 +dwarjak or however that's pronounced + +0:01:15.759,0:01:20.400 +this is always bug me + +0:01:16.960,0:01:22.400 +is there an x-mod map mode so the thing + +0:01:20.400,0:01:23.360 +with this is it's kind of surprising but + +0:01:22.400,0:01:26.000 +although vim + +0:01:23.360,0:01:27.200 +was originally developed um you know + +0:01:26.000,0:01:29.520 +with the idea of + +0:01:27.200,0:01:32.000 +the key bindings being on the home rule + +0:01:29.520,0:01:33.119 +it turns out that that is actually not a + +0:01:32.000,0:01:36.400 +major aspect + +0:01:33.119,0:01:38.560 +of the vim editing experience so + +0:01:36.400,0:01:40.720 +people who use the dvorak layout + +0:01:38.560,0:01:42.640 +actually end up using the same keys as + +0:01:40.720,0:01:44.720 +they do on the normal qwerty layout so + +0:01:42.640,0:01:48.159 +they don't remap anything + +0:01:44.720,0:01:51.040 +because the uh the the sort of + +0:01:48.159,0:01:52.240 +the power that vim or the the + +0:01:51.040,0:01:55.600 +flexibility the + +0:01:52.240,0:01:56.880 +spiral that bim enables on qwerty layout + +0:01:55.600,0:01:58.719 +keyboards is exactly + +0:01:56.880,0:01:59.920 +preserved even on a door jack keyboard + +0:01:58.719,0:02:01.920 +even though you your + +0:01:59.920,0:02:04.399 +fingers are not in the same positions + +0:02:01.920,0:02:09.119 +it's not a big deal actually + +0:02:04.399,0:02:10.879 +um and then i mostly use default model + +0:02:09.119,0:02:12.319 +provided by vanilla emacs and work and + +0:02:10.879,0:02:13.840 +org mode for text editing can you give + +0:02:12.319,0:02:15.920 +me some examples + +0:02:13.840,0:02:17.280 +of how the user can use the concept of + +0:02:15.920,0:02:20.840 +mode mode + +0:02:17.280,0:02:24.640 +to do some interesting + +0:02:20.840,0:02:25.120 +um so probably the main thing would be + +0:02:24.640,0:02:27.920 +the + +0:02:25.120,0:02:28.959 +the keystrokes would be less uh + +0:02:27.920,0:02:32.080 +contrived + +0:02:28.959,0:02:36.560 +so they the the fewer modes you have + +0:02:32.080,0:02:39.840 +the more modifiers you need + +0:02:36.560,0:02:41.280 +in order to um do whatever it is that + +0:02:39.840,0:02:44.800 +you're trying to do because you've got + +0:02:41.280,0:02:47.840 +essentially with a max model you've got + +0:02:44.800,0:02:47.840 +a completely flat + +0:02:48.080,0:02:52.160 +keyboard structure and so all of the + +0:02:50.959,0:02:55.680 +different things that you might + +0:02:52.160,0:02:58.720 +want to express are all mapped to a flat + +0:02:55.680,0:03:02.840 +keyboard uh set of keys + +0:02:58.720,0:03:06.400 +so with um with this kind of + +0:03:02.840,0:03:09.200 +modal structure the more modes you have + +0:03:06.400,0:03:10.400 +the more the individual keystrokes + +0:03:09.200,0:03:13.200 +become + +0:03:10.400,0:03:14.959 +shorter and shorter so that could be one + +0:03:13.200,0:03:17.519 +benefit that would be provided + +0:03:14.959,0:03:18.000 +with many modes your keystrokes would + +0:03:17.519,0:03:20.080 +generally + +0:03:18.000,0:03:22.080 +be a single keystroke long for even + +0:03:20.080,0:03:24.159 +relatively complex tasks + +0:03:22.080,0:03:25.440 +because you're setting the context + +0:03:24.159,0:03:27.200 +beforehand + +0:03:25.440,0:03:30.840 +so you already say oh i'm going to be + +0:03:27.200,0:03:33.440 +talking about this org buffer + +0:03:30.840,0:03:36.319 +agenda and then + +0:03:33.440,0:03:39.599 +um the all the keystrokes that you do at + +0:03:36.319,0:03:42.159 +that point would be in relation to that + +0:03:39.599,0:03:44.080 +um okay i think we have time for like + +0:03:42.159,0:03:46.879 +one more short question + +0:03:44.080,0:03:48.879 +one more short question okay let's see + +0:03:46.879,0:03:50.400 +how do new modes come into existence you + +0:03:48.879,0:03:53.040 +can make them yourself + +0:03:50.400,0:03:53.760 +um and you can specify them in emacs + +0:03:53.040,0:03:56.159 +lisp + +0:03:53.760,0:03:59.040 +if you like but there's also simple you + +0:03:56.159,0:04:02.720 +can also do it visually as we did + +0:03:59.040,0:04:04.799 +um but the yeah defining them + +0:04:02.720,0:04:07.519 +is essentially built on top of hydra but + +0:04:04.799,0:04:09.120 +it could also be built on top of evil or + +0:04:07.519,0:04:12.400 +any other modal interface provider + +0:04:09.120,0:04:12.400 +there's an abstraction layer + +0:04:12.840,0:04:17.919 +okay thank you so much for your talk and + +0:04:15.920,0:04:21.440 +for the live q a + +0:04:17.919,0:04:22.880 +sure thank you yes feel free to um take + +0:04:21.440,0:04:23.759 +up the rest of the questions either via + +0:04:22.880,0:04:25.680 +irc or + +0:04:23.759,0:04:26.960 +on the pad on on your own time off the + +0:04:25.680,0:04:28.639 +stream + +0:04:26.960,0:04:30.000 +perfect yeah i'll go ahead and put in + +0:04:28.639,0:04:32.240 +some answers there + +0:04:30.000,0:04:33.120 +awesome thank you all right thank you + +0:04:32.240,0:04:36.880 +have a good one + +0:04:33.120,0:04:36.880 +thanks you too + diff --git a/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.sbv b/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.sbv new file mode 100644 index 00000000..03aea6e2 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.sbv @@ -0,0 +1,1605 @@ +0:00:00.480,0:00:04.319 +uh well good evening again uh i think i + +0:00:02.879,0:00:07.359 +have a little time here + +0:00:04.319,0:00:09.120 +uh to talk about macros uh is there + +0:00:07.359,0:00:09.440 +still room in our in our schedule for + +0:00:09.120,0:00:11.440 +that + +0:00:09.440,0:00:12.559 +or should i just kind of jump to some of + +0:00:11.440,0:00:15.920 +my thoughts on the day + +0:00:12.559,0:00:17.039 +you are now unmuted um pretty sure we + +0:00:15.920,0:00:19.439 +have some time + +0:00:17.039,0:00:20.720 +all right great yeah go for it well i'll + +0:00:19.439,0:00:22.640 +just drive into my pre + +0:00:20.720,0:00:24.720 +prepared thing to hear that yeah + +0:00:22.640,0:00:28.400 +actually you're right on time so + +0:00:24.720,0:00:31.199 +oh what an amazing thing i i just uh + +0:00:28.400,0:00:33.040 +you know i have been trying to do what i + +0:00:31.199,0:00:36.239 +i've got a big thank you planet to get + +0:00:33.040,0:00:39.200 +at the end but let me just say i uh + +0:00:36.239,0:00:42.160 +it's it's been really cool to watch the + +0:00:39.200,0:00:46.000 +way that people work together + +0:00:42.160,0:00:46.800 +absolutely it's this whole event today + +0:00:46.000,0:00:50.879 +has been + +0:00:46.800,0:00:53.120 +nothing but awesome and uh no less like + +0:00:50.879,0:00:54.719 +no little part thanks to all of the help + +0:00:53.120,0:00:59.120 +from all of you guys + +0:00:54.719,0:01:02.399 +and um everyone oh yeah it's awesome + +0:00:59.120,0:01:03.520 +um yeah with that all just um shut up + +0:01:02.399,0:01:06.479 +for now and uh + +0:01:03.520,0:01:09.840 +take it away corwin you know how to make + +0:01:06.479,0:01:12.799 +make that the default and good old cemex + +0:01:09.840,0:01:14.880 +all right so i'm gonna try to continue + +0:01:12.799,0:01:16.960 +my theme from the previous talk i'm a + +0:01:14.880,0:01:20.240 +longtime emacs user but i'm + +0:01:16.960,0:01:22.880 +a pretty new person + +0:01:20.240,0:01:24.960 +to trying to really understand what's + +0:01:22.880,0:01:28.240 +going on within emacs and make + +0:01:24.960,0:01:30.960 +my customizations to it uh simple for + +0:01:28.240,0:01:33.280 +what i tend to just think of will work + +0:01:30.960,0:01:36.240 +and maybe that's that's that's a nice + +0:01:33.280,0:01:40.479 +bow to put on that earlier talk + +0:01:36.240,0:01:43.759 +so uh whoops + +0:01:40.479,0:01:47.759 +uh let's see here now it's ctrl x + +0:01:43.759,0:01:47.759 +alt i that's right + +0:01:48.159,0:01:52.000 +and let's try that again okay good + +0:01:52.960,0:01:58.000 +so demoing is fun uh but i + +0:01:56.000,0:01:59.759 +will save most of that for tomorrow + +0:01:58.000,0:02:03.040 +where my + +0:01:59.759,0:02:04.799 +dear friend and co-collaborator in + +0:02:03.040,0:02:07.119 +bringing you the dungeon mode project + +0:02:04.799,0:02:08.720 +which is uh sort of + +0:02:07.119,0:02:10.800 +the exciting thing that we we hope + +0:02:08.720,0:02:14.480 +you'll be interested in + +0:02:10.800,0:02:15.680 +um i think gets a little more of a + +0:02:14.480,0:02:19.360 +reveal + +0:02:15.680,0:02:22.640 +uh tonight i'll just uh close saying + +0:02:19.360,0:02:24.319 +um a few things about the process of + +0:02:22.640,0:02:25.680 +making it and continuing my theme of + +0:02:24.319,0:02:28.720 +community + +0:02:25.680,0:02:29.760 +uh first of all a specific and upfront + +0:02:28.720,0:02:33.120 +shout out + +0:02:29.760,0:02:36.239 +to tv's wasa masa who + +0:02:33.120,0:02:38.720 +um absolutely shaped and guided this + +0:02:36.239,0:02:40.080 +this program i i may have taken out a + +0:02:38.720,0:02:43.599 +slide with your name on it but + +0:02:40.080,0:02:46.720 +thank you um + +0:02:43.599,0:02:47.120 +so when we think about emacs macros and + +0:02:46.720,0:02:50.239 +the + +0:02:47.120,0:02:53.280 +power that they give us + +0:02:50.239,0:02:54.720 +i think about them the the + +0:02:53.280,0:02:56.400 +you know i think about them as a really + +0:02:54.720,0:03:00.239 +deep rabbit hole they confuse + +0:02:56.400,0:03:02.480 +people a lot and so to try to center + +0:03:00.239,0:03:03.599 +myself on that i remember first that + +0:03:02.480,0:03:05.840 +they're + +0:03:03.599,0:03:08.239 +they're going to be talking to us about + +0:03:05.840,0:03:08.239 +code + +0:03:09.599,0:03:13.519 +uh excuse me i realize i hadn't set my + +0:03:12.080,0:03:18.000 +timer + +0:03:13.519,0:03:21.680 +here we are + +0:03:18.000,0:03:22.239 +um so a simple macro syntax is going to + +0:03:21.680,0:03:25.920 +generate + +0:03:22.239,0:03:27.760 +something that is implicitly confusing + +0:03:25.920,0:03:28.720 +to somebody that knows the syntax of + +0:03:27.760,0:03:31.200 +emax lisp + +0:03:28.720,0:03:32.000 +well we see something like this and a + +0:03:31.200,0:03:36.239 +veteran i + +0:03:32.000,0:03:39.760 +says that x isn't quoted what's going on + +0:03:36.239,0:03:39.760 +but it can be hard to miss + +0:03:39.840,0:03:44.640 +um a lot of the functions as we'll talk + +0:03:43.040,0:03:46.640 +about in a moment that are built into + +0:03:44.640,0:03:48.959 +emacs + +0:03:46.640,0:03:50.480 +really are macros so a lot of emacs + +0:03:48.959,0:03:53.040 +features work this way + +0:03:50.480,0:03:54.640 +it might be scary but we have to look at + +0:03:53.040,0:03:57.760 +it closely if we really want to get + +0:03:54.640,0:03:57.760 +friendly with emacs + +0:03:58.400,0:04:03.920 +um let's just jump right into deaf macro + +0:04:01.439,0:04:04.720 +which is which is our key entry point + +0:04:03.920,0:04:08.560 +and the + +0:04:04.720,0:04:12.000 +notes from this talk include the link um + +0:04:08.560,0:04:14.640 +to that uh which which definitely + +0:04:12.000,0:04:16.000 +uh read through a couple of times and + +0:04:14.640,0:04:19.440 +that may take you through + +0:04:16.000,0:04:23.440 +into the cldf macro which adds + +0:04:19.440,0:04:26.840 +the common list lisp extensions + +0:04:23.440,0:04:30.560 +and uh definitely + +0:04:26.840,0:04:31.759 +uh challenging uh i've struggled there + +0:04:30.560,0:04:34.800 +as we'll take a look at in + +0:04:31.759,0:04:36.400 +in a moment um + +0:04:34.800,0:04:38.320 +so i haven't played too much with cl + +0:04:36.400,0:04:42.160 +maclet perhaps success in + +0:04:38.320,0:04:44.320 +in that uh keyword space and figuring + +0:04:42.160,0:04:46.000 +out what the right balance is there + +0:04:44.320,0:04:47.680 +what will give me the confidence to try + +0:04:46.000,0:04:51.600 +some more lexical + +0:04:47.680,0:04:51.600 +uh macros + +0:04:51.680,0:04:55.440 +let me also briefly introduce the comma + +0:04:53.919,0:04:58.479 +and back quote if you + +0:04:55.440,0:05:00.080 +have uh allowed your eyes to cross when + +0:04:58.479,0:05:03.600 +you see these and that's not + +0:05:00.080,0:05:06.080 +uh a shameful shameful thing it's + +0:05:03.600,0:05:08.160 +confusing and we should be + +0:05:06.080,0:05:09.520 +alerting each other when we when we + +0:05:08.160,0:05:11.199 +stick macros in + +0:05:09.520,0:05:12.960 +often by putting them in different + +0:05:11.199,0:05:14.160 +different library spaces for complicated + +0:05:12.960,0:05:17.520 +projects + +0:05:14.160,0:05:19.520 +or um otherwise sort of warning people + +0:05:17.520,0:05:21.919 +that this is not an interactive function + +0:05:19.520,0:05:22.639 +if you get away with using it like one + +0:05:21.919,0:05:25.840 +um + +0:05:22.639,0:05:25.840 +to watch your back + +0:05:26.000,0:05:32.800 +the uh + +0:05:29.440,0:05:35.840 +the manual itself talks about macros + +0:05:32.800,0:05:39.039 +as being a way of evaluating + +0:05:35.840,0:05:41.520 +you know as as being um + +0:05:39.039,0:05:42.800 +an evaluator that will take our amex + +0:05:41.520,0:05:44.800 +lisp expression + +0:05:42.800,0:05:47.590 +and the set of forms that kind of that + +0:05:44.800,0:05:48.960 +will feed to it our code + +0:05:47.590,0:05:51.120 +[Music] + +0:05:48.960,0:05:52.000 +but it also provides us with this + +0:05:51.120,0:05:55.039 +concept of an + +0:05:52.000,0:05:56.639 +environment and and and that's really + +0:05:55.039,0:05:58.240 +where the power + +0:05:56.639,0:06:00.080 +comes in through that we can have + +0:05:58.240,0:06:03.199 +lexical variables and + +0:06:00.080,0:06:06.400 +um think about uh bring in some of the + +0:06:03.199,0:06:09.759 +capabilities that + +0:06:06.400,0:06:13.840 +um can be harder to reach with + +0:06:09.759,0:06:14.800 +a a a pure declarative statement that + +0:06:13.840,0:06:18.000 +doesn't allow + +0:06:14.800,0:06:21.440 +for uh + +0:06:18.000,0:06:27.360 +top level + +0:06:21.440,0:06:27.360 +um asynchronous asynchronicity + +0:06:28.639,0:06:33.520 +uh i'm gonna basically + +0:06:31.950,0:06:35.759 +[Music] + +0:06:33.520,0:06:36.880 +ignore the bike compilation phase for + +0:06:35.759,0:06:38.639 +this talk + +0:06:36.880,0:06:39.919 +uh in order to have any prayer of + +0:06:38.639,0:06:43.600 +getting through it in the + +0:06:39.919,0:06:48.319 +remaining nine or 11 minutes or whatever + +0:06:43.600,0:06:50.160 +uh but + +0:06:48.319,0:06:52.240 +suffice it to say it that's a scary + +0:06:50.160,0:06:54.160 +space and that's that's that's really + +0:06:52.240,0:06:57.199 +the thing that you want to start + +0:06:54.160,0:07:02.160 +learning about as you think about taking + +0:06:57.199,0:07:05.919 +taking macros on uh in earnest + +0:07:02.160,0:07:07.440 +the um coming back to the comma syntax + +0:07:05.919,0:07:09.759 +then + +0:07:07.440,0:07:12.479 +having having given ourselves sort of a + +0:07:09.759,0:07:14.479 +working definition for the emacs lisp + +0:07:12.479,0:07:15.840 +runtime environment then we can say that + +0:07:14.479,0:07:20.880 +macros are going to + +0:07:15.840,0:07:20.880 +inject code back into that stream + +0:07:21.120,0:07:28.479 +whereas back quote is going to + +0:07:25.280,0:07:31.919 +uh going to give code back + +0:07:28.479,0:07:34.560 +to the to the stream or interject sorry + +0:07:31.919,0:07:35.360 +it's going to interject uh back into the + +0:07:34.560,0:07:39.840 +stream + +0:07:35.360,0:07:43.280 +uh sort of uh an exclamatory excuse me + +0:07:39.840,0:07:46.720 +i'd like to uh + +0:07:43.280,0:07:48.639 +have a value here and we can take that + +0:07:46.720,0:07:52.560 +value from the environment as it exists + +0:07:48.639,0:07:52.560 +when our macro is evaluated + +0:07:54.160,0:07:57.280 +back quote on the other hand takes the + +0:07:56.639,0:08:00.560 +result + +0:07:57.280,0:08:02.400 +from that and uh + +0:08:00.560,0:08:04.319 +and returns it back to the stream for + +0:08:02.400,0:08:05.680 +evaluation at the processing level that + +0:08:04.319,0:08:08.720 +invoked us + +0:08:05.680,0:08:10.960 +so in other words perhaps back up to + +0:08:08.720,0:08:14.080 +a top level eval expression where our + +0:08:10.960,0:08:14.080 +macro is invoked + +0:08:16.720,0:08:22.560 +uh wrong way so um + +0:08:20.080,0:08:23.759 +with what's i'm going to briefly bring + +0:08:22.560,0:08:27.120 +you back to the game + +0:08:23.759,0:08:30.240 +for just a moment + +0:08:27.120,0:08:32.479 +um i won't + +0:08:30.240,0:08:33.599 +i won't has i won't linger on this slide + +0:08:32.479,0:08:37.039 +but but + +0:08:33.599,0:08:40.080 +briefly uh this is a + +0:08:37.039,0:08:43.599 +roll paper role-playing pen + +0:08:40.080,0:08:46.320 +and pencil uh physical dice + +0:08:43.599,0:08:48.080 +tradition that dates back a long time + +0:08:46.320,0:08:51.279 +from a technology perspective + +0:08:48.080,0:08:54.640 +it's it's old in the same way that uh + +0:08:51.279,0:08:56.959 +other tools uh that i like are + +0:08:54.640,0:08:56.959 +old + +0:08:58.560,0:09:02.560 +uh it's simple to understand and i can + +0:09:00.560,0:09:04.160 +communicate a lot with it with a simple + +0:09:02.560,0:09:09.120 +amount of you know typing or + +0:09:04.160,0:09:12.399 +scribbling something on a piece of paper + +0:09:09.120,0:09:15.519 +it has a complicated problem space um + +0:09:12.399,0:09:18.560 +of its own again i don't want to + +0:09:15.519,0:09:21.680 +get too much into the game here but + +0:09:18.560,0:09:23.360 +uh in this in this talk for the last + +0:09:21.680,0:09:26.640 +five minutes i'll focus + +0:09:23.360,0:09:29.920 +on the process that we took to to + +0:09:26.640,0:09:31.120 +automate uh getting data out of the org + +0:09:29.920,0:09:32.720 +mode tables which + +0:09:31.120,0:09:36.000 +eventually as we'll talk about more + +0:09:32.720,0:09:39.279 +tomorrow are used to draw + +0:09:36.000,0:09:39.279 +game maps and other things + +0:09:39.440,0:09:45.279 +um here i talk about kind of why we did + +0:09:42.240,0:09:49.360 +that i'm going to skip briefly past that + +0:09:45.279,0:09:51.920 +and say instead that at a high level + +0:09:49.360,0:09:53.519 +it's it's symbolic informatics we're + +0:09:51.920,0:09:58.080 +giving a symbolic name + +0:09:53.519,0:10:00.320 +to a tile set and then + +0:09:58.080,0:10:00.320 +uh + +0:10:02.000,0:10:05.360 +and then assigning that tile set some + +0:10:04.000,0:10:06.000 +some characteristics like physical + +0:10:05.360,0:10:08.399 +speeds + +0:10:06.000,0:10:09.279 +screen space a variable that we might + +0:10:08.399,0:10:12.800 +want to swap in + +0:10:09.279,0:10:15.200 +and so forth uh and + +0:10:12.800,0:10:16.160 +you know our project rests heavily on on + +0:10:15.200,0:10:19.839 +org mode and + +0:10:16.160,0:10:19.839 +it's it's fundamental capabilities + +0:10:21.040,0:10:24.959 +so the the code i'm going to show here + +0:10:24.000,0:10:28.320 +is + +0:10:24.959,0:10:31.360 +uh is + +0:10:28.320,0:10:33.040 +is focused around sort of a a sticky + +0:10:31.360,0:10:35.600 +problem space in in the information + +0:10:33.040,0:10:39.120 +technology and i'm i'm a professional + +0:10:35.600,0:10:41.120 +uh uh software engineer turned uh + +0:10:39.120,0:10:45.120 +technology architect i support + +0:10:41.120,0:10:47.600 +the websites for a recognizable + +0:10:45.120,0:10:49.680 +financial services brand that i don't + +0:10:47.600,0:10:50.720 +identify just so i don't accidentally + +0:10:49.680,0:10:54.399 +end up + +0:10:50.720,0:10:55.600 +uh inadvertently misrepresenting my firm + +0:10:54.399,0:10:57.760 +in some financial + +0:10:55.600,0:11:00.480 +uh perspective if i let some other + +0:10:57.760,0:11:01.760 +companies slip at certain let some other + +0:11:00.480,0:11:05.839 +companies slip + +0:11:01.760,0:11:05.839 +name slip or my own it's certainly no + +0:11:06.560,0:11:10.560 +representation of an opinion other than + +0:11:08.160,0:11:10.560 +my own + +0:11:11.279,0:11:17.109 +the um + +0:11:13.980,0:11:17.109 +[Music] + +0:11:18.800,0:11:26.240 +so etl has to do with moving data around + +0:11:22.720,0:11:29.200 +we we have the idea of of + +0:11:26.240,0:11:30.560 +a pipeline where we'll be able to verify + +0:11:29.200,0:11:32.480 +certain assumptions not + +0:11:30.560,0:11:33.600 +nominally about data quality but it + +0:11:32.480,0:11:36.000 +could be about anything + +0:11:33.600,0:11:37.279 +before the pipeline starts okay we've + +0:11:36.000,0:11:38.560 +got a state where we think it should + +0:11:37.279,0:11:41.920 +work if we run it + +0:11:38.560,0:11:44.160 +we have uh some extraction where we'll + +0:11:41.920,0:11:45.040 +get our sources and we may have the the + +0:11:44.160,0:11:47.920 +opportunity to + +0:11:45.040,0:11:48.720 +uh make some assertions there and in the + +0:11:47.920,0:11:51.360 +transform + +0:11:48.720,0:11:52.720 +stage as well as the load things get a + +0:11:51.360,0:11:54.079 +little dicer + +0:11:52.720,0:11:55.360 +to the point where we come out of the + +0:11:54.079,0:11:57.040 +load stage and we should have some + +0:11:55.360,0:11:58.480 +really solid assertions again that we + +0:11:57.040,0:11:59.680 +can even go back and compare to the + +0:11:58.480,0:12:02.639 +extract stage + +0:11:59.680,0:12:04.959 +and from this we have the rudimentaries + +0:12:02.639,0:12:08.399 +of a data quality practice + +0:12:04.959,0:12:09.360 +uh in this case we have a number of org + +0:12:08.399,0:12:12.639 +mode files that will all + +0:12:09.360,0:12:16.720 +be distributed across a + +0:12:12.639,0:12:18.959 +number of players uh computers + +0:12:16.720,0:12:20.320 +so we might not want to update every + +0:12:18.959,0:12:22.720 +part of every buffer + +0:12:20.320,0:12:24.560 +i think it's a complicated problem space + +0:12:22.720,0:12:27.839 +and so we tried to take + +0:12:24.560,0:12:31.120 +a long-term view of + +0:12:27.839,0:12:32.160 +the solution that we needed um so i'll + +0:12:31.120,0:12:35.760 +go ahead + +0:12:32.160,0:12:37.839 +and open up the fun function + +0:12:35.760,0:12:41.680 +that well let's let's actually start + +0:12:37.839,0:12:45.040 +with the one that's pretty easy to read + +0:12:41.680,0:12:46.800 +and uh i'm gonna go ahead and just crank + +0:12:45.040,0:12:51.600 +it up huge + +0:12:46.800,0:12:51.600 +in case anybody's watching in 480. + +0:12:51.680,0:12:58.560 +um so this this program is not + +0:12:56.480,0:13:01.120 +a work of art it's a simple + +0:12:58.560,0:13:05.440 +implementation of the idea that a list + +0:13:01.120,0:13:08.160 +an a list of functions that return + +0:13:05.440,0:13:10.399 +maybe some data maybe some data and an + +0:13:08.160,0:13:13.040 +entry back into that a list + +0:13:10.399,0:13:15.680 +um can be done quite extensively with + +0:13:13.040,0:13:17.760 +very few lines of code + +0:13:15.680,0:13:19.600 +neither is it an especially tight or + +0:13:17.760,0:13:22.000 +thrifty implementation + +0:13:19.600,0:13:22.800 +it's just trying to get the job done + +0:13:22.000,0:13:26.160 +with a doc + +0:13:22.800,0:13:30.880 +statement for everything at the heart + +0:13:26.160,0:13:32.480 +um we see a call to this macro called dm + +0:13:30.880,0:13:35.360 +coalesce hash and that's what i'd like + +0:13:32.480,0:13:37.680 +to focus in on you can see i think + +0:13:35.360,0:13:38.800 +that something on unpleasant is + +0:13:37.680,0:13:42.480 +happening here + +0:13:38.800,0:13:46.560 +i've got an eval in um + +0:13:42.480,0:13:49.519 +what is i will share a a + +0:13:46.560,0:13:49.920 +fairly central function that that that + +0:13:49.519,0:13:52.160 +that + +0:13:49.920,0:13:53.920 +those implementing this etl pattern are + +0:13:52.160,0:13:56.639 +welcome to + +0:13:53.920,0:13:57.680 +derive from that is this is a default + +0:13:56.639,0:13:59.680 +transform + +0:13:57.680,0:14:00.959 +that you can get when loading certain + +0:13:59.680,0:14:04.560 +kinds of + +0:14:00.959,0:14:06.399 +uh orgmo tables that have been uh + +0:14:04.560,0:14:09.120 +properly adorned and again we'll get + +0:14:06.399,0:14:11.440 +into that all tomorrow + +0:14:09.120,0:14:13.760 +so keep an eye on time couple minutes + +0:14:11.440,0:14:15.360 +left let's look at the macro itself and + +0:14:13.760,0:14:19.040 +i have a slide on this but let's go + +0:14:15.360,0:14:19.040 +ahead and risk getting off page + +0:14:24.639,0:14:28.959 +oh boy here we go so this is my + +0:14:27.199,0:14:31.920 +utilities bucket + +0:14:28.959,0:14:34.000 +it has such basic features as give me a + +0:14:31.920,0:14:36.000 +hash table with some defaults i'll think + +0:14:34.000,0:14:38.320 +about that later + +0:14:36.000,0:14:38.320 +and + +0:14:39.680,0:14:47.600 +and add to list um a special version + +0:14:44.720,0:14:49.360 +that enables us to be a little cavalier + +0:14:47.600,0:14:50.480 +in experimenting with a-list versus + +0:14:49.360,0:14:52.800 +hashes versus p + +0:14:50.480,0:14:54.399 +lists we've made a right mess for + +0:14:52.800,0:14:55.279 +ourselves in the proof of concept area + +0:14:54.399,0:14:58.560 +and it's ripe + +0:14:55.279,0:15:00.240 +for someone to write a white paper about + +0:14:58.560,0:15:03.360 +when to prefer these things + +0:15:00.240,0:15:03.360 +and fix + +0:15:04.800,0:15:10.720 +the merge a list uh + +0:15:08.000,0:15:12.959 +same work here let's get let's get down + +0:15:10.720,0:15:16.000 +to business + +0:15:12.959,0:15:18.560 +this function has quite a this a macro + +0:15:16.000,0:15:20.720 +has quite a doc string and i think i + +0:15:18.560,0:15:22.240 +mentioned earlier that i got myself into + +0:15:20.720,0:15:23.519 +trouble with the keyword properties you + +0:15:22.240,0:15:27.839 +can see that we have + +0:15:23.519,0:15:32.240 +not only quite a number of them but + +0:15:27.839,0:15:32.880 +a lot of a lot of default values many of + +0:15:32.240,0:15:36.000 +which + +0:15:32.880,0:15:37.680 +may be relying on the + +0:15:36.000,0:15:40.000 +values that are passed in here this is + +0:15:37.680,0:15:44.000 +complicated and as it turns out + +0:15:40.000,0:15:46.079 +um i wasn't brave enough in most cases + +0:15:44.000,0:15:47.279 +to try to write a lambda that could + +0:15:46.079,0:15:49.680 +understand and + +0:15:47.279,0:15:50.399 +replace uh its own local variable i just + +0:15:49.680,0:15:53.519 +didn't + +0:15:50.399,0:15:54.800 +it didn't save me enough time this was + +0:15:53.519,0:15:56.800 +really easy + +0:15:54.800,0:15:58.240 +to read and write and understand as i + +0:15:56.800,0:16:01.440 +thought through my problem + +0:15:58.240,0:16:03.360 +but now as i use it i i've lost a little + +0:16:01.440,0:16:04.079 +ground maybe with this and i'm not even + +0:16:03.360,0:16:07.279 +sure + +0:16:04.079,0:16:08.079 +i like what i got from uh the many + +0:16:07.279,0:16:10.560 +keyword + +0:16:08.079,0:16:11.920 +properties when it and we can look + +0:16:10.560,0:16:17.120 +perhaps if we have + +0:16:11.920,0:16:17.120 +the time at what that looks like in uh + +0:16:17.340,0:16:22.720 +[Music] + +0:16:19.920,0:16:24.480 +oh all right i have to separately + +0:16:22.720,0:16:27.519 +dismiss and restart that + +0:16:24.480,0:16:29.600 +um so that so that's just about my time + +0:16:27.519,0:16:31.920 +uh and being respectful of that i want + +0:16:29.600,0:16:35.519 +to invite presenters to just jump in at + +0:16:31.920,0:16:38.079 +any of the many large pauses i leave + +0:16:35.519,0:16:40.160 +uh as i'll just leave up the doc string + +0:16:38.079,0:16:43.279 +for a moment and maybe split the screen + +0:16:40.160,0:16:43.279 +and pull open an item + +0:16:45.199,0:16:50.720 +you are now unmuted uh thank you very + +0:16:48.720,0:16:53.839 +much for your talk corwin + +0:16:50.720,0:16:55.279 +um i think you still have like uh + +0:16:53.839,0:16:57.680 +maybe three or four more minutes if you + +0:16:55.279,0:17:01.040 +want to quickly wrap up + +0:16:57.680,0:17:02.160 +okay so three or four more minutes i can + +0:17:01.040,0:17:05.439 +easily spend + +0:17:02.160,0:17:07.280 +on thank yous + +0:17:05.439,0:17:08.270 +i might switch to that if there aren't + +0:17:07.280,0:17:10.160 +questions on the path + +0:17:08.270,0:17:12.559 +[Music] + +0:17:10.160,0:17:14.079 +um would you like me to pull up the pad + +0:17:12.559,0:17:17.199 +or are you looking at it + +0:17:14.079,0:17:21.839 +i am i bookmarked it i am + +0:17:17.199,0:17:21.839 +pulling the tab and i'll bring it in + +0:17:30.840,0:17:33.840 +okay + +0:17:34.960,0:17:41.520 +all right this is the wrong ether pad + +0:17:38.799,0:17:41.520 +thanks for the link + +0:17:44.480,0:17:50.640 +all right um so i think i'm looking for + +0:17:48.000,0:17:50.640 +macros + +0:17:54.880,0:18:01.679 +uh okay key message sure so the + +0:17:58.400,0:18:02.960 +the key message is that it's um it's a + +0:18:01.679,0:18:06.240 +jungle out there + +0:18:02.960,0:18:08.559 +macros along with any other design can + +0:18:06.240,0:18:11.919 +leave you in a position + +0:18:08.559,0:18:13.600 +where you have a nice api and i can show + +0:18:11.919,0:18:14.960 +you other examples you can find them in + +0:18:13.600,0:18:18.480 +the dungeon mode source + +0:18:14.960,0:18:21.600 +of many many other places where i use + +0:18:18.480,0:18:23.840 +this exact same formula quickly + +0:18:21.600,0:18:26.960 +sketching out how a character sheet + +0:18:23.840,0:18:28.480 +or another big data set needs to + +0:18:26.960,0:18:29.600 +needs to figure out what tables are + +0:18:28.480,0:18:30.720 +going to be interesting from the + +0:18:29.600,0:18:34.400 +collection of files + +0:18:30.720,0:18:38.880 +and then load up the tile set and + +0:18:34.400,0:18:41.600 +the uh layout file from that + +0:18:38.880,0:18:43.280 +and i mean it works this the project is + +0:18:41.600,0:18:44.799 +moving forward with this i have the + +0:18:43.280,0:18:46.720 +flexibility that i need + +0:18:44.799,0:18:48.640 +but here i am evaling my own code to + +0:18:46.720,0:18:52.400 +make darn sure even if i get by + +0:18:48.640,0:18:55.440 +by compiled uh this macro doesn't uh + +0:18:52.400,0:18:58.160 +does get evaluated in the user's real + +0:18:55.440,0:18:58.880 +run time clearly a design fail so that + +0:18:58.160,0:19:00.880 +would be + +0:18:58.880,0:19:02.400 +the key point of my talk is is to + +0:19:00.880,0:19:05.600 +present this design + +0:19:02.400,0:19:08.320 +fail and uh thank + +0:19:05.600,0:19:09.520 +um thank the community but especially + +0:19:08.320,0:19:12.160 +wasa masa + +0:19:09.520,0:19:13.280 +for for some patience and let me add at + +0:19:12.160,0:19:15.200 +this moment that + +0:19:13.280,0:19:16.799 +uh he was so frustrated with me they + +0:19:15.200,0:19:17.360 +were sort of frustrated with me i think + +0:19:16.799,0:19:20.400 +i + +0:19:17.360,0:19:24.240 +didn't qualify pronouns um + +0:19:20.400,0:19:26.640 +with um + +0:19:24.240,0:19:28.160 +with doing this the the first the this + +0:19:26.640,0:19:29.919 +was one of our first interactions and + +0:19:28.160,0:19:34.240 +the feedback was + +0:19:29.919,0:19:36.640 +why is this a macro full stop + +0:19:34.240,0:19:38.320 +and uh that's a great message actually + +0:19:36.640,0:19:40.160 +and i and i hope that + +0:19:38.320,0:19:42.720 +uh maybe this can encourage further + +0:19:40.160,0:19:44.160 +talks across the subject about + +0:19:42.720,0:19:46.720 +you know hey wait a minute macros are + +0:19:44.160,0:19:48.559 +really fantastic as i hope i made + +0:19:46.720,0:19:51.039 +clear you can do a tremendous amount + +0:19:48.559,0:19:52.320 +about uh with them and we rely on them + +0:19:51.039,0:19:55.200 +for + +0:19:52.320,0:19:56.480 +almost all the fun goodies um from you + +0:19:55.200,0:19:58.880 +know defund + +0:19:56.480,0:19:58.880 +secu + +0:20:02.159,0:20:05.440 +um i want to get to my my thank yous let + +0:20:04.960,0:20:08.559 +me just + +0:20:05.440,0:20:08.559 +peek back at the pad + +0:20:18.840,0:20:22.080 +oh + +0:20:20.000,0:20:23.760 +well that was actually a scratch buffer + +0:20:22.080,0:20:24.720 +so i'll have to sort of read it cold off + +0:20:23.760,0:20:27.039 +my notes + +0:20:24.720,0:20:27.039 +um + +0:20:27.919,0:20:31.600 +but also but i'll switch to i'll also + +0:20:30.320,0:20:34.320 +i'll say a couple of thank yous if you + +0:20:31.600,0:20:36.080 +don't mind + +0:20:34.320,0:20:38.400 +in addition to the big thank you that i + +0:20:36.080,0:20:39.360 +hope was implied by my shout out to wasa + +0:20:38.400,0:20:42.720 +masa + +0:20:39.360,0:20:46.640 +um i also want to thank you amen for + +0:20:42.720,0:20:51.360 +um your kindness in extending + +0:20:46.640,0:20:54.320 +to the project as well as to me the + +0:20:51.360,0:20:55.440 +the chance to present here and and and + +0:20:54.320,0:20:56.799 +you've you've also + +0:20:55.440,0:20:59.360 +just done a lot of great stuff for our + +0:20:56.799,0:21:02.080 +project thank you very much for that and + +0:20:59.360,0:21:02.080 +sasha + +0:21:13.120,0:21:17.200 +i'll get there um thank you so much for + +0:21:15.919,0:21:18.320 +the inspiration that you are to our + +0:21:17.200,0:21:22.400 +whole community + +0:21:18.320,0:21:25.600 +i also want to thank the presenters + +0:21:22.400,0:21:27.600 +um for just being so flexible and + +0:21:25.600,0:21:29.120 +uh nagging back through the whole thing + +0:21:27.600,0:21:30.960 +and especially to leo + +0:21:29.120,0:21:32.159 +who has done so much to drive the show + +0:21:30.960,0:21:35.520 +today + +0:21:32.159,0:21:37.840 +um i + +0:21:35.520,0:21:38.960 +this is a fractious tent at times and + +0:21:37.840,0:21:41.360 +sometimes + +0:21:38.960,0:21:43.039 +it is indeed a little bit of a circus + +0:21:41.360,0:21:45.520 +but i + +0:21:43.039,0:21:46.880 +am learning so much so fast i'm just + +0:21:45.520,0:21:50.320 +inspired by how much + +0:21:46.880,0:21:53.120 +emacs can teach us thank you + +0:21:50.320,0:21:54.960 +uh corbin for your kind words and you + +0:21:53.120,0:21:56.000 +know about me of course but all about + +0:21:54.960,0:21:59.760 +you know all of us + +0:21:56.000,0:22:02.400 +and the conference and you know indeed + +0:21:59.760,0:22:04.159 +thanks to everyone who's helped uh + +0:22:02.400,0:22:05.840 +including the speakers of course + +0:22:04.159,0:22:08.960 +without whom you know a maxcom really + +0:22:05.840,0:22:10.640 +wouldn't have been a maxcon + +0:22:08.960,0:22:12.080 +and you know it's been a pleasure + +0:22:10.640,0:22:15.520 +knowing you and working with + +0:22:12.080,0:22:17.360 +you um i guess um from afar for the most + +0:22:15.520,0:22:18.960 +part on dungeon mode like helping + +0:22:17.360,0:22:20.720 +helping with like small things here and + +0:22:18.960,0:22:22.320 +there but um + +0:22:20.720,0:22:23.840 +yeah it's been my pleasure and it's + +0:22:22.320,0:22:25.840 +great to have you and + +0:22:23.840,0:22:26.880 +um everyone else you know part of the + +0:22:25.840,0:22:29.440 +community and + +0:22:26.880,0:22:30.559 +for me to be part of the community it's + +0:22:29.440,0:22:33.039 +been a lot of fun + +0:22:30.559,0:22:33.039 +thank you + +0:22:33.679,0:22:38.000 +it's it's it's it's an honor and i don't + +0:22:36.080,0:22:38.720 +use that word an awful lot because i + +0:22:38.000,0:22:41.760 +sort of + +0:22:38.720,0:22:44.320 +sort of smirk at it but um gets us in a + +0:22:41.760,0:22:47.360 +lot of trouble honor does but + +0:22:44.320,0:22:48.840 +this will be a sure time to use it thank + +0:22:47.360,0:22:51.840 +you + +0:22:48.840,0:22:51.840 +likewise + diff --git a/2020/subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv b/2020/subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv new file mode 100644 index 00000000..7fbe6f98 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv @@ -0,0 +1,4992 @@ +0:00:08.559,0:00:10.880 +okay + +0:00:12.960,0:00:18.000 +so i'm gonna start with my just my demo + +0:00:14.960,0:00:31.840 +emacs here eric we're ready + +0:00:18.000,0:00:35.440 +oh we are live + +0:00:31.840,0:00:39.200 +okay so you're starting then + +0:00:35.440,0:00:41.760 +i guess i'll start right now here we go + +0:00:39.200,0:00:43.440 +so i'm a windows user as we talked about + +0:00:41.760,0:00:46.719 +yesterday + +0:00:43.440,0:00:47.440 +i'm gonna try to uh start emacs for you + +0:00:46.719,0:00:48.960 +now + +0:00:47.440,0:00:52.879 +and i've kind of got it pinned to this + +0:00:48.960,0:00:55.760 +thing but mostly what i actually do + +0:00:52.879,0:01:00.160 +is grab a file explorer and head to my + +0:00:55.760,0:01:00.160 +desktop where i have all sorts of emacs + +0:01:00.559,0:01:04.160 +eric can you make sure that your vlc is + +0:01:05.960,0:01:08.960 +muted + +0:01:10.840,0:01:13.840 +okay + +0:01:21.840,0:01:27.840 +give me a second please + +0:01:39.360,0:01:44.000 +i do okay all right we should be we + +0:01:42.079,0:01:44.560 +should be working again now my apologies + +0:01:44.000,0:01:46.560 +for that + +0:01:44.560,0:01:47.759 +all right handling technical problems in + +0:01:46.560,0:01:50.079 +real time is + +0:01:47.759,0:01:52.079 +uh what emacs is all about as we're + +0:01:50.079,0:01:53.360 +coding we're constantly making errors + +0:01:52.079,0:01:54.560 +and fixing them and + +0:01:53.360,0:01:56.159 +learning from the kinds of errors that + +0:01:54.560,0:01:57.759 +we make and adjusting the editor to be + +0:01:56.159,0:02:00.719 +easier to use + +0:01:57.759,0:02:02.640 +so today we'll try to build on uh some + +0:02:00.719,0:02:05.600 +of the ideas we introduced yesterday + +0:02:02.640,0:02:07.280 +around how a community can help us learn + +0:02:05.600,0:02:10.479 +emacs faster + +0:02:07.280,0:02:13.040 +and how we can think broadly + +0:02:10.479,0:02:14.160 +about the people in our team when we + +0:02:13.040,0:02:16.080 +decide how + +0:02:14.160,0:02:18.000 +what kind of emacs configuration we're + +0:02:16.080,0:02:19.680 +going to have going for our project + +0:02:18.000,0:02:22.239 +so i'm just going to fire up my normal + +0:02:19.680,0:02:25.440 +emacs config now so that we get + +0:02:22.239,0:02:29.120 +uh hopefully a nice pretty demo or uh + +0:02:25.440,0:02:30.959 +at least some slides and for safety + +0:02:29.120,0:02:33.360 +we're going to avoid the server because + +0:02:30.959,0:02:35.280 +i hate it when it crashes + +0:02:33.360,0:02:37.840 +it's a little less stable under windows + +0:02:35.280,0:02:37.840 +i think + +0:02:41.120,0:02:44.800 +and well uh while this starts up i'll + +0:02:43.360,0:02:47.200 +just briefly introduce + +0:02:44.800,0:02:49.519 +my lifelong friend and eric uh elm + +0:02:47.200,0:02:51.120 +salzer who's hanging in the wings and + +0:02:49.519,0:02:53.840 +waiting impatiently for us to be able to + +0:02:51.120,0:02:53.840 +start our slides + +0:02:54.400,0:02:57.280 +hello everybody + +0:02:58.560,0:03:02.000 +so you've heard plenty from me already + +0:03:00.720,0:03:05.760 +this conference + +0:03:02.000,0:03:09.120 +um i suppose + +0:03:05.760,0:03:10.720 +uh so i'm just gonna uh + +0:03:09.120,0:03:12.400 +so eric and i have worked things out so + +0:03:10.720,0:03:14.159 +that he'll do most of the talking today + +0:03:12.400,0:03:14.879 +i'll drive us through some code parts + +0:03:14.159,0:03:16.239 +but + +0:03:14.879,0:03:18.000 +the hope is that we'll just focus a + +0:03:16.239,0:03:20.000 +little more on the game and if you have + +0:03:18.000,0:03:21.840 +questions about the game at all please + +0:03:20.000,0:03:24.879 +don't hesitate to ask those as well as + +0:03:21.840,0:03:24.879 +your emacs questions + +0:03:28.480,0:03:33.840 +and i think we're starting out welcome + +0:03:34.959,0:03:40.400 +and let's cut away here so we can show + +0:03:37.680,0:03:40.400 +some faces + +0:03:41.200,0:03:47.840 +i lost you eric why would you do that + +0:03:45.040,0:03:47.840 +there he is + +0:03:48.319,0:03:53.280 +and let's just do one more thing because + +0:03:50.239,0:03:55.439 +that's just kind of offensive + +0:03:53.280,0:03:59.360 +i'm gonna kill off that cute wallpaper + +0:03:55.439,0:04:02.640 +we all were playing with yesterday + +0:03:59.360,0:04:04.480 +although that's not so bad anymore + +0:04:02.640,0:04:07.360 +oh that's terrible it's got to come back + +0:04:04.480,0:04:07.360 +i'm sorry everybody + +0:04:11.120,0:04:15.840 +oh my dear all right + +0:04:16.720,0:04:22.400 +and we just opened emacs so i have to + +0:04:19.040,0:04:22.400 +open my slideshow + +0:04:25.040,0:04:30.320 +and there we are + +0:04:28.479,0:04:32.560 +okay eric i think i'm about as ready as + +0:04:30.320,0:04:35.520 +i get + +0:04:32.560,0:04:37.840 +cool well uh let's begin here welcome to + +0:04:35.520,0:04:40.560 +the dungeon everybody + +0:04:37.840,0:04:40.560 +i'm eric and this + +0:04:41.199,0:04:45.120 +london is that we've been working on for + +0:04:43.199,0:04:48.240 +about a year now + +0:04:45.120,0:04:52.000 +um the dungeon + +0:04:48.240,0:04:54.000 +game is based on + +0:04:52.000,0:04:56.160 +a tradition of gaming that came out of + +0:04:54.000,0:04:57.520 +the university of minnesota back in like + +0:04:56.160,0:05:00.639 +the 1950s + +0:04:57.520,0:05:03.680 +as far as we can tell and it + +0:05:00.639,0:05:05.199 +is a predecessor an ancestor of most of + +0:05:03.680,0:05:07.680 +the commercial role-playing games + +0:05:05.199,0:05:08.720 +that you have heard of or maybe tried + +0:05:07.680,0:05:10.800 +out from + +0:05:08.720,0:05:11.919 +various stores and friends when i have + +0:05:10.800,0:05:14.240 +you + +0:05:11.919,0:05:15.759 +so one of the first things we want to + +0:05:14.240,0:05:17.039 +talk about is what is it that sets + +0:05:15.759,0:05:19.440 +dungeon apart + +0:05:17.039,0:05:20.800 +why is it you know what is it about this + +0:05:19.440,0:05:22.880 +game that makes us want to + +0:05:20.800,0:05:25.039 +continue bringing it forward when there + +0:05:22.880,0:05:26.800 +are so many games + +0:05:25.039,0:05:28.479 +already commercially available that are + +0:05:26.800,0:05:32.400 +descended from it + +0:05:28.479,0:05:36.479 +um dungeon is kind of a + +0:05:32.400,0:05:39.280 +simpler game like we + +0:05:36.479,0:05:40.400 +don't a lot of the mechanics that you + +0:05:39.280,0:05:42.240 +think of about like + +0:05:40.400,0:05:44.560 +what is it that defines your character + +0:05:42.240,0:05:48.080 +stats and skills and attributes + +0:05:44.560,0:05:51.199 +we just don't deal with in dungeon um + +0:05:48.080,0:05:54.720 +but dungeon + +0:05:51.199,0:05:59.560 +the simplicity of it allows it um + +0:05:54.720,0:06:01.840 +to be a view over creativity more than + +0:05:59.560,0:06:04.720 +um + +0:06:01.840,0:06:07.039 +so that's kind of why we like it but + +0:06:04.720,0:06:07.039 +also + +0:06:16.639,0:06:24.000 +so when we look at it as kind of like + +0:06:20.800,0:06:26.880 +uh a technology problem whoops + +0:06:24.000,0:06:27.919 +when we try to hey home uh i'm sorry i + +0:06:26.880,0:06:30.560 +got ahead of us i'll + +0:06:27.919,0:06:30.560 +i'll cut back + +0:06:32.160,0:06:37.600 +i i thought we were doing fine + +0:06:35.520,0:06:40.000 +okay well then i'll i'll just yeah + +0:06:37.600,0:06:40.000 +either way + +0:06:40.319,0:06:46.479 +so we've been friends since um + +0:06:43.360,0:06:49.840 +it was our parents basically + +0:06:46.479,0:06:53.120 +um our parents are friends uh and + +0:06:49.840,0:07:02.479 +we learn this game from our parents + +0:06:53.120,0:07:04.560 +um specifically um + +0:07:02.479,0:07:06.400 +uh yeah that's where that's that's + +0:07:04.560,0:07:09.599 +that's my q in right + +0:07:06.400,0:07:13.759 +so um yeah my my + +0:07:09.599,0:07:15.120 +my folks uh and and eric's folks were + +0:07:13.759,0:07:17.360 +were really tight they used to run + +0:07:15.120,0:07:20.400 +science fiction conventions together + +0:07:17.360,0:07:21.840 +and yeah we our play + +0:07:20.400,0:07:23.520 +featured you know imaginative + +0:07:21.840,0:07:25.360 +role-playing usually we would find ways + +0:07:23.520,0:07:28.639 +to work the computers in + +0:07:25.360,0:07:30.479 +to things and uh uh + +0:07:28.639,0:07:34.160 +i don't i don't know i i hardly have + +0:07:30.479,0:07:34.160 +memories uh that proceed eric + +0:07:35.000,0:07:44.240 +um also it turns out we're both + +0:07:37.840,0:07:47.280 +kind of nervous uh we've been um + +0:07:44.240,0:07:49.039 +back in the early 80s and + +0:07:47.280,0:07:51.360 +for as long as we've been friends + +0:07:49.039,0:07:52.800 +basically we've also been into playing + +0:07:51.360,0:07:55.440 +with computers + +0:07:52.800,0:07:55.840 +um over the years we've worked with many + +0:07:55.440,0:07:59.120 +many + +0:07:55.840,0:07:59.120 +different systems we've played + +0:08:11.360,0:08:17.919 +like um so we + +0:08:14.560,0:08:20.800 +also always thought like + +0:08:17.919,0:08:22.639 +how is it that we can use these cool + +0:08:20.800,0:08:27.840 +computers + +0:08:22.639,0:08:27.840 +to build this dungeons + +0:08:28.319,0:08:35.039 +right that's certainly what we did um + +0:08:32.080,0:08:35.839 +so after some decades of bike shedding + +0:08:35.039,0:08:37.360 +where we saw + +0:08:35.839,0:08:39.039 +really a lot of changes in the + +0:08:37.360,0:08:40.800 +technology field + +0:08:39.039,0:08:42.880 +cell phones were invented smartphones + +0:08:40.800,0:08:44.720 +were invented text messaging in + +0:08:42.880,0:08:47.120 +particular had a dramatic + +0:08:44.720,0:08:48.640 +impact on on what we thought dungeon + +0:08:47.120,0:08:49.519 +would have to be able to do to be more + +0:08:48.640,0:08:54.720 +fun + +0:08:49.519,0:08:58.480 +than scribbling in in graph paper + +0:08:54.720,0:09:01.519 +um yeah either way + +0:08:58.480,0:09:04.399 +we've been using linux since the mid 90s + +0:09:01.519,0:09:06.160 +um i don't remember exactly when i did + +0:09:04.399,0:09:09.279 +my first linux install + +0:09:06.160,0:09:12.560 +but uh i really + +0:09:09.279,0:09:13.279 +liked it from the get-go and um i think + +0:09:12.560,0:09:23.360 +it was + +0:09:13.279,0:09:26.320 +you know um + +0:09:23.360,0:09:28.800 +uh and i'll add i remember the day that + +0:09:26.320,0:09:32.560 +i learned about the formation of gnu + +0:09:28.800,0:09:33.440 +it um it had a life i i mean i read lots + +0:09:32.560,0:09:36.880 +of licenses i + +0:09:33.440,0:09:38.480 +i think a lot of us have written our own + +0:09:36.880,0:09:41.600 +swag license code + +0:09:38.480,0:09:42.800 +and uh i definitely credit the formation + +0:09:41.600,0:09:46.240 +of gnu to my + +0:09:42.800,0:09:46.240 +being interested in thinking about that + +0:09:48.640,0:09:53.040 +right i am working the slides here okay + +0:09:50.720,0:09:55.200 +well um + +0:09:53.040,0:09:56.080 +so yeah this is your turn i already + +0:09:55.200,0:09:58.720 +mentioned uh + +0:09:56.080,0:10:00.399 +jeff yesterday so you're turning to take + +0:09:58.720,0:10:03.519 +it for a few slides + +0:10:00.399,0:10:04.240 +okay well i mean you know along the + +0:10:03.519,0:10:07.200 +learning + +0:10:04.240,0:10:08.560 +linux we started learning the various + +0:10:07.200,0:10:11.680 +tools that were available + +0:10:08.560,0:10:14.000 +through the new free software movement + +0:10:11.680,0:10:14.720 +and um it didn't take very long before + +0:10:14.000,0:10:18.240 +we got + +0:10:14.720,0:10:21.040 +into using emacs um and when we were + +0:10:18.240,0:10:24.000 +working as software developers um back + +0:10:21.040,0:10:25.680 +in the 90s we both were using emacs in + +0:10:24.000,0:10:28.959 +an office environment with + +0:10:25.680,0:10:33.360 +some other developers and it i mean + +0:10:28.959,0:10:33.360 +it was obviously a very powerful + +0:10:40.560,0:10:48.000 +um yeah i'm not going to go on at length + +0:10:43.120,0:10:48.000 +about my love for emacs here so um + +0:10:48.880,0:10:52.480 +so we yeah so we put together a project + +0:10:52.000,0:10:54.240 +and + +0:10:52.480,0:10:56.320 +and each time we rehearse this eric + +0:10:54.240,0:10:58.000 +introduces it with it's my story to tell + +0:10:56.320,0:10:59.360 +but since our flow is already to hell + +0:10:58.000,0:11:00.880 +and we're just having a conversation + +0:10:59.360,0:11:03.920 +with you today + +0:11:00.880,0:11:06.399 +um i'll just jump in and say + +0:11:03.920,0:11:08.160 +from a project standpoint the the + +0:11:06.399,0:11:09.839 +project owes its inception + +0:11:08.160,0:11:12.079 +to a tremendous number of people in + +0:11:09.839,0:11:14.000 +fandom that you know + +0:11:12.079,0:11:15.680 +uh encouraged us to just do crazy + +0:11:14.000,0:11:18.160 +projects and + +0:11:15.680,0:11:18.800 +in this case to our friends that were + +0:11:18.160,0:11:21.360 +hanging out + +0:11:18.800,0:11:22.560 +with us on discord all the time while we + +0:11:21.360,0:11:25.200 +played different games + +0:11:22.560,0:11:26.640 +and uh through that and while i was + +0:11:25.200,0:11:31.839 +fooling with emacs is + +0:11:26.640,0:11:31.839 +generally other people played games uh + +0:11:34.000,0:11:37.200 +kind of the pieces fell into place and + +0:11:35.680,0:11:38.320 +we were all there so we could talk about + +0:11:37.200,0:11:41.040 +it and the idea got + +0:11:38.320,0:11:42.800 +exciting again and we started going back + +0:11:41.040,0:11:44.480 +to all the places that we had + +0:11:42.800,0:11:46.640 +had trouble with it in the past and it + +0:11:44.480,0:11:48.000 +really did seem to add up we built proof + +0:11:46.640,0:11:50.240 +of concepts to do + +0:11:48.000,0:11:51.440 +hard stuff quickly and i guess we'll + +0:11:50.240,0:11:54.320 +probably head into that + +0:11:51.440,0:11:54.320 +that area now + +0:11:54.880,0:11:57.040 +so + +0:12:03.360,0:12:11.839 +and there was a slide about all of + +0:12:06.800,0:12:11.839 +the problems + +0:12:31.360,0:12:37.279 +hey there hey + +0:12:34.959,0:12:38.800 +um yeah go ahead and continue i just got + +0:12:37.279,0:12:40.639 +a phone call i think from leo so i'm + +0:12:38.800,0:12:44.480 +gonna mute + +0:12:40.639,0:12:47.600 +okay so um what we did in + +0:12:44.480,0:12:49.680 +in the project was basically come up + +0:12:47.600,0:12:51.440 +with our minimum play testable candidate + +0:12:49.680,0:12:52.000 +we listed all of the things that we need + +0:12:51.440,0:12:56.240 +to be able + +0:12:52.000,0:12:59.040 +to make the project do in order to + +0:12:56.240,0:12:59.519 +recreate the dungeon experience that we + +0:12:59.040,0:13:01.279 +had + +0:12:59.519,0:13:04.720 +with paper and dice sitting around a + +0:13:01.279,0:13:04.720 +table when we were kids + +0:13:05.600,0:13:07.839 +and + +0:13:09.680,0:13:13.839 +i mean we you know it took a while for + +0:13:12.079,0:13:16.079 +us to kind of + +0:13:13.839,0:13:18.000 +tease apart the problem in a way where + +0:13:16.079,0:13:19.120 +we could actually list out all of the + +0:13:18.000,0:13:20.959 +features like + +0:13:19.120,0:13:23.920 +what are the problems we have to solve + +0:13:20.959,0:13:23.920 +and how do we solve them + +0:13:27.760,0:13:33.040 +so creating any free software any + +0:13:30.959,0:13:36.000 +self-organizing free software project + +0:13:33.040,0:13:37.200 +is is challenging to start with and + +0:13:36.000,0:13:38.480 +we're generally + +0:13:37.200,0:13:40.320 +people with a bunch of other + +0:13:38.480,0:13:40.560 +responsibilities by the time we get to + +0:13:40.320,0:13:44.000 +it + +0:13:40.560,0:13:47.040 +so it's it's not just hey + +0:13:44.000,0:13:47.680 +you know the general herding cats it's + +0:13:47.040,0:13:49.120 +it's + +0:13:47.680,0:13:51.040 +you know trying to make it a part of + +0:13:49.120,0:13:54.399 +your life to + +0:13:51.040,0:13:57.680 +uh that being kind of a + +0:13:54.399,0:14:00.480 +you know challenging battle we we + +0:13:57.680,0:14:02.639 +kind of aligned on some some principles + +0:14:00.480,0:14:04.079 +that we wanted to adhere to + +0:14:02.639,0:14:05.680 +once we started taking the project + +0:14:04.079,0:14:09.519 +seriously + +0:14:05.680,0:14:12.720 +like pre you know particularly + +0:14:09.519,0:14:15.199 +recognizing gnu in specific as we focus + +0:14:12.720,0:14:16.480 +on giving back to the community + +0:14:15.199,0:14:18.240 +taking what we learned as pearl + +0:14:16.480,0:14:22.079 +programmers and + +0:14:18.240,0:14:24.320 +uh you know bringing that spirit forward + +0:14:22.079,0:14:26.399 +into into our work and maybe + +0:14:24.320,0:14:27.120 +specifically support making sure that we + +0:14:26.399,0:14:30.639 +can + +0:14:27.120,0:14:31.760 +um you know write uh functions for the + +0:14:30.639,0:14:35.199 +game + +0:14:31.760,0:14:38.079 +um in pearl if we want to + +0:14:35.199,0:14:40.320 +and then to use the game as a vehicle to + +0:14:38.079,0:14:42.560 +make people look beyond + +0:14:40.320,0:14:42.560 +the + +0:14:43.360,0:14:49.600 +typically open source or sorry typically + +0:14:46.800,0:14:52.160 +uh nominally open source at best + +0:14:49.600,0:14:54.160 +generally pretty closed world of + +0:14:52.160,0:14:55.440 +computer gaming a lot of windows users + +0:14:54.160,0:14:57.519 +out there a lot of free + +0:14:55.440,0:14:59.760 +non-free communication tools and a lot + +0:14:57.519,0:15:01.839 +of uh + +0:14:59.760,0:15:03.360 +you know a lot of ground to cover from a + +0:15:01.839,0:15:05.920 +free software perspective + +0:15:03.360,0:15:07.360 +so what can emacs do from a gaming + +0:15:05.920,0:15:12.160 +standpoint to + +0:15:07.360,0:15:14.880 +to open that up + +0:15:12.160,0:15:16.720 +and not to mention the hubris of the you + +0:15:14.880,0:15:18.399 +know the two of us with a few friends + +0:15:16.720,0:15:19.440 +basically deciding to take on what + +0:15:18.399,0:15:21.839 +amounts to a + +0:15:19.440,0:15:24.720 +huge project um you know we're + +0:15:21.839,0:15:27.839 +essentially a year in now and we haven't + +0:15:24.720,0:15:30.000 +really gotten over halfway to our + +0:15:27.839,0:15:32.880 +minimum playtestable candidate + +0:15:30.000,0:15:34.320 +um it's a it's a work in progress we've + +0:15:32.880,0:15:36.800 +got a long row to go + +0:15:34.320,0:15:38.399 +there's at least 50 items on the things + +0:15:36.800,0:15:40.320 +that we think are critical to + +0:15:38.399,0:15:43.279 +to be able to introduce it to my younger + +0:15:40.320,0:15:43.279 +kids for example + +0:15:44.720,0:15:49.279 +um okay so we're in the accomplishments + +0:15:48.399,0:15:50.959 +section + +0:15:49.279,0:15:52.639 +so we're supposed to be talking about + +0:15:50.959,0:15:55.920 +the things that we have + +0:15:52.639,0:15:58.880 +succeeded in doing in our first year um + +0:15:55.920,0:16:01.199 +we have succeeded in working with data + +0:15:58.880,0:16:04.480 +in org documents using org mode + +0:16:01.199,0:16:05.360 +tables to store the data that we're + +0:16:04.480,0:16:09.279 +going to use + +0:16:05.360,0:16:12.519 +in the various parts of our game + +0:16:09.279,0:16:14.160 +um and we've had a lot of success with + +0:16:12.519,0:16:16.639 +svg.el + +0:16:14.160,0:16:17.279 +uh it started withdrawing maps and we + +0:16:16.639,0:16:19.440 +have + +0:16:17.279,0:16:21.440 +another talk about our mapping + +0:16:19.440,0:16:23.759 +specifically coming up next so we'll + +0:16:21.440,0:16:25.199 +put off some of that discussion for a + +0:16:23.759,0:16:28.720 +separate talk + +0:16:25.199,0:16:32.320 +um but we've also succeeded in + +0:16:28.720,0:16:35.680 +um getting into a bunch of different + +0:16:32.320,0:16:38.160 +elements of the game where uh + +0:16:35.680,0:16:38.959 +we're you know making a lot of progress + +0:16:38.160,0:16:41.920 +using this + +0:16:38.959,0:16:43.759 +drawing engine we developed to also draw + +0:16:41.920,0:16:45.279 +this other thing and also draw this + +0:16:43.759,0:16:46.079 +other thing and also draw this other + +0:16:45.279,0:16:49.519 +thing and it's + +0:16:46.079,0:16:52.560 +um you know we kind of backed into + +0:16:49.519,0:16:54.720 +we've got this aesthetic and we're + +0:16:52.560,0:16:57.839 +using it to draw interfaces for all of + +0:16:54.720,0:16:57.839 +the different parts of the game + +0:17:03.120,0:17:06.959 +so let's talk let's talk a little bit + +0:17:05.600,0:17:10.880 +about what + +0:17:06.959,0:17:13.360 +uh what works now um + +0:17:10.880,0:17:14.640 +first of all there's the mapping part + +0:17:13.360,0:17:18.480 +that eric mentioned + +0:17:14.640,0:17:20.880 +and we'll jump here into um we'll start + +0:17:18.480,0:17:22.160 +opening up some files and looking around + +0:17:20.880,0:17:25.520 +um but then + +0:17:22.160,0:17:26.959 +also later uh we'll we'll fire up an eye + +0:17:25.520,0:17:28.400 +elm and look at some of the + +0:17:26.959,0:17:30.240 +some of the other proofs of concept so + +0:17:28.400,0:17:32.240 +hopefully we can + +0:17:30.240,0:17:34.320 +pivot the second talk more toward the + +0:17:32.240,0:17:35.520 +demos as as we skip some of the + +0:17:34.320,0:17:39.120 +interactive stuff that might be + +0:17:35.520,0:17:39.120 +mentioned in the slides that we go by + +0:17:43.200,0:17:50.080 +so maps + +0:17:46.880,0:17:53.120 +visual battle board um + +0:17:50.080,0:17:54.160 +the battle board i'm just gonna i'm just + +0:17:53.120,0:18:01.840 +gonna skip it eric + +0:17:54.160,0:18:01.840 +we'll hit it in the next one okay + +0:18:02.000,0:18:04.480 +hang on + +0:18:08.480,0:18:11.840 +okay so i'm just going to go ahead and + +0:18:09.919,0:18:13.760 +open up uh maps and + +0:18:11.840,0:18:15.039 +let you talk from the from the svg + +0:18:13.760,0:18:16.480 +process itself + +0:18:15.039,0:18:20.080 +because that's the interesting part to + +0:18:16.480,0:18:20.080 +me that uh to me + +0:18:22.240,0:18:28.640 +okay talk about the svg + +0:18:26.080,0:18:30.640 +process like what what are you thinking + +0:18:28.640,0:18:33.760 +exactly we want to talk about how + +0:18:30.640,0:18:37.919 +we turn our data into an image or + +0:18:33.760,0:18:39.760 +what what are you hoping for yeah so + +0:18:37.919,0:18:41.200 +i mean did you did you want to talk more + +0:18:39.760,0:18:45.679 +from from the + +0:18:41.200,0:18:47.039 +svg the hand-drawn svg graphics at all + +0:18:45.679,0:18:49.760 +i thought we were going to save that + +0:18:47.039,0:18:52.000 +stuff for the passing talk okay + +0:18:49.760,0:18:53.440 +right now if you want yeah i mean so + +0:18:52.000,0:18:56.559 +we've got about + +0:18:53.440,0:18:58.400 +uh 10 minutes before the turn where we + +0:18:56.559,0:19:00.400 +thought we would first take any + +0:18:58.400,0:19:02.320 +questions that are hanging out there + +0:19:00.400,0:19:04.799 +i unfortunately closed the ether pad but + +0:19:02.320,0:19:08.480 +i can open it again real quick + +0:19:04.799,0:19:11.440 +and or you can jump + +0:19:08.480,0:19:12.320 +jump into the to the pathing stuff now + +0:19:11.440,0:19:13.760 +or i can just + +0:19:12.320,0:19:15.440 +throw up an animal and we can start the + +0:19:13.760,0:19:18.880 +demos so + +0:19:15.440,0:19:19.840 +let me invite uh almond or sasha back in + +0:19:18.880,0:19:22.160 +if you guys + +0:19:19.840,0:19:22.960 +or leo if any of you want to join the + +0:19:22.160,0:19:25.840 +conversation + +0:19:22.960,0:19:27.120 +make a suggestion as to how we balance + +0:19:25.840,0:19:29.840 +between the remaining time + +0:19:27.120,0:19:32.480 +the rest of what we have left starts in + +0:19:29.840,0:19:35.120 +on toward the technical so especially + +0:19:32.480,0:19:36.840 +if there would be questions uh questions + +0:19:35.120,0:19:39.840 +about the game right now that would be + +0:19:36.840,0:19:39.840 +awesome + +0:19:40.160,0:19:43.600 +and i'm gonna get seated again + +0:19:48.720,0:19:53.200 +i'm not sure if i talk over the stream + +0:19:51.200,0:19:54.720 +um if you'll hear it because i'm just + +0:19:53.200,0:19:59.520 +watching your stream + +0:19:54.720,0:19:59.520 +but i can try writing an irc um + +0:20:01.200,0:20:07.360 +sure yeah questions would be cool um or + +0:20:04.640,0:20:08.559 +um yeah well eric why don't you just go + +0:20:07.360,0:20:09.120 +ahead and start walking us through the + +0:20:08.559,0:20:11.440 +hand + +0:20:09.120,0:20:12.960 +hand-drawn svg stuff just a little bit + +0:20:11.440,0:20:14.640 +because i think + +0:20:12.960,0:20:17.120 +if that isn't interesting to people we + +0:20:14.640,0:20:21.120 +can just preempt for a question + +0:20:17.120,0:20:24.080 +okay so historically when we + +0:20:21.120,0:20:25.840 +um decided to actually start writing + +0:20:24.080,0:20:26.720 +code one of the very first things we + +0:20:25.840,0:20:30.080 +wanted to do + +0:20:26.720,0:20:31.919 +was the maps because initially it seemed + +0:20:30.080,0:20:33.840 +like the maps were going to be one of + +0:20:31.919,0:20:35.760 +the biggest challenges + +0:20:33.840,0:20:38.000 +in terms of how do we get a text editor + +0:20:35.760,0:20:42.159 +to draw pictures for us + +0:20:38.000,0:20:45.280 +um we pretty quickly decided we wanted + +0:20:42.159,0:20:48.559 +to work with svgs because it allowed us + +0:20:45.280,0:20:52.159 +to leverage the power of emacs as a text + +0:20:48.559,0:20:56.080 +editor and a text manipulator to write + +0:20:52.159,0:20:59.520 +text graphics with the svg format + +0:20:56.080,0:21:01.440 +so we did some svg graphics by hand + +0:20:59.520,0:21:02.640 +we went in and just started hand coding + +0:21:01.440,0:21:05.440 +things that looked + +0:21:02.640,0:21:07.440 +visually like the maps we used to draw + +0:21:05.440,0:21:08.960 +by hand on graph paper when + +0:21:07.440,0:21:11.280 +we were you know sitting around the + +0:21:08.960,0:21:11.280 +table + +0:21:11.360,0:21:17.840 +yep absolutely what emerged from that + +0:21:14.559,0:21:20.400 +is as we started working on um some of + +0:21:17.840,0:21:24.000 +these files this particular image is a + +0:21:20.400,0:21:26.240 +test of some 20 wide water + +0:21:24.000,0:21:28.000 +with some beaches around it and a + +0:21:26.240,0:21:29.679 +special chamber kind of off to the side + +0:21:28.000,0:21:33.760 +called a clapper + +0:21:29.679,0:21:36.559 +and this was the way we would code is by + +0:21:33.760,0:21:37.600 +sketching by hand all of these things to + +0:21:36.559,0:21:39.440 +look right + +0:21:37.600,0:21:42.080 +and then we would take that code and we + +0:21:39.440,0:21:43.919 +noticed um it became real repetitive + +0:21:42.080,0:21:45.440 +as we would go like chunk of water chunk + +0:21:43.919,0:21:46.880 +of water chunk of water + +0:21:45.440,0:21:48.559 +and we're like okay so what we really + +0:21:46.880,0:21:52.000 +need is to define a + +0:21:48.559,0:21:53.600 +set of um we called it tiles um but like + +0:21:52.000,0:21:55.760 +you could think of it as rubber stamps + +0:21:53.600,0:21:57.440 +where we write this graphics code + +0:21:55.760,0:22:00.400 +and then we're able to repeat it in + +0:21:57.440,0:22:03.039 +different places around the map + +0:22:00.400,0:22:06.880 +um you want to flip over to code view + +0:22:03.039,0:22:06.880 +and show that or do we want to move into + +0:22:07.120,0:22:12.720 +tiles code + +0:22:10.240,0:22:14.320 +so you know you can see just really + +0:22:12.720,0:22:15.200 +obviously here the only thing that's + +0:22:14.320,0:22:18.240 +changing from + +0:22:15.200,0:22:21.600 +chunk of water to chunk of water is the + +0:22:18.240,0:22:24.640 +x and y coordinates um + +0:22:21.600,0:22:26.000 +we're you know we can skip getting into + +0:22:24.640,0:22:29.360 +the svg directives + +0:22:26.000,0:22:30.640 +and how all of the path statements + +0:22:29.360,0:22:33.679 +actually work + +0:22:30.640,0:22:36.480 +but you can trust us + +0:22:33.679,0:22:39.039 +all of these d equals and there's m's + +0:22:36.480,0:22:41.039 +and h's and v's that turns out to be + +0:22:39.039,0:22:42.480 +horizontal lines and vertical lines and + +0:22:41.039,0:22:44.159 +cursor moves and it's kind of like + +0:22:42.480,0:22:46.640 +turtle graphics if anyone + +0:22:44.159,0:22:48.720 +remembers that far back and we're + +0:22:46.640,0:22:54.720 +picking up our pen and dropping it and + +0:22:48.720,0:22:56.240 +drawing lines around on our map + +0:22:54.720,0:22:58.000 +so we do have a few questions if you + +0:22:56.240,0:23:01.200 +want to take them now otherwise + +0:22:58.000,0:23:03.120 +um we can also jump in + +0:23:01.200,0:23:04.559 +let's get them while they're fresh okay + +0:23:03.120,0:23:07.520 +sounds good + +0:23:04.559,0:23:08.000 +um so we'll probably shift to question + +0:23:07.520,0:23:10.799 +and answer + +0:23:08.000,0:23:11.919 +mode for up to 15 minutes here so if you + +0:23:10.799,0:23:14.480 +do have questions + +0:23:11.919,0:23:15.679 +um maybe stack rank go ahead and sort + +0:23:14.480,0:23:17.600 +the questions + +0:23:15.679,0:23:18.960 +a little for us or comment on them to + +0:23:17.600,0:23:19.760 +let us know which ones you want to see + +0:23:18.960,0:23:21.280 +us get here + +0:23:19.760,0:23:23.600 +if we start getting a little long-winded + +0:23:21.280,0:23:26.960 +or nudges along we'll take direction + +0:23:23.600,0:23:28.799 +but thanks for your questions um i'd + +0:23:26.960,0:23:30.720 +like to see a demo as well we'll look at + +0:23:28.799,0:23:32.159 +that with the remaining time after this + +0:23:30.720,0:23:35.200 +question block + +0:23:32.159,0:23:38.720 +um more about what the game is + +0:23:35.200,0:23:40.720 +okay sure so let's let's take our + +0:23:38.720,0:23:42.799 +uh one minute each swing at what the + +0:23:40.720,0:23:45.120 +game is you wanna go first i called + +0:23:42.799,0:23:48.840 +weapons + +0:23:45.120,0:23:52.720 +okay um dungeon + +0:23:48.840,0:23:55.440 +is like role-playing games + +0:23:52.720,0:23:56.159 +but you don't really do role-playing + +0:23:55.440,0:23:57.919 +like the + +0:23:56.159,0:23:59.520 +for me the thing the core of being a + +0:23:57.919,0:24:02.080 +role-playing game is you + +0:23:59.520,0:24:03.039 +take on the role of being your character + +0:24:02.080,0:24:06.000 +and you play + +0:24:03.039,0:24:06.400 +your character and dungeon's not like + +0:24:06.000,0:24:10.320 +that + +0:24:06.400,0:24:12.640 +dungeon um you can play + +0:24:10.320,0:24:13.840 +so the dungeon party always has eight + +0:24:12.640,0:24:15.840 +characters in it + +0:24:13.840,0:24:17.679 +there's four in the front row and four + +0:24:15.840,0:24:18.720 +in the back row and you march through + +0:24:17.679,0:24:22.159 +the dungeon + +0:24:18.720,0:24:24.000 +fighting whatever you encounter and if + +0:24:22.159,0:24:25.200 +there's one player you play all eight + +0:24:24.000,0:24:27.120 +characters + +0:24:25.200,0:24:28.720 +and depending on how many players you + +0:24:27.120,0:24:30.799 +have you split up the party + +0:24:28.720,0:24:32.960 +in whatever way seems fair and equitable + +0:24:30.799,0:24:34.880 +to everybody + +0:24:32.960,0:24:36.720 +similarly i said the dungeon is kind of + +0:24:34.880,0:24:38.320 +a simple game like there's only + +0:24:36.720,0:24:40.080 +three races and there's only three + +0:24:38.320,0:24:41.760 +classes all of your characters are + +0:24:40.080,0:24:44.080 +either human elf dwarf + +0:24:41.760,0:24:44.880 +they're all a warrior a priest or a + +0:24:44.080,0:24:46.640 +wizard + +0:24:44.880,0:24:48.320 +and all of these characters have you + +0:24:46.640,0:24:51.279 +know special properties + +0:24:48.320,0:24:53.760 +and special talents that is why they + +0:24:51.279,0:24:56.240 +come together in this party of eight + +0:24:53.760,0:24:57.600 +but essentially dungeon is a game about + +0:24:56.240,0:25:00.000 +making up all of these + +0:24:57.600,0:25:01.679 +um eight characters and stomping through + +0:25:00.000,0:25:03.840 +the dungeon killing things taking their + +0:25:01.679,0:25:05.120 +stuff + +0:25:03.840,0:25:06.960 +well you're way over but i don't know + +0:25:05.120,0:25:10.080 +how much i have to add to that + +0:25:06.960,0:25:14.159 +i will just add that if if you're + +0:25:10.080,0:25:16.559 +uh if if one's passion as a dungeon + +0:25:14.159,0:25:17.120 +master is killing player characters this + +0:25:16.559,0:25:19.600 +game + +0:25:17.120,0:25:21.039 +is meant for you you don't have to build + +0:25:19.600,0:25:22.559 +your game like that + +0:25:21.039,0:25:24.400 +but that's definitely a thing that + +0:25:22.559,0:25:27.360 +people do with this game + +0:25:24.400,0:25:28.960 +um and then as eric said it just + +0:25:27.360,0:25:30.320 +encourages you to put your creativity on + +0:25:28.960,0:25:31.039 +the table to bring all the different + +0:25:30.320,0:25:33.760 +elements + +0:25:31.039,0:25:35.039 +um and this hopefully this may be clear + +0:25:33.760,0:25:36.400 +in our slides since we were a little + +0:25:35.039,0:25:36.960 +fumbling for the first few minutes of + +0:25:36.400,0:25:40.480 +the talk + +0:25:36.960,0:25:41.200 +but um there's also a kind of a player's + +0:25:40.480,0:25:43.760 +guide + +0:25:41.200,0:25:45.919 +that that i started a few years ago um + +0:25:43.760,0:25:48.400 +that's that's not super complete + +0:25:45.919,0:25:50.159 +but um but does cover some of the high + +0:25:48.400,0:25:52.320 +level basics of the game that eric's + +0:25:50.159,0:25:55.679 +been talking from + +0:25:52.320,0:25:56.960 +and i would add that some of the things + +0:25:55.679,0:25:58.480 +you know some of what makes dungeon + +0:25:56.960,0:25:59.360 +great is that there's a lot of mystery + +0:25:58.480,0:26:01.120 +about it + +0:25:59.360,0:26:02.880 +like the player's handbook doesn't tell + +0:26:01.120,0:26:06.080 +you all of the rules + +0:26:02.880,0:26:08.080 +um or like really mystery + +0:26:06.080,0:26:09.679 +and like there's mazes and there's + +0:26:08.080,0:26:12.240 +puzzles and + +0:26:09.679,0:26:12.799 +you have to figure out how things work + +0:26:12.240,0:26:14.559 +and like + +0:26:12.799,0:26:16.640 +we've got all of these treasure items in + +0:26:14.559,0:26:18.480 +there that could help you deal with a + +0:26:16.640,0:26:19.919 +particular monster if it occurs to you + +0:26:18.480,0:26:22.720 +to use it + +0:26:19.919,0:26:23.360 +and um you know like that there's a lot + +0:26:22.720,0:26:25.279 +of + +0:26:23.360,0:26:27.039 +um you don't know what's going on you're + +0:26:25.279,0:26:28.559 +dropped in the middle of this situation + +0:26:27.039,0:26:31.919 +and you have to try and survive + +0:26:28.559,0:26:33.840 +and level up and figure it out and + +0:26:31.919,0:26:35.520 +if you succeed in doing that for long + +0:26:33.840,0:26:37.520 +enough eventually you start realizing + +0:26:35.520,0:26:40.000 +that there are big picture puzzles + +0:26:37.520,0:26:41.760 +that there are you know there is more to + +0:26:40.000,0:26:43.360 +this than just killing things and taking + +0:26:41.760,0:26:46.000 +their stuff + +0:26:43.360,0:26:47.279 +and that's where the joy of designing + +0:26:46.000,0:26:49.679 +these games comes in + +0:26:47.279,0:26:51.679 +for me is like designing the mazes and + +0:26:49.679,0:26:53.200 +designing the puzzles and like + +0:26:51.679,0:26:54.240 +oh yeah and then they're going to come + +0:26:53.200,0:26:55.919 +out of this room and you know what + +0:26:54.240,0:26:58.240 +they're going to do they want to + +0:26:55.919,0:26:59.600 +go that way so i'm going to put the trap + +0:26:58.240,0:27:01.360 +right there + +0:26:59.600,0:27:03.840 +and they'll walk right into it every + +0:27:01.360,0:27:05.440 +time and then when the party does get in + +0:27:03.840,0:27:07.200 +your map and they do exactly what you + +0:27:05.440,0:27:09.279 +thought and they hit the trap it's just + +0:27:07.200,0:27:10.960 +really satisfying to watch the look on + +0:27:09.279,0:27:12.320 +their little faces as they squirm and + +0:27:10.960,0:27:13.760 +struggle to stay alive + +0:27:12.320,0:27:15.520 +yeah that's that's what i was trying to + +0:27:13.760,0:27:16.320 +get at thanks all right that was perfect + +0:27:15.520,0:27:19.200 +for me + +0:27:16.320,0:27:20.320 +all right um so so highlight your + +0:27:19.200,0:27:21.840 +question for me if you think it's + +0:27:20.320,0:27:22.960 +important we grab it here before we jump + +0:27:21.840,0:27:25.039 +into demos + +0:27:22.960,0:27:27.760 +but otherwise i think it's time to try + +0:27:25.039,0:27:27.760 +running some code + +0:27:27.919,0:27:33.840 +what say okay i say do it + +0:27:31.279,0:27:36.480 +okay so you less less camera more more + +0:27:33.840,0:27:39.120 +emacs now + +0:27:36.480,0:27:39.840 +and hopefully i could find the right e + +0:27:39.120,0:27:42.960 +max + +0:27:39.840,0:27:48.799 +the right desktop all right there we are + +0:27:42.960,0:27:54.000 +so we'll try to fire up uh + +0:27:48.799,0:27:58.799 +and right now and i usually like to do + +0:27:54.000,0:27:58.799 +the full path to emax + +0:27:59.120,0:28:03.840 +when i'm gonna run it under minus q + +0:28:07.279,0:28:10.000 +all right + +0:28:13.120,0:28:19.360 +let's have some iom + +0:28:16.720,0:28:20.000 +all right and then i'm also going to do + +0:28:19.360,0:28:24.000 +a + +0:28:20.000,0:28:25.840 +load file on the init script that you + +0:28:24.000,0:28:30.480 +can find in the repository + +0:28:25.840,0:28:33.279 +in the emacs user and it's uh + +0:28:30.480,0:28:33.279 +init scripts + +0:28:34.960,0:28:38.159 +uh users folder + +0:28:40.159,0:28:45.840 +user folder nice + +0:28:48.080,0:28:51.840 +and it's called init dm because that + +0:28:49.919,0:28:55.360 +happened to fit with my naming scheme + +0:28:51.840,0:28:56.320 +potentially terrible all right and with + +0:28:55.360,0:28:58.320 +that loaded + +0:28:56.320,0:29:00.159 +in theory some very basic stuff will + +0:28:58.320,0:29:02.159 +work even without us doing anything in + +0:29:00.159,0:29:04.399 +iom so i think the the last thing eric + +0:29:02.159,0:29:06.000 +was talking about was the svg code + +0:29:04.399,0:29:10.720 +behind the maps + +0:29:06.000,0:29:13.760 +um there as kind of the technical thread + +0:29:10.720,0:29:15.440 +so we'll just fire open the maps pick a + +0:29:13.760,0:29:18.480 +dungeon level + +0:29:15.440,0:29:19.840 +let's pick a pretty one okay if i show + +0:29:18.480,0:29:22.480 +this + +0:29:19.840,0:29:22.480 +yeah whatever + +0:29:23.440,0:29:30.799 +is that the surface yeah + +0:29:27.679,0:29:32.159 +and let's scale it here i think if i + +0:29:30.799,0:29:34.960 +wrap + +0:29:32.159,0:29:36.399 +like once once we got the engine up and + +0:29:34.960,0:29:39.120 +running a little bit + +0:29:36.399,0:29:42.480 +we decided to do some experimentation + +0:29:39.120,0:29:46.080 +about seeing what we could do to push + +0:29:42.480,0:29:49.360 +the limits of our tile + +0:29:46.080,0:29:50.080 +and gender so we more or less on the + +0:29:49.360,0:29:52.799 +surface + +0:29:50.080,0:29:52.799 +map i + +0:29:53.120,0:29:58.399 +basically started with almost no + +0:29:56.399,0:30:00.240 +tiles from below like the water and the + +0:29:58.399,0:30:01.279 +beaches and the general store and the + +0:30:00.240,0:30:03.679 +stairs + +0:30:01.279,0:30:05.200 +were existing tiles but then we were + +0:30:03.679,0:30:07.279 +like this is going to be a surface map + +0:30:05.200,0:30:08.399 +so we're outdoors so i want hills and i + +0:30:07.279,0:30:11.760 +want trees + +0:30:08.399,0:30:12.399 +and i want grass and um it took a little + +0:30:11.760,0:30:15.039 +while + +0:30:12.399,0:30:16.320 +playing with svg to come up with some + +0:30:15.039,0:30:18.480 +acceptable code + +0:30:16.320,0:30:19.840 +but once the like the grass gets tiled + +0:30:18.480,0:30:21.600 +out it + +0:30:19.840,0:30:23.039 +kind of you know gives the illusion of + +0:30:21.600,0:30:24.880 +grass and + +0:30:23.039,0:30:26.399 +you know these are all in my estimation + +0:30:24.880,0:30:28.640 +kind of crude graphics + +0:30:26.399,0:30:30.399 +but we're at the proof of concept stage + +0:30:28.640,0:30:31.679 +and it definitely proves that we can use + +0:30:30.399,0:30:34.640 +our graphics engine + +0:30:31.679,0:30:35.279 +to decide what we want our maps to look + +0:30:34.640,0:30:39.440 +like + +0:30:35.279,0:30:44.240 +and real quickly compose new map tiles + +0:30:39.440,0:30:46.880 +and uh stamp out a bunch of new maps + +0:30:44.240,0:30:48.640 +so now i'll uh show off one of the other + +0:30:46.880,0:30:50.559 +things so the next thing we did once we + +0:30:48.640,0:30:51.919 +once we had the maps doing + +0:30:50.559,0:30:53.600 +and we haven't gotten into the features + +0:30:51.919,0:30:54.960 +of the maps we can we can appoint time + +0:30:53.600,0:30:58.960 +to that or not + +0:30:54.960,0:31:00.720 +but um there are a number of + +0:30:58.960,0:31:02.840 +uh featured features there that we can + +0:31:00.720,0:31:05.760 +look at the + +0:31:02.840,0:31:08.640 +uh we then wanted to + +0:31:05.760,0:31:10.399 +try to see if that could make other + +0:31:08.640,0:31:11.360 +interfaces more appealing so we built + +0:31:10.399,0:31:14.320 +stuff like + +0:31:11.360,0:31:15.919 +oop that's gonna be the map again um + +0:31:14.320,0:31:18.320 +i'll just run it here through i + +0:31:15.919,0:31:20.080 +am so it's more obvious what i'm doing + +0:31:18.320,0:31:21.679 +um + +0:31:20.080,0:31:25.360 +so let's look next to the character + +0:31:21.679,0:31:25.360 +sheet oops + +0:31:26.080,0:31:35.840 +back and alt p doesn't work okay + +0:31:32.880,0:31:38.240 +that's a bummer uh that is not + +0:31:35.840,0:31:40.559 +autoloaded + +0:31:38.240,0:31:41.600 +so this this project is a bit of a mess + +0:31:40.559,0:31:43.120 +right now y'all + +0:31:41.600,0:31:45.120 +it does some stuff that's really + +0:31:43.120,0:31:47.039 +exciting to us but the code is terrible + +0:31:45.120,0:31:48.399 +and we need all the help we can get uh + +0:31:47.039,0:31:49.279 +being told what our problems are and how + +0:31:48.399,0:31:51.360 +to fix them + +0:31:49.279,0:31:52.559 +so that is if you take nothing away from + +0:31:51.360,0:31:54.799 +this talk + +0:31:52.559,0:32:00.480 +uh take away from it that we could use + +0:31:54.799,0:32:02.399 +your help + +0:32:00.480,0:32:04.640 +yeah that doubles back to uh when we + +0:32:02.399,0:32:06.320 +were talking about larry wall's cardinal + +0:32:04.640,0:32:07.440 +virtues of programming like we + +0:32:06.320,0:32:09.760 +definitely + +0:32:07.440,0:32:10.640 +took on some hubris thinking we could do + +0:32:09.760,0:32:13.519 +this + +0:32:10.640,0:32:14.799 +and we might not be wrong but um we + +0:32:13.519,0:32:16.799 +could do it easier with + +0:32:14.799,0:32:18.240 +more hands you know many hands make + +0:32:16.799,0:32:21.760 +light work all right + +0:32:18.240,0:32:23.360 +i'll bite yeah + +0:32:21.760,0:32:24.799 +and the character she won't load for us + +0:32:23.360,0:32:26.960 +today i had some problems with my + +0:32:24.799,0:32:29.360 +version control i had to revert my thing + +0:32:26.960,0:32:31.200 +i threw all my local changes in a stash + +0:32:29.360,0:32:32.080 +and it's it's a terrible mess let's look + +0:32:31.200,0:32:37.519 +at stuff i + +0:32:32.080,0:32:40.559 +tested already today uh before + +0:32:37.519,0:32:43.760 +you got the battle board available + +0:32:40.559,0:32:45.760 +let's find out first we'll load library + +0:32:43.760,0:32:48.000 +it + +0:32:45.760,0:32:57.440 +uh in fact actually your basic require + +0:32:48.000,0:33:00.480 +should work + +0:32:57.440,0:33:02.640 +no uh i can try load library + +0:33:00.480,0:33:03.760 +uh you know what let's forg i'm just + +0:33:02.640,0:33:04.960 +gonna go ahead and give it to you as a + +0:33:03.760,0:33:09.919 +lab beast + +0:33:04.960,0:33:11.600 +since that's probably more fun to watch + +0:33:09.919,0:33:15.919 +we'll take it from my own inet + +0:33:11.600,0:33:15.919 +this is more likely to be healthy + +0:33:16.640,0:33:20.880 +since only some of the time uh first we + +0:33:19.840,0:33:24.799 +have to + +0:33:20.880,0:33:28.559 +uh ctrl x alt i d m + +0:33:24.799,0:33:31.760 +all right and having then loaded + +0:33:28.559,0:33:34.080 +the init control u f9 + +0:33:31.760,0:33:35.200 +should give me the maps and we can + +0:33:34.080,0:33:37.200 +verify + +0:33:35.200,0:33:38.640 +things work in a basic way just by + +0:33:37.200,0:33:41.679 +changing level + +0:33:38.640,0:33:41.679 +let's look at something else + +0:33:43.200,0:33:47.360 +um i mentioned there were a number of + +0:33:46.399,0:33:51.600 +bindings + +0:33:47.360,0:33:54.080 +show them briefly we wrote our own + +0:33:51.600,0:33:56.640 +functions to handle movement some of + +0:33:54.080,0:33:59.679 +those in svg.el the left + +0:33:56.640,0:34:02.640 +uh left and right movements didn't + +0:33:59.679,0:34:03.120 +didn't seem to work quite quite likely + +0:34:02.640,0:34:06.720 +coding + +0:34:03.120,0:34:09.760 +of course + +0:34:06.720,0:34:11.760 +um all right enough + +0:34:09.760,0:34:13.040 +so let's let's see if battleboard works + +0:34:11.760,0:34:15.760 +now + +0:34:13.040,0:34:17.040 +i really thought that was on f7 up + +0:34:15.760,0:34:19.679 +that's the character sheet + +0:34:17.040,0:34:22.159 +sweet that's why you stay out of user + +0:34:19.679,0:34:22.159 +bindings + +0:34:24.879,0:34:33.919 +so that looks a little better + +0:34:28.079,0:34:35.919 +so let's talk about the character sheet + +0:34:33.919,0:34:38.000 +yeah + +0:34:35.919,0:34:39.839 +so the character sheet was our first big + +0:34:38.000,0:34:42.560 +uh repurposing + +0:34:39.839,0:34:44.159 +of the engine that we couldn't do uh the + +0:34:42.560,0:34:49.839 +battle board program + +0:34:44.159,0:34:49.839 +that uh let's see if that runs now too + +0:34:53.599,0:34:57.359 +uh it's not interactive if it does + +0:35:00.880,0:35:03.839 +good + +0:35:04.960,0:35:07.119 +no + +0:35:08.480,0:35:13.040 +try let cemex guess no joy all right i'm + +0:35:11.760,0:35:14.079 +not sure what's up with the battle board + +0:35:13.040,0:35:15.280 +eric + +0:35:14.079,0:35:17.119 +we haven't messed with that one for a + +0:35:15.280,0:35:18.880 +while in fact um + +0:35:17.119,0:35:21.040 +we had discussed using its code as an + +0:35:18.880,0:35:22.640 +example so maybe we'll debug it with you + +0:35:21.040,0:35:25.359 +um i'll certainly check for questions + +0:35:22.640,0:35:28.079 +first um + +0:35:25.359,0:35:31.280 +the uh so the character sheet which is + +0:35:28.079,0:35:34.800 +not scaling ideally here + +0:35:31.280,0:35:34.800 +see if reloading it does anything + +0:35:35.680,0:35:40.960 +nope not as far as i can tell assuming + +0:35:39.440,0:35:42.800 +you don't have this scale implemented + +0:35:40.960,0:35:44.960 +for character sheet + +0:35:42.800,0:35:46.800 +that's right there's everything in scale + +0:35:44.960,0:35:49.599 +it take in order to get what you were + +0:35:46.800,0:35:49.599 +looking at there + +0:35:54.079,0:36:02.240 +all right this uh + +0:35:58.640,0:36:05.440 +this whole thing is hard-coded + +0:36:02.240,0:36:09.040 +basically to the gills except + +0:36:05.440,0:36:10.640 +for things like this this program + +0:36:09.040,0:36:11.040 +represents a re-implementation of the + +0:36:10.640,0:36:14.880 +draw + +0:36:11.040,0:36:18.640 +engine using um all of the same things + +0:36:14.880,0:36:18.640 +let's see that's selected so + +0:36:19.599,0:36:23.119 +uh we'll just try bringing up a map + +0:36:21.680,0:36:26.320 +again + +0:36:23.119,0:36:28.560 +there's one and you'll notice um dm + +0:36:26.320,0:36:29.839 +map doesn't know anything about the new + +0:36:28.560,0:36:31.599 +draw engine + +0:36:29.839,0:36:33.520 +and there are a couple of places where + +0:36:31.599,0:36:36.480 +the new draw engine is still + +0:36:33.520,0:36:37.440 +hooked in to the s for example + +0:36:36.480,0:36:39.680 +particularly + +0:36:37.440,0:36:41.119 +the sizing of the graph paper background + +0:36:39.680,0:36:44.240 +so i've started the work + +0:36:41.119,0:36:47.040 +in dmdraw.el + +0:36:44.240,0:36:47.440 +of trying to show how exactly we did + +0:36:47.040,0:36:50.160 +this + +0:36:47.440,0:36:51.760 +removing the how did we get data out of + +0:36:50.160,0:36:53.280 +org mode that i talked about yesterday + +0:36:51.760,0:36:56.480 +with our etl flows + +0:36:53.280,0:36:58.960 +and just focusing on + +0:36:56.480,0:37:00.160 +how did we solve the problem of + +0:36:58.960,0:37:01.839 +predicated drawing + +0:37:00.160,0:37:05.200 +which i realized we didn't really talk + +0:37:01.839,0:37:07.760 +about so should i jump into that + +0:37:05.200,0:37:09.280 +yeah i guess uh how are we on time we + +0:37:07.760,0:37:11.359 +have time for detours + +0:37:09.280,0:37:12.800 +um yeah it looks like we could spend two + +0:37:11.359,0:37:15.599 +or three minutes on that and then + +0:37:12.800,0:37:17.680 +uh come back for the questions cool do + +0:37:15.599,0:37:20.480 +it + +0:37:17.680,0:37:20.800 +and i'm just gonna peek into my org mode + +0:37:20.480,0:37:23.200 +by + +0:37:20.800,0:37:24.960 +into my chat conference and i don't see + +0:37:23.200,0:37:25.520 +anybody talking to me from the organizer + +0:37:24.960,0:37:26.560 +channel + +0:37:25.520,0:37:28.800 +so i'm going to assume that's a good + +0:37:26.560,0:37:32.079 +guess + +0:37:28.800,0:37:34.160 +um all right so let's let's go ahead and + +0:37:32.079,0:37:37.760 +play with the map a little then that is + +0:37:34.160,0:37:39.440 +uh pretty fun and and uh so much fun + +0:37:37.760,0:37:41.760 +that we had to curtail play sessions in + +0:37:39.440,0:37:44.000 +order to keep working on the project + +0:37:41.760,0:37:44.000 +um + +0:37:45.119,0:37:51.839 +so uh i'll + +0:37:48.480,0:37:55.920 +i'll do the + +0:37:51.839,0:37:59.839 +um we'll try to find something different + +0:37:55.920,0:37:59.839 +from any gif i've shared here right + +0:38:01.040,0:38:05.760 +so here we are in a random go ahead eric + +0:38:03.359,0:38:08.240 +you phil + +0:38:05.760,0:38:10.000 +oh okay so what what what corwin is + +0:38:08.240,0:38:13.359 +doing here is he's about to put the + +0:38:10.000,0:38:16.800 +the map into play mode um + +0:38:13.359,0:38:19.920 +which is going to turn on the fog of war + +0:38:16.800,0:38:23.040 +and then we're gonna use + +0:38:19.920,0:38:24.560 +the fog of war and the the play mode to + +0:38:23.040,0:38:26.240 +kind of reveal the map + +0:38:24.560,0:38:28.160 +one square at a time like we would + +0:38:26.240,0:38:29.920 +during a play session + +0:38:28.160,0:38:31.280 +so we'll just drop the party randomly + +0:38:29.920,0:38:33.839 +somewhere onto this map + +0:38:31.280,0:38:36.079 +looks like we're on alpha maze level + +0:38:33.839,0:38:38.800 +three here + +0:38:36.079,0:38:38.800 +and um + +0:38:40.800,0:38:50.480 +uh-oh then we'll walk around a little + +0:38:46.320,0:38:52.160 +okay there we go we're halfway there + +0:38:50.480,0:38:53.520 +i'll have to i'll have to do a full + +0:38:52.160,0:38:55.920 +redraw + +0:38:53.520,0:38:58.480 +uh the sketch the sketching stuff has + +0:38:55.920,0:39:00.240 +has has broken things here like i said + +0:38:58.480,0:39:01.599 +the two aren't separated once i run them + +0:39:00.240,0:39:03.520 +in the same instance they're not + +0:39:01.599,0:39:05.359 +predictable + +0:39:03.520,0:39:07.040 +okay so let me elaborate here when he + +0:39:05.359,0:39:10.560 +says the sketching stuff + +0:39:07.040,0:39:13.520 +the current um focus of our work is to + +0:39:10.560,0:39:14.320 +turn all of this map stuff we've got + +0:39:13.520,0:39:17.920 +into + +0:39:14.320,0:39:20.880 +a basically a wysiwyg map editor + +0:39:17.920,0:39:22.160 +where we can get into the tiles and + +0:39:20.880,0:39:24.480 +we'll be able to + +0:39:22.160,0:39:26.560 +select the tile and basically rubber + +0:39:24.480,0:39:29.680 +stamp it into a map + +0:39:26.560,0:39:30.000 +graphically and then save the map file + +0:39:29.680,0:39:33.280 +out + +0:39:30.000,0:39:36.720 +and load it back in later so that um + +0:39:33.280,0:39:38.480 +we're able to you know just pound out + +0:39:36.720,0:39:42.000 +these maps real fast + +0:39:38.480,0:39:43.200 +um using a graphical editor rather than + +0:39:42.000,0:39:45.440 +having to hand code + +0:39:43.200,0:39:47.839 +every symbol and every square of the + +0:39:45.440,0:39:47.839 +tables + +0:39:48.000,0:39:51.839 +so the process of doing that um + +0:39:52.960,0:39:56.720 +things are a mess we've got covers off + +0:39:54.800,0:39:58.720 +there's wires hanging out + +0:39:56.720,0:40:01.040 +um different stuff works on different + +0:39:58.720,0:40:01.040 +days + +0:40:03.119,0:40:07.119 +well i will say in our defense this is + +0:40:05.200,0:40:07.520 +exactly why we staged a complicated + +0:40:07.119,0:40:09.680 +thing + +0:40:07.520,0:40:11.119 +and uh probably we should have just gone + +0:40:09.680,0:40:14.160 +with that instead of + +0:40:11.119,0:40:17.760 +trying to give you uh the experience + +0:40:14.160,0:40:19.200 +of of of what it's like uh to use emacs + +0:40:17.760,0:40:21.359 +to do this which is + +0:40:19.200,0:40:23.280 +which is sort of the last minute thought + +0:40:21.359,0:40:25.119 +there and my apologies for that + +0:40:23.280,0:40:27.200 +if that's made it harder to follow the + +0:40:25.119,0:40:28.240 +thread let's check back now for + +0:40:27.200,0:40:30.000 +questions + +0:40:28.240,0:40:32.079 +and see if anybody wants to redirect at + +0:40:30.000,0:40:32.079 +all + +0:40:36.640,0:40:40.800 +so yep this so what you're looking at + +0:40:39.599,0:40:44.880 +all uses prog + +0:40:40.800,0:40:47.760 +pragmatic svg uh + +0:40:44.880,0:40:49.119 +svg generation uh for question number + +0:40:47.760,0:40:52.000 +four there have you played with + +0:40:49.119,0:40:55.119 +generating svgs pragmatically in emacs + +0:40:52.000,0:40:55.680 +that is what the maps are doing um in + +0:40:55.119,0:40:58.480 +terms + +0:40:55.680,0:41:00.400 +of uh uh we should have been maybe more + +0:40:58.480,0:41:01.680 +explicit about that we started hand + +0:41:00.400,0:41:05.119 +coding things and + +0:41:01.680,0:41:06.400 +once we got the idea of what the code + +0:41:05.119,0:41:09.359 +was going to look like + +0:41:06.400,0:41:10.000 +we switched to doing it programmatically + +0:41:09.359,0:41:12.880 +so + +0:41:10.000,0:41:14.640 +um we were going to open up maybe now if + +0:41:12.880,0:41:15.839 +we've got time we can get into the tile + +0:41:14.640,0:41:18.640 +set real quick + +0:41:15.839,0:41:20.560 +sure we definitely didn't do any of the + +0:41:18.640,0:41:23.040 +pathing slides and so now we've skipped + +0:41:20.560,0:41:25.040 +over some stuff we were going to present + +0:41:23.040,0:41:26.880 +yeah that's right we skipped a whole + +0:41:25.040,0:41:28.160 +bunch of slides and i can certainly uh + +0:41:26.880,0:41:30.640 +go back to them they're open here + +0:41:28.160,0:41:30.640 +obviously + +0:41:31.040,0:41:34.480 +um right i was just showing off the + +0:41:33.599,0:41:36.880 +sketching + +0:41:34.480,0:41:38.000 +tool uh briefly in that context but i + +0:41:36.880,0:41:40.000 +think you're right let's + +0:41:38.000,0:41:41.280 +we can jump over to the actually i + +0:41:40.000,0:41:42.000 +should finish with this now having + +0:41:41.280,0:41:45.119 +teased it + +0:41:42.000,0:41:47.119 +so let's do the same thing here ctrl h m + +0:41:45.119,0:41:48.560 +and you'll see in this case there are + +0:41:47.119,0:41:52.160 +very few keyboard + +0:41:48.560,0:41:55.359 +key bindings that are set up um even + +0:41:52.160,0:41:59.280 +this uh shift delete has a tera uh + +0:41:55.359,0:42:02.560 +or shift with uh + +0:41:59.280,0:42:05.680 +yeah control delete it would seem to be + +0:42:02.560,0:42:07.119 +so that has couple obvious bugs with it + +0:42:05.680,0:42:09.280 +right didn't pick it didn't pick up + +0:42:07.119,0:42:11.280 +those control points until i reused them + +0:42:09.280,0:42:13.760 +not clearing that stack + +0:42:11.280,0:42:14.480 +um and also should probably think about + +0:42:13.760,0:42:16.720 +whether + +0:42:14.480,0:42:18.400 +the origin should return and hey marking + +0:42:16.720,0:42:19.839 +that origin would be nice + +0:42:18.400,0:42:21.680 +so there's a tremendous amount to do + +0:42:19.839,0:42:24.400 +here this is just uh + +0:42:21.680,0:42:26.079 +showing that it is possible to use + +0:42:24.400,0:42:31.680 +essentially like a touch input + +0:42:26.079,0:42:35.119 +to um uh + +0:42:31.680,0:42:35.760 +yeah and then also we can switch over to + +0:42:35.119,0:42:39.040 +our place + +0:42:35.760,0:42:43.040 +tool and + +0:42:39.040,0:42:45.040 +um hopefully we can get a nice big menu + +0:42:43.040,0:42:48.000 +of all the tiles that eric prepared for + +0:42:45.040,0:42:48.000 +the game maps + +0:42:49.440,0:42:53.119 +uh that was probably a terrible choice + +0:42:51.680,0:42:55.839 +but there you have just a bit of + +0:42:53.119,0:42:55.839 +corridor right + +0:42:56.800,0:42:59.839 +that looks + +0:43:00.480,0:43:06.160 +uh and even the click yep and this this + +0:43:04.560,0:43:07.280 +glitch action here is the last thing i + +0:43:06.160,0:43:08.079 +was working on before i dropped + +0:43:07.280,0:43:10.079 +everything to + +0:43:08.079,0:43:13.839 +to build the decks that uh we will soon + +0:43:10.079,0:43:13.839 +share for this conference + +0:43:14.240,0:43:18.240 +so okay back to the tile sets + +0:43:19.680,0:43:23.440 +right so the way we approached drawing + +0:43:22.160,0:43:25.200 +it programmatically + +0:43:23.440,0:43:27.280 +is we broke our code up into little + +0:43:25.200,0:43:29.280 +snippets we called tiles + +0:43:27.280,0:43:32.160 +um corman's going to open up the tile + +0:43:29.280,0:43:35.280 +set here basically each tile has a name + +0:43:32.160,0:43:37.920 +and then with that name we place data + +0:43:35.280,0:43:40.640 +into different layers of the image + +0:43:37.920,0:43:41.280 +some of the layers are just svg paths + +0:43:40.640,0:43:44.880 +and + +0:43:41.280,0:43:47.920 +the data is just svg commands + +0:43:44.880,0:43:50.960 +like we saw in that handwritten code and + +0:43:47.920,0:43:54.160 +some of it is compositions of other + +0:43:50.960,0:43:56.160 +tiles so a tile can be made up of other + +0:43:54.160,0:43:58.000 +tiles + +0:43:56.160,0:43:59.599 +furthermore some of these tiles have + +0:43:58.000,0:44:02.319 +conditional code in it + +0:43:59.599,0:44:02.720 +where like some of this stuff is talking + +0:44:02.319,0:44:06.560 +about + +0:44:02.720,0:44:08.079 +elf and bang elf so the map is going to + +0:44:06.560,0:44:09.440 +be drawn differently depending + +0:44:08.079,0:44:11.200 +on whether or not there's elves in the + +0:44:09.440,0:44:16.880 +party + +0:44:11.200,0:44:18.240 +um so and that's the demo they broke + +0:44:16.880,0:44:20.000 +the engine has to make all those + +0:44:18.240,0:44:21.599 +decisions um + +0:44:20.000,0:44:23.280 +and that's what we're calling predicated + +0:44:21.599,0:44:25.200 +drawing oh there's a + +0:44:23.280,0:44:26.480 +special room here do you have any elves + +0:44:25.200,0:44:31.440 +you do so i draw + +0:44:26.480,0:44:31.440 +there is elf's way um + +0:44:32.880,0:44:36.319 +yeah so we built up the set of tiles and + +0:44:35.839,0:44:39.920 +then + +0:44:36.319,0:44:43.760 +um we basically made map files which + +0:44:39.920,0:44:47.839 +take um our map and break it up into xy + +0:44:43.760,0:44:50.240 +grids and then we drop these tiles into + +0:44:47.839,0:44:52.000 +positions on the map so we can use the + +0:44:50.240,0:44:52.480 +same tile square after square after + +0:44:52.000,0:44:54.720 +square + +0:44:52.480,0:44:55.680 +when there's a corridor north south it's + +0:44:54.720,0:44:59.119 +the same tile + +0:44:55.680,0:45:02.400 +over and over again and that makes it + +0:44:59.119,0:45:05.839 +easy to reuse the code and then also + +0:45:02.400,0:45:05.839 +when uh + +0:45:05.920,0:45:10.319 +when we go to present um the + +0:45:10.560,0:45:15.839 +what am i trying to say the the drawing + +0:45:13.520,0:45:18.000 +in in fog of war mode as we move down + +0:45:15.839,0:45:20.640 +the corridor we can just add the + +0:45:18.000,0:45:23.440 +necessary code one bit at a time to the + +0:45:20.640,0:45:24.960 +visible image so that what we're + +0:45:23.440,0:45:27.359 +displaying doesn't contain + +0:45:24.960,0:45:30.160 +any data except what the party has + +0:45:27.359,0:45:30.160 +already discovered + +0:45:30.240,0:45:34.400 +and thus we have kind of spoiler rich + +0:45:32.319,0:45:37.359 +documents sitting on the gm + +0:45:34.400,0:45:38.400 +server and then less you know and + +0:45:37.359,0:45:41.440 +spoiler-free + +0:45:38.400,0:45:44.000 +data that flows down to the org mode uh + +0:45:41.440,0:45:47.040 +files on the player system and the only + +0:45:44.000,0:45:50.160 +real challenge is making sure that the + +0:45:47.040,0:45:50.960 +the nothing that the game does can mess + +0:45:50.160,0:45:54.480 +with the + +0:45:50.960,0:45:55.280 +the the users the the players data file + +0:45:54.480,0:45:57.680 +in case they + +0:45:55.280,0:46:00.160 +might have their own notes and things in + +0:45:57.680,0:46:05.359 +it that that would be the one + +0:46:00.160,0:46:05.359 +uh you know number one thing to avoid + +0:46:06.160,0:46:09.680 +another thing we can talk about here is + +0:46:08.000,0:46:11.839 +that there are layers + +0:46:09.680,0:46:13.520 +you can see this table at the bottom has + +0:46:11.839,0:46:15.119 +tile and overlay + +0:46:13.520,0:46:17.040 +the overlay column is just going to + +0:46:15.119,0:46:20.800 +contain some actual svg + +0:46:17.040,0:46:21.599 +xml style tags um so that's where we can + +0:46:20.800,0:46:25.359 +add whatever + +0:46:21.599,0:46:26.720 +text elements or other svg like raw svg + +0:46:25.359,0:46:28.880 +tags we want + +0:46:26.720,0:46:30.560 +whereas a lot of the other layers are + +0:46:28.880,0:46:32.960 +going to be like path layers we've got + +0:46:30.560,0:46:35.359 +water layers and beach layers + +0:46:32.960,0:46:37.680 +and our plan was to have a style sheet + +0:46:35.359,0:46:38.720 +that defines how each of those layers + +0:46:37.680,0:46:40.720 +are represented + +0:46:38.720,0:46:42.160 +so like when the water gets drawn blue + +0:46:40.720,0:46:45.520 +and it's got arrows on it + +0:46:42.160,0:46:47.680 +giving it direction um all of that + +0:46:45.520,0:46:49.200 +can be customized with a style sheet to + +0:46:47.680,0:46:51.200 +change the water to be + +0:46:49.200,0:46:52.960 +whatever you want and like we have + +0:46:51.200,0:46:54.319 +beaches as yellow but maybe you like + +0:46:52.960,0:46:57.359 +beaches as red or + +0:46:54.319,0:47:01.200 +you know whatever so we also built + +0:46:57.359,0:47:04.079 +some test programs um + +0:47:01.200,0:47:05.359 +and various of the i'm not not sure what + +0:47:04.079,0:47:07.040 +kind of shape we're gonna find these in + +0:47:05.359,0:47:10.640 +but we can try running them + +0:47:07.040,0:47:12.960 +um here for example is just a + +0:47:10.640,0:47:15.119 +very basic all of using a saint using + +0:47:12.960,0:47:18.560 +the same file to define + +0:47:15.119,0:47:24.880 +the tiles and and then + +0:47:18.560,0:47:26.640 +the layout so to speak oh look at that + +0:47:24.880,0:47:28.960 +uh there's the layout okay so that + +0:47:26.640,0:47:30.960 +actually looks fine tile + +0:47:28.960,0:47:32.400 +and it's pat so this is defining a tile + +0:47:30.960,0:47:35.440 +named seas + +0:47:32.400,0:47:38.720 +and uh it's gonna have a list of tiles + +0:47:35.440,0:47:41.839 +defined above um and you'll notice also + +0:47:38.720,0:47:44.559 +that we can just sort of freely define + +0:47:41.839,0:47:46.160 +and redefine and it sort of figures out + +0:47:44.559,0:47:50.839 +oh this must still be part of the b + +0:47:46.160,0:47:53.839 +row um we could also have done + +0:47:50.839,0:47:53.839 +this + +0:48:00.000,0:48:07.839 +okay so this would this would work as + +0:48:02.160,0:48:07.839 +would this + +0:48:08.480,0:48:12.720 +one of uh early on in development when + +0:48:11.599,0:48:14.400 +we were talking about + +0:48:12.720,0:48:15.839 +getting data in and out of these org + +0:48:14.400,0:48:19.440 +tables it + +0:48:15.839,0:48:22.319 +was kind of a priority to us to + +0:48:19.440,0:48:23.040 +leave the way the data is organized open + +0:48:22.319,0:48:26.960 +to + +0:48:23.040,0:48:30.720 +the users and to the dungeon masters so + +0:48:26.960,0:48:32.559 +while we set our tile set apart from our + +0:48:30.720,0:48:35.440 +map sets + +0:48:32.559,0:48:38.319 +this clearly shows that you can cram a + +0:48:35.440,0:48:41.040 +tile set and a map into a single file + +0:48:38.319,0:48:43.040 +so in situations like the surface where + +0:48:41.040,0:48:43.760 +we're using different tiles from other + +0:48:43.040,0:48:46.559 +maps + +0:48:43.760,0:48:48.079 +maybe it makes sense to move you know + +0:48:46.559,0:48:50.559 +those tiles just into the file + +0:48:48.079,0:48:52.400 +with your map or like it's hard for us + +0:48:50.559,0:48:54.319 +to predict how other people are going to + +0:48:52.400,0:48:55.119 +want to use this when they design their + +0:48:54.319,0:48:57.359 +games + +0:48:55.119,0:48:58.160 +so we wanted to leave it as versatile as + +0:48:57.359,0:49:01.599 +possible + +0:48:58.160,0:49:02.640 +about how you can use it where it + +0:49:01.599,0:49:04.319 +matters right + +0:49:02.640,0:49:05.920 +not support every feature in the world i + +0:49:04.319,0:49:07.280 +can't count the number of times i said + +0:49:05.920,0:49:09.200 +eric eric eric + +0:49:07.280,0:49:10.800 +hey if we do it like this people will be + +0:49:09.200,0:49:14.000 +able and he just like + +0:49:10.800,0:49:14.480 +does it have to do that do we do we does + +0:49:14.000,0:49:17.920 +it like + +0:49:14.480,0:49:19.599 +do we need it right away uh + +0:49:17.920,0:49:21.040 +do you have to really rewrite everything + +0:49:19.599,0:49:24.160 +so it can all do that + +0:49:21.040,0:49:26.880 +and uh a lot of those + +0:49:24.160,0:49:28.240 +a lot of those conversations too but the + +0:49:26.880,0:49:31.200 +the key flexibilities + +0:49:28.240,0:49:32.559 +are really there people might want to + +0:49:31.200,0:49:34.160 +use a lot of different files they might + +0:49:32.559,0:49:35.760 +want to lay the tables out however they + +0:49:34.160,0:49:37.440 +want they have to be able to say hey + +0:49:35.760,0:49:39.440 +this is a table that has + +0:49:37.440,0:49:40.720 +data that's controlled by the game and + +0:49:39.440,0:49:44.079 +everything else in the file + +0:49:40.720,0:49:45.920 +is not the game's problem + +0:49:44.079,0:49:47.440 +on our table some of our tables started + +0:49:45.920,0:49:48.960 +getting really wide so we started + +0:49:47.440,0:49:51.119 +striping the tables + +0:49:48.960,0:49:52.640 +where we'll repeat the same table over + +0:49:51.119,0:49:56.400 +and over and over again to + +0:49:52.640,0:49:59.119 +get all of the columns in there without + +0:49:56.400,0:49:59.599 +making it you know a million miles wide + +0:49:59.119,0:50:01.040 +yeah + +0:49:59.599,0:50:02.640 +do you want to should i go ahead and + +0:50:01.040,0:50:06.079 +pull open like a level here + +0:50:02.640,0:50:08.319 +do you think sure just to have shown it + +0:50:06.079,0:50:09.680 +the aisle set's a great example of + +0:50:08.319,0:50:11.119 +striped tables if you + +0:50:09.680,0:50:13.839 +look down like in the level change + +0:50:11.119,0:50:13.839 +feature oh sure + +0:50:18.800,0:50:22.400 +sorry i'm not quite sitting well to my + +0:50:20.240,0:50:27.839 +keyboard here i can just readjust things + +0:50:22.400,0:50:27.839 +real quick + +0:50:30.079,0:50:35.200 +so what you know you can see here + +0:50:33.280,0:50:36.800 +like some of these tables got real wide + +0:50:35.200,0:50:40.559 +when we're stuffing svg + +0:50:36.800,0:50:44.160 +tags into them and what we + +0:50:40.559,0:50:49.359 +oh maybe it's not in these + +0:50:44.160,0:50:49.359 +i thought it was + +0:50:50.079,0:50:54.240 +special probably yeah no there it is + +0:50:52.960,0:50:56.000 +yeah + +0:50:54.240,0:50:58.720 +it was in level change it does the table + +0:50:56.000,0:51:00.640 +can you repeat okay great + +0:50:58.720,0:51:01.920 +up and down so fast i didn't realize so + +0:51:00.640,0:51:05.680 +this first table + +0:51:01.920,0:51:08.800 +we've got path and what is that stairs + +0:51:05.680,0:51:10.079 +so the stairs level is one that draws in + +0:51:08.800,0:51:11.920 +like a pink color + +0:51:10.079,0:51:13.440 +to highlight the places where you can + +0:51:11.920,0:51:15.200 +change level + +0:51:13.440,0:51:17.200 +and then if we scroll down to the second + +0:51:15.200,0:51:19.359 +half of this section + +0:51:17.200,0:51:20.960 +the second table is going to have all of + +0:51:19.359,0:51:22.800 +these same tiles in it but + +0:51:20.960,0:51:24.720 +instead of path and stairs we're going + +0:51:22.800,0:51:27.920 +to have other + +0:51:24.720,0:51:31.200 +columns can we + +0:51:27.920,0:51:31.200 +see the next table + +0:51:31.680,0:51:35.359 +there we go so the same tiles only here + +0:51:33.839,0:51:38.720 +we've got overlay + +0:51:35.359,0:51:40.319 +documentation and behavior and i guess + +0:51:38.720,0:51:41.839 +we haven't talked about this at all the + +0:51:40.319,0:51:44.880 +behavior column + +0:51:41.839,0:51:47.359 +was our concept of a way that we could + +0:51:44.880,0:51:47.359 +attach + +0:51:47.520,0:51:51.359 +functions basically to these different + +0:51:49.680,0:51:54.720 +areas of the map + +0:51:51.359,0:51:57.760 +because sometimes when you enter an area + +0:51:54.720,0:51:59.920 +we want it to do something like + +0:51:57.760,0:52:02.319 +when you enter a stairs down maybe we + +0:51:59.920,0:52:04.559 +want it to change to the next level + +0:52:02.319,0:52:06.160 +and draw the stairs up behind you and + +0:52:04.559,0:52:09.200 +draw you where you are + +0:52:06.160,0:52:11.040 +on the next level so + +0:52:09.200,0:52:12.240 +these are like hooks where we could + +0:52:11.040,0:52:16.400 +attach functions + +0:52:12.240,0:52:18.480 +or you know macros or whatever to + +0:52:16.400,0:52:22.079 +make the map have these behaviors as we + +0:52:18.480,0:52:22.079 +get further towards automation + +0:52:23.440,0:52:30.839 +cool um so that's that + +0:52:26.559,0:52:33.920 +should be pretty close to our time + +0:52:30.839,0:52:36.880 +um questions or just say goodbye + +0:52:33.920,0:52:38.559 +um yeah so there's the i'm sorry we + +0:52:36.880,0:52:40.000 +couldn't show it earlier there is the + +0:52:38.559,0:52:44.240 +battle board + +0:52:40.000,0:52:48.079 +um and so this is used just to keep + +0:52:44.240,0:52:49.319 +track of hit points so with this example + +0:52:48.079,0:52:51.680 +battle board + +0:52:49.319,0:52:53.760 +dmbattleboard.el there's there's a + +0:52:51.680,0:52:57.200 +complete example of not only + +0:52:53.760,0:53:00.480 +in a single file repub filling out the + +0:52:57.200,0:53:00.960 +the cells and the tiles but then coming + +0:53:00.480,0:53:04.640 +in + +0:53:00.960,0:53:05.280 +and keeping the org mode file in sync + +0:53:04.640,0:53:09.040 +with + +0:53:05.280,0:53:12.319 +with clicks so and i can press the star + +0:53:09.040,0:53:15.359 +key and set my damage to -1 and + +0:53:12.319,0:53:16.400 +take the damage back off i just haven't + +0:53:15.359,0:53:18.079 +spent a lot of time + +0:53:16.400,0:53:20.800 +building up fancy bindings for this + +0:53:18.079,0:53:23.119 +you'll also find that the crew + +0:53:20.800,0:53:23.839 +probably find how i figure out what was + +0:53:23.119,0:53:26.880 +clicked on + +0:53:23.839,0:53:28.000 +in the code hard but if i just assign + +0:53:26.880,0:53:32.960 +something recognizable + +0:53:28.000,0:53:32.960 +for damage and then come into + +0:53:33.520,0:53:37.040 +it will now have opened the org mode + +0:53:35.440,0:53:39.680 +file behind the scenes because it's + +0:53:37.040,0:53:39.680 +changing it + +0:53:41.280,0:53:47.599 +and we can then look at that file a + +0:53:44.640,0:53:51.040 +little bit and hopefully + +0:53:47.599,0:53:53.440 +that is un + +0:53:51.040,0:53:55.520 +uh large enough you can kind of see + +0:53:53.440,0:53:59.119 +there's our 17 damage landed + +0:53:55.520,0:54:01.200 +in armor the logic that sits behind that + +0:53:59.119,0:54:06.240 +to figure out the part of the screen + +0:54:01.200,0:54:06.240 +is not necessarily our finest work + +0:54:08.880,0:54:12.319 +uh uh but it but it does work and it's + +0:54:11.839,0:54:14.000 +one for + +0:54:12.319,0:54:15.920 +the stuff was used on the map a little + +0:54:14.000,0:54:17.520 +bit too we didn't really need to show + +0:54:15.920,0:54:19.680 +that in the demo but as you're scrolling + +0:54:17.520,0:54:22.960 +around there's like a highlighter + +0:54:19.680,0:54:24.720 +um that that you know we were drawing on + +0:54:22.960,0:54:26.160 +shaft to show you which square you've + +0:54:24.720,0:54:28.800 +got selected + +0:54:26.160,0:54:29.839 +um because we were having trouble with + +0:54:28.800,0:54:31.280 +that code + +0:54:29.839,0:54:34.160 +initially and we were sometimes + +0:54:31.280,0:54:34.160 +revealing the wrong + +0:54:36.839,0:54:40.480 +okay + +0:54:38.720,0:54:42.160 +and i don't know how we're set for time + +0:54:40.480,0:54:44.400 +but i just saw a message + +0:54:42.160,0:54:46.480 +um from trixie that she could jump on if + +0:54:44.400,0:54:47.920 +we want her oh that would be amazing + +0:54:46.480,0:54:51.520 +yeah go ahead and invite her in i'll + +0:54:47.920,0:54:51.520 +just cut to the scene as soon as she's + +0:54:51.680,0:54:56.799 +i in uh yeah so we're reaching the ask + +0:54:56.160,0:54:58.960 +me any + +0:54:56.799,0:55:01.200 +anything uh portion of the program here + +0:54:58.960,0:55:02.559 +with what uh with what time we have left + +0:55:01.200,0:55:05.200 +for your questions + +0:55:02.559,0:55:06.160 +um please correct me if we're still like + +0:55:05.200,0:55:08.799 +10 minutes + +0:55:06.160,0:55:10.000 +you know if we're if we're more than + +0:55:08.799,0:55:12.640 +like + +0:55:10.000,0:55:13.760 +15 to 20 minutes from our time but i i + +0:55:12.640,0:55:16.640 +suspect we've less weight + +0:55:13.760,0:55:17.440 +left way less than that and out of + +0:55:16.640,0:55:21.839 +respect for + +0:55:17.440,0:55:21.839 +all the other presenters um + +0:55:24.319,0:55:30.640 +oh i don't want to close that actually + +0:55:28.720,0:55:32.839 +i think i may have found an old version + +0:55:30.640,0:55:35.200 +of my slides that could have some good + +0:55:32.839,0:55:36.799 +stuff + +0:55:35.200,0:55:38.799 +it's been an event for a couple of weeks + +0:55:36.799,0:55:41.359 +here i had a break in and uh + +0:55:38.799,0:55:43.599 +my somebody got into our bank accounts + +0:55:41.359,0:55:46.880 +and + +0:55:43.599,0:55:50.079 +nasty business just a lot going on over + +0:55:46.880,0:55:50.079 +over this whole year i think + +0:55:50.720,0:55:53.839 +do we have more questions to shag or + +0:55:53.040,0:55:56.960 +where + +0:55:53.839,0:55:58.799 +sure so i think + +0:55:56.960,0:56:01.040 +there was at least one we deferred a + +0:55:58.799,0:56:03.839 +little bit uh what the game + +0:56:01.040,0:56:03.839 +is + +0:56:05.040,0:56:08.400 +uh always eight characters that can be + +0:56:06.799,0:56:10.000 +divided right that's so always eight + +0:56:08.400,0:56:12.160 +characters that can be divided between + +0:56:10.000,0:56:14.319 +the party is the classic formula + +0:56:12.160,0:56:16.240 +it actually works pretty well for a + +0:56:14.319,0:56:17.760 +conversational group remember that + +0:56:16.240,0:56:18.480 +role-playing games are about talking to + +0:56:17.760,0:56:20.000 +each other + +0:56:18.480,0:56:22.079 +and being good at them is about taking + +0:56:20.000,0:56:23.200 +excellent notes so + +0:56:22.079,0:56:24.559 +when you're sitting around with a group + +0:56:23.200,0:56:25.920 +of people and you're going to have to + +0:56:24.559,0:56:26.880 +wait for them while they dig through + +0:56:25.920,0:56:28.720 +their notes + +0:56:26.880,0:56:30.319 +and listen to all of the things they + +0:56:28.720,0:56:32.240 +find interesting to say + +0:56:30.319,0:56:34.160 +and try to reach an imaginative place + +0:56:32.240,0:56:36.160 +that you can stay together + +0:56:34.160,0:56:38.319 +while you're doing all that and working + +0:56:36.160,0:56:40.880 +in dice and remembering the rules + +0:56:38.319,0:56:43.200 +it's actually a complicated activity i + +0:56:40.880,0:56:46.240 +liken it more to a bridge game + +0:56:43.200,0:56:48.960 +than to like uh + +0:56:46.240,0:56:51.359 +you know parcheesi or perhaps even like + +0:56:48.960,0:56:52.160 +risk or access and allies or other games + +0:56:51.359,0:56:54.319 +that + +0:56:52.160,0:56:56.160 +have have definitely the strategy to + +0:56:54.319,0:56:59.839 +them but + +0:56:56.160,0:56:59.839 +i don't eric your thoughts + +0:57:00.160,0:57:06.640 +yeah i mean i think that's fair um + +0:57:03.920,0:57:08.160 +you know yes definitely the the + +0:57:06.640,0:57:09.440 +tradition is to always have eight + +0:57:08.160,0:57:12.079 +characters in the party + +0:57:09.440,0:57:13.760 +and you know one of the great things + +0:57:12.079,0:57:15.200 +about dungeon is that everybody who + +0:57:13.760,0:57:18.000 +writes their own dungeon + +0:57:15.200,0:57:19.440 +gets to write their own rules and is + +0:57:18.000,0:57:21.760 +free to change whatever + +0:57:19.440,0:57:22.720 +you want and that being said i've + +0:57:21.760,0:57:25.839 +certainly seen + +0:57:22.720,0:57:28.079 +people try to take on challenging that + +0:57:25.839,0:57:30.640 +always eight characters in a party + +0:57:28.079,0:57:32.640 +thing um i've seen people take + +0:57:30.640,0:57:34.640 +approaches like every player gets two + +0:57:32.640,0:57:36.319 +characters and then you can have a party + +0:57:34.640,0:57:38.079 +ranging from two to ten + +0:57:36.319,0:57:40.000 +or there's always going to be ten or + +0:57:38.079,0:57:43.200 +there's you know this or that or people + +0:57:40.000,0:57:45.280 +have um tried stuff and none of it has + +0:57:43.200,0:57:45.839 +really worked out very satisfactorily we + +0:57:45.280,0:57:48.319 +always + +0:57:45.839,0:57:49.680 +seem to keep coming back to our um party + +0:57:48.319,0:57:54.160 +of eight + +0:57:49.680,0:57:55.839 +yeah it's i i i i it's one of the things + +0:57:54.160,0:57:57.359 +dungeon that you can't change when you + +0:57:55.839,0:57:58.720 +write your own dungeon + +0:57:57.359,0:58:00.960 +and that's the reason it's so + +0:57:58.720,0:58:03.119 +complicated as a as a software + +0:58:00.960,0:58:04.559 +project why it's taken us decades + +0:58:03.119,0:58:08.000 +because + +0:58:04.559,0:58:11.280 +trying to model the data for example or + +0:58:08.000,0:58:14.160 +really any attempt to + +0:58:11.280,0:58:15.680 +quantify it in specific terms always + +0:58:14.160,0:58:18.880 +falls to examples + +0:58:15.680,0:58:22.079 +well you know dungeons usually have + +0:58:18.880,0:58:25.280 +elves dwarves and humans they have uh + +0:58:22.079,0:58:27.599 +priests wizards and warriors uh they + +0:58:25.280,0:58:30.000 +have eight characters in the party + +0:58:27.599,0:58:31.680 +the bell rocks are particularly nasty + +0:58:30.000,0:58:35.119 +and live in a room of some + +0:58:31.680,0:58:38.319 +specific shape um spoilers + +0:58:35.119,0:58:39.520 +uh right and we don't tell you the rules + +0:58:38.319,0:58:40.960 +and that's what you know + +0:58:39.520,0:58:42.640 +and you sit down at the table and you + +0:58:40.960,0:58:44.480 +say what's your character name and + +0:58:42.640,0:58:48.400 +what's your special power + +0:58:44.480,0:58:51.599 +and and then i say uh i + +0:58:48.400,0:58:53.839 +i i'm zelda and uh + +0:58:51.599,0:58:56.000 +i i have this bridge that i can put down + +0:58:53.839,0:58:59.040 +that always gets me across the river + +0:58:56.000,0:58:59.359 +um so let's touch on special power real + +0:58:59.040,0:59:01.119 +quick + +0:58:59.359,0:59:03.280 +since that's one of the things that is + +0:59:01.119,0:59:06.160 +kind of unique to dungeon + +0:59:03.280,0:59:06.720 +and one of the things that is the + +0:59:06.160,0:59:08.960 +biggest + +0:59:06.720,0:59:10.240 +challenge to us in trying to code a + +0:59:08.960,0:59:13.200 +system like this for + +0:59:10.240,0:59:14.319 +automated play and that's that every + +0:59:13.200,0:59:17.119 +character gets a + +0:59:14.319,0:59:18.000 +unique special power and traditionally + +0:59:17.119,0:59:19.520 +you negotiate + +0:59:18.000,0:59:21.839 +your special power with the dungeon + +0:59:19.520,0:59:24.079 +master when you create your character + +0:59:21.839,0:59:25.839 +and occasionally throughout the course + +0:59:24.079,0:59:27.359 +of the character's life their special + +0:59:25.839,0:59:29.920 +power might change + +0:59:27.359,0:59:33.280 +due to game circumstances usually it + +0:59:29.920,0:59:34.960 +improves but sometimes not + +0:59:33.280,0:59:36.960 +uh and that's those are the most fun + +0:59:34.960,0:59:39.440 +conversations right sometimes we have + +0:59:36.960,0:59:41.760 +fun gaming sessions where we barely get + +0:59:39.440,0:59:43.680 +all the characters created and started + +0:59:41.760,0:59:45.440 +because we get off into arguing about + +0:59:43.680,0:59:48.319 +the special powers no zelda special + +0:59:45.440,0:59:52.079 +powers obviously the candle come on + +0:59:48.319,0:59:52.079 +also that was link not zelda + +0:59:53.359,1:00:01.440 +i still have my t-shirt hey there she is + +0:59:56.240,1:00:05.839 +let's cut scene + +1:00:01.440,1:00:07.359 +you get video fun filters today because + +1:00:05.839,1:00:08.799 +that's what we got going on over here + +1:00:07.359,1:00:15.839 +today all right i'm gonna recut + +1:00:08.799,1:00:15.839 +everybody hang on tight + +1:00:18.079,1:00:23.200 +all right there's eric this is gonna be + +1:00:20.799,1:00:25.200 +eric for a second hope + +1:00:23.200,1:00:27.440 +no worries and welcome to the welcome to + +1:00:25.200,1:00:30.960 +the stream uh trixie horror + +1:00:27.440,1:00:32.720 +uh who is + +1:00:30.960,1:00:34.559 +uh one of our project team members + +1:00:32.720,1:00:35.440 +somebody who's learning emacs as part of + +1:00:34.559,1:00:38.480 +the project + +1:00:35.440,1:00:40.720 +and um yeah i + +1:00:38.480,1:00:42.160 +i i particularly wanted to invite you on + +1:00:40.720,1:00:44.319 +to talk about your experience learning + +1:00:42.160,1:00:46.079 +emacs i think you have run into + +1:00:44.319,1:00:47.839 +places where it's a pain in the butt to + +1:00:46.079,1:00:56.000 +learn emacs and that this is a safe + +1:00:47.839,1:00:58.960 +space to talk about that + +1:00:56.000,1:01:00.640 +jump into that by saying um the emacs + +1:00:58.960,1:01:02.880 +cheat sheet + +1:01:00.640,1:01:03.680 +um i think it's the one that canoe puts + +1:01:02.880,1:01:07.680 +out + +1:01:03.680,1:01:09.440 +is a lifesaver um a little bit of a + +1:01:07.680,1:01:12.480 +vocabulary disconnect + +1:01:09.440,1:01:13.359 +like and this actually kind of comes up + +1:01:12.480,1:01:15.200 +a lot + +1:01:13.359,1:01:18.000 +in conversation with corona and eric and + +1:01:15.200,1:01:21.920 +i but copy paste versus + +1:01:18.000,1:01:24.480 +what yank and w + +1:01:21.920,1:01:24.480 +whatever w + +1:01:27.920,1:01:31.200 +why would you even do that to us right + +1:01:30.000,1:01:33.359 +where where were you + +1:01:31.200,1:01:38.480 +when zero's park happened no i i + +1:01:33.359,1:01:39.520 +understand that makes sense what else + +1:01:38.480,1:01:41.440 +i mean you don't have to sit here and + +1:01:39.520,1:01:43.119 +rag on emacs but we're here for that + +1:01:41.440,1:01:44.400 +that's all i'm saying + +1:01:43.119,1:01:46.799 +no i'm like that's been the biggest + +1:01:44.400,1:01:49.920 +thing like i'm + +1:01:46.799,1:01:52.319 +i'm used to like just kind of the + +1:01:49.920,1:01:53.839 +very binary nature like nope that didn't + +1:01:52.319,1:01:57.119 +work try something else + +1:01:53.839,1:01:59.200 +so as long as you're like willing to try + +1:01:57.119,1:02:02.880 +other stuff + +1:01:59.200,1:02:06.559 +like emacs will be fine so + +1:02:02.880,1:02:08.960 +it's a tough cookie i can take it + +1:02:06.559,1:02:11.119 +worst thing that happens is you have to + +1:02:08.960,1:02:13.520 +really install it + +1:02:11.119,1:02:16.799 +throw your ignite file that you + +1:02:13.520,1:02:16.799 +hopefully have a backup of + +1:02:19.920,1:02:24.640 +all right fine um are there more + +1:02:22.079,1:02:26.480 +questions in the hopper + +1:02:24.640,1:02:27.680 +yeah if anybody does have any questions + +1:02:26.480,1:02:29.839 +up there uh + +1:02:27.680,1:02:32.000 +for hope for eric or i so just to + +1:02:29.839,1:02:34.240 +summarize i've known eric + +1:02:32.000,1:02:36.160 +i've known eric my whole life i've known + +1:02:34.240,1:02:39.599 +hope around a decade we + +1:02:36.160,1:02:44.480 +worked together on a project for + +1:02:39.599,1:02:44.480 +uh for a science fiction convention yeah + +1:02:44.559,1:02:48.960 +we got conventions and then i also + +1:02:46.880,1:02:50.799 +helped with i just wrote a bio + +1:02:48.960,1:02:53.520 +so this should like all theoretically be + +1:02:50.799,1:02:53.520 +in my head right + +1:02:53.599,1:03:00.160 +i want i refer to my own bio + +1:02:58.079,1:03:02.640 +i'm the project coordinator for dungeon + +1:03:00.160,1:03:02.640 +mode + +1:03:10.799,1:03:16.400 +um that's nice + +1:03:14.000,1:03:18.000 +we've gotten a ton of support from a lot + +1:03:16.400,1:03:20.480 +of our lifelong friends people + +1:03:18.000,1:03:22.319 +and also people that we just met maybe + +1:03:20.480,1:03:25.039 +that's a that's a great segue + +1:03:22.319,1:03:26.400 +um do throw your questions in there i'm + +1:03:25.039,1:03:27.839 +gonna fill for just a second and then + +1:03:26.400,1:03:31.920 +we'll probably cut away + +1:03:27.839,1:03:31.920 +um but uh + +1:03:32.319,1:03:36.319 +uh i mean thematically actually that's + +1:03:34.960,1:03:37.200 +that's too abrupt so we need to go + +1:03:36.319,1:03:39.119 +around the room + +1:03:37.200,1:03:40.720 +eric you had hours and hours to rehearse + +1:03:39.119,1:03:41.359 +hope kind of jumped in on the last + +1:03:40.720,1:03:43.520 +minute + +1:03:41.359,1:03:46.319 +so let's let's is it okay to pick on you + +1:03:43.520,1:03:48.880 +or do you want me to give mine + +1:03:46.319,1:03:50.000 +uh to what are you asking me to do what + +1:03:48.880,1:03:51.359 +do you what do you want people to take + +1:03:50.000,1:03:54.240 +away from this talk + +1:03:51.359,1:03:55.280 +you know as we think about dungeon and + +1:03:54.240,1:03:57.520 +sharing it's + +1:03:55.280,1:03:58.799 +sharing its tradition as we think about + +1:03:57.520,1:04:02.799 +learning emacs + +1:03:58.799,1:04:04.880 +and like making that awesome um + +1:04:02.799,1:04:07.599 +and just you know generally what's up + +1:04:04.880,1:04:12.480 +with free software and trying to make + +1:04:07.599,1:04:15.200 +computers a tool to make people freer + +1:04:12.480,1:04:15.920 +wow that's like five questions yeah so + +1:04:15.200,1:04:18.960 +i'm gonna start + +1:04:15.920,1:04:22.240 +with jumping um i think + +1:04:18.960,1:04:25.359 +that dungeon is a lot of fun and + +1:04:22.240,1:04:27.599 +you know i'm i've played many + +1:04:25.359,1:04:28.480 +commercial role-playing games over the + +1:04:27.599,1:04:31.680 +years + +1:04:28.480,1:04:32.000 +and i've enjoyed all of them and there + +1:04:31.680,1:04:34.720 +are + +1:04:32.000,1:04:36.319 +very few of them that i've had as many + +1:04:34.720,1:04:40.160 +belly laughs and as much + +1:04:36.319,1:04:42.799 +just joy playing as from dungeon + +1:04:40.160,1:04:43.280 +and i think you know the magic of it is + +1:04:42.799,1:04:45.520 +you know + +1:04:43.280,1:04:47.200 +like any game like the real magic is the + +1:04:45.520,1:04:49.599 +people you play with and having fun with + +1:04:47.200,1:04:51.280 +your friends + +1:04:49.599,1:04:53.440 +and what i would hope that people can + +1:04:51.280,1:04:55.920 +take away from is that dungeon has the + +1:04:53.440,1:04:59.280 +ability to be that magical thing + +1:04:55.920,1:05:00.000 +and hopefully we can get our project to + +1:04:59.280,1:05:02.160 +the point + +1:05:00.000,1:05:04.960 +where it gets out of the way and lets + +1:05:02.160,1:05:07.200 +you have that fun with your friends + +1:05:04.960,1:05:08.240 +um but there's a lot of work to do we + +1:05:07.200,1:05:10.880 +could use some help + +1:05:08.240,1:05:14.480 +so if you're interested in having fun + +1:05:10.880,1:05:14.480 +come help us build this fun tool + +1:05:20.960,1:05:24.079 +all right so i just got the call that + +1:05:22.319,1:05:25.039 +we've got just about two to three + +1:05:24.079,1:05:28.160 +minutes left + +1:05:25.039,1:05:31.440 +and we should start our wrap-up + +1:05:28.160,1:05:34.240 +okay wrap up so + +1:05:31.440,1:05:35.920 +yeah um so i'll i'll see if i can charge + +1:05:34.240,1:05:38.480 +the room with some energy unless you're + +1:05:35.920,1:05:40.720 +ready to have at it hope + +1:05:38.480,1:05:42.799 +here here's here's what i want people to + +1:05:40.720,1:05:46.720 +take away + +1:05:42.799,1:05:46.720 +were you like no okay + +1:05:47.039,1:05:51.839 +i'm not getting your audio hope + +1:05:53.599,1:05:57.359 +it's okay on my end maybe i just need to + +1:05:55.839,1:05:58.880 +speak up + +1:05:57.359,1:06:00.640 +is this better let me know when i'm + +1:05:58.880,1:06:01.680 +coming through yeah you're coming + +1:06:00.640,1:06:05.359 +through now + +1:06:01.680,1:06:08.799 +okay cool oh no i + +1:06:05.359,1:06:10.559 +was gonna say go ahead i didn't okay + +1:06:08.799,1:06:12.880 +i mean i i don't know that i know what i + +1:06:10.559,1:06:13.599 +want to say either except a whole ton of + +1:06:12.880,1:06:16.480 +thank yous + +1:06:13.599,1:06:17.200 +so i will i will save those for the for + +1:06:16.480,1:06:20.880 +the literal + +1:06:17.200,1:06:24.160 +end here and instead + +1:06:20.880,1:06:27.839 +what i would say is as we build + +1:06:24.160,1:06:32.160 +our amazing innovations and + +1:06:27.839,1:06:35.119 +explore our ideas in emacs + +1:06:32.160,1:06:36.079 +we are fighting our own ego for the will + +1:06:35.119,1:06:37.680 +to get them done + +1:06:36.079,1:06:38.960 +it's hard and we're not sure if they're + +1:06:37.680,1:06:40.000 +going to be a good idea and will it + +1:06:38.960,1:06:41.680 +excite people and part of our + +1:06:40.000,1:06:43.440 +responsibility is to excite people so + +1:06:41.680,1:06:44.240 +that they can feel good about liking + +1:06:43.440,1:06:45.680 +them + +1:06:44.240,1:06:47.359 +if you come off and you're like hey this + +1:06:45.680,1:06:47.920 +is a terrible idea it's really hard to + +1:06:47.359,1:06:49.760 +be like + +1:06:47.920,1:06:51.200 +no i love that idea it works + +1:06:49.760,1:06:55.520 +theatrically but + +1:06:51.200,1:06:55.520 +in larger groups may not scale + +1:06:55.680,1:07:00.400 +so that's a crucible for ideas and a + +1:06:58.400,1:07:03.280 +crucible for teams + +1:07:00.400,1:07:04.240 +the first part is definitely healthy the + +1:07:03.280,1:07:07.440 +second part + +1:07:04.240,1:07:08.640 +there's a lot we can we can do you know + +1:07:07.440,1:07:10.880 +having upfront + +1:07:08.640,1:07:15.440 +and and and good faith conversations on + +1:07:10.880,1:07:17.520 +that subject + +1:07:15.440,1:07:19.119 +anybody else wanted i want to weigh it + +1:07:17.520,1:07:22.960 +in after that sorry that that was more + +1:07:19.119,1:07:22.960 +of a calm down than a then a fire out + +1:07:23.200,1:07:26.000 +oh that's okay + +1:07:27.280,1:07:30.960 +i mean um the first part of this but i + +1:07:29.280,1:07:32.960 +think um + +1:07:30.960,1:07:34.880 +we would be remiss not to highlight org + +1:07:32.960,1:07:37.839 +mode a little bit + +1:07:34.880,1:07:38.480 +yeah like that's that's our bread and + +1:07:37.839,1:07:40.240 +butter + +1:07:38.480,1:07:42.720 +yeah our whole project is built on org + +1:07:40.240,1:07:46.240 +mode right and i'm just really excited + +1:07:42.720,1:07:49.680 +because like i have i don't have adhd + +1:07:46.240,1:07:51.119 +but i have like something similar and so + +1:07:49.680,1:07:54.880 +like to know that there's something that + +1:07:51.119,1:07:57.760 +exists that is like purely hierarchical + +1:07:54.880,1:07:58.559 +is incredible like i can just run a + +1:07:57.760,1:08:01.839 +report + +1:07:58.559,1:08:03.839 +basically and get all of my like + +1:08:01.839,1:08:05.760 +to-do lists that i didn't have to put in + +1:08:03.839,1:08:10.240 +one specific place + +1:08:05.760,1:08:10.240 +um and like that's kind of been + +1:08:10.559,1:08:16.480 +a complex issue for me of like + +1:08:14.559,1:08:18.080 +okay i have all these to-do lists like + +1:08:16.480,1:08:18.319 +in google keep or whatever like what do + +1:08:18.080,1:08:20.719 +i + +1:08:18.319,1:08:21.359 +do with them now so being able to like + +1:08:20.719,1:08:24.400 +pull them + +1:08:21.359,1:08:26.640 +into one list and then just cycle + +1:08:24.400,1:08:30.239 +through them is really incredible + +1:08:26.640,1:08:34.480 +and i think taking a dungeon and + +1:08:30.239,1:08:35.839 +like using it to + +1:08:34.480,1:08:37.759 +like combining it with org mode + +1:08:35.839,1:08:41.040 +basically um + +1:08:37.759,1:08:42.560 +really yeah i'm excited about it i'm + +1:08:41.040,1:08:44.159 +excited to see like what it can do for + +1:08:42.560,1:08:47.759 +player groups + +1:08:44.159,1:08:50.319 +um yeah especially + +1:08:47.759,1:08:52.319 +like i was excited about dungeon mode um + +1:08:50.319,1:08:53.920 +before the pandemic and now like i'm + +1:08:52.319,1:08:57.120 +only more enthusiastic + +1:08:53.920,1:08:58.400 +so yeah uh definitely the pandemic has + +1:08:57.120,1:08:59.120 +been the greatest thing that happened to + +1:08:58.400,1:09:02.080 +this game + +1:08:59.120,1:09:02.640 +terrible terrible as it is to say that + +1:09:02.080,1:09:05.120 +it + +1:09:02.640,1:09:06.719 +if we uh needed a hobby and it turns out + +1:09:05.120,1:09:09.839 +role-playing games are + +1:09:06.719,1:09:09.839 +a really good fit + +1:09:11.279,1:09:14.799 +so um so i think that's probably about + +1:09:13.839,1:09:18.560 +our time + +1:09:14.799,1:09:21.759 +um i'm guessing that's my call and + +1:09:18.560,1:09:23.120 +uh thank you very much thank you + +1:09:21.759,1:09:25.679 +everybody + +1:09:23.120,1:09:31.759 +we'll be around for discord and stuff + +1:09:25.679,1:09:31.759 +later come catch us if you want to talk + |