diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-12-04 09:35:19 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-12-04 09:35:19 -0500 |
commit | 7f0f4c921e6747a75802354a54e15d035b1f6086 (patch) | |
tree | e1a5f0b958cd3dc9b71fc7e4b920740d7bc90803 | |
parent | 581a469087553c2fc9e003da76a41eb697816c8e (diff) | |
download | emacsconf-wiki-7f0f4c921e6747a75802354a54e15d035b1f6086.tar.xz emacsconf-wiki-7f0f4c921e6747a75802354a54e15d035b1f6086.zip |
Automated commit
-rw-r--r-- | 2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main--chapters.vtt | 71 | ||||
-rw-r--r-- | 2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt | 1220 | ||||
-rw-r--r-- | 2022/info/orgyear-after.md | 398 | ||||
-rw-r--r-- | 2022/info/orgyear-before.md | 37 |
4 files changed, 1724 insertions, 2 deletions
diff --git a/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main--chapters.vtt b/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main--chapters.vtt new file mode 100644 index 00000000..6a5b2f48 --- /dev/null +++ b/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main--chapters.vtt @@ -0,0 +1,71 @@ +WEBVTT + + +00:00:00.000 --> 00:00:32.079 +Introduction + +00:00:32.080 --> 00:01:08.799 +Project housekeeping + +00:01:08.800 --> 00:02:04.679 +Continuous integration + +00:02:04.680 --> 00:03:32.559 +Funding contributors + +00:03:32.560 --> 00:03:58.639 +New features + +00:03:58.640 --> 00:04:36.519 +An assortment of export improvements + +00:04:36.520 --> 00:05:12.279 +A collection of babel improvements + +00:05:12.280 --> 00:06:04.159 +A multitude of general org-mode improvements + +00:06:04.160 --> 00:07:31.599 +Citations + +00:07:31.600 --> 00:07:48.319 +Quality of life improvements + +00:07:48.320 --> 00:09:02.479 +Org fold + +00:09:02.480 --> 00:10:07.359 +Org element cache + +00:10:07.360 --> 00:11:02.719 +Org persist + +00:11:02.720 --> 00:11:40.199 +More careful resource downloading + +00:11:40.200 --> 00:12:15.799 +Bug fixes + +00:12:15.800 --> 00:12:42.799 +Asynchronous session evaluation + +00:12:42.800 --> 00:13:18.279 +Nicer tangle mode syntax + +00:13:18.280 --> 00:13:52.599 +A flourishing ecosystem + +00:13:52.600 --> 00:14:10.119 +Org-modern + +00:14:10.120 --> 00:15:44.039 +citeproc-org + +00:15:44.040 --> 00:17:06.319 +Continuing work on the Org format + +00:17:06.320 --> 00:17:41.919 +Mailing list management + +00:17:41.920 --> 00:19:51.880 +Further engraving diff --git a/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt b/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt new file mode 100644 index 00000000..32e3022e --- /dev/null +++ b/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt @@ -0,0 +1,1220 @@ +WEBVTT captioned by sachac + +NOTE Introduction + +00:00:00.000 --> 00:00:04.679 +Hello. If you're listening to this talk, + +00:00:04.680 --> 00:00:06.239 +then you should be at least a bit interested + +00:00:06.240 --> 00:00:09.199 +in Org mode, which is fantastic + +00:00:09.200 --> 00:00:11.252 +because there have been quite a few + +00:00:11.253 --> 00:00:14.599 +interesting developments over the past year or so. + +00:00:14.600 --> 00:00:19.399 +I'm Timothy, as you may have gathered from the last talk, + +00:00:19.400 --> 00:00:21.799 +and I'm also quite involved with the Org project, + +00:00:21.800 --> 00:00:23.999 +so I'd like to go through a few of those developments + +00:00:24.000 --> 00:00:27.439 +over the past year or so and give you a few hints as well + +00:00:27.440 --> 00:00:32.079 +as to what potentially lies around the corner with Org mode. + +NOTE Project housekeeping + +00:00:32.080 --> 00:00:35.879 +The starters, slightly on the more boring side + +00:00:35.880 --> 00:00:37.679 +but rather significant change to the project, + +00:00:37.680 --> 00:00:40.799 +occurred with the housekeeping or organisation. + +00:00:40.800 --> 00:00:43.519 +The codebase for the Org project has actually shifted over + +00:00:43.520 --> 00:00:46.799 +from a self-hosted Gogs instance over to Savannah, + +00:00:46.800 --> 00:00:49.719 +which means it's now living right alongside + +00:00:49.720 --> 00:00:51.519 +the Emacs codebase. + +00:00:51.520 --> 00:00:53.279 +This has been accompanied by the creation + +00:00:53.280 --> 00:00:58.219 +of a whole bunch of Org-related repos under + +00:00:58.220 --> 00:01:03.359 +Bastien's (Org's maintainer) personal sourceHut account. + +00:01:03.360 --> 00:01:06.759 +We've got the source of the website, the Org wiki Worg, + +00:01:06.760 --> 00:01:08.799 +as well as Org contrib. + +NOTE Continuous integration + +00:01:08.800 --> 00:01:13.119 +Another recent addition to this list of Org-related repos + +00:01:13.120 --> 00:01:17.799 +is the new Org mode tests--continuous integration. + +00:01:17.800 --> 00:01:22.039 +Now, this is rather important, because while we do recommend + +00:01:22.040 --> 00:01:25.879 +that all contributors actually run make tests + +00:01:25.880 --> 00:01:29.799 +before submitting patches to the Org project, + +00:01:29.800 --> 00:01:31.279 +this doesn't always happen. + +00:01:31.280 --> 00:01:34.559 +It can also actually be a bit harder than you expect + +00:01:34.560 --> 00:01:35.719 +to run the tests because there are a lot + +00:01:35.720 --> 00:01:37.759 +of trans-dependencies you get with Org; + +00:01:37.760 --> 00:01:40.199 +for instance, with all of the various Babel libraries + +00:01:40.200 --> 00:01:42.599 +which actually require other packages + +00:01:42.600 --> 00:01:46.079 +or programming language to be installed on the system. + +00:01:46.080 --> 00:01:50.079 +Having a single self-contained test system + +00:01:50.080 --> 00:01:53.319 +to actually make sure that Org can be regularly + +00:01:53.320 --> 00:01:57.519 +and thoroughly tested should be a great help for actually + +00:01:57.520 --> 00:02:04.679 +ensuring the quality of the contributions. + +NOTE Funding contributors + +00:02:04.680 --> 00:02:07.079 +The funding structure for Org has also undergone a bit + +00:02:07.080 --> 00:02:10.559 +of a shift. Historically, we've just directed everybody + +00:02:10.560 --> 00:02:14.199 +who's interested in financially supporting the Org project + +00:02:14.200 --> 00:02:18.639 +to the maintainer Bastien's personal GitHub sponsors + +00:02:18.640 --> 00:02:22.399 +and LibrePay accounts. Now, early this year, + +00:02:22.400 --> 00:02:27.519 +Bastion has created the Librepay Org mode team account, + +00:02:27.520 --> 00:02:29.039 +which means that you can actually now + +00:02:29.040 --> 00:02:33.159 +support the Org project as opposed to + +00:02:33.160 --> 00:02:34.479 +the person leading the Org project. + +00:02:34.480 --> 00:02:39.159 +Currently, this just distributes donations between Bastien, + +00:02:39.160 --> 00:02:42.079 +Ihor, and myself. However, the idea is that + +00:02:42.080 --> 00:02:45.039 +as the active contributors for the Org project + +00:02:45.040 --> 00:02:50.839 +come and go over time, the list of people on this team + +00:02:50.840 --> 00:02:56.999 +can be changed as seems sensible. The hope here is that + +00:02:57.000 --> 00:03:00.159 +it will simplify both how easy it is + +00:03:00.160 --> 00:03:02.559 +to actually financially support the Org project + +00:03:02.560 --> 00:03:04.359 +as well as how easily people contributing + +00:03:04.360 --> 00:03:09.599 +to the Org project can be supported. + +00:03:09.600 --> 00:03:13.479 +If you're interested in supporting the Org project, + +00:03:13.480 --> 00:03:15.439 +there's never been a better time than now + +00:03:15.440 --> 00:03:16.919 +to have a look at this + +00:03:16.920 --> 00:03:23.159 +and let anybody who might also might be interested know. + +00:03:23.160 --> 00:03:25.279 +Hopefully, this leads to a healthier funding structure + +00:03:25.280 --> 00:03:28.199 +that will scale better into the long term + +00:03:28.200 --> 00:03:32.559 +and thus better support the work that happens with Org. + +NOTE New features + +00:03:32.560 --> 00:03:37.079 +Now, the project itself has of course also seen quite a bit + +00:03:37.080 --> 00:03:38.519 +of development over the past year. + +00:03:38.520 --> 00:03:44.159 +We've had about 800 comments from 80 contributors. + +00:03:44.160 --> 00:03:46.519 +Within these comments, there's been a lot of polishing + +00:03:46.520 --> 00:03:48.759 +quality-of-life improvements, + +00:03:48.760 --> 00:03:50.519 +and also quite a few new features. + +00:03:50.520 --> 00:03:52.799 +Now, I haven't got nearly enough time + +00:03:52.800 --> 00:03:54.159 +to go through this exhaustively, + +00:03:54.160 --> 00:03:58.639 +so we're just going to go through a quick highlight reel. + +NOTE An assortment of export improvements + +00:03:58.640 --> 00:04:00.239 +There's a collection of export improvements + +00:04:00.240 --> 00:04:04.319 +from things which affect all export backends, + +00:04:04.320 --> 00:04:07.319 +like including remote content + +00:04:07.320 --> 00:04:09.599 +and adding new things like DOI links + +00:04:09.600 --> 00:04:11.519 +and support for encrypted Org files, + +00:04:11.520 --> 00:04:14.679 +as well as a whole lot of export-backend-specific changes. + +00:04:14.680 --> 00:04:17.159 +For example, quite a few backends-- + +00:04:17.160 --> 00:04:18.519 +I've mentioned the LaTeX one here, + +00:04:18.520 --> 00:04:23.119 +but also others such as Texinfo--have now got + +00:04:23.120 --> 00:04:26.799 +rich support for various types of attributes and objects. + +00:04:26.800 --> 00:04:31.919 +The HTML backend has had a few things boosted up and well, + +00:04:31.920 --> 00:04:33.519 +if you want to see the full list, + +00:04:33.520 --> 00:04:36.519 +just take a look at the release notes. + +NOTE A collection of babel improvements + +00:04:36.520 --> 00:04:39.319 +We've also seen a similar collection of improvements + +00:04:39.320 --> 00:04:43.519 +with the Babel backends. Once again, this is scattered-- + +00:04:43.520 --> 00:04:46.519 +or well, it can be split into two sets of changes. + +00:04:46.520 --> 00:04:49.599 +There's some which affect all of Babel, essentially. + +00:04:49.600 --> 00:04:52.599 +For instance, the new syntax of parsing + +00:04:52.600 --> 00:04:56.479 +the raw content of code blocks, or the changes with Noweb. + +00:04:56.480 --> 00:05:01.919 +For example, :noweb-prefix is a new option that can be used. + +00:05:01.920 --> 00:05:03.239 +And then there's also a collection + +00:05:03.240 --> 00:05:07.439 +of backend-specific changes. So ASCII graphics with PlantUML + +00:05:07.440 --> 00:05:12.279 +or enhanced return capabilities with the ob-python library. + +NOTE A multitude of general org-mode improvements + +00:05:12.280 --> 00:05:17.479 +And then of course, as before, a whole collection + +00:05:17.480 --> 00:05:19.839 +of more changes which you can find in the release notes. + +00:05:19.840 --> 00:05:22.839 +Last but by no means least, + +00:05:22.840 --> 00:05:26.239 +there have been quite a few changes within the rest of Org. + +00:05:26.240 --> 00:05:30.839 +So this is, once again, far too many things to list, + +00:05:30.840 --> 00:05:33.759 +but it's things like improved refiling, + +00:05:33.760 --> 00:05:36.639 +capture templates, image preview sizing, + +00:05:36.640 --> 00:05:38.159 +clocktable settings, agenda tweaks, + +00:05:38.160 --> 00:05:41.159 +and well, a whole lot more. + +00:05:41.160 --> 00:05:45.039 +Yes, basically, the essence of what's here + +00:05:45.040 --> 00:05:47.999 +is a lot of little changes + +00:05:48.000 --> 00:05:50.799 +which just address particular use cases in ways + +00:05:50.800 --> 00:05:55.052 +that I don't think anybody's going to be seeing + +00:05:55.053 --> 00:05:55.786 +the impact of all of them, + +00:05:55.787 --> 00:05:57.559 +but I think most people should at least + +00:05:57.560 --> 00:06:00.119 +find one or two things + +00:06:00.120 --> 00:06:04.159 +which actually improve their own usage. + +NOTE Citations + +00:06:04.160 --> 00:06:06.079 +Now these are the sort of assorted + +00:06:06.080 --> 00:06:07.399 +relatively minor improvements, + +00:06:07.400 --> 00:06:09.959 +but there are also some major ones. + +00:06:09.960 --> 00:06:12.159 +And one in particular, citations. + +00:06:12.160 --> 00:06:15.879 +So I think this has been, at this point, + +00:06:15.880 --> 00:06:17.079 +over a decade in the making, + +00:06:17.080 --> 00:06:21.919 +but Org finally has first-class support for citations. + +00:06:21.920 --> 00:06:23.759 +And I have to say, it is marvellous. + +00:06:23.760 --> 00:06:27.239 +You'd hope so, after the labour. I think it is. + +00:06:27.240 --> 00:06:30.119 +It can be said that it's actually worth the wait. + +00:06:30.120 --> 00:06:31.679 +I think out of the various options you've got now, + +00:06:31.680 --> 00:06:34.279 +(for example, the way that Pandoc + +00:06:34.280 --> 00:06:35.599 +and Markdown otherwise[??] do it) + +00:06:35.600 --> 00:06:40.519 +Org has a fantastically succinct and flexible + +00:06:40.520 --> 00:06:45.959 +syntax for citations, which scales really well for all sorts + +00:06:45.960 --> 00:06:47.199 +of different use cases. + +00:06:47.200 --> 00:06:51.159 +Additionally, on the backend side of things, + +00:06:51.160 --> 00:06:55.359 +we've now got a generalised way for handling citations + +00:06:55.360 --> 00:06:57.839 +which has been quite helpful for the--I think + +00:06:57.840 --> 00:07:00.359 +I could say rather rapid development + +00:07:00.360 --> 00:07:03.279 +of multiple citation backends for Org. + +00:07:03.280 --> 00:07:07.639 +And I think it's just fantastic, really, seeing + +00:07:07.640 --> 00:07:09.839 +how quickly Org has gone + +00:07:09.840 --> 00:07:12.239 +from having no support for citations + +00:07:12.240 --> 00:07:13.239 +at the start of this year + +00:07:13.240 --> 00:07:17.559 +to what can be described as + +00:07:17.560 --> 00:07:20.199 +a wonderfully rich and flexible support + +00:07:20.200 --> 00:07:23.559 +with, well, multiple backends for citations. + +00:07:23.560 --> 00:07:27.519 +I think that's something that we can really be proud of. + +00:07:27.520 --> 00:07:30.039 +And it's been a fantastic contribution + +00:07:30.040 --> 00:07:31.599 +for everybody involved in this process. + +NOTE Quality of life improvements + +00:07:31.600 --> 00:07:36.119 +Okay, so we've had features. + +00:07:36.120 --> 00:07:38.039 +There have also been a whole lot of + +00:07:38.040 --> 00:07:39.559 +quality of life improvements. + +00:07:39.560 --> 00:07:43.479 +Once again, many more than I can reasonably mention here. + +00:07:43.480 --> 00:07:46.079 +So I'm just going to flick it through + +00:07:46.080 --> 00:07:48.319 +a few of them. A few big ones though, + +NOTE Org fold + +00:07:48.320 --> 00:07:52.519 +Ihor is responsible for three lovely developments with Org, + +00:07:52.520 --> 00:07:55.119 +one of which is Org fold. So this is a generalisation + +00:07:55.120 --> 00:07:57.239 +of the way that content is folded in Org. + +00:07:57.240 --> 00:08:00.679 +And I think quite a few of you will actually underestimate + +00:08:00.680 --> 00:08:01.679 +how much can be folded in Org. + +00:08:01.680 --> 00:08:03.039 +It's not just a matter of headlines. + +00:08:03.040 --> 00:08:07.919 +It's headlines, code blocks, lists, environments, + +00:08:07.920 --> 00:08:10.519 +all sorts of things can actually be folded in Org. + +00:08:10.520 --> 00:08:14.679 +And the introduction of Org fold is important + +00:08:14.680 --> 00:08:18.919 +for two reasons. One is that it has allowed for + +00:08:18.920 --> 00:08:21.479 +text-property-based folding, + +00:08:21.480 --> 00:08:24.479 +which in Emacs versions less than 29 + +00:08:24.480 --> 00:08:27.719 +has a huge difference in performance, + +00:08:27.720 --> 00:08:29.959 +which is particularly apparent with larger files. + +00:08:29.960 --> 00:08:32.639 +The second significant thing about this is that + +00:08:32.640 --> 00:08:36.479 +it now actually provides a more general way + +00:08:36.480 --> 00:08:39.879 +to actually describe changes to the folding structure. + +00:08:39.880 --> 00:08:42.559 +So before there was direct modification of + +00:08:42.560 --> 00:08:45.959 +messing with overlays scattered around the Org code base. + +00:08:45.960 --> 00:08:49.399 +Now we have a much more well organised system + +00:08:49.400 --> 00:08:53.319 +where we use Org fold to say what is and isn't folded + +00:08:53.320 --> 00:08:54.799 +and to manage the state of all of that, + +00:08:54.800 --> 00:08:59.239 +which is, I think, just from a sort of design, + +00:08:59.240 --> 00:09:02.479 +sort of project design approach, a much better system. + +NOTE Org element cache + +00:09:02.480 --> 00:09:06.599 +We've also got the Org element cache by Ihor. + +00:09:06.600 --> 00:09:09.239 +This is actually something which was discussed + +00:09:09.240 --> 00:09:12.039 +quite a while ago, but has somewhat stalled + +00:09:12.040 --> 00:09:14.679 +due to the difficulty of cache invalidation. + +00:09:14.680 --> 00:09:17.279 +Ihor has sunk a tremendous amount of effort into this + +00:09:17.280 --> 00:09:19.759 +and has improved it to the point + +00:09:19.760 --> 00:09:21.799 +where we've now actually been able to + +00:09:21.800 --> 00:09:25.639 +enable this by default. So what this basically does is + +00:09:25.640 --> 00:09:27.999 +it records lots of information + +00:09:28.000 --> 00:09:30.159 +about the structure of the Org document + +00:09:30.160 --> 00:09:34.119 +and allows for, well, with the appropriate modifications + +00:09:34.120 --> 00:09:37.359 +that Ihor has also made throughout the Org element library + +00:09:37.360 --> 00:09:41.559 +to use this information to speed up various operations + +00:09:41.560 --> 00:09:44.879 +based on the Org document syntax tree. + +00:09:44.880 --> 00:09:48.279 +And so this has been quite-- + +00:09:48.280 --> 00:09:49.839 +the improvements have been scattered all over the place, + +00:09:49.840 --> 00:09:52.719 +but for a good example for libraries + +00:09:52.720 --> 00:09:57.719 +or anybody who's wanting to quickly map over Org elements + +00:09:57.720 --> 00:10:00.639 +is `org-element-cache-map', which now provides + +00:10:00.640 --> 00:10:04.559 +a much, much faster way to map over + +00:10:04.560 --> 00:10:07.359 +all of the Org elements in a document. + +NOTE Org persist + +00:10:07.360 --> 00:10:10.799 +This also ties into the third major feature from Ihor + +00:10:10.800 --> 00:10:13.919 +which I'd like to mention, which is Org persist. + +00:10:13.920 --> 00:10:17.959 +So this provides a method of persisting values + +00:10:17.960 --> 00:10:20.279 +across Emacs sessions, basically saving them + +00:10:20.280 --> 00:10:21.799 +to a file somewhere and loading them. + +00:10:21.800 --> 00:10:25.719 +Now this works for Elisp values and it also works for files, + +00:10:25.720 --> 00:10:29.679 +which we made use of with the improved capabilities + +00:10:29.680 --> 00:10:32.479 +for remote files and exports. + +00:10:32.480 --> 00:10:35.799 +This has also been used with the `org-element-cache' data. + +00:10:35.800 --> 00:10:37.479 +So now, if you've got a massive Org file + +00:10:37.480 --> 00:10:41.159 +and you open it once, that data can be saved to + +00:10:41.160 --> 00:10:44.319 +with the Org element cache to Org persist, + +00:10:44.320 --> 00:10:46.679 +and the next time you load this file + +00:10:46.680 --> 00:10:47.919 +in another Emacs session, + +00:10:47.920 --> 00:10:50.959 +we can just start with the cached data + +00:10:50.960 --> 00:10:53.119 +instead of having to construct everything from scratch, + +00:10:53.120 --> 00:10:56.439 +which is quite nice. Once again, a change which + +00:10:56.440 --> 00:10:57.719 +much like the other ones, + +00:10:57.720 --> 00:11:00.359 +we will see more of an impact in larger files, + +00:11:00.360 --> 00:11:02.719 +but a very welcome one everywhere. + +NOTE More careful resource downloading + +00:11:02.720 --> 00:11:06.799 +Now with remote files, there's also been the beginnings + +00:11:06.800 --> 00:11:09.239 +of a bit of an effort with Org + +00:11:09.240 --> 00:11:13.119 +to improve the approach we have to safety. + +00:11:13.120 --> 00:11:14.999 +So in this case previously, + +00:11:15.000 --> 00:11:17.639 +Org would unconditionally download + +00:11:17.640 --> 00:11:19.559 +all the remotes of files that's all referenced. + +00:11:19.560 --> 00:11:23.759 +And now, it's actually going to maintain a list of + +00:11:23.760 --> 00:11:25.519 +sort of safe resources and prompt you + +00:11:25.520 --> 00:11:26.639 +when it's surprised by something, + +00:11:26.640 --> 00:11:29.886 +to work out whether it should + +00:11:29.887 --> 00:11:31.839 +just download this one resource, + +00:11:31.840 --> 00:11:35.279 +mark the whole domain as safe, and a few other options. + +00:11:35.280 --> 00:11:36.759 +We're also going to probably see + +00:11:36.760 --> 00:11:39.079 +a similar approach extend to, for instance, + +00:11:39.080 --> 00:11:40.199 +bits of Babel execution in the future. + +NOTE Bug fixes + +00:11:40.200 --> 00:11:45.359 +Okay bug fixes. It will be remiss of me not to mention that + +00:11:45.360 --> 00:11:46.919 +along with all of the features + +00:11:46.920 --> 00:11:49.359 +and quality of life improvements, + +00:11:49.360 --> 00:11:51.879 +there has been a huge pile of bug fixes. + +00:11:51.880 --> 00:11:57.319 +I think the best way to actually get a look at this + +00:11:57.320 --> 00:11:59.039 +would be to look at the release notes + +00:11:59.040 --> 00:12:00.599 +or maybe even the actual commit log, + +00:12:00.600 --> 00:12:04.119 +but you could also just take my word and say that + +00:12:04.120 --> 00:12:05.639 +there have been a whole load of them + +00:12:05.640 --> 00:12:11.599 +over the past year. So just yes, the code base, I think, + +00:12:11.600 --> 00:12:15.799 +is just gradually getting into better and better shape. + +NOTE Asynchronous session evaluation + +00:12:15.800 --> 00:12:18.199 +Asynchronous session evaluation is I think possibly + +00:12:18.200 --> 00:12:19.679 +the final quality-of-life improvement + +00:12:19.680 --> 00:12:22.119 +I want to mention. This came early in the year, + +00:12:22.120 --> 00:12:24.639 +just with ob-python, and it's been delayed + +00:12:24.640 --> 00:12:26.479 +because in order to actually make it work, + +00:12:26.480 --> 00:12:29.399 +they've required some fundamental changes to the way + +00:12:29.400 --> 00:12:31.079 +that ob-comint works. + +00:12:31.080 --> 00:12:33.599 +Now that's been implemented, + +00:12:33.600 --> 00:12:36.679 +we've since seen support extended to ob-R, + +00:12:36.680 --> 00:12:38.719 +and hopefully, we'll see more languages join this list + +00:12:38.720 --> 00:12:42.799 +in the not-too-distant future. + +NOTE Nicer tangle mode syntax + +00:12:42.800 --> 00:12:45.799 +Now I guess one bonus which I tacked on just for fun is + +00:12:45.800 --> 00:12:47.639 +it's now more convenient than ever + +00:12:47.640 --> 00:12:52.039 +to actually specify the permissions for tangled files. + +00:12:52.040 --> 00:12:54.999 +Previously you had to give a list expression + +00:12:55.000 --> 00:12:55.839 +which should be evaluated. + +00:12:55.840 --> 00:12:58.319 +Now you can give it directly in octal form + +00:12:58.320 --> 00:12:59.719 +instead of being a list expression + +00:12:59.720 --> 00:13:01.959 +that produces an integer representation + +00:13:01.960 --> 00:13:03.639 +of the octal permissions. + +00:13:03.640 --> 00:13:08.439 +Or you can use ls style: rwx and dashes. + +00:13:08.440 --> 00:13:13.079 +Or even just chmod. I want to be able to execute this + +00:13:13.080 --> 00:13:16.386 +as a user, which will basically modify + +00:13:16.387 --> 00:13:18.279 +the default permission to add that capability. + +NOTE A flourishing ecosystem + +00:13:18.280 --> 00:13:22.679 +Alrighty. So that's the Org project itself, + +00:13:22.680 --> 00:13:24.799 +but there's also a whole ecosystem. + +00:13:24.800 --> 00:13:27.439 +So what have we got here? + +00:13:27.440 --> 00:13:30.319 +Well a whole bunch of Zettelkasten + +00:13:30.320 --> 00:13:32.599 +or personal-knowledge-base-type projects. + +00:13:32.600 --> 00:13:36.239 +One of which is logseq, so that's an online open source + +00:13:36.240 --> 00:13:39.639 +Zettelkasten which supports both Markdown + +00:13:39.640 --> 00:13:41.799 +and also Org mode as a first-class format. + +00:13:41.800 --> 00:13:45.599 +Then of course we have Org Roam, which provides + +00:13:45.600 --> 00:13:48.879 +a Zettelkasten built directly on top of Org within Emacs. + +00:13:48.880 --> 00:13:51.639 +Both of these are seen considerably interesting + +00:13:51.640 --> 00:13:52.599 +over the past year. + +NOTE Org-modern + +00:13:52.600 --> 00:13:56.799 +Moving on to visuals, minad has produced + +00:13:56.800 --> 00:14:00.439 +another lovely minad package in the form of org-modern + +00:14:00.440 --> 00:14:04.559 +which just spruces up the visuals of all documents + +00:14:04.560 --> 00:14:09.519 +and seems to have been quite well received recently + +00:14:09.520 --> 00:14:10.119 +since its release. + +NOTE citeproc-org + +00:14:10.120 --> 00:14:13.159 +Building on top of the citations from earlier, + +00:14:13.160 --> 00:14:14.559 +Andras Simonyi has produced + +00:14:14.560 --> 00:14:16.559 +the wonderful citeproc-org library, + +00:14:16.560 --> 00:14:20.799 +which, if you're not familiar, + +00:14:20.800 --> 00:14:24.999 +allows the capabilities of the citation style language + +00:14:25.000 --> 00:14:26.639 +which has now become something + +00:14:26.640 --> 00:14:27.999 +which is quite widely supported + +00:14:28.000 --> 00:14:31.079 +to be used for Org citation exports. + +00:14:31.080 --> 00:14:33.799 +This means that you've got access to I think at this point + +00:14:33.800 --> 00:14:35.799 +is it thousands or tens of thousands + +00:14:35.800 --> 00:14:39.879 +of different bibliography and citation formats + +00:14:39.880 --> 00:14:42.919 +which is obviously a huge boon to org citations. + +00:14:42.920 --> 00:14:46.559 +Lastly, just to be slightly critical, + +00:14:46.560 --> 00:14:49.519 +I'm actually going to mention the Neovim Org mode project, + +00:14:49.520 --> 00:14:52.079 +because I think this really shows the interest + +00:14:52.080 --> 00:14:55.359 +in Org as the format, beyond just Emacs. + +00:14:55.360 --> 00:14:58.239 +I think I haven't gone into it much here, + +00:14:58.240 --> 00:15:00.919 +but there's been quite a lot of development + +00:15:00.920 --> 00:15:04.559 +with external tools making use of the Org format. + +00:15:04.560 --> 00:15:07.519 +Clearly, we've done quite a few things right, + +00:15:07.520 --> 00:15:11.599 +and so I think it's interesting to see the interest + +00:15:11.600 --> 00:15:13.319 +that exists outside of Emacs, + +00:15:13.320 --> 00:15:15.239 +even without all the lovely tooling we've built, + +00:15:15.240 --> 00:15:18.599 +just out of appreciation of the formatting, its potential. + +00:15:18.600 --> 00:15:21.079 +Speaking of the format, though, + +00:15:21.080 --> 00:15:24.159 +we've also seen three new parsers on the scene this year. + +00:15:24.160 --> 00:15:27.359 +We've got one in Julia, Haskell + +00:15:27.360 --> 00:15:28.599 +and another one for Tree sitter. + +00:15:28.600 --> 00:15:30.999 +The last one, I think, is currently the least capable, + +00:15:31.000 --> 00:15:32.479 +but also potentially the most interesting + +00:15:32.480 --> 00:15:36.959 +in terms of what possibilities it allows for. + +00:15:36.960 --> 00:15:42.079 +Okay. So that's a quick speed run through + +00:15:42.080 --> 00:15:44.039 +some of the developments over the past year. + +NOTE Continuing work on the Org format + +00:15:44.040 --> 00:15:47.959 +What's coming next? So there's been + +00:15:47.960 --> 00:15:50.999 +quite a lot of work done with the Org syntax document. + +00:15:51.000 --> 00:15:54.199 +In fact, I've completely written it, + +00:15:54.200 --> 00:15:57.239 +and we've now taken it up to spec + +00:15:57.240 --> 00:15:59.799 +to actually accurately describe the way + +00:15:59.800 --> 00:16:03.199 +that the Org format is, as of Org 9.6. + +00:16:03.200 --> 00:16:08.079 +Now, I think this is quite an important document + +00:16:08.080 --> 00:16:09.799 +for the growth in parsing tools + +00:16:09.800 --> 00:16:11.279 +to help actually ensure + +00:16:11.280 --> 00:16:16.439 +that the way that external tools process Org + +00:16:16.440 --> 00:16:20.079 +is actually in sync with the way that Org mode does. + +00:16:20.080 --> 00:16:22.559 +I think it's worth doing everything we can, really, + +00:16:22.560 --> 00:16:24.839 +to avoid the sort of implementation drift + +00:16:24.840 --> 00:16:27.719 +that we've seen with Markdown. + +00:16:27.720 --> 00:16:29.839 +I don't want anything near that. + +00:16:29.840 --> 00:16:32.486 +This is also quite good for the Org format itself because, + +00:16:32.487 --> 00:16:34.479 +in the process of going through this sort of effort, + +00:16:34.480 --> 00:16:38.199 +it brings attention to irregularities in the syntax + +00:16:38.200 --> 00:16:41.519 +which you might want to resolve, and as well as + +00:16:41.520 --> 00:16:43.919 +helping the robustness of org mode itself. + +00:16:43.920 --> 00:16:46.279 +So ultimately, this is to everybody's benefit, really. + +00:16:46.280 --> 00:16:51.799 +It's also my personal hope that this might actually + +00:16:51.800 --> 00:16:54.879 +get to the point where we consider submitting this + +00:16:54.880 --> 00:16:59.039 +as a text format to the Internet Engineering Task Force + +00:16:59.040 --> 00:17:06.319 +as a new text format. So that would be quite nice. + +NOTE Mailing list management + +00:17:06.320 --> 00:17:09.639 +The Org project itself has a layer on top + +00:17:09.640 --> 00:17:13.679 +of the mailing list called Woof developed by Bastien, + +00:17:13.680 --> 00:17:16.119 +and that's about to have another major release. + +00:17:16.120 --> 00:17:21.359 +So what this is going to do is improve the ease of which + +00:17:21.360 --> 00:17:23.319 +we can actually monitor what's going on + +00:17:23.320 --> 00:17:27.079 +with the mailing list. So this is when people have patches, + +00:17:27.080 --> 00:17:29.599 +bug reports, or other types of things + +00:17:29.600 --> 00:17:30.519 +raised on the mailing list. + +00:17:30.520 --> 00:17:34.039 +It's a nice way to collect the status of those + +00:17:34.040 --> 00:17:35.039 +and put them all in one place. + +00:17:35.040 --> 00:17:37.879 +So improvements to this improve the ease of which + +00:17:37.880 --> 00:17:40.399 +the Org mode project can be managed, + +00:17:40.400 --> 00:17:41.919 +which is always quite nice to see. + +NOTE Further engraving + +00:17:41.920 --> 00:17:46.319 +There's also been--jumping back to the export + +00:17:46.320 --> 00:17:48.359 +which is mentioned right at the start of this presentation-- + +00:17:48.360 --> 00:17:51.839 +we've got the introduction of engraved faces + +00:17:51.840 --> 00:17:54.479 +to LaTeX export. Now what's quite interesting about this + +00:17:54.480 --> 00:17:57.599 +is that it's actually used as Emacs' native font lock + +00:17:57.600 --> 00:18:01.239 +and allows for processing that in a generalized way + +00:18:01.240 --> 00:18:03.839 +to different output formats. So at the moment, + +00:18:03.840 --> 00:18:06.919 +this is just integrated with ox-latex, + +00:18:06.920 --> 00:18:11.199 +but it contains the functionality needed for HTML and ASCII, + +00:18:11.200 --> 00:18:13.719 +and it could also be extended to other formats like ODT. + +00:18:13.720 --> 00:18:18.279 +So we could potentially have full syntax highlighting + +00:18:18.280 --> 00:18:20.959 +based on Emacs exported to, well, + +00:18:20.960 --> 00:18:24.199 +really all of the Org mode backends, + +00:18:24.200 --> 00:18:27.359 +except, I suppose, the plain text ones like Markdown. + +00:18:27.360 --> 00:18:29.759 +And I think from both the capabilities perspective-- + +00:18:29.760 --> 00:18:33.039 +because I think, really, font lock in Emacs + +00:18:33.040 --> 00:18:34.199 +from Emacs major modes + +00:18:34.200 --> 00:18:37.159 +tends to blow basically everything else vaguely used + +00:18:37.160 --> 00:18:39.239 +out of the water, whether it be listings, minted + +00:18:39.240 --> 00:18:44.999 +or other efforts--and also from a consistency point of view, + +00:18:45.000 --> 00:18:49.719 +this could be quite a nice development. + +00:18:49.720 --> 00:18:51.119 +Alrighty. Now this talk is "This Year in Org," + +00:18:51.120 --> 00:18:52.599 +and I think you all may have guessed + +00:18:52.600 --> 00:18:57.759 +this is very much tied into my work with This Month in Org + +00:18:57.760 --> 00:19:00.119 +which started, I think, a bit over a year ago. + +00:19:00.120 --> 00:19:04.919 +And so, as you're all avid readers, + +00:19:04.920 --> 00:19:05.919 +I'm sure you've noticed + +00:19:05.920 --> 00:19:08.519 +that there haven't been as many posts as of late. + +00:19:08.520 --> 00:19:11.879 +Now this isn't because my interest in This Month in Org + +00:19:11.880 --> 00:19:15.879 +has been diminishing. Simply, it's the consequence + +00:19:15.880 --> 00:19:18.759 +of an evaporation of my free time. + +00:19:18.760 --> 00:19:22.359 +However, This Month in Org is still going to stick around. + +00:19:22.360 --> 00:19:26.159 +The only change really is that the title is going to be-- + +00:19:26.160 --> 00:19:27.999 +probably continue to be + +00:19:28.000 --> 00:19:30.039 +a bit more aspirational than descriptive + +00:19:30.040 --> 00:19:32.959 +in the near future. We'll see how this goes. + +00:19:32.960 --> 00:19:36.719 +Well, thanks for listening to this overview + +00:19:36.720 --> 00:19:38.599 +of the state of Org at the moment, + +00:19:38.600 --> 00:19:51.880 +and hopefully, I'll see you next year. diff --git a/2022/info/orgyear-after.md b/2022/info/orgyear-after.md index 56775ce2..e8ed5d46 100644 --- a/2022/info/orgyear-after.md +++ b/2022/info/orgyear-after.md @@ -1,6 +1,404 @@ <!-- Automatically generated by emacsconf-publish-after-page --> +<a name="orgyear-mainVideo-transcript"></a> +# Transcript + +[[!template new="1" text="""Hello. If you're listening to this talk,""" start="00:00:00.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""then you should be at least a bit interested""" start="00:00:04.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in Org mode, which is fantastic""" start="00:00:06.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""because there have been quite a few""" start="00:00:09.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""interesting developments over the past year or so.""" start="00:00:11.253" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I'm Timothy, as you may have gathered from the last talk,""" start="00:00:14.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and I'm also quite involved with the Org project,""" start="00:00:19.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""so I'd like to go through a few of those developments""" start="00:00:21.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""over the past year or so and give you a few hints as well""" start="00:00:24.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as to what potentially lies around the corner with Org mode.""" start="00:00:27.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""The starters, slightly on the more boring side""" start="00:00:32.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but rather significant change to the project,""" start="00:00:35.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""occurred with the housekeeping or organisation.""" start="00:00:37.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""The codebase for the Org project has actually shifted over""" start="00:00:40.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""from a self-hosted Gogs instance over to Savannah,""" start="00:00:43.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which means it's now living right alongside""" start="00:00:46.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the Emacs codebase.""" start="00:00:49.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""This has been accompanied by the creation""" start="00:00:51.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of a whole bunch of Org-related repos under""" start="00:00:53.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Bastien's (Org's maintainer) personal sourceHut account.""" start="00:00:58.220" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""We've got the source of the website, the Org wiki Worg,""" start="00:01:03.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as well as Org contrib.""" start="00:01:06.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Another recent addition to this list of Org-related repos""" start="00:01:08.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is the new Org mode tests--continuous integration.""" start="00:01:13.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now, this is rather important, because while we do recommend""" start="00:01:17.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that all contributors actually run make tests""" start="00:01:22.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""before submitting patches to the Org project,""" start="00:01:25.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""this doesn't always happen.""" start="00:01:29.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It can also actually be a bit harder than you expect""" start="00:01:31.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to run the tests because there are a lot""" start="00:01:34.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of trans-dependencies you get with Org;""" start="00:01:35.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""for instance, with all of the various Babel libraries""" start="00:01:37.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which actually require other packages""" start="00:01:40.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or programming language to be installed on the system.""" start="00:01:42.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Having a single self-contained test system""" start="00:01:46.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to actually make sure that Org can be regularly""" start="00:01:50.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and thoroughly tested should be a great help for actually""" start="00:01:53.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""ensuring the quality of the contributions.""" start="00:01:57.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""The funding structure for Org has also undergone a bit""" start="00:02:04.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of a shift. Historically, we've just directed everybody""" start="00:02:07.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""who's interested in financially supporting the Org project""" start="00:02:10.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to the maintainer Bastien's personal GitHub sponsors""" start="00:02:14.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and LibrePay accounts. Now, early this year,""" start="00:02:18.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Bastion has created the Librepay Org mode team account,""" start="00:02:22.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which means that you can actually now""" start="00:02:27.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""support the Org project as opposed to""" start="00:02:29.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the person leading the Org project.""" start="00:02:33.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Currently, this just distributes donations between Bastien,""" start="00:02:34.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Ihor, and myself. However, the idea is that""" start="00:02:39.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as the active contributors for the Org project""" start="00:02:42.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""come and go over time, the list of people on this team""" start="00:02:45.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""can be changed as seems sensible. The hope here is that""" start="00:02:50.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""it will simplify both how easy it is""" start="00:02:57.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to actually financially support the Org project""" start="00:03:00.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as well as how easily people contributing""" start="00:03:02.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to the Org project can be supported.""" start="00:03:04.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""If you're interested in supporting the Org project,""" start="00:03:09.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""there's never been a better time than now""" start="00:03:13.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to have a look at this""" start="00:03:15.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and let anybody who might also might be interested know.""" start="00:03:16.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Hopefully, this leads to a healthier funding structure""" start="00:03:23.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that will scale better into the long term""" start="00:03:25.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and thus better support the work that happens with Org.""" start="00:03:28.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Now, the project itself has of course also seen quite a bit""" start="00:03:32.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of development over the past year.""" start="00:03:37.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""We've had about 800 comments from 80 contributors.""" start="00:03:38.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Within these comments, there's been a lot of polishing""" start="00:03:44.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""quality-of-life improvements,""" start="00:03:46.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and also quite a few new features.""" start="00:03:48.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now, I haven't got nearly enough time""" start="00:03:50.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to go through this exhaustively,""" start="00:03:52.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""so we're just going to go through a quick highlight reel.""" start="00:03:54.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""There's a collection of export improvements""" start="00:03:58.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""from things which affect all export backends,""" start="00:04:00.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""like including remote content""" start="00:04:04.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and adding new things like DOI links""" start="00:04:07.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and support for encrypted Org files,""" start="00:04:09.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as well as a whole lot of export-backend-specific changes.""" start="00:04:11.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""For example, quite a few backends--""" start="00:04:14.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I've mentioned the LaTeX one here,""" start="00:04:17.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but also others such as Texinfo--have now got""" start="00:04:18.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""rich support for various types of attributes and objects.""" start="00:04:23.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""The HTML backend has had a few things boosted up and well,""" start="00:04:26.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""if you want to see the full list,""" start="00:04:31.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""just take a look at the release notes.""" start="00:04:33.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""We've also seen a similar collection of improvements""" start="00:04:36.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""with the Babel backends. Once again, this is scattered--""" start="00:04:39.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or well, it can be split into two sets of changes.""" start="00:04:43.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""There's some which affect all of Babel, essentially.""" start="00:04:46.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""For instance, the new syntax of parsing""" start="00:04:49.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the raw content of code blocks, or the changes with Noweb.""" start="00:04:52.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""For example, :noweb-prefix is a new option that can be used.""" start="00:04:56.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And then there's also a collection""" start="00:05:01.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of backend-specific changes. So ASCII graphics with PlantUML""" start="00:05:03.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or enhanced return capabilities with the ob-python library.""" start="00:05:07.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""And then of course, as before, a whole collection""" start="00:05:12.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of more changes which you can find in the release notes.""" start="00:05:17.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Last but by no means least,""" start="00:05:19.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""there have been quite a few changes within the rest of Org.""" start="00:05:22.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So this is, once again, far too many things to list,""" start="00:05:26.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but it's things like improved refiling,""" start="00:05:30.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""capture templates, image preview sizing,""" start="00:05:33.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""clocktable settings, agenda tweaks,""" start="00:05:36.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and well, a whole lot more.""" start="00:05:38.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Yes, basically, the essence of what's here""" start="00:05:41.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is a lot of little changes""" start="00:05:45.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which just address particular use cases in ways""" start="00:05:48.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that I don't think anybody's going to be seeing""" start="00:05:50.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the impact of all of them,""" start="00:05:55.053" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but I think most people should at least""" start="00:05:55.787" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""find one or two things""" start="00:05:57.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which actually improve their own usage.""" start="00:06:00.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Now these are the sort of assorted""" start="00:06:04.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""relatively minor improvements,""" start="00:06:06.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but there are also some major ones.""" start="00:06:07.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And one in particular, citations.""" start="00:06:09.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So I think this has been, at this point,""" start="00:06:12.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""over a decade in the making,""" start="00:06:15.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but Org finally has first-class support for citations.""" start="00:06:17.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And I have to say, it is marvellous.""" start="00:06:21.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""You'd hope so, after the labour. I think it is.""" start="00:06:23.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It can be said that it's actually worth the wait.""" start="00:06:27.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I think out of the various options you've got now,""" start="00:06:30.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""(for example, the way that Pandoc""" start="00:06:31.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and Markdown otherwise[??] do it)""" start="00:06:34.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Org has a fantastically succinct and flexible""" start="00:06:35.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""syntax for citations, which scales really well for all sorts""" start="00:06:40.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of different use cases.""" start="00:06:45.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Additionally, on the backend side of things,""" start="00:06:47.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we've now got a generalised way for handling citations""" start="00:06:51.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which has been quite helpful for the--I think""" start="00:06:55.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I could say rather rapid development""" start="00:06:57.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of multiple citation backends for Org.""" start="00:07:00.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And I think it's just fantastic, really, seeing""" start="00:07:03.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""how quickly Org has gone""" start="00:07:07.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""from having no support for citations""" start="00:07:09.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""at the start of this year""" start="00:07:12.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to what can be described as""" start="00:07:13.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a wonderfully rich and flexible support""" start="00:07:17.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""with, well, multiple backends for citations.""" start="00:07:20.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I think that's something that we can really be proud of.""" start="00:07:23.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And it's been a fantastic contribution""" start="00:07:27.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""for everybody involved in this process.""" start="00:07:30.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Okay, so we've had features.""" start="00:07:31.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""There have also been a whole lot of""" start="00:07:36.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""quality of life improvements.""" start="00:07:38.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Once again, many more than I can reasonably mention here.""" start="00:07:39.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So I'm just going to flick it through""" start="00:07:43.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a few of them. A few big ones though,""" start="00:07:46.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Ihor is responsible for three lovely developments with Org,""" start="00:07:48.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""one of which is Org fold. So this is a generalisation""" start="00:07:52.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of the way that content is folded in Org.""" start="00:07:55.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And I think quite a few of you will actually underestimate""" start="00:07:57.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""how much can be folded in Org.""" start="00:08:00.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It's not just a matter of headlines.""" start="00:08:01.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It's headlines, code blocks, lists, environments,""" start="00:08:03.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""all sorts of things can actually be folded in Org.""" start="00:08:07.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And the introduction of Org fold is important""" start="00:08:10.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""for two reasons. One is that it has allowed for""" start="00:08:14.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""text-property-based folding,""" start="00:08:18.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which in Emacs versions less than 29""" start="00:08:21.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""has a huge difference in performance,""" start="00:08:24.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is particularly apparent with larger files.""" start="00:08:27.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""The second significant thing about this is that""" start="00:08:29.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""it now actually provides a more general way""" start="00:08:32.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to actually describe changes to the folding structure.""" start="00:08:36.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So before there was direct modification of""" start="00:08:39.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""messing with overlays scattered around the Org code base.""" start="00:08:42.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now we have a much more well organised system""" start="00:08:45.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""where we use Org fold to say what is and isn't folded""" start="00:08:49.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and to manage the state of all of that,""" start="00:08:53.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is, I think, just from a sort of design,""" start="00:08:54.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""sort of project design approach, a much better system.""" start="00:08:59.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""We've also got the Org element cache by Ihor.""" start="00:09:02.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""This is actually something which was discussed""" start="00:09:06.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""quite a while ago, but has somewhat stalled""" start="00:09:09.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""due to the difficulty of cache invalidation.""" start="00:09:12.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Ihor has sunk a tremendous amount of effort into this""" start="00:09:14.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and has improved it to the point""" start="00:09:17.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""where we've now actually been able to""" start="00:09:19.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""enable this by default. So what this basically does is""" start="00:09:21.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""it records lots of information""" start="00:09:25.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""about the structure of the Org document""" start="00:09:28.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and allows for, well, with the appropriate modifications""" start="00:09:30.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that Ihor has also made throughout the Org element library""" start="00:09:34.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to use this information to speed up various operations""" start="00:09:37.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""based on the Org document syntax tree.""" start="00:09:41.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And so this has been quite--""" start="00:09:44.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the improvements have been scattered all over the place,""" start="00:09:48.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but for a good example for libraries""" start="00:09:49.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or anybody who's wanting to quickly map over Org elements""" start="00:09:52.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is `org-element-cache-map', which now provides""" start="00:09:57.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a much, much faster way to map over""" start="00:10:00.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""all of the Org elements in a document.""" start="00:10:04.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""This also ties into the third major feature from Ihor""" start="00:10:07.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which I'd like to mention, which is Org persist.""" start="00:10:10.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So this provides a method of persisting values""" start="00:10:13.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""across Emacs sessions, basically saving them""" start="00:10:17.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to a file somewhere and loading them.""" start="00:10:20.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now this works for Elisp values and it also works for files,""" start="00:10:21.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which we made use of with the improved capabilities""" start="00:10:25.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""for remote files and exports.""" start="00:10:29.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""This has also been used with the `org-element-cache' data.""" start="00:10:32.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So now, if you've got a massive Org file""" start="00:10:35.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and you open it once, that data can be saved to""" start="00:10:37.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""with the Org element cache to Org persist,""" start="00:10:41.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and the next time you load this file""" start="00:10:44.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in another Emacs session,""" start="00:10:46.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we can just start with the cached data""" start="00:10:47.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""instead of having to construct everything from scratch,""" start="00:10:50.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is quite nice. Once again, a change which""" start="00:10:53.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""much like the other ones,""" start="00:10:56.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we will see more of an impact in larger files,""" start="00:10:57.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but a very welcome one everywhere.""" start="00:11:00.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Now with remote files, there's also been the beginnings""" start="00:11:02.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of a bit of an effort with Org""" start="00:11:06.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to improve the approach we have to safety.""" start="00:11:09.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So in this case previously,""" start="00:11:13.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Org would unconditionally download""" start="00:11:15.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""all the remotes of files that's all referenced.""" start="00:11:17.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And now, it's actually going to maintain a list of""" start="00:11:19.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""sort of safe resources and prompt you""" start="00:11:23.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""when it's surprised by something,""" start="00:11:25.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to work out whether it should""" start="00:11:26.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""just download this one resource,""" start="00:11:29.887" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""mark the whole domain as safe, and a few other options.""" start="00:11:31.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""We're also going to probably see""" start="00:11:35.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a similar approach extend to, for instance,""" start="00:11:36.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""bits of Babel execution in the future.""" start="00:11:39.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Okay bug fixes. It will be remiss of me not to mention that""" start="00:11:40.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""along with all of the features""" start="00:11:45.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and quality of life improvements,""" start="00:11:46.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""there has been a huge pile of bug fixes.""" start="00:11:49.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I think the best way to actually get a look at this""" start="00:11:51.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""would be to look at the release notes""" start="00:11:57.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or maybe even the actual commit log,""" start="00:11:59.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but you could also just take my word and say that""" start="00:12:00.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""there have been a whole load of them""" start="00:12:04.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""over the past year. So just yes, the code base, I think,""" start="00:12:05.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is just gradually getting into better and better shape.""" start="00:12:11.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Asynchronous session evaluation is I think possibly""" start="00:12:15.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the final quality-of-life improvement""" start="00:12:18.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I want to mention. This came early in the year,""" start="00:12:19.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""just with ob-python, and it's been delayed""" start="00:12:22.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""because in order to actually make it work,""" start="00:12:24.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""they've required some fundamental changes to the way""" start="00:12:26.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that ob-comint works.""" start="00:12:29.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now that's been implemented,""" start="00:12:31.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we've since seen support extended to ob-R,""" start="00:12:33.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and hopefully, we'll see more languages join this list""" start="00:12:36.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in the not-too-distant future.""" start="00:12:38.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Now I guess one bonus which I tacked on just for fun is""" start="00:12:42.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""it's now more convenient than ever""" start="00:12:45.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to actually specify the permissions for tangled files.""" start="00:12:47.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Previously you had to give a list expression""" start="00:12:52.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which should be evaluated.""" start="00:12:55.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now you can give it directly in octal form""" start="00:12:55.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""instead of being a list expression""" start="00:12:58.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that produces an integer representation""" start="00:12:59.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of the octal permissions.""" start="00:13:01.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Or you can use ls style: rwx and dashes.""" start="00:13:03.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Or even just chmod. I want to be able to execute this""" start="00:13:08.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as a user, which will basically modify""" start="00:13:13.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the default permission to add that capability.""" start="00:13:16.387" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Alrighty. So that's the Org project itself,""" start="00:13:18.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but there's also a whole ecosystem.""" start="00:13:22.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So what have we got here?""" start="00:13:24.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Well a whole bunch of Zettelkasten""" start="00:13:27.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or personal-knowledge-base-type projects.""" start="00:13:30.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""One of which is logseq, so that's an online open source""" start="00:13:32.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Zettelkasten which supports both Markdown""" start="00:13:36.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and also Org mode as a first-class format.""" start="00:13:39.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Then of course we have Org Roam, which provides""" start="00:13:41.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a Zettelkasten built directly on top of Org within Emacs.""" start="00:13:45.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Both of these are seen considerably interesting""" start="00:13:48.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""over the past year.""" start="00:13:51.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Moving on to visuals, minad has produced""" start="00:13:52.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""another lovely minad package in the form of org-modern""" start="00:13:56.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which just spruces up the visuals of all documents""" start="00:14:00.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and seems to have been quite well received recently""" start="00:14:04.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""since its release.""" start="00:14:09.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""Building on top of the citations from earlier,""" start="00:14:10.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Andras Simonyi has produced""" start="00:14:13.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the wonderful citeproc-org library,""" start="00:14:14.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which, if you're not familiar,""" start="00:14:16.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""allows the capabilities of the citation style language""" start="00:14:20.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which has now become something""" start="00:14:25.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is quite widely supported""" start="00:14:26.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to be used for Org citation exports.""" start="00:14:28.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""This means that you've got access to I think at this point""" start="00:14:31.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is it thousands or tens of thousands""" start="00:14:33.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of different bibliography and citation formats""" start="00:14:35.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is obviously a huge boon to org citations.""" start="00:14:39.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Lastly, just to be slightly critical,""" start="00:14:42.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I'm actually going to mention the Neovim Org mode project,""" start="00:14:46.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""because I think this really shows the interest""" start="00:14:49.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in Org as the format, beyond just Emacs.""" start="00:14:52.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I think I haven't gone into it much here,""" start="00:14:55.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but there's been quite a lot of development""" start="00:14:58.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""with external tools making use of the Org format.""" start="00:15:00.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Clearly, we've done quite a few things right,""" start="00:15:04.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and so I think it's interesting to see the interest""" start="00:15:07.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that exists outside of Emacs,""" start="00:15:11.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""even without all the lovely tooling we've built,""" start="00:15:13.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""just out of appreciation of the formatting, its potential.""" start="00:15:15.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Speaking of the format, though,""" start="00:15:18.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we've also seen three new parsers on the scene this year.""" start="00:15:21.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""We've got one in Julia, Haskell""" start="00:15:24.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and another one for Tree sitter.""" start="00:15:27.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""The last one, I think, is currently the least capable,""" start="00:15:28.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but also potentially the most interesting""" start="00:15:31.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in terms of what possibilities it allows for.""" start="00:15:32.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Okay. So that's a quick speed run through""" start="00:15:36.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""some of the developments over the past year.""" start="00:15:42.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""What's coming next? So there's been""" start="00:15:44.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""quite a lot of work done with the Org syntax document.""" start="00:15:47.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""In fact, I've completely written it,""" start="00:15:51.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and we've now taken it up to spec""" start="00:15:54.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to actually accurately describe the way""" start="00:15:57.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that the Org format is, as of Org 9.6.""" start="00:15:59.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now, I think this is quite an important document""" start="00:16:03.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""for the growth in parsing tools""" start="00:16:08.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to help actually ensure""" start="00:16:09.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that the way that external tools process Org""" start="00:16:11.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is actually in sync with the way that Org mode does.""" start="00:16:16.440" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I think it's worth doing everything we can, really,""" start="00:16:20.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to avoid the sort of implementation drift""" start="00:16:22.560" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that we've seen with Markdown.""" start="00:16:24.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I don't want anything near that.""" start="00:16:27.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""This is also quite good for the Org format itself because,""" start="00:16:29.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in the process of going through this sort of effort,""" start="00:16:32.487" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""it brings attention to irregularities in the syntax""" start="00:16:34.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which you might want to resolve, and as well as""" start="00:16:38.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""helping the robustness of org mode itself.""" start="00:16:41.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So ultimately, this is to everybody's benefit, really.""" start="00:16:43.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It's also my personal hope that this might actually""" start="00:16:46.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""get to the point where we consider submitting this""" start="00:16:51.800" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as a text format to the Internet Engineering Task Force""" start="00:16:54.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""as a new text format. So that would be quite nice.""" start="00:16:59.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""The Org project itself has a layer on top""" start="00:17:06.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of the mailing list called Woof developed by Bastien,""" start="00:17:09.640" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and that's about to have another major release.""" start="00:17:13.680" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So what this is going to do is improve the ease of which""" start="00:17:16.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we can actually monitor what's going on""" start="00:17:21.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""with the mailing list. So this is when people have patches,""" start="00:17:23.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""bug reports, or other types of things""" start="00:17:27.080" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""raised on the mailing list.""" start="00:17:29.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""It's a nice way to collect the status of those""" start="00:17:30.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and put them all in one place.""" start="00:17:34.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So improvements to this improve the ease of which""" start="00:17:35.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""the Org mode project can be managed,""" start="00:17:37.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is always quite nice to see.""" start="00:17:40.400" video="mainVideo-orgyear" id="subtitle"]] +[[!template new="1" text="""There's also been--jumping back to the export""" start="00:17:41.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which is mentioned right at the start of this presentation--""" start="00:17:46.320" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""we've got the introduction of engraved faces""" start="00:17:48.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to LaTeX export. Now what's quite interesting about this""" start="00:17:51.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""is that it's actually used as Emacs' native font lock""" start="00:17:54.480" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and allows for processing that in a generalized way""" start="00:17:57.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""to different output formats. So at the moment,""" start="00:18:01.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""this is just integrated with ox-latex,""" start="00:18:03.840" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""but it contains the functionality needed for HTML and ASCII,""" start="00:18:06.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and it could also be extended to other formats like ODT.""" start="00:18:11.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""So we could potentially have full syntax highlighting""" start="00:18:13.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""based on Emacs exported to, well,""" start="00:18:18.280" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""really all of the Org mode backends,""" start="00:18:20.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""except, I suppose, the plain text ones like Markdown.""" start="00:18:24.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And I think from both the capabilities perspective--""" start="00:18:27.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""because I think, really, font lock in Emacs""" start="00:18:29.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""from Emacs major modes""" start="00:18:33.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""tends to blow basically everything else vaguely used""" start="00:18:34.200" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""out of the water, whether it be listings, minted""" start="00:18:37.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""or other efforts--and also from a consistency point of view,""" start="00:18:39.240" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""this could be quite a nice development.""" start="00:18:45.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Alrighty. Now this talk is "This Year in Org,"""" start="00:18:49.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and I think you all may have guessed""" start="00:18:51.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""this is very much tied into my work with This Month in Org""" start="00:18:52.600" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""which started, I think, a bit over a year ago.""" start="00:18:57.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""And so, as you're all avid readers,""" start="00:19:00.120" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""I'm sure you've noticed""" start="00:19:04.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""that there haven't been as many posts as of late.""" start="00:19:05.920" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Now this isn't because my interest in This Month in Org""" start="00:19:08.520" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""has been diminishing. Simply, it's the consequence""" start="00:19:11.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of an evaporation of my free time.""" start="00:19:15.880" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""However, This Month in Org is still going to stick around.""" start="00:19:18.760" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""The only change really is that the title is going to be--""" start="00:19:22.360" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""probably continue to be""" start="00:19:26.160" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""a bit more aspirational than descriptive""" start="00:19:28.000" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""in the near future. We'll see how this goes.""" start="00:19:30.040" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""Well, thanks for listening to this overview""" start="00:19:32.960" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""of the state of Org at the moment,""" start="00:19:36.720" video="mainVideo-orgyear" id="subtitle"]] +[[!template text="""and hopefully, I'll see you next year.""" start="00:19:38.600" video="mainVideo-orgyear" id="subtitle"]] + + + +Captioner: sachac Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202022%20orgyear%3A%20This%20Year%20in%20Org) diff --git a/2022/info/orgyear-before.md b/2022/info/orgyear-before.md index 3662ea0c..d3d86c38 100644 --- a/2022/info/orgyear-before.md +++ b/2022/info/orgyear-before.md @@ -1,16 +1,49 @@ <!-- Automatically generated by emacsconf-publish-before-page --> The following image shows where the talk is in the schedule for Sun 2022-12-04. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="orgyear"> -<svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:05- 9:25 Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect stroke-width="3" x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.5" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg> +<svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:06- 9:26 Results of the 2022 Emacs Survey</title> <rect x="9" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(38,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect stroke-width="3" x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.5" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg> </div> [[!toc ]] Format: 20-min talk followed by IRC Q&A (<a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">#emacsconf-gen</a>) Etherpad: <https://pad.emacsconf.org/2022-orgyear> Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen) -Status: Talk captioned +Status: Now playing on the conference livestream <div>Times in different timezones:</div><div class="times" start="2022-12-04T14:35:00Z" end="2022-12-04T14:45:00Z"><div class="conf-time">Sunday, Dec 4 2022, ~9:35 AM - 9:45 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 4 2022, ~8:35 AM - 8:45 AM CST (US/Central)<br />Sunday, Dec 4 2022, ~7:35 AM - 7:45 AM MST (US/Mountain)<br />Sunday, Dec 4 2022, ~6:35 AM - 6:45 AM PST (US/Pacific)<br />Sunday, Dec 4 2022, ~2:35 PM - 2:45 PM UTC <br />Sunday, Dec 4 2022, ~3:35 PM - 3:45 PM CET (Europe/Paris)<br />Sunday, Dec 4 2022, ~4:35 PM - 4:45 PM EET (Europe/Athens)<br />Sunday, Dec 4 2022, ~8:05 PM - 8:15 PM IST (Asia/Kolkata)<br />Sunday, Dec 4 2022, ~10:35 PM - 10:45 PM +08 (Asia/Singapore)<br />Sunday, Dec 4 2022, ~11:35 PM - 11:45 PM JST (Asia/Tokyo)</div></div><div><a href="/2022/watch/gen/">Find out how to watch and participate</a></div> +[[!template id="vid" vidid="orgyear-mainVideo" src="https://media.emacsconf.org/2022/emacsconf-2022-orgyear--this-year-in-org--timothy--main.webm" poster="https://media.emacsconf.org/2022/emacsconf-2022-orgyear--this-year-in-org--timothy--main.png" captions="""<track label="English" kind="captions" srclang="en" src="/2022/captions/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt" default />""" +size="28M" duration="19:52" other_resources="""[Download --main.webm (28MB)](https://media.emacsconf.org/2022/emacsconf-2022-orgyear--this-year-in-org--timothy--main.webm) +[Download --main.vtt](https://media.emacsconf.org/2022/emacsconf-2022-orgyear--this-year-in-org--timothy--main.vtt) +[Download --main--chapters.vtt](https://media.emacsconf.org/2022/emacsconf-2022-orgyear--this-year-in-org--timothy--main--chapters.vtt) +[View transcript](https://emacsconf.org/2022/talks/orgyear#orgyear-mainVideo-transcript) +[View on Toobnix](https://toobnix.org/w/qed3SGg4ZMo8fLuzwXoeNP) +"""]] +[[!template id="chapters" vidid="orgyear-mainVideo" data=""" +00:00:00.000 Introduction +00:32.080 Project housekeeping +01:08.800 Continuous integration +02:04.680 Funding contributors +03:32.560 New features +03:58.640 An assortment of export improvements +04:36.520 A collection of babel improvements +05:12.280 A multitude of general org-mode improvements +06:04.160 Citations +07:31.600 Quality of life improvements +07:48.320 Org fold +09:02.480 Org element cache +10:07.360 Org persist +11:02.720 More careful resource downloading +11:40.200 Bug fixes +12:15.800 Asynchronous session evaluation +12:42.800 Nicer tangle mode syntax +13:18.280 A flourishing ecosystem +13:52.600 Org-modern +14:10.120 citeproc-org +15:44.040 Continuing work on the Org format +17:06.320 Mailing list management +17:41.920 Further engraving + +"""]] # Description |