summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '2020')
-rw-r--r--2020/subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux.sbv918
-rw-r--r--2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.sbv360
-rw-r--r--2020/subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.sbv1605
-rw-r--r--2020/subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv4992
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
+