From b98df6fbe2a5c48013cfca81a95a5af41e202d07 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 13 Dec 2020 00:06:32 -0500 Subject: Actually post subtitles, I think --- ...ng-up-special-blocks--musa-al-hassy-autogen.vtt | 2386 ++++++++++++++++++++ 1 file changed, 2386 insertions(+) create mode 100644 2020/subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt (limited to '2020/subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt') diff --git a/2020/subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt b/2020/subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt new file mode 100644 index 00000000..b1831710 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt @@ -0,0 +1,2386 @@ +WEBVTT + +00:00:01.680 --> 00:00:04.080 +oh you are now muted + +00:00:04.080 --> 00:00:07.359 +all right then well uh hello everyone + +00:00:07.359 --> 00:00:09.840 +I hope uh you're all enjoying the Emacs + +00:00:09.840 --> 00:00:11.519 +conf + +00:00:11.519 --> 00:00:14.480 +my name is musa alhassi and I hope + +00:00:14.480 --> 00:00:15.040 +you're + +00:00:15.040 --> 00:00:17.920 +excited to learn about uh powering up + +00:00:17.920 --> 00:00:19.840 +special blocks + +00:00:19.840 --> 00:00:22.880 +um so let's let's first off uh find out + +00:00:22.880 --> 00:00:24.800 +what these special blocks are and + +00:00:24.800 --> 00:00:27.920 +and see what we can uh go from so + +00:00:27.920 --> 00:00:30.240 +uh yesterday I saw a lot of cool talks + +00:00:30.240 --> 00:00:32.719 +and uh people were chatting about how do + +00:00:32.719 --> 00:00:33.200 +you + +00:00:33.200 --> 00:00:35.520 +I know how should you present should you + +00:00:35.520 --> 00:00:37.200 +do it this way or that way and + +00:00:37.200 --> 00:00:38.640 +I thought maybe I should try a different + +00:00:38.640 --> 00:00:41.120 +way uh but but I'm talking about special + +00:00:41.120 --> 00:00:42.239 +blocks and if I + +00:00:42.239 --> 00:00:45.039 +show you an emax then I have to export + +00:00:45.039 --> 00:00:47.039 +the html so you can see what it looks + +00:00:47.039 --> 00:00:47.840 +like + +00:00:47.840 --> 00:00:50.800 +or export to a pdf so you can see what + +00:00:50.800 --> 00:00:51.920 +it looks like + +00:00:51.920 --> 00:00:54.239 +uh so I ended up writing an org reveal + +00:00:54.239 --> 00:00:56.399 +and + +00:00:56.399 --> 00:00:58.960 +joyously this this just works you can + +00:00:58.960 --> 00:01:00.879 +you can just see things here + +00:01:00.879 --> 00:01:02.960 +uh I was worried that I'd have to take + +00:01:02.960 --> 00:01:04.559 +pictures and then you know + +00:01:04.559 --> 00:01:07.600 +uh uh you know insert pings so that that + +00:01:07.600 --> 00:01:09.760 +was a delight + +00:01:09.760 --> 00:01:12.159 +okay uh so special blocks are these + +00:01:12.159 --> 00:01:12.960 +things like + +00:01:12.960 --> 00:01:16.000 +a center small quote uh that's what a + +00:01:16.000 --> 00:01:17.280 +special block is + +00:01:17.280 --> 00:01:19.360 +and with a bit of lisp we can we can + +00:01:19.360 --> 00:01:20.720 +make special blocks + +00:01:20.720 --> 00:01:23.200 +and link types right so uh using a + +00:01:23.200 --> 00:01:24.799 +single interface + +00:01:24.799 --> 00:01:26.720 +um and the interface is going to be + +00:01:26.720 --> 00:01:27.840 +similar to one + +00:01:27.840 --> 00:01:29.439 +many people are familiar with in + +00:01:29.439 --> 00:01:32.560 +particular org babel's + +00:01:32.560 --> 00:01:35.840 +source interface as well as using global + +00:01:35.840 --> 00:01:37.840 +header arguments for link types + +00:01:37.840 --> 00:01:39.680 +and the idea is to write it once and + +00:01:39.680 --> 00:01:41.200 +generate many different kinds + +00:01:41.200 --> 00:01:44.159 +right you write uh an org markup and you + +00:01:44.159 --> 00:01:44.720 +can have + +00:01:44.720 --> 00:01:47.680 +uh html you can have pdf and and + +00:01:47.680 --> 00:01:48.560 +joyously + +00:01:48.560 --> 00:01:51.840 +uh org reveal so that was uh that was an + +00:01:51.840 --> 00:01:53.600 +unexpected delight + +00:01:53.600 --> 00:01:56.640 +um so here is a few that you'll you'll + +00:01:56.640 --> 00:01:57.840 +just see as we + +00:01:57.840 --> 00:02:01.759 +uh in this presentation you know some uh + +00:02:01.759 --> 00:02:04.000 +uh I won't show some of these uh link + +00:02:04.000 --> 00:02:05.040 +only ones + +00:02:05.040 --> 00:02:06.799 +but we'll see a few of these other ones + +00:02:06.799 --> 00:02:08.080 +just to make the uh + +00:02:08.080 --> 00:02:09.920 +presentation look nice so the + +00:02:09.920 --> 00:02:11.520 +presentation is really going to + +00:02:11.520 --> 00:02:14.000 +present these blocks and the mechanism + +00:02:14.000 --> 00:02:15.120 +at the same time + +00:02:15.120 --> 00:02:18.400 +so uh so this no no html was written + +00:02:18.400 --> 00:02:21.280 +look ma no html just pure org mode and + +00:02:21.280 --> 00:02:22.000 +and + +00:02:22.000 --> 00:02:23.520 +you get all these beautiful boxes and + +00:02:23.520 --> 00:02:25.840 +things okay + +00:02:25.840 --> 00:02:27.680 +so the motivation for this is you know + +00:02:27.680 --> 00:02:29.120 +what uh + +00:02:29.120 --> 00:02:31.200 +you're you're online you run into a blog + +00:02:31.200 --> 00:02:32.239 +and you see something you like and + +00:02:32.239 --> 00:02:33.120 +you're like man + +00:02:33.120 --> 00:02:35.280 +you know I wish I could uh you know + +00:02:35.280 --> 00:02:36.640 +produce that + +00:02:36.640 --> 00:02:39.519 +um uh but you you check in the author + +00:02:39.519 --> 00:02:40.160 +wrote raw + +00:02:40.160 --> 00:02:44.239 +html you know plus html everywhere + +00:02:44.239 --> 00:02:46.800 +and uh that's that's you know gonna + +00:02:46.800 --> 00:02:47.840 +obscure + +00:02:47.840 --> 00:02:49.680 +your your real content it's going to be + +00:02:49.680 --> 00:02:51.200 +surrounded by all this uh + +00:02:51.200 --> 00:02:54.239 +styling information that's unfortunate + +00:02:54.239 --> 00:02:56.400 +uh the author decides to use an org + +00:02:56.400 --> 00:02:58.959 +macro all right a bit better + +00:02:58.959 --> 00:03:01.120 +but then what if you decide hey I want + +00:03:01.120 --> 00:03:03.360 +to make a + +00:03:03.360 --> 00:03:06.000 +not pdf great and then the worst of all + +00:03:06.000 --> 00:03:07.840 +the author doesn't give you the source + +00:03:07.840 --> 00:03:10.159 +and then you have to view page source + +00:03:10.159 --> 00:03:10.879 +and + +00:03:10.879 --> 00:03:13.760 +learn cascading style sheets and and you + +00:03:13.760 --> 00:03:14.239 +know + +00:03:14.239 --> 00:03:16.159 +sit in a corner and cry decide to do + +00:03:16.159 --> 00:03:18.080 +other things with your life + +00:03:18.080 --> 00:03:20.959 +so uh we want to give you org users + +00:03:20.959 --> 00:03:22.640 +numerous styles + +00:03:22.640 --> 00:03:26.000 +and uh and an extensible mechanism to + +00:03:26.000 --> 00:03:27.200 +add more of these + +00:03:27.200 --> 00:03:28.799 +aesthetically pleasing styles you know + +00:03:28.799 --> 00:03:31.200 +to have really nice things + +00:03:31.200 --> 00:03:34.720 +look one way in the html and look almost + +00:03:34.720 --> 00:03:35.599 +the same way + +00:03:35.599 --> 00:03:39.120 +in the pdf and other uh back ends and + +00:03:39.120 --> 00:03:41.680 +if by having these newer ones you know + +00:03:41.680 --> 00:03:42.159 +people + +00:03:42.159 --> 00:03:44.879 +might be encouraged to try making new + +00:03:44.879 --> 00:03:45.519 +ones + +00:03:45.519 --> 00:03:47.920 +especially when the interface is uh not + +00:03:47.920 --> 00:03:49.040 +so difficult + +00:03:49.040 --> 00:03:54.159 +uh that's the that's the aim okay + +00:03:54.159 --> 00:03:57.360 +uh so let's let's have a a real story to + +00:03:57.360 --> 00:03:59.120 +motivate this even more + +00:03:59.120 --> 00:04:02.319 +um so here's three friends uh I hope I + +00:04:02.319 --> 00:04:03.599 +don't butcher their names but these + +00:04:03.599 --> 00:04:04.640 +friends are called + +00:04:04.640 --> 00:04:07.040 +amin sasha and corwin and then they're + +00:04:07.040 --> 00:04:08.720 +organizing a conference + +00:04:08.720 --> 00:04:12.080 +uh EmacsConf 2020. + +00:04:12.080 --> 00:04:14.239 +so sasha decides to write an org file + +00:04:14.239 --> 00:04:16.479 +and and she would like some feedback + +00:04:16.479 --> 00:04:19.199 +okay and and just uh make it clear + +00:04:19.199 --> 00:04:19.840 +there's no + +00:04:19.840 --> 00:04:22.960 +uh just how easy this looks + +00:04:22.960 --> 00:04:27.280 +let's look at the source for this block + +00:04:27.280 --> 00:04:30.000 +notice it's just the word green then a + +00:04:30.000 --> 00:04:30.720 +colon + +00:04:30.720 --> 00:04:34.560 +than amine uh so no + +00:04:34.560 --> 00:04:37.759 +no div style coloring just just you know + +00:04:37.759 --> 00:04:38.479 +green color + +00:04:38.479 --> 00:04:41.520 +immune a very pleasant uh or markup + +00:04:41.520 --> 00:04:43.600 +so that's that's quite nice put some + +00:04:43.600 --> 00:04:44.960 +bold around it + +00:04:44.960 --> 00:04:47.840 +not not too difficult so hopefully uh + +00:04:47.840 --> 00:04:49.040 +this will be useful to + +00:04:49.040 --> 00:04:51.680 +other people as well so what kind of + +00:04:51.680 --> 00:04:52.240 +feedback + +00:04:52.240 --> 00:04:56.639 +uh would sasha expect to get um so maybe + +00:04:56.639 --> 00:04:59.120 +she would expect top level remarks + +00:04:59.120 --> 00:04:59.680 +visible + +00:04:59.680 --> 00:05:01.759 +in the export you know when she makes an + +00:05:01.759 --> 00:05:04.400 +html she can see right there a big block + +00:05:04.400 --> 00:05:07.840 +right maybe + +00:05:07.840 --> 00:05:09.840 +amin will suggest to sasha please + +00:05:09.840 --> 00:05:11.120 +replace this part + +00:05:11.120 --> 00:05:12.960 +with this other part or replace this + +00:05:12.960 --> 00:05:14.639 +word with this other word + +00:05:14.639 --> 00:05:16.960 +right um this is not really possible + +00:05:16.960 --> 00:05:17.680 +with raw + +00:05:17.680 --> 00:05:21.919 +html or uh yeah or with even latex + +00:05:21.919 --> 00:05:24.000 +you'd have to have multiple arguments + +00:05:24.000 --> 00:05:25.360 +the first argument and then + +00:05:25.360 --> 00:05:27.840 +the replacement argument and it's a bit + +00:05:27.840 --> 00:05:28.800 +clunky + +00:05:28.800 --> 00:05:30.960 +um but with our setup you just write + +00:05:30.960 --> 00:05:32.080 +some text + +00:05:32.080 --> 00:05:34.479 +write hashtag plus replace with and then + +00:05:34.479 --> 00:05:36.240 +write more text and you're good to go + +00:05:36.240 --> 00:05:39.440 +normal uh org markup um + +00:05:39.440 --> 00:05:40.720 +everyone speaks different languages + +00:05:40.720 --> 00:05:42.479 +maybe they want to use a + +00:05:42.479 --> 00:05:45.919 +uh one word or they're arguing about + +00:05:45.919 --> 00:05:48.000 +whether we talk about frames or windows + +00:05:48.000 --> 00:05:49.759 +um so maybe they want to have some + +00:05:49.759 --> 00:05:50.560 +translations + +00:05:50.560 --> 00:05:52.479 +right so there's different kinds of + +00:05:52.479 --> 00:05:55.360 +feedbacks uh let's let's take an example + +00:05:55.360 --> 00:05:59.360 +uh look at what they are okay + +00:05:59.360 --> 00:06:02.560 +uh so for example sasha might write + +00:06:02.560 --> 00:06:06.160 +uh this org mode right here and uh + +00:06:06.160 --> 00:06:08.319 +and then in her html exports you might + +00:06:08.319 --> 00:06:09.759 +see this + +00:06:09.759 --> 00:06:12.080 +and uh her feedback might look really + +00:06:12.080 --> 00:06:13.840 +nicely from anyone who says you know + +00:06:13.840 --> 00:06:14.560 +let's uh + +00:06:14.560 --> 00:06:16.639 +let's do some lisp instead of uh + +00:06:16.639 --> 00:06:18.560 +mathematics let's just do some list + +00:06:18.560 --> 00:06:20.960 +and and corwin says you know let's let's + +00:06:20.960 --> 00:06:22.479 +not be so silly + +00:06:22.479 --> 00:06:25.120 +maybe let's just say 9 a.m and move on + +00:06:25.120 --> 00:06:28.080 +okay + +00:06:28.080 --> 00:06:31.360 +um so amin likes to export to pdf + +00:06:31.360 --> 00:06:33.039 +and so he writes his top-level remarks + +00:06:33.039 --> 00:06:34.720 +using latex that's how + +00:06:34.720 --> 00:06:37.600 +so to get this uh square I mean please + +00:06:37.600 --> 00:06:38.960 +change whatever + +00:06:38.960 --> 00:06:41.440 +he might write like this hashtag you + +00:06:41.440 --> 00:06:43.120 +know plus latex + +00:06:43.120 --> 00:06:46.960 +hashtag plus latex right but then + +00:06:46.960 --> 00:06:50.000 +sasha only exports to p to html uh for + +00:06:50.000 --> 00:06:50.880 +example + +00:06:50.880 --> 00:06:54.880 +um and uh so she doesn't look at the pdf + +00:06:54.880 --> 00:06:57.199 +and she may not see his top-level + +00:06:57.199 --> 00:06:58.560 +feedback you know with those nice + +00:06:58.560 --> 00:06:59.440 +brackets and + +00:06:59.440 --> 00:07:02.160 +and bold right and so she might think + +00:07:02.160 --> 00:07:03.120 +everything's good + +00:07:03.120 --> 00:07:06.160 +right and that can be a bit disastrous + +00:07:06.160 --> 00:07:09.039 +um so maybe sasha will will then uh make + +00:07:09.039 --> 00:07:09.440 +some + +00:07:09.440 --> 00:07:13.199 +of her own feedback all right uh but + +00:07:13.199 --> 00:07:16.160 +and to produce it she might write html + +00:07:16.160 --> 00:07:16.560 +uh + +00:07:16.560 --> 00:07:20.639 +um html commands hashtag plus html to + +00:07:20.639 --> 00:07:21.680 +get that + +00:07:21.680 --> 00:07:24.240 +uh but then amin will make a pdf and + +00:07:24.240 --> 00:07:25.680 +this won't stick out + +00:07:25.680 --> 00:07:27.759 +and then so he might think everything's + +00:07:27.759 --> 00:07:30.160 +okay even even though it's not + +00:07:30.160 --> 00:07:33.520 +um then corwin actually decides hey + +00:07:33.520 --> 00:07:36.240 +uh let me read the exported result and + +00:07:36.240 --> 00:07:36.800 +these + +00:07:36.800 --> 00:07:38.319 +there's all those feedback from two + +00:07:38.319 --> 00:07:39.919 +people who haven't uh + +00:07:39.919 --> 00:07:42.080 +read anything because maybe they were in + +00:07:42.080 --> 00:07:43.840 +a russian and didn't + +00:07:43.840 --> 00:07:46.400 +see the top level feedback and so they + +00:07:46.400 --> 00:07:48.160 +agree hey let's have a uniform org + +00:07:48.160 --> 00:07:50.000 +interface that exports + +00:07:50.000 --> 00:07:53.280 +to both html and pdf make both of us + +00:07:53.280 --> 00:07:54.080 +happy + +00:07:54.080 --> 00:07:57.280 +okay so they decide to use org special + +00:07:57.280 --> 00:07:58.160 +blocks + +00:07:58.160 --> 00:08:01.840 +right um and to set this up they need to + +00:08:01.840 --> 00:08:04.400 +you know maybe read a little bit of lisp + +00:08:04.400 --> 00:08:04.879 +hooks + +00:08:04.879 --> 00:08:08.879 +advice macros to get all of this set up + +00:08:08.879 --> 00:08:10.840 +and then they'll use org as the main + +00:08:10.840 --> 00:08:12.319 +interface okay + +00:08:12.319 --> 00:08:14.400 +it's a lot of work but it's worth it + +00:08:14.400 --> 00:08:16.479 +right maybe + +00:08:16.479 --> 00:08:19.360 +um but then corwin corbin's a bit tears + +00:08:19.360 --> 00:08:19.759 +so + +00:08:19.759 --> 00:08:22.960 +uh corwin maybe doesn't want to write + +00:08:22.960 --> 00:08:24.800 +uh using blocks he thinks they're + +00:08:24.800 --> 00:08:26.080 +overkill and + +00:08:26.080 --> 00:08:29.360 +and sasha wants html and uh and + +00:08:29.360 --> 00:08:31.840 +I mean wants pdf and corwin wants org + +00:08:31.840 --> 00:08:32.560 +reveal + +00:08:32.560 --> 00:08:34.240 +so now they have to reformat all their + +00:08:34.240 --> 00:08:36.320 +code and then they need to use org link + +00:08:36.320 --> 00:08:37.120 +types to + +00:08:37.120 --> 00:08:39.599 +reduce the overkill all right so they + +00:08:39.599 --> 00:08:41.519 +can try to avoid duplication by + +00:08:41.519 --> 00:08:44.000 +factoring things out into self-contained + +00:08:44.000 --> 00:08:46.800 +uh defined functions or defunds + +00:08:46.800 --> 00:08:50.320 +um but now to set up or links + +00:08:50.320 --> 00:08:53.440 +uh we'll have uh to learn a new + +00:08:53.440 --> 00:08:54.399 +interface + +00:08:54.399 --> 00:08:57.040 +org setup link um learn a little bit + +00:08:57.040 --> 00:08:58.000 +about fonts + +00:08:58.000 --> 00:09:02.160 +follow links exports handles + +00:09:02.160 --> 00:09:05.040 +it's so much that's so much but but then + +00:09:05.040 --> 00:09:06.800 +you know the friends they learn a lot + +00:09:06.800 --> 00:09:08.399 +you know they learn about defund all + +00:09:08.399 --> 00:09:11.120 +right so these these words are red + +00:09:11.120 --> 00:09:12.480 +you get a little explanation I think + +00:09:12.480 --> 00:09:14.320 +it's a bit too small for anyone to read + +00:09:14.320 --> 00:09:16.720 +this is lisp documentation right for + +00:09:16.720 --> 00:09:18.000 +defund + +00:09:18.000 --> 00:09:19.680 +advice ad there's some list + +00:09:19.680 --> 00:09:21.600 +documentation right + +00:09:21.600 --> 00:09:23.600 +they learn about destructuring let's so + +00:09:23.600 --> 00:09:25.279 +this is from the dash library + +00:09:25.279 --> 00:09:26.959 +here's all that you know glorious + +00:09:26.959 --> 00:09:28.800 +glorious documentation with examples + +00:09:28.800 --> 00:09:29.360 +sorry + +00:09:29.360 --> 00:09:31.680 +I like that they might make an ad-hoc + +00:09:31.680 --> 00:09:33.760 +mechanism to simulate + +00:09:33.760 --> 00:09:36.000 +arguments for special blocks so + +00:09:36.000 --> 00:09:37.040 +something maybe called + +00:09:37.040 --> 00:09:40.399 +extract arguments and then of course to + +00:09:40.399 --> 00:09:41.920 +make new link types they have to learn + +00:09:41.920 --> 00:09:42.480 +about + +00:09:42.480 --> 00:09:45.120 +org link set parameters and then it's + +00:09:45.120 --> 00:09:46.480 +numerous uh + +00:09:46.480 --> 00:09:49.920 +bits and pieces all right so let's oh + +00:09:49.920 --> 00:09:50.720 +let's uh + +00:09:50.720 --> 00:09:53.600 +close all these ones down and and uh of + +00:09:53.600 --> 00:09:55.040 +course they also need to be uh + +00:09:55.040 --> 00:09:56.080 +comfortable with + +00:09:56.080 --> 00:09:58.720 +uh loops and maps and matching and + +00:09:58.720 --> 00:09:59.920 +string functions + +00:09:59.920 --> 00:10:02.560 +so it's it's a bit of a pain it's a bit + +00:10:02.560 --> 00:10:03.360 +of a pain + +00:10:03.360 --> 00:10:05.839 +um so it's probably not worth it so + +00:10:05.839 --> 00:10:06.560 +maybe I'll just + +00:10:06.560 --> 00:10:09.360 +rush things quickly or do an ad hoc you + +00:10:09.360 --> 00:10:10.320 +know + +00:10:10.320 --> 00:10:13.680 +we have things to do right + +00:10:13.680 --> 00:10:15.920 +so maybe maybe the squad wants to have a + +00:10:15.920 --> 00:10:17.839 +modular + +00:10:17.839 --> 00:10:21.120 +and unified interface so everyone's + +00:10:21.120 --> 00:10:23.040 +comfortable with defunct to define a + +00:10:23.040 --> 00:10:25.279 +function and they say you know what + +00:10:25.279 --> 00:10:26.480 +it would be nice if we could just you + +00:10:26.480 --> 00:10:29.440 +know define simultaneously + +00:10:29.440 --> 00:10:32.959 +both a block and the link type right + +00:10:32.959 --> 00:10:34.880 +and uh that way we have a single + +00:10:34.880 --> 00:10:36.000 +interface + +00:10:36.000 --> 00:10:38.240 +org mode for for these things and it + +00:10:38.240 --> 00:10:39.040 +would be nice was + +00:10:39.040 --> 00:10:42.079 +modular so if I defined a + +00:10:42.079 --> 00:10:43.680 +one kind of block and you defined + +00:10:43.680 --> 00:10:45.519 +another we could compose them + +00:10:45.519 --> 00:10:47.600 +right and then get a you know a nice + +00:10:47.600 --> 00:10:49.360 +bigger block like lego + +00:10:49.360 --> 00:10:52.320 +that would be nice building box okay and + +00:10:52.320 --> 00:10:54.160 +uh this is uh what we + +00:10:54.160 --> 00:10:56.240 +have come up with called death block and + +00:10:56.240 --> 00:10:57.600 +it also has a + +00:10:57.600 --> 00:11:00.240 +long documentation string containing + +00:11:00.240 --> 00:11:01.760 +examples and things + +00:11:01.760 --> 00:11:04.800 +so that way you can try to be useful + +00:11:04.800 --> 00:11:08.320 +okay um so let's let's look at a a + +00:11:08.320 --> 00:11:10.880 +solution to these friends uh trilemma + +00:11:10.880 --> 00:11:12.800 +all right so here's here's a way to + +00:11:12.800 --> 00:11:14.320 +define a block + +00:11:14.320 --> 00:11:17.040 +um it looks it's it doesn't look that + +00:11:17.040 --> 00:11:19.200 +difficult but this is how they can + +00:11:19.200 --> 00:11:22.320 +define a block for um + +00:11:22.320 --> 00:11:25.920 +for uh their top-level feedback right + +00:11:25.920 --> 00:11:27.680 +so let's let's look at the three main + +00:11:27.680 --> 00:11:28.959 +parts together + +00:11:28.959 --> 00:11:31.920 +it's not that uh difficult I hope just + +00:11:31.920 --> 00:11:33.040 +six lines + +00:11:33.040 --> 00:11:34.720 +and that's including a documentation + +00:11:34.720 --> 00:11:36.160 +string and you know + +00:11:36.160 --> 00:11:39.440 +uh new lines and things okay so in line + +00:11:39.440 --> 00:11:41.279 +one we just define the block just like + +00:11:41.279 --> 00:11:42.000 +you define + +00:11:42.000 --> 00:11:44.880 +a function we define a block the flag + +00:11:44.880 --> 00:11:46.399 +the block name is going to be called + +00:11:46.399 --> 00:11:49.680 +feedback it has an author who + +00:11:49.680 --> 00:11:53.360 +right the author has no default + +00:11:53.360 --> 00:11:56.160 +value it has a color and the color has a + +00:11:56.160 --> 00:11:57.760 +default value of red + +00:11:57.760 --> 00:12:00.560 +okay so just just as when you define + +00:12:00.560 --> 00:12:01.680 +functions they + +00:12:01.680 --> 00:12:04.880 +they uh you start by uh define + +00:12:04.880 --> 00:12:08.639 +or def block than the name some + +00:12:08.639 --> 00:12:10.720 +mandatory argument and some optional + +00:12:10.720 --> 00:12:13.440 +arguments okay + +00:12:13.440 --> 00:12:15.760 +then the next stage is well and + +00:12:15.760 --> 00:12:18.480 +definition a documentation you know + +00:12:18.480 --> 00:12:20.880 +uh the people who use this which are + +00:12:20.880 --> 00:12:22.880 +future you or future me you know + +00:12:22.880 --> 00:12:25.519 +uh might want to know what this is all + +00:12:25.519 --> 00:12:27.839 +right so let's get to document this + +00:12:27.839 --> 00:12:30.560 +uh and uh for for corwin who might want + +00:12:30.560 --> 00:12:32.079 +to use uh tooltips + +00:12:32.079 --> 00:12:34.560 +uh when corwin writes feedback whatever + +00:12:34.560 --> 00:12:35.120 +and + +00:12:35.120 --> 00:12:37.120 +Emacs they'll see a nice little tooltip + +00:12:37.120 --> 00:12:38.639 +and the tooltip will have + +00:12:38.639 --> 00:12:41.279 +this uh documentation string right so + +00:12:41.279 --> 00:12:43.279 +that'll be nice + +00:12:43.279 --> 00:12:45.200 +okay and then here's the third part the + +00:12:45.200 --> 00:12:46.480 +last three lines are + +00:12:46.480 --> 00:12:49.440 +not not so difficult if the back end is + +00:12:49.440 --> 00:12:49.680 +in + +00:12:49.680 --> 00:12:52.800 +is html the backend is html + +00:12:52.800 --> 00:12:55.360 +please use this template string + +00:12:55.360 --> 00:12:57.440 +otherwise use the other string + +00:12:57.440 --> 00:13:00.639 +okay and for each of these uh string + +00:13:00.639 --> 00:13:01.279 +markers + +00:13:01.279 --> 00:13:03.600 +please put in the color who wrote it and + +00:13:03.600 --> 00:13:04.959 +then the contents + +00:13:04.959 --> 00:13:07.279 +of the special block or the link type + +00:13:07.279 --> 00:13:08.160 +okay + +00:13:08.160 --> 00:13:10.639 +um so that's pretty neat not not so + +00:13:10.639 --> 00:13:11.600 +difficult + +00:13:11.600 --> 00:13:14.639 +so I thought that was kind of cool and + +00:13:14.639 --> 00:13:15.519 +then notice it's + +00:13:15.519 --> 00:13:18.480 +anaphoric it's it's a this this def + +00:13:18.480 --> 00:13:19.519 +block + +00:13:19.519 --> 00:13:21.760 +gives you two new names it gives you a + +00:13:21.760 --> 00:13:22.560 +name called + +00:13:22.560 --> 00:13:25.120 +uh contents and it gives you a name + +00:13:25.120 --> 00:13:26.480 +called back end + +00:13:26.480 --> 00:13:29.040 +right and so even if you're writing a + +00:13:29.040 --> 00:13:31.040 +def block and you intend it to be used + +00:13:31.040 --> 00:13:32.560 +only for links + +00:13:32.560 --> 00:13:35.440 +uh like the uh these colors for example + +00:13:35.440 --> 00:13:37.600 +uh these colors were defined using dev + +00:13:37.600 --> 00:13:38.399 +block + +00:13:38.399 --> 00:13:41.279 +uh and I used them as links right here + +00:13:41.279 --> 00:13:43.360 +and you don't need to worry + +00:13:43.360 --> 00:13:44.880 +where does the text come from in the + +00:13:44.880 --> 00:13:48.160 +link you know if I say red colon bob uh + +00:13:48.160 --> 00:13:48.959 +is it bob + +00:13:48.959 --> 00:13:50.720 +or if I put a description is it the + +00:13:50.720 --> 00:13:52.000 +description so + +00:13:52.000 --> 00:13:54.000 +it's whatever is available will will + +00:13:54.000 --> 00:13:56.720 +become uh the value of contents + +00:13:56.720 --> 00:13:59.199 +and if you're really you know interested + +00:13:59.199 --> 00:14:00.320 +and you want to do some + +00:14:00.320 --> 00:14:03.839 +intricate stuff uh def block also gives + +00:14:03.839 --> 00:14:04.959 +you something called + +00:14:04.959 --> 00:14:08.160 +raw dash contents if you really want to + +00:14:08.160 --> 00:14:09.360 +touch the raw + +00:14:09.360 --> 00:14:11.920 +uh contents with all of the org markups + +00:14:11.920 --> 00:14:12.639 +still there + +00:14:12.639 --> 00:14:16.000 +okay so let's uh let's see + +00:14:16.000 --> 00:14:18.320 +how uh everyone can uh communicate + +00:14:18.320 --> 00:14:19.440 +amongst themselves + +00:14:19.440 --> 00:14:22.480 +using this new interface okay so + +00:14:22.480 --> 00:14:26.000 +uh uh sasha speculates and she how does + +00:14:26.000 --> 00:14:28.399 +she speculate for her organ html + +00:14:28.399 --> 00:14:31.440 +she might just write hey look at that no + +00:14:31.440 --> 00:14:34.800 +no no html nice and and + +00:14:34.800 --> 00:14:37.519 +amin wants to have some green and so he + +00:14:37.519 --> 00:14:39.600 +just says hey here's some color green + +00:14:39.600 --> 00:14:42.240 +and and uh there you go it looks almost + +00:14:42.240 --> 00:14:42.959 +the same + +00:14:42.959 --> 00:14:46.560 +right uh notice that the main argument + +00:14:46.560 --> 00:14:49.680 +is right here def block took an author + +00:14:49.680 --> 00:14:52.480 +and here's the author again and now the + +00:14:52.480 --> 00:14:53.920 +optional argument + +00:14:53.920 --> 00:14:57.360 +uses the org babel source interface you + +00:14:57.360 --> 00:14:58.000 +just say + +00:14:58.000 --> 00:15:00.639 +colon and then a key and then the + +00:15:00.639 --> 00:15:01.440 +argument + +00:15:01.440 --> 00:15:05.040 +quite quite nice and and corwin doesn't + +00:15:05.040 --> 00:15:05.519 +want to + +00:15:05.519 --> 00:15:07.920 +use blocks it's a bit of an overkill and + +00:15:07.920 --> 00:15:09.760 +can just write a + +00:15:09.760 --> 00:15:12.959 +a little um right + +00:15:12.959 --> 00:15:16.000 +so the main argument is now the uh uh + +00:15:16.000 --> 00:15:17.440 +the label of the link + +00:15:17.440 --> 00:15:19.360 +all right and then the description of + +00:15:19.360 --> 00:15:21.600 +the link is the contents + +00:15:21.600 --> 00:15:24.959 +of uh of the feedback so that was quite + +00:15:24.959 --> 00:15:25.680 +nice + +00:15:25.680 --> 00:15:28.079 +so it looks like uh everyone uses the + +00:15:28.079 --> 00:15:29.360 +same interface on the left + +00:15:29.360 --> 00:15:32.800 +and can have varying uh outputs + +00:15:32.800 --> 00:15:34.480 +and it looks I think it looks quite nice + +00:15:34.480 --> 00:15:36.639 +and I hope you do too + +00:15:36.639 --> 00:15:40.000 +um and there's a few more maybe + +00:15:40.000 --> 00:15:42.160 +as you saw in some previous ones we had + +00:15:42.160 --> 00:15:43.920 +text side beside side + +00:15:43.920 --> 00:15:46.800 +right now um or we folded some regions + +00:15:46.800 --> 00:15:47.440 +away + +00:15:47.440 --> 00:15:49.360 +that was quite nice we put some things + +00:15:49.360 --> 00:15:50.959 +in pretty boxes + +00:15:50.959 --> 00:15:54.000 +um uh we had some spoilers at the very + +00:15:54.000 --> 00:15:57.120 +beginning that we we uh hit some text uh + +00:15:57.120 --> 00:15:58.160 +we demoed uh + +00:15:58.160 --> 00:15:59.600 +some texts right you know here's some + +00:15:59.600 --> 00:16:01.680 +org and here's what it looks like + +00:16:01.680 --> 00:16:04.480 +um and and most importantly uh they they + +00:16:04.480 --> 00:16:05.199 +compose + +00:16:05.199 --> 00:16:08.320 +right there's uh uh there's a + +00:16:08.320 --> 00:16:12.639 +a macro called uh uh thread block + +00:16:12.639 --> 00:16:14.720 +uh thread block a thread block call and + +00:16:14.720 --> 00:16:16.160 +it lets you thread the + +00:16:16.160 --> 00:16:18.000 +the contents through a number of blocks + +00:16:18.000 --> 00:16:20.639 +treating them as if they were functions + +00:16:20.639 --> 00:16:22.480 +and so really you can think of a block + +00:16:22.480 --> 00:16:23.680 +as a as a + +00:16:23.680 --> 00:16:26.560 +as a string valued function so that's + +00:16:26.560 --> 00:16:27.360 +pretty neat + +00:16:27.360 --> 00:16:30.959 +I I think and uh thank you for listening + +00:16:30.959 --> 00:16:31.759 +and uh + +00:16:31.759 --> 00:16:34.320 +I I hope you've uh enjoyed this little + +00:16:34.320 --> 00:16:34.880 +uh + +00:16:34.880 --> 00:16:37.600 +happy fun time with uh with the Emacs + +00:16:37.600 --> 00:16:38.160 +and friends + +00:16:38.160 --> 00:16:40.720 +and uh I'll I'm I'll happy happily + +00:16:40.720 --> 00:16:41.759 +answer questions + +00:16:41.759 --> 00:16:43.730 +uh right now um + +00:16:43.730 --> 00:16:45.360 +[Music] + +00:16:45.360 --> 00:16:48.160 +so uh someone says why did you put + +00:16:48.160 --> 00:16:50.480 +optional arguments in a separate list + +00:16:50.480 --> 00:16:53.600 +rather than using cl style argument + +00:16:53.600 --> 00:16:54.560 +lists + +00:16:54.560 --> 00:16:58.399 +um so that's a very good question + +00:16:58.399 --> 00:17:01.680 +and I will answer that by + +00:17:01.680 --> 00:17:04.400 +showing you a more involved definition + +00:17:04.400 --> 00:17:04.880 +of + +00:17:04.880 --> 00:17:08.959 +feedback so let's look at a + +00:17:08.959 --> 00:17:13.039 +a more involved one + +00:17:13.039 --> 00:17:16.079 +right right here so for example + +00:17:16.079 --> 00:17:19.280 +this one is called rural mark all right + +00:17:19.280 --> 00:17:21.760 +and uh please let me know if my text is + +00:17:21.760 --> 00:17:23.439 +not sufficiently big + +00:17:23.439 --> 00:17:26.799 +so here is here is why uh we have + +00:17:26.799 --> 00:17:29.520 +two arguments that takes two arguments + +00:17:29.520 --> 00:17:30.720 +uh instead of one + +00:17:30.720 --> 00:17:33.360 +for for its argument list right so you + +00:17:33.360 --> 00:17:34.799 +you have def block + +00:17:34.799 --> 00:17:37.679 +then you have the name right then you + +00:17:37.679 --> 00:17:38.400 +have + +00:17:38.400 --> 00:17:40.960 +the first uh argument list and the + +00:17:40.960 --> 00:17:42.880 +second argument list + +00:17:42.880 --> 00:17:46.080 +the first argument list uh takes the + +00:17:46.080 --> 00:17:49.280 +takes the text right after the begin + +00:17:49.280 --> 00:17:51.760 +right the text right after the begin is + +00:17:51.760 --> 00:17:52.320 +the main + +00:17:52.320 --> 00:17:55.760 +argument okay and then the remaining key + +00:17:55.760 --> 00:17:57.039 +value pairs + +00:17:57.039 --> 00:18:00.320 +are in the second argument list okay + +00:18:00.320 --> 00:18:03.280 +now the reason we have two is because uh + +00:18:03.280 --> 00:18:04.640 +in order to + +00:18:04.640 --> 00:18:06.799 +streamline the interface to account for + +00:18:06.799 --> 00:18:08.880 +both uh special blocks + +00:18:08.880 --> 00:18:12.320 +and or link types uh what we do is we + +00:18:12.320 --> 00:18:13.360 +say hey + +00:18:13.360 --> 00:18:16.160 +uh in the first argument list uh you can + +00:18:16.160 --> 00:18:18.000 +give a name to the first argument + +00:18:18.000 --> 00:18:21.039 +give it a default value and anything + +00:18:21.039 --> 00:18:24.240 +else you provide will become uh + +00:18:24.240 --> 00:18:27.760 +uh part of the I'll co link + +00:18:27.760 --> 00:18:30.000 +information so for example this link we + +00:18:30.000 --> 00:18:32.000 +decided to make its face + +00:18:32.000 --> 00:18:34.799 +angry red um you might want to give + +00:18:34.799 --> 00:18:35.840 +other features to + +00:18:35.840 --> 00:18:37.919 +links so we're trying to streamline the + +00:18:37.919 --> 00:18:39.679 +interface for both + +00:18:39.679 --> 00:18:42.320 +special blocks and org link types and we + +00:18:42.320 --> 00:18:42.880 +thought + +00:18:42.880 --> 00:18:46.240 +this way was quite nice um so + +00:18:46.240 --> 00:18:49.840 +that was the main reason uh someone asks + +00:18:49.840 --> 00:18:52.480 +uh so if if you uh if that's uh if you + +00:18:52.480 --> 00:18:55.039 +need if you have follow-up please ask + +00:18:55.039 --> 00:18:57.600 +someone asks do you intend to try to + +00:18:57.600 --> 00:19:00.559 +upstream this amazing work into org + +00:19:00.559 --> 00:19:03.600 +well I'm glad you like it I I don't know + +00:19:03.600 --> 00:19:04.559 +how to upstream + +00:19:04.559 --> 00:19:06.880 +but but I I will look into it and any + +00:19:06.880 --> 00:19:08.799 +advice or guidance would be + +00:19:08.799 --> 00:19:11.840 +much appreciated um you know + +00:19:11.840 --> 00:19:14.640 +lisp is awesome and just as defunded as + +00:19:14.640 --> 00:19:17.120 +a macro deathblock is a macro and then + +00:19:17.120 --> 00:19:20.240 +source blocks are awesome and then now + +00:19:20.240 --> 00:19:21.919 +maybe we can have arguments and special + +00:19:21.919 --> 00:19:24.080 +blocks and motivate and encourage more + +00:19:24.080 --> 00:19:25.280 +people to uh + +00:19:25.280 --> 00:19:28.799 +to uh learn lisp right + +00:19:28.799 --> 00:19:32.559 +so another person asks + +00:19:32.559 --> 00:19:35.280 +um what is used to produce colorful + +00:19:35.280 --> 00:19:38.559 +boxes around the cursor + +00:19:38.559 --> 00:19:40.400 +I I'm not quite sure if you're asking + +00:19:40.400 --> 00:19:41.840 +are you talking about my cursor right + +00:19:41.840 --> 00:19:42.559 +here + +00:19:42.559 --> 00:19:48.400 +or are you talking about in the slide um + +00:19:48.400 --> 00:19:50.559 +so this this this cursor is some + +00:19:50.559 --> 00:19:52.400 +application called + +00:19:52.400 --> 00:19:55.440 +a stream brush that I had to purchase uh + +00:19:55.440 --> 00:19:57.679 +unfortunately I could not find a a + +00:19:57.679 --> 00:19:59.039 +suitable free one + +00:19:59.039 --> 00:20:02.159 +um and the blocks I can demonstrate some + +00:20:02.159 --> 00:20:03.840 +Emacs list but I can open up my Emacs if + +00:20:03.840 --> 00:20:05.679 +people like and we can try some things + +00:20:05.679 --> 00:20:06.320 +out + +00:20:06.320 --> 00:20:09.440 +happy to do that uh + +00:20:09.440 --> 00:20:12.480 +you're welcome uh someone asks + +00:20:12.480 --> 00:20:14.880 +a side question about org reveal how do + +00:20:14.880 --> 00:20:15.520 +you get + +00:20:15.520 --> 00:20:17.440 +bespoke or multiple column layouts + +00:20:17.440 --> 00:20:19.120 +without using html + +00:20:19.120 --> 00:20:22.559 +ah excellent question that's what we do + +00:20:22.559 --> 00:20:24.640 +that's that's what this uh project is + +00:20:24.640 --> 00:20:26.000 +about so it's not + +00:20:26.000 --> 00:20:28.960 +org reveal it's it's our fancy parallel + +00:20:28.960 --> 00:20:29.440 +uh + +00:20:29.440 --> 00:20:32.240 +uh block so we have this thing you say + +00:20:32.240 --> 00:20:33.440 +begin parallel + +00:20:33.440 --> 00:20:35.679 +you say how many columns you would like + +00:20:35.679 --> 00:20:37.120 +uh do you want a bar + +00:20:37.120 --> 00:20:39.679 +or not and then you write some text and + +00:20:39.679 --> 00:20:40.960 +then you uh + +00:20:40.960 --> 00:20:42.480 +you get some text and according with the + +00:20:42.480 --> 00:20:44.400 +bar or not right so that's + +00:20:44.400 --> 00:20:47.520 +that's how we achieve that in our slides + +00:20:47.520 --> 00:20:50.080 +so I'm not uh I'm not quite sure where + +00:20:50.080 --> 00:20:52.880 +this was + +00:20:52.880 --> 00:20:59.520 +somewhere here I think + +00:20:59.520 --> 00:21:06.240 +let me try to find this for you + +00:21:06.240 --> 00:21:08.320 +I can't seem to find where the parallel + +00:21:08.320 --> 00:21:09.440 +blocks were + +00:21:09.440 --> 00:21:12.159 +apologies let's move on to the next + +00:21:12.159 --> 00:21:15.039 +question I suppose + +00:21:15.039 --> 00:21:17.760 +uh I'm pretty sure they're here ah there + +00:21:17.760 --> 00:21:18.400 +they are + +00:21:18.400 --> 00:21:21.360 +yes so these these uh were just + +00:21:21.360 --> 00:21:22.640 +instances of using + +00:21:22.640 --> 00:21:25.440 +uh the parallel block and it makes + +00:21:25.440 --> 00:21:26.480 +things parallel + +00:21:26.480 --> 00:21:29.600 +so that's quite nice um another person + +00:21:29.600 --> 00:21:33.360 +asks uh yes + +00:21:33.360 --> 00:21:36.720 +excellent um how does this relate to + +00:21:36.720 --> 00:21:37.840 +banda pandoc + +00:21:37.840 --> 00:21:39.360 +which is used for converting between + +00:21:39.360 --> 00:21:40.960 +markup formats + +00:21:40.960 --> 00:21:43.919 +so all we're doing is we're we're saying + +00:21:43.919 --> 00:21:44.400 +hey + +00:21:44.400 --> 00:21:46.799 +please write org because org is just + +00:21:46.799 --> 00:21:47.679 +fantastic + +00:21:47.679 --> 00:21:50.400 +and we love it and it's the dream and if + +00:21:50.400 --> 00:21:51.760 +you would like to view things + +00:21:51.760 --> 00:21:55.039 +in html or in org reveal or + +00:21:55.039 --> 00:21:58.559 +in pdf that's up to the user so + +00:21:58.559 --> 00:22:02.320 +here is a um oh + +00:22:02.320 --> 00:22:05.039 +made it too small now so here is a an + +00:22:05.039 --> 00:22:06.080 +example + +00:22:06.080 --> 00:22:08.880 +so here's an uh how here's how parallel + +00:22:08.880 --> 00:22:10.240 +is implemented + +00:22:10.240 --> 00:22:13.120 +uh just as a quick example uh not too + +00:22:13.120 --> 00:22:14.320 +long + +00:22:14.320 --> 00:22:16.880 +uh about half of the implementation is + +00:22:16.880 --> 00:22:18.400 +documentation so + +00:22:18.400 --> 00:22:20.720 +uh hopefully that speaks for for how + +00:22:20.720 --> 00:22:22.720 +useful this feature is + +00:22:22.720 --> 00:22:25.280 +uh so we decide if there's a rule or not + +00:22:25.280 --> 00:22:28.080 +um we look for the column break + +00:22:28.080 --> 00:22:29.760 +and really here we're looking at the + +00:22:29.760 --> 00:22:31.840 +back end if the back end is latex + +00:22:31.840 --> 00:22:34.960 +uh please use this uh incantation with + +00:22:34.960 --> 00:22:37.679 +multi columns mini pages what have you + +00:22:37.679 --> 00:22:38.559 +and if the + +00:22:38.559 --> 00:22:41.039 +back end is something else uh please uh + +00:22:41.039 --> 00:22:41.600 +do this + +00:22:41.600 --> 00:22:44.960 +uh div and style and uh other uh + +00:22:44.960 --> 00:22:46.640 +gibberish that we don't really wanna + +00:22:46.640 --> 00:22:48.080 +look at uh so + +00:22:48.080 --> 00:22:51.760 +uh when you pandoc works from org + +00:22:51.760 --> 00:22:55.280 +so it might not work directly since our + +00:22:55.280 --> 00:22:58.080 +interface the way we set it up is when + +00:22:58.080 --> 00:22:59.679 +you try to export + +00:22:59.679 --> 00:23:01.919 +uh we hook in and we do a bunch of + +00:23:01.919 --> 00:23:03.039 +pre-processing + +00:23:03.039 --> 00:23:05.919 +so this this uh def block is a is a + +00:23:05.919 --> 00:23:07.440 +string valued function + +00:23:07.440 --> 00:23:10.880 +and so whenever we see these uh begin + +00:23:10.880 --> 00:23:13.919 +parallel uh when you do an export + +00:23:13.919 --> 00:23:16.480 +I tell Emacs hold up look for those + +00:23:16.480 --> 00:23:16.960 +begin + +00:23:16.960 --> 00:23:19.360 +parallels please oh you found them grab + +00:23:19.360 --> 00:23:20.320 +that text + +00:23:20.320 --> 00:23:22.400 +you grabbed it great now please apply + +00:23:22.400 --> 00:23:24.080 +this person's uh function + +00:23:24.080 --> 00:23:27.120 +onto that text and splice in the result + +00:23:27.120 --> 00:23:29.760 +okay so so when you export uh we're + +00:23:29.760 --> 00:23:30.400 +performing + +00:23:30.400 --> 00:23:33.600 +arbitrary computations on your uh uh on + +00:23:33.600 --> 00:23:35.120 +your text + +00:23:35.120 --> 00:23:38.799 +so uh um some people might not find that + +00:23:38.799 --> 00:23:40.159 +comforting to have + +00:23:40.159 --> 00:23:43.039 +arbitrary uh computations happening so + +00:23:43.039 --> 00:23:45.039 +in this article there's a few where + +00:23:45.039 --> 00:23:47.520 +uh we change your text upon export we + +00:23:47.520 --> 00:23:48.320 +translate it + +00:23:48.320 --> 00:23:51.760 +we do other things to it um + +00:23:51.760 --> 00:23:55.360 +so someone says uh if you export to + +00:23:55.360 --> 00:23:57.360 +latex to pdf does that work well with + +00:23:57.360 --> 00:23:58.640 +beamer as well + +00:23:58.640 --> 00:24:00.320 +to create slides with columns for + +00:24:00.320 --> 00:24:02.080 +example for uh + +00:24:02.080 --> 00:24:05.200 +um so uh actually uh + +00:24:05.200 --> 00:24:08.000 +so uh I I made a bunch of these changes + +00:24:08.000 --> 00:24:09.200 +earlier this morning + +00:24:09.200 --> 00:24:12.320 +and it just says latex right here um + +00:24:12.320 --> 00:24:14.480 +so if you want to go to beamer I think + +00:24:14.480 --> 00:24:15.360 +the back end for me + +00:24:15.360 --> 00:24:18.240 +beamer is called well beamer so instead + +00:24:18.240 --> 00:24:18.960 +of a + +00:24:18.960 --> 00:24:21.200 +a p case what we would do is we would + +00:24:21.200 --> 00:24:22.000 +say oh + +00:24:22.000 --> 00:24:25.360 +if it's a latex or it's a beamer + +00:24:25.360 --> 00:24:29.279 +then uh use this uh otherwise + +00:24:29.279 --> 00:24:31.120 +it's not a latex it will simply default + +00:24:31.120 --> 00:24:33.039 +to this one which could be + +00:24:33.039 --> 00:24:36.400 +dangerous for your needs um I think it's + +00:24:36.400 --> 00:24:39.679 +a bad practice to put a underscore but I + +00:24:39.679 --> 00:24:41.279 +did it really quickly because I just + +00:24:41.279 --> 00:24:43.679 +wanted to show you that it works fine in + +00:24:43.679 --> 00:24:46.559 +org reveal contributions are more than + +00:24:46.559 --> 00:24:47.440 +welcome + +00:24:47.440 --> 00:24:51.039 +I I uh happily uh would love any + +00:24:51.039 --> 00:24:52.240 +assistance + +00:24:52.240 --> 00:24:56.080 +um and and I have a uh we have a + +00:24:56.080 --> 00:24:58.640 +list a reference cheat sheet here to to + +00:24:58.640 --> 00:25:00.159 +learn a little bit about lisp if you're + +00:25:00.159 --> 00:25:02.000 +not comfortable or to + +00:25:02.000 --> 00:25:04.640 +ask some questions lots of helpful + +00:25:04.640 --> 00:25:06.400 +people + +00:25:06.400 --> 00:25:09.440 +so there's another question that says uh + +00:25:09.440 --> 00:25:11.679 +does typing in a block mess up with a + +00:25:11.679 --> 00:25:13.120 +syntax highlighting + +00:25:13.120 --> 00:25:15.679 +usually you use a single color inside an + +00:25:15.679 --> 00:25:17.279 +example block for example + +00:25:17.279 --> 00:25:21.279 +ah you found my crutch you found + +00:25:21.279 --> 00:25:25.279 +my crutch um so I so there's + +00:25:25.279 --> 00:25:27.440 +emax's is all encompassing and I'm not + +00:25:27.440 --> 00:25:29.760 +quite sure how fonts work or are + +00:25:29.760 --> 00:25:32.559 +you know I I learned enough to get by I + +00:25:32.559 --> 00:25:33.840 +learned enough to get by + +00:25:33.840 --> 00:25:37.440 +so let me um but here's + +00:25:37.440 --> 00:25:39.760 +here's how links work they're they're a + +00:25:39.760 --> 00:25:40.799 +bit complicated + +00:25:40.799 --> 00:25:42.960 +this this is a bit scary I don't + +00:25:42.960 --> 00:25:43.919 +recommend anyone + +00:25:43.919 --> 00:25:47.039 +uh read it um + +00:25:47.039 --> 00:25:49.840 +but uh actually let me open up an email + +00:25:49.840 --> 00:25:50.559 +and you can + +00:25:50.559 --> 00:25:53.600 +you can see what I see uh so here's an + +00:25:53.600 --> 00:25:54.799 +Emacs + +00:25:54.799 --> 00:25:56.799 +all right let's make that a bit bigger + +00:25:56.799 --> 00:25:58.400 +uh let's change this + +00:25:58.400 --> 00:26:01.200 +slightly nope that's worse there you go + +00:26:01.200 --> 00:26:01.919 +so + +00:26:01.919 --> 00:26:05.760 +here's here's some words um so here's + +00:26:05.760 --> 00:26:09.360 +red hello um + +00:26:09.360 --> 00:26:12.000 +but you're worried about uh preserving + +00:26:12.000 --> 00:26:12.400 +uh + +00:26:12.400 --> 00:26:15.679 +uh uh um quantification + +00:26:15.679 --> 00:26:18.480 +so let's make an emax list block all + +00:26:18.480 --> 00:26:18.880 +right + +00:26:18.880 --> 00:26:22.840 +and let's say plus one two ah + +00:26:22.840 --> 00:26:28.000 +where's the fun hello + +00:26:28.000 --> 00:26:32.080 +um bye okay where's the coloring + +00:26:32.080 --> 00:26:34.880 +if we if we zoom in on this on this + +00:26:34.880 --> 00:26:36.000 +begin source block + +00:26:36.000 --> 00:26:39.200 +if we zoom in you can see down here + +00:26:39.200 --> 00:26:42.159 +uh we have our our coloring all right + +00:26:42.159 --> 00:26:43.279 +when we zoom in + +00:26:43.279 --> 00:26:46.960 +if we if we zoom out ah no coloring + +00:26:46.960 --> 00:26:50.080 +zoom in coloring it's about ah no + +00:26:50.080 --> 00:26:50.880 +coloring + +00:26:50.880 --> 00:26:53.840 +let's take off these bad boys and oh + +00:26:53.840 --> 00:26:55.679 +look my coloring's back + +00:26:55.679 --> 00:26:59.360 +so um in a previous + +00:26:59.360 --> 00:27:02.320 +uh iteration of the system I was able to + +00:27:02.320 --> 00:27:03.760 +maintain coloring + +00:27:03.760 --> 00:27:06.400 +uh in this new iteration I am not I + +00:27:06.400 --> 00:27:08.559 +don't know how to do it I haven't uh + +00:27:08.559 --> 00:27:11.039 +had the time to to implement it I spent + +00:27:11.039 --> 00:27:13.279 +a lot of time writing this uh + +00:27:13.279 --> 00:27:17.279 +48 page uh documentation uh with uh + +00:27:17.279 --> 00:27:19.679 +with some fun examples to to to try to + +00:27:19.679 --> 00:27:20.320 +help + +00:27:20.320 --> 00:27:21.760 +people learn so but but I would + +00:27:21.760 --> 00:27:23.760 +appreciate any help or guidance on + +00:27:23.760 --> 00:27:26.240 +how to uh maintain the quantification I + +00:27:26.240 --> 00:27:28.000 +I really would like to keep those colors + +00:27:28.000 --> 00:27:29.200 +in + +00:27:29.200 --> 00:27:31.840 +um musa we have time for maybe one more + +00:27:31.840 --> 00:27:32.640 +question + +00:27:32.640 --> 00:27:34.960 +um one or two more questions and then we + +00:27:34.960 --> 00:27:37.039 +have to move on to the next talk + +00:27:37.039 --> 00:27:39.120 +um but yeah you're more than welcome to + +00:27:39.120 --> 00:27:40.799 +take continue taking the questions via + +00:27:40.799 --> 00:27:42.559 +irc or the pad + +00:27:42.559 --> 00:27:45.760 +okay thank you thank you + +00:27:45.760 --> 00:27:48.480 +let's uh the final question we'll take + +00:27:48.480 --> 00:27:48.880 +is + +00:27:48.880 --> 00:27:52.320 +um should packages implement + +00:27:52.320 --> 00:27:54.399 +interface to one specific format or + +00:27:54.399 --> 00:27:55.840 +attempt to be conclusive to all the + +00:27:55.840 --> 00:27:57.279 +potential output targets + +00:27:57.279 --> 00:27:58.880 +I think you should just make them as you + +00:27:58.880 --> 00:28:01.120 +go and you know add them as you need + +00:28:01.120 --> 00:28:02.559 +them we'll make uh + +00:28:02.559 --> 00:28:05.600 +help requests or things and uh + +00:28:05.600 --> 00:28:07.840 +we can we can share recipes in this uh + +00:28:07.840 --> 00:28:09.279 +document and then + +00:28:09.279 --> 00:28:12.799 +try to add other uh techniques and then + +00:28:12.799 --> 00:28:16.000 +and we can uh use these blocks as a + +00:28:16.000 --> 00:28:19.200 +common uh interface for + +00:28:19.200 --> 00:28:22.240 +for exporting to pdf and other things + +00:28:22.240 --> 00:28:26.000 +and since someone asked here is a um + +00:28:26.000 --> 00:28:28.399 +here is uh what a pdf looks like this is + +00:28:28.399 --> 00:28:30.159 +the same pdf and + +00:28:30.159 --> 00:28:33.840 +uh rendered uh just I made no effort to + +00:28:33.840 --> 00:28:34.960 +make it look good + +00:28:34.960 --> 00:28:37.840 +but it surprisingly does look good so so + +00:28:37.840 --> 00:28:38.559 +uh that was + +00:28:38.559 --> 00:28:41.600 +uh that was nice um that was a + +00:28:41.600 --> 00:28:44.320 +terrible magenta but that is life uh + +00:28:44.320 --> 00:28:44.880 +anyhow + +00:28:44.880 --> 00:28:47.279 +I hope you all enjoyed this talk I hope + +00:28:47.279 --> 00:28:48.960 +you will find um + +00:28:48.960 --> 00:28:51.679 +death block uh useful to you it is + +00:28:51.679 --> 00:28:52.799 +available on melbourne + +00:28:52.799 --> 00:28:54.960 +uh in a rush to make it available for + +00:28:54.960 --> 00:28:57.679 +EmacsConf 2020 some melba + +00:28:57.679 --> 00:29:00.159 +guidelines may not have been in here too + +00:29:00.159 --> 00:29:00.960 +please do not + +00:29:00.960 --> 00:29:03.200 +hit me um and I hope everyone enjoys the + +00:29:03.200 --> 00:29:04.720 +rest of the EmacsConf + +00:29:04.720 --> 00:29:08.559 +2020 thank you -- cgit v1.2.3