diff options
author | EmacsConf <emacsconf-org@gnu.org> | 2024-12-07 10:20:15 -0500 |
---|---|---|
committer | EmacsConf <emacsconf-org@gnu.org> | 2024-12-07 10:20:15 -0500 |
commit | 2874a97179bed110d50307e65bff96ac932ecb9a (patch) | |
tree | a3a40aaf5472eabb517a6b79e44045bbda7f1021 | |
parent | 0756a08ebeea90325ac472d6fc8006b7a1e2c67d (diff) | |
download | emacsconf-wiki-2874a97179bed110d50307e65bff96ac932ecb9a.tar.xz emacsconf-wiki-2874a97179bed110d50307e65bff96ac932ecb9a.zip |
Automated commit
Diffstat (limited to '')
4 files changed, 2914 insertions, 1 deletions
diff --git a/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt new file mode 100644 index 00000000..0e543be3 --- /dev/null +++ b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt @@ -0,0 +1,86 @@ +WEBVTT + + +00:00:00.000 --> 00:01:14.279 +Introduction + +00:01:14.280 --> 00:03:15.919 +Message from Bastien Guerry + +00:03:15.920 --> 00:05:09.240 +My step-by-step journey to Org maintenance + +00:05:09.241 --> 00:08:11.766 +Priorities for Org maintenance + +00:08:11.767 --> 00:08:41.589 +Modular Org + +00:08:41.590 --> 00:09:59.999 +Slim down large Org libraries + +00:10:00.000 --> 00:11:25.399 +Upstream generic Org libraries + +00:11:25.400 --> 00:13:13.256 +Use modern Emacs APIs and libraries + +00:13:13.257 --> 00:14:45.730 +Improve Org parser APIs + +00:14:45.731 --> 00:15:57.379 +Improve Org babel APIs + +00:15:57.380 --> 00:16:31.199 +Beyond Org code and Emacs: third-party packages, apps, parsers + +00:16:31.200 --> 00:17:37.819 +org-contrib + +00:17:37.820 --> 00:18:25.839 +Org orphanage + +00:18:25.840 --> 00:20:23.868 +Mobile apps and parsers + +00:20:23.869 --> 00:21:56.239 +Long-standing syntax problems + +00:21:56.240 --> 00:23:30.502 +New syntax features + +00:23:30.503 --> 00:25:54.072 +New features I hope to see in Org + +00:25:54.073 --> 00:26:01.357 +Org community + +00:26:01.358 --> 00:27:17.159 +Org community forums - Org mailing list + +00:27:17.160 --> 00:30:05.579 +Org mailing list - world + +00:30:05.580 --> 00:31:01.519 +Contribute ideas! + +00:31:01.520 --> 00:31:34.999 +How much can a single person do? + +00:31:35.000 --> 00:33:02.079 +Contribute code! + +00:33:02.080 --> 00:35:40.239 +Why contribute? + +00:35:40.240 --> 00:37:41.419 +Benefits for code contributors + +00:37:41.420 --> 00:38:30.439 +Contributing as non-programmer + +00:38:30.440 --> 00:39:12.996 +Got no free time, but still want to help? + +00:39:12.997 --> 00:39:34.440 +Thank you diff --git a/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt new file mode 100644 index 00000000..6b092bd1 --- /dev/null +++ b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt @@ -0,0 +1,2046 @@ +WEBVTT captioned by sachac + +NOTE Introduction + +00:00:00.000 --> 00:00:03.039 +Hello, everyone. My name is Ihor Radchenko, + +00:00:03.040 --> 00:00:07.319 +and I'm the new official Org Mode maintainer. + +00:00:07.320 --> 00:00:09.679 +Today, I'll briefly introduce myself + +00:00:09.680 --> 00:00:12.319 +and then share my ideas about the future of + +00:00:12.320 --> 00:00:16.039 +Org Mode development. I will start by passing + +00:00:16.040 --> 00:00:18.759 +the word from Bastien, the previous maintainer. + +00:00:18.760 --> 00:00:22.239 +Then I will tell you a little bit about my story, + +00:00:22.240 --> 00:00:24.119 +starting from ordinary Org Mode user + +00:00:24.120 --> 00:00:26.039 +all the way to the maintainer. + +00:00:26.040 --> 00:00:30.839 +Then I will detail the new directions of development + +00:00:30.840 --> 00:00:33.599 +and specific features which I want to see + +00:00:33.600 --> 00:00:35.799 +in Org Mode in the coming years. + +00:00:35.800 --> 00:00:39.659 +And I will conclude by asking you, Org Mode users, + +00:00:39.660 --> 00:00:42.399 +to contribute to Org Mode + +00:00:42.400 --> 00:00:46.759 +because all the features which are too many + +00:00:46.760 --> 00:00:49.259 +can only be implemented with the help of the community, + +00:00:49.260 --> 00:00:51.879 +with the help of more contributors. + +00:00:51.880 --> 00:00:53.579 +And for that, of course, I will also talk + +00:00:53.580 --> 00:00:59.479 +about Org community and how I see it evolve + +00:00:59.480 --> 00:01:01.199 +so that we have a good communication + +00:01:01.200 --> 00:01:03.039 +between the development of Org Mode + +00:01:03.040 --> 00:01:07.559 +and the community ideas. + +00:01:07.560 --> 00:01:14.279 +Let me first pass the word to Bastien. + +NOTE Message from Bastien Guerry + +00:01:14.280 --> 00:01:17.599 +Hello, everyone. Ihor Radchenko is the new Org Mode + +00:01:17.600 --> 00:01:18.519 +maintainer. + +00:01:18.520 --> 00:01:21.039 +He's been acting as such for a couple of years now, + +00:01:21.040 --> 00:01:23.479 +and I'm really glad he's finally agreed to take on the + +00:01:23.480 --> 00:01:26.439 +role officially. As a maintainer, I've probably done + +00:01:26.440 --> 00:01:29.439 +a few things right and certainly made many mistakes. + +00:01:29.440 --> 00:01:32.319 +Here are 4 lessons I've learned in 14 years. + +00:01:32.320 --> 00:01:34.319 +The first is that maintaining Org Mode + +00:01:34.320 --> 00:01:36.439 +isn't just about code, it's mostly + +00:01:36.440 --> 00:01:40.679 +about users. Of course, some of them will never learn how to + +00:01:40.680 --> 00:01:43.159 +report a bug, some of them will behave like spoiled + +00:01:43.160 --> 00:01:46.319 +children, and most of them will expect you to work for free + +00:01:46.320 --> 00:01:50.439 +forever. Nevertheless, the time is as valuable as yours. + +00:01:50.440 --> 00:01:53.639 +Whatever they request, there is always something that can + +00:01:53.640 --> 00:01:57.879 +lead to a positive outcome for Org Mode or its community. + +00:01:57.880 --> 00:02:00.719 +The second lesson is that maintenance isn't just about + +00:02:00.720 --> 00:02:04.239 +technical choices. It's also about predictability. + +00:02:04.240 --> 00:02:07.879 +Be very clear and very loud about what users and contributors + +00:02:07.880 --> 00:02:11.159 +can expect of your time, skills, and motivations. + +00:02:11.160 --> 00:02:12.879 +Stick to the robustness principle + +00:02:12.880 --> 00:02:15.719 +by being liberal in what you accept + +00:02:15.720 --> 00:02:19.319 +and strict in what you produce. Thirdly, it's all + +00:02:19.320 --> 00:02:22.319 +about learning. Let's build a culture together where it's + +00:02:22.320 --> 00:02:25.719 +okay to ask stupid questions. No one is born knowing how to + +00:02:25.720 --> 00:02:28.639 +write in English, how to report a bug, or how to maintain a + +00:02:28.640 --> 00:02:32.059 +large piece of code. Remember that old-timers were newbies + +00:02:32.060 --> 00:02:35.199 +and that newbies could become maintainers. We all have a lot + +00:02:35.200 --> 00:02:38.759 +to learn, even if it's just how to respect each other. + +00:02:38.760 --> 00:02:42.239 +Finally, as a maintainer, think about the next one. Who will + +00:02:42.240 --> 00:02:45.519 +be in your shoes next? What kind of maintainer do you want for + +00:02:45.520 --> 00:02:48.839 +a software you will be using for decades? It's also a + +00:02:48.840 --> 00:02:52.159 +responsibility of the Org Mode community. How can we + +00:02:52.160 --> 00:02:55.999 +collectively attract maintainers that want to help us use + +00:02:56.000 --> 00:02:59.359 +and enhance this wonderful little tool? How can we, + +00:02:59.360 --> 00:03:02.199 +as Org Mode users, help Ihor pave the way + +00:03:02.200 --> 00:03:04.399 +for the next maintainers? + +00:03:04.400 --> 00:03:08.279 +Enough said. I'm confident Org Mode is in good hands and I'm a very + +00:03:08.280 --> 00:03:11.559 +happy user. Thanks everyone for all these years of fun and + +00:03:11.560 --> 00:03:15.919 +learning. + +NOTE My step-by-step journey to Org maintenance + +00:03:15.920 --> 00:03:20.279 +Now back to my talk. Let me start by briefly introducing + +00:03:20.280 --> 00:03:23.959 +myself. I'm actually not a programmer. By training, I'm a + +00:03:23.960 --> 00:03:27.519 +material scientist. and I only started using Emacs and + +00:03:27.520 --> 00:03:30.719 +Org Mode and naturally doing programming (because that's + +00:03:30.720 --> 00:03:36.799 +Emacs) when I was doing my PhD and I wanted to use Org Mode to + +00:03:36.800 --> 00:03:40.479 +tame my research work. A couple of years I was just an + +00:03:40.480 --> 00:03:44.599 +ordinary user, until I learned enough and + +00:03:44.600 --> 00:03:48.463 +got enough courage to report my first bug. + +00:03:48.464 --> 00:03:51.639 +Then it all evolved over the years. + +00:03:51.640 --> 00:03:53.959 +I started participating in the mailing list, + +00:03:53.960 --> 00:03:56.559 +I started learning more about Elisp, + +00:03:56.560 --> 00:03:59.839 +I reported more complex bugs, + +00:03:59.840 --> 00:04:08.879 +I eventually got around to go and fix the tricky bugs. + +00:04:08.880 --> 00:04:11.719 +Then I started participating more in Org mailing list + +00:04:11.720 --> 00:04:16.919 +in helping fixing bugs in selected areas of Org + +00:04:16.920 --> 00:04:22.839 +mode and eventually switching to all parts of Org. + +00:04:22.840 --> 00:04:27.639 +At some point I ended up doing the de facto maintenance job + +00:04:27.640 --> 00:04:32.679 +together with Bastien and got an actual maintenance offer + +00:04:32.680 --> 00:04:38.599 +which I accepted recently. The key takeaway I want you to get + +00:04:38.600 --> 00:04:40.999 +from here is that you don't have to be a programmer, you don't + +00:04:41.000 --> 00:04:47.239 +have to know Elisp to contribute, and you don't even have to + +00:04:47.240 --> 00:04:51.439 +be like that to become a maintainer. All it takes is + +00:04:51.440 --> 00:04:55.279 +slow, methodical, persistent learning over the years, + +00:04:55.280 --> 00:04:58.499 +participating in the community, and eventually + +00:04:58.500 --> 00:05:02.399 +submitting your patches upstream. And eventually you can + +00:05:02.400 --> 00:05:07.679 +become a maintainer, or not a maintainer as you wish. + +00:05:07.680 --> 00:05:09.240 +Enough about me. + +NOTE Priorities for Org maintenance + +00:05:09.241 --> 00:05:13.359 +Let's talk about what I think should happen with + +00:05:13.360 --> 00:05:18.859 +Org Mode and what my goals on Org Mode is. The first and top + +00:05:18.860 --> 00:05:25.199 +priority for me is the basics. The basics, the + +00:05:25.200 --> 00:05:26.069 +code-based stability. + +00:05:26.070 --> 00:05:29.719 +Basically, all the foundations, all the APIs in + +00:05:29.720 --> 00:05:34.959 +Org Mode, all the basic libraries, which everything builds + +00:05:34.960 --> 00:05:39.079 +upon so that we have fewer bugs and we have more + +00:05:39.080 --> 00:05:42.599 +understandable code so that others who want to contribute + +00:05:42.600 --> 00:05:44.651 +have easier time understanding + +00:05:44.652 --> 00:05:46.371 +what is going on in the code base and + +00:05:46.372 --> 00:05:52.259 +contribute without much of a problem or confusion. + +00:05:52.260 --> 00:05:56.339 +Second equally important direction is the Org community, + +00:05:56.340 --> 00:06:00.579 +because a single person, even a couple of people, cannot + +00:06:00.580 --> 00:06:05.599 +really develop such a big project as Org Mode. And we always + +00:06:05.600 --> 00:06:08.439 +want new contributors, which are not coming from nowhere. + +00:06:08.440 --> 00:06:10.228 +We need to have the community of users. + +00:06:10.229 --> 00:06:12.199 +We have a community of + +00:06:12.200 --> 00:06:15.679 +people who participate in discussions, who later submit + +00:06:15.680 --> 00:06:19.719 +patches and code, and that's where we get most of the new + +00:06:19.720 --> 00:06:24.919 +features. So I would like to improve the communication + +00:06:24.920 --> 00:06:29.879 +between Org community and the development. The third + +00:06:29.880 --> 00:06:34.259 +direction I want to pursue is making life easier for + +00:06:34.260 --> 00:06:38.639 +third-party packages. Because we don't only have org-mode + +00:06:38.640 --> 00:06:41.319 +as it's distributed with Emacs. We have a lot of + +00:06:41.320 --> 00:06:45.196 +ELPA packages. We have a lot of MELPA packages. + +00:06:45.197 --> 00:06:47.917 +People who want some specific features + +00:06:47.918 --> 00:06:49.839 +on top of org-mode do develop + +00:06:49.840 --> 00:06:54.279 +these packages which are widely used or not so widely used. + +00:06:54.280 --> 00:06:57.639 +It's not only about Emacs. We have a lot of mobile apps + +00:06:57.640 --> 00:07:01.879 +that can work with Org files, have a lot of parsers which + +00:07:01.880 --> 00:07:06.039 +enable this mobile apps, or in general, programs outside + +00:07:06.040 --> 00:07:11.019 +Elisp to understand Org files. + +00:07:11.020 --> 00:07:14.959 +Fourth direction is the Org markup as a foundation of + +00:07:14.960 --> 00:07:18.319 +org-mode as a major mode, because we have a lot of + +00:07:18.320 --> 00:07:20.573 +functionality in org-mode itself inside Emacs, + +00:07:20.574 --> 00:07:23.674 +but it's all based on the underlying markup, + +00:07:23.675 --> 00:07:27.435 +and markup should have enough features + +00:07:27.436 --> 00:07:32.479 +to support the functions we want to see there. + +00:07:32.480 --> 00:07:34.919 +Last direction, which is somewhat less + +00:07:34.920 --> 00:07:37.834 +important, mostly because I don't have + +00:07:37.835 --> 00:07:40.136 +that much time to focus on everything, + +00:07:40.137 --> 00:07:44.159 +is the new features. I do want to see + +00:07:44.160 --> 00:07:46.840 +certain important features in Org mode, + +00:07:46.841 --> 00:07:50.262 +but I usually cannot spend too much time on them + +00:07:50.263 --> 00:07:53.084 +because of the previous more important parts. + +00:07:53.085 --> 00:07:54.999 +I do rely on the org community and + +00:07:55.000 --> 00:07:57.456 +the contributors to implement these new features. + +00:07:57.457 --> 00:08:01.915 +My idea is that I want to direct which features + +00:08:01.916 --> 00:08:03.757 +and how they should be implemented, + +00:08:03.758 --> 00:08:05.299 +but the actual people who implement + +00:08:05.300 --> 00:08:09.463 +them should come from the community. + +00:08:09.464 --> 00:08:11.766 +Now let's go into the details. + +NOTE Modular Org + +00:08:11.767 --> 00:08:15.719 +The code base. As a bit of motivation, I would like + +00:08:15.720 --> 00:08:19.279 +to share this email from Richard Stallman, who a couple of + +00:08:19.280 --> 00:08:27.039 +years ago asked about improving Org mode by making it + +00:08:27.040 --> 00:08:32.839 +more modular. That's directly asking about improving the + +00:08:32.840 --> 00:08:35.639 +foundations of the code. That's what I think is + +00:08:35.640 --> 00:08:41.589 +an important direction as well. Here's an example. + +NOTE Slim down large Org libraries + +00:08:41.590 --> 00:08:45.312 +We have a lot of really, really large org libraries, + +00:08:45.313 --> 00:08:49.376 +like org.el, which is like one megabyte or something large, + +00:08:49.377 --> 00:08:51.558 +org-agenda, org-table, org-list, + +00:08:51.559 --> 00:08:52.879 +a number of files which are really, + +00:08:52.880 --> 00:08:56.599 +really, really large. What is worse is they are hard to + +00:08:56.600 --> 00:09:00.906 +understand sometimes. I even have an example, + +00:09:00.907 --> 00:09:04.505 +alphapapa complained that part of his motivation + +00:09:04.506 --> 00:09:07.867 +to write org-ql and specifically his agenda part, + +00:09:07.868 --> 00:09:08.879 +agenda-like part, was + +00:09:08.880 --> 00:09:13.119 +because org-agenda is so hard to understand that it's + +00:09:13.120 --> 00:09:15.572 +easier to start from scratch. + +00:09:15.573 --> 00:09:17.079 +I don't want such situations + +00:09:17.080 --> 00:09:20.374 +to happen in future, if possible at all. + +00:09:20.375 --> 00:09:21.879 +One of the projects + +00:09:21.880 --> 00:09:23.116 +I'm currently working on, + +00:09:23.117 --> 00:09:25.100 +it's work in progress now, + +00:09:25.101 --> 00:09:28.437 +is splitting Org libraries into smaller parts, + +00:09:28.438 --> 00:09:31.808 +into more documented parts, + +00:09:31.809 --> 00:09:34.239 +into the APIs which are actually + +00:09:34.240 --> 00:09:38.470 +documented and explained in the code at least, + +00:09:38.471 --> 00:09:42.571 +so that people who just open org-mode code + +00:09:42.572 --> 00:09:45.239 +cannot be scared away and go and + +00:09:45.240 --> 00:09:47.999 +read the comments and understand what is happening there + +00:09:48.000 --> 00:09:52.039 +easier. At this point, I have almost doubled the number of + +00:09:52.040 --> 00:09:54.839 +libraries. It's still work in progress, so there's a lot of + +00:09:54.840 --> 00:09:59.999 +room for improvement in this area. + +NOTE Upstream generic Org libraries + +00:10:00.000 --> 00:10:04.599 +Another direction which is + +00:10:04.600 --> 00:10:09.799 +somewhat reasonable in relation to splitting things down + +00:10:09.800 --> 00:10:15.159 +is that some libraries are really generic in Org Mode, + +00:10:15.160 --> 00:10:18.239 +because Org Mode often has a functionality + +00:10:18.240 --> 00:10:20.100 +which is really new, and for that, + +00:10:20.101 --> 00:10:22.239 +it had to implement some very generic + +00:10:22.240 --> 00:10:24.222 +functionality that doesn't have to be used + +00:10:24.223 --> 00:10:24.903 +just for Org Mode. + +00:10:24.904 --> 00:10:27.924 +This can be generalized for Emacs in general. + +00:10:27.925 --> 00:10:29.645 +There is a number of libraries + +00:10:29.646 --> 00:10:32.999 +which we may or may not upstream to + +00:10:33.000 --> 00:10:37.559 +Emacs, depending on what Emacs maintain, I think. As one + +00:10:37.560 --> 00:10:40.719 +example is org-capture, because it's a very obvious + +00:10:40.720 --> 00:10:43.679 +example. org-capture started as support from remember.el, + +00:10:43.680 --> 00:10:46.759 +which is still a part of Emacs. It has more features than + +00:10:46.760 --> 00:10:50.039 +remember.el, which we required for Org. But, you know, + +00:10:50.040 --> 00:10:55.139 +these features can be backported. Why not? And then + +00:10:55.140 --> 00:10:58.679 +not only Org-mode, but other Emacs libraries can benefit + +00:10:58.680 --> 00:11:01.957 +from these features we have in Org-mode only. + +00:11:01.958 --> 00:11:04.739 +Similarly, I have a long list of + +00:11:04.740 --> 00:11:12.039 +different libraries that can be shared. + +00:11:12.040 --> 00:11:14.004 +Yeah, for some I'm not sure, + +00:11:14.005 --> 00:11:18.959 +but in general, there is a lot of + +00:11:18.960 --> 00:11:25.399 +work that may be done and may be discussed in the future. + +NOTE Use modern Emacs APIs and libraries + +00:11:25.400 --> 00:11:31.479 +The third part about the basics is making use of the new Emacs + +00:11:31.480 --> 00:11:36.039 +libraries. Org Mode in general is quite well written in terms + +00:11:36.040 --> 00:11:40.039 +of Emacs integration. We do support many of the Emacs + +00:11:40.040 --> 00:11:44.359 +features and libraries which are generic. However, in more + +00:11:44.360 --> 00:11:47.999 +recent Emacs versions, we started getting some new + +00:11:48.000 --> 00:11:50.799 +features, and we do want to make use of them in Org. + +00:11:50.800 --> 00:11:55.879 +For example, recently we contributed yank-media support for + +00:11:55.880 --> 00:12:00.359 +clipboard pasting and drag and drop. Now it is supported + +00:12:00.360 --> 00:12:04.399 +in Org mode already in the released version. Eventually + +00:12:04.400 --> 00:12:08.359 +we want to support transient.el, because now Org uses ad hoc + +00:12:08.360 --> 00:12:11.999 +system. It's of course much better to use existing and + +00:12:12.000 --> 00:12:14.839 +more powerful menus, which are implemented in + +00:12:14.840 --> 00:12:18.159 +transient. It even has some initial work-in-progress + +00:12:18.160 --> 00:12:20.028 +implementation. I hope it can be eventually + +00:12:20.029 --> 00:12:23.960 +extended to the whole Org Mode + +00:12:23.961 --> 00:12:29.359 +There are other things like compatibility, which there is + +00:12:29.360 --> 00:12:33.519 +an excellent Emacs library, compat.el, that provides + +00:12:33.520 --> 00:12:37.599 +backwards compatibility and Org also has something like this + +00:12:37.600 --> 00:12:39.439 +in org-compat. We don't have to write it ourself again. + +00:12:39.440 --> 00:12:43.741 +We can make use of the existing library. + +00:12:43.742 --> 00:12:46.043 +Similarly, there's a very, very new library + +00:12:46.044 --> 00:12:48.759 +track-changes for tracking changes + +00:12:48.760 --> 00:12:53.159 +in real time. Eventually, if you want to support + +00:12:53.160 --> 00:12:56.359 +context-menu mode, maybe touchscreen, Android + +00:12:56.360 --> 00:13:00.999 +support, I don't know, but I hope it can be done by someone. + +00:13:01.000 --> 00:13:09.319 +And some more generic library: select thingatpt. + +00:13:09.320 --> 00:13:13.256 +That's about using external APIs. + +NOTE Improve Org parser APIs + +00:13:13.257 --> 00:13:18.557 +Now about the internal Org APIs. + +00:13:18.558 --> 00:13:19.439 +One important, probably one of the most important + +00:13:19.440 --> 00:13:23.259 +parts of Org is the parser, how Org itself understands the + +00:13:23.260 --> 00:13:27.159 +Org files. The situation is that we have two parsers in + +00:13:27.160 --> 00:13:30.999 +Org mode. One is the Org element, the proper parser, which we + +00:13:31.000 --> 00:13:34.519 +use as a reference, but many parts of Org still use regular + +00:13:34.520 --> 00:13:38.079 +expressions, which are approximate. These two parsers + +00:13:38.080 --> 00:13:41.839 +are not exactly consistent, which is really bad, and I hope + +00:13:41.840 --> 00:13:47.999 +to solve this. I already started doing some work by + +00:13:48.000 --> 00:13:54.140 +factoring out some part of abstract syntax tree and working + +00:13:54.141 --> 00:13:57.519 +on real-time parser, incremental parser, which is enabled + +00:13:57.520 --> 00:14:00.039 +by default in Org 9.6, but there are still parts which I need + +00:14:00.040 --> 00:14:02.999 +to work on. Eventually I want to get rid of regular + +00:14:03.000 --> 00:14:05.439 +expression-based parser completely, so that we don't have + +00:14:05.440 --> 00:14:10.199 +any inconsistencies inside Org Mode. One of the examples of + +00:14:10.200 --> 00:14:13.159 +these parts that are still using regular expression is + +00:14:13.160 --> 00:14:16.719 +fontification, which is often simply wrong, especially in + +00:14:16.720 --> 00:14:21.639 +some edge cases, and we really want to use the proper parser + +00:14:21.640 --> 00:14:27.559 +in this area. Maybe even editing org files using the parser + +00:14:27.560 --> 00:14:31.799 +syntax tree, but that might be tricky, although there is an + +00:14:31.800 --> 00:14:38.119 +existing library that implements some ideas for this. + +00:14:38.120 --> 00:14:41.519 +The key point is that org-element-api, the parser, should + +00:14:41.520 --> 00:14:42.749 +eventually be used everywhere + +00:14:42.750 --> 00:14:45.730 +so that everything is consistent. + +NOTE Improve Org babel APIs + +00:14:45.731 --> 00:14:50.359 +The second important API is the Org babel. + +00:14:50.360 --> 00:14:54.414 +Currently, Org babel does have some API, + +00:14:54.415 --> 00:14:56.195 +but first, it's not well documented. + +00:14:56.196 --> 00:14:59.039 +Second, it's sometimes awkwardly + +00:14:59.040 --> 00:15:04.819 +designed, especially compared with the exporter. + +00:15:04.820 --> 00:15:11.419 +I do want Org Babel APIs to be more consistent. + +00:15:11.420 --> 00:15:14.879 +Another thing about Org Babel, it's not exactly API, but you + +00:15:14.880 --> 00:15:18.259 +know that documentation for most of the Babel backends are + +00:15:18.260 --> 00:15:20.879 +not even in the Org manual, even though the backends are + +00:15:20.880 --> 00:15:25.559 +built-in. They are on Org Wiki, and we do want to move them to + +00:15:25.560 --> 00:15:29.919 +the manual eventually. That's the important part, and it + +00:15:29.920 --> 00:15:34.519 +should be done. Those are some obstacles, like not all the + +00:15:34.520 --> 00:15:39.399 +features are properly implemented, and that's a bit of an + +00:15:39.400 --> 00:15:43.159 +extra job that should be done. Another small thing which + +00:15:43.160 --> 00:15:48.079 +thanks to Bruno Barbier is being done, in progress: we + +00:15:48.080 --> 00:15:51.599 +should have a more robust asynchronous API for babel. + +00:15:51.600 --> 00:15:53.600 +I hope it can progress further. + +00:15:53.601 --> 00:15:57.379 +For now, it already progressed quite far. + +NOTE Beyond Org code and Emacs: third-party packages, apps, parsers + +00:15:57.380 --> 00:15:59.959 +That's all about the basics, the underlying + +00:15:59.960 --> 00:16:04.799 +backbone of the Org codebase. Let's move to the second + +00:16:04.800 --> 00:16:09.519 +important direction which is + +00:16:09.520 --> 00:16:13.739 +the third-party packages and basically the parsers + +00:16:13.740 --> 00:16:18.279 +for mobile apps. I will postpone the community to the end + +00:16:18.280 --> 00:16:23.919 +because I want to have a call for contribution at the end. + +00:16:23.920 --> 00:16:31.199 +For third-party packages, I would like to remind you that + +NOTE org-contrib + +00:16:31.200 --> 00:16:34.239 +Org mode used to have something called org-contrib as a + +00:16:34.240 --> 00:16:39.799 +part of Org mode, which is a collection of small libraries, + +00:16:39.800 --> 00:16:44.079 +small packages that didn't have a proper + +00:16:44.080 --> 00:16:45.495 +copyright assignment basically, + +00:16:45.496 --> 00:16:49.359 +but more or less a part of Org mode. This is + +00:16:49.360 --> 00:16:52.119 +no longer the case. Now what we did is + +00:16:52.120 --> 00:16:56.641 +we moved a number of very rarely used libraries + +00:16:56.642 --> 00:16:58.759 +from Org core itself to org-contrib, + +00:16:58.760 --> 00:17:03.779 +and now we treat org-contrib as basically the libraries + +00:17:03.780 --> 00:17:08.020 +that we really want someone to take responsibility for. + +00:17:08.021 --> 00:17:10.580 +We want to maintain this for everything that is in + +00:17:10.581 --> 00:17:18.079 +org-contrib, and from me and other Org team, we + +00:17:18.080 --> 00:17:21.162 +do not spend too much time maintaining this package, + +00:17:21.163 --> 00:17:25.286 +just do some most basic bug fixing, and that's all. + +00:17:25.287 --> 00:17:27.359 +If you know, if you see + +00:17:27.360 --> 00:17:30.031 +some libraries from org-contrib and you use them, + +00:17:30.032 --> 00:17:31.991 +and you know Elisp, please volunteer to be + +00:17:31.992 --> 00:17:34.454 +the maintainer, because otherwise + +00:17:34.455 --> 00:17:37.819 +there will be not much progress in these libraries. + +NOTE Org orphanage + +00:17:37.820 --> 00:17:40.719 +As a natural extension of this and inspired by + +00:17:40.720 --> 00:17:46.199 +Tarsius's Emacs Orphanage idea, we also maintain a small + +00:17:46.200 --> 00:17:50.359 +page basically listing the libraries, some others like + +00:17:50.360 --> 00:17:55.439 +packages, Emacs packages that are not really maintained. + +00:17:55.440 --> 00:17:59.239 +If you are a maintainer of a library and you don't have time + +00:17:59.240 --> 00:18:02.507 +to do it, you can write to Org mailing list + +00:18:02.508 --> 00:18:05.209 +and we can add the library to this page + +00:18:05.210 --> 00:18:09.918 +so that we can search for new maintainers + +00:18:09.919 --> 00:18:12.839 +in a more centralized way. If you are an + +00:18:12.840 --> 00:18:18.119 +Elisp hacker and you want to help something for Org Mode, + +00:18:18.120 --> 00:18:25.839 +you can check that page and see where you can help. + +NOTE Mobile apps and parsers + +00:18:25.840 --> 00:18:29.879 +Now away from Emacs, or mobile apps. + +00:18:29.880 --> 00:18:33.948 +We have quite a lot of mobile apps at this point. + +00:18:33.949 --> 00:18:35.759 +Unfortunately, it's very hard + +00:18:35.760 --> 00:18:42.459 +for me and many other Elisp contributors to contribute to + +00:18:42.460 --> 00:18:46.759 +these apps because they are not using Elisp naturally. But + +00:18:46.760 --> 00:18:52.359 +these applications heavily rely on Org markup. I do hope + +00:18:52.360 --> 00:18:55.799 +that we can keep Org markup consistent enough and rich + +00:18:55.800 --> 00:19:00.599 +enough so that people don't have to invent extensions to Org + +00:19:00.600 --> 00:19:06.020 +like what happened to Markdown. + +00:19:06.021 --> 00:19:09.542 +I really want to emphasize that + +00:19:09.543 --> 00:19:12.359 +I want to see more Org parsers in different + +00:19:12.360 --> 00:19:13.739 +languages so that they can be used by developers. + +00:19:13.740 --> 00:19:24.185 +For people who are writing these parsers, + +00:19:24.186 --> 00:19:27.267 +I want to share this link. It is the org-syntax reference. + +00:19:27.268 --> 00:19:29.368 +It is the official Org syntax, + +00:19:29.369 --> 00:19:33.631 +which is what we think it should be. + +00:19:33.632 --> 00:19:36.212 +It's described in plain human language. + +00:19:36.213 --> 00:19:39.855 +It's not a code. All details should be listed there. + +00:19:39.856 --> 00:19:43.557 +Please use it as a reference if you are writing a parser. + +00:19:43.558 --> 00:19:45.118 +Eventually, this document will be + +00:19:45.119 --> 00:19:51.672 +submitted to IETF, I hope. In the future + +00:19:51.673 --> 00:19:56.059 +I hope to write a set of tests which will work as benchmarks. + +00:19:56.060 --> 00:19:58.839 +basically we have some existing tests for our internal + +00:19:58.840 --> 00:20:04.319 +parser and I want to factor out these tests so they can be used + +00:20:04.320 --> 00:20:07.359 +by any parser, so that we can compare the performance and + +00:20:07.360 --> 00:20:14.579 +which parts of Org mode are parsed and which parts are not. + +00:20:14.580 --> 00:20:18.999 +I mentioned that we want to submit to IETF, which means that + +00:20:19.000 --> 00:20:23.868 +Org markup will become the actual registered format. + +NOTE Long-standing syntax problems + +00:20:23.869 --> 00:20:31.279 +But before we do that and thus fix Org markup in stone, + +00:20:31.280 --> 00:20:34.614 +because it's very hard to change things in the IETF, + +00:20:34.615 --> 00:20:38.836 +it's important to address important problems, + +00:20:38.837 --> 00:20:41.217 +existing problems with Org syntax. + +00:20:41.218 --> 00:20:43.639 +There are some problems, like I mentioned the + +00:20:43.640 --> 00:20:46.941 +inconsistencies between the two existing parsers + +00:20:46.942 --> 00:20:51.407 +in Org mode. There are also some parts, + +00:20:51.408 --> 00:20:53.149 +there are some examples, like there are + +00:20:53.150 --> 00:20:54.799 +problems with numeric priorities, for + +00:20:54.800 --> 00:20:58.719 +example, which are not treated consistently. There are + +00:20:58.720 --> 00:21:02.599 +problems, more general problems with syntax when people + +00:21:02.600 --> 00:21:07.239 +request some edge cases which should be addressed. Like, + +00:21:07.240 --> 00:21:10.101 +it's very hard to do interword markup. + +00:21:10.102 --> 00:21:13.701 +We have zero-width space workaround, but many people dislike it, + +00:21:13.702 --> 00:21:16.262 +so maybe we want to do something about it. + +00:21:16.263 --> 00:21:18.079 +We have some edge cases when we + +00:21:18.080 --> 00:21:22.119 +combine emphasis with links. We have some edge cases when we + +00:21:22.120 --> 00:21:24.959 +have double blank lines inside some source blocks, for + +00:21:24.960 --> 00:21:30.079 +example, and combination in the list. I hope we can + +00:21:30.080 --> 00:21:33.399 +somehow address it. It's not impossible to do it, it just + +00:21:33.400 --> 00:21:38.919 +requires time. One annoying part is the inline task syntax. + +00:21:38.920 --> 00:21:41.479 +It's annoying both from the programming perspective, + +00:21:41.480 --> 00:21:43.919 +internally as implementation, and from the UI + +00:21:43.920 --> 00:21:47.519 +perspective, because there are too many stars. We + +00:21:47.520 --> 00:21:50.479 +probably should redesign it eventually, maybe in + +00:21:50.480 --> 00:21:56.239 +backwards-compatible way, but we will see how it goes. + +NOTE New syntax features + +00:21:56.240 --> 00:22:00.639 +Another part is not just fixing the edge cases or problems, + +00:22:00.640 --> 00:22:04.039 +it's the completely new syntax features. That's probably + +00:22:04.040 --> 00:22:07.959 +done after we submit to IETF. But there are important things + +00:22:07.960 --> 00:22:11.119 +that people often request, like time zone support in + +00:22:11.120 --> 00:22:15.919 +timestamps. Better repeaters, like more flexible + +00:22:15.920 --> 00:22:21.799 +repeaters, that's really a frequent request also. + +00:22:21.800 --> 00:22:28.919 +Another idea is some custom markup, which is + +00:22:28.920 --> 00:22:31.939 +coming to various requests, like, for example, people + +00:22:31.940 --> 00:22:37.887 +often ask to highlight some words with a color, + +00:22:37.888 --> 00:22:40.890 +for example, or with some other special way + +00:22:40.891 --> 00:22:43.333 +and then export it in a special way, + +00:22:43.334 --> 00:22:47.239 +just as we do with special blocks, basically. + +00:22:47.240 --> 00:22:51.061 +What I want to introduce is the ability to do it + +00:22:51.062 --> 00:22:54.601 +on a macro level or inline. + +00:22:54.602 --> 00:22:57.879 +Of course, a new syntax feature which I wish we could + +00:22:57.880 --> 00:23:01.064 +have is the multi-line cells in tables. + +00:23:01.065 --> 00:23:02.545 +It's very frequently requested as well, + +00:23:02.546 --> 00:23:07.007 +but I really have no clue how to do it. + +00:23:07.008 --> 00:23:09.239 +We had a discussion about this in previous + +00:23:09.240 --> 00:23:13.359 +discussions, but there was no conclusion. We don't see a + +00:23:13.360 --> 00:23:16.155 +good way how to implement it syntax-wise. + +00:23:16.156 --> 00:23:19.140 +Unlike time zones where we decided exactly the syntax, + +00:23:19.141 --> 00:23:22.665 +how it could be and we just need patches to be submitted, + +00:23:22.666 --> 00:23:25.610 +here even the idea of syntax is not clear. + +00:23:25.611 --> 00:23:26.771 +Please do participate in these discussions + +00:23:26.772 --> 00:23:30.502 +if you have ideas. + +NOTE New features I hope to see in Org + +00:23:30.503 --> 00:23:32.519 +The last direction is the + +00:23:32.520 --> 00:23:36.319 +new features. In general, I welcome all kinds of good + +00:23:36.320 --> 00:23:39.559 +features, but there are certain things which I explicitly + +00:23:39.560 --> 00:23:43.919 +want to see and I hope to see submitted. If you are + +00:23:43.920 --> 00:23:48.559 +interested, please do submit patches. One, and probably + +00:23:48.560 --> 00:23:50.799 +many people are aware about it, is the asynchronous LaTeX + +00:23:50.800 --> 00:23:55.319 +preview, developed by Timothy and Karthik. I hope it can be + +00:23:55.320 --> 00:23:59.279 +finalized eventually and upstreamed. It's pretty much in + +00:23:59.280 --> 00:24:02.319 +ready state, but on the technical level it should be + +00:24:02.320 --> 00:24:09.879 +discussed further and revised. The second is org-ql by Adam. + +00:24:09.880 --> 00:24:17.239 +I hope it can be upstreamed. It's also a work in progress. + +00:24:17.240 --> 00:24:20.519 +It's just a question of free time for Adam mostly, I think, + +00:24:20.520 --> 00:24:26.199 +and me. That's another important part, new feature. The + +00:24:26.200 --> 00:24:30.239 +third is the so-called multi-page export. The idea is the + +00:24:30.240 --> 00:24:34.319 +same as many packages for blog posts, so that you have a + +00:24:34.320 --> 00:24:39.479 +single Org file and then you can export multiple HTML pages, + +00:24:39.480 --> 00:24:42.599 +for example, or PDF pages, anything like that. This work in + +00:24:42.600 --> 00:24:46.687 +progress by Orm, thanks to him, + +00:24:46.688 --> 00:24:49.349 +although it was a little bit stuck because + +00:24:49.350 --> 00:24:52.079 +I am not exactly sure how to best integrate it + +00:24:52.080 --> 00:24:56.879 +into the existing APIs. If you are a developer of one of the + +00:24:56.880 --> 00:25:01.079 +blogging packages, I would appreciate if you can chime in + +00:25:01.080 --> 00:25:06.479 +and probably share some ideas here. Next are just some + +00:25:06.480 --> 00:25:09.839 +wishes I wish we could have, but + +00:25:09.840 --> 00:25:11.949 +it's not very detailed. One is + +00:25:11.950 --> 00:25:14.159 +the multi-language support, so that we can have Org + +00:25:14.160 --> 00:25:16.879 +documents in multiple languages, or maybe even + +00:25:16.880 --> 00:25:21.159 +translations. The collaborative editing that many + +00:25:21.160 --> 00:25:25.359 +people would wish to have, I think. Things like tracking + +00:25:25.360 --> 00:25:28.999 +changes, adding comments, importing from + +00:25:29.000 --> 00:25:30.874 +some other Org formats with + +00:25:30.875 --> 00:25:32.035 +the comments and changes + +00:25:32.036 --> 00:25:34.018 +so that we can actually participate + +00:25:34.019 --> 00:25:36.962 +with all those Microsoft Word users + +00:25:36.963 --> 00:25:39.743 +and stuff like that. + +00:25:39.744 --> 00:25:43.719 +But that's really too much for me alone to handle. + +00:25:43.720 --> 00:25:47.839 +If you want to see one of these features, please consider + +00:25:47.840 --> 00:25:50.039 +contributing. Just write the mailing list about your + +00:25:50.040 --> 00:25:54.072 +interest and we can start from there. + +NOTE Org community + +00:25:54.073 --> 00:25:57.455 +Now, the important part is, you see, + +00:25:57.456 --> 00:25:58.635 +I keep asking people like, + +00:25:58.636 --> 00:25:59.799 +please contribute, please contribute, + +00:25:59.800 --> 00:26:01.357 +but who should contribute? + +NOTE Org community forums - Org mailing list + +00:26:01.358 --> 00:26:03.799 +So I want to improve communication between the + +00:26:03.800 --> 00:26:12.479 +community and the mailing list. Now, people often + +00:26:12.480 --> 00:26:16.799 +discuss new features or ideas on all kinds of places like + +00:26:16.800 --> 00:26:20.239 +Reddit, Mastodon, like all kinds of Matrix/IRC chats, + +00:26:20.240 --> 00:26:25.439 +even on meetups, some non-English language. That's very + +00:26:25.440 --> 00:26:29.479 +nice that we have this community, but not all the ideas are + +00:26:29.480 --> 00:26:34.499 +visible to the developers. I do wish that the most + +00:26:34.500 --> 00:26:38.279 +important things that people want to see should end up on the + +00:26:38.280 --> 00:26:42.331 +mailing list, one way or another. + +00:26:42.332 --> 00:26:43.519 +I'll later talk about some + +00:26:43.520 --> 00:26:48.839 +ideas how I think it can be done. Another part is + +00:26:48.840 --> 00:26:52.554 +we have org-wiki and I hope that + +00:26:52.555 --> 00:26:55.239 +we can make it more centralized + +00:26:55.240 --> 00:26:58.476 +space for interesting Org mode articles, + +00:26:58.477 --> 00:27:00.617 +for tutorials, for blog posts, + +00:27:00.618 --> 00:27:03.679 +at least linked to blog posts. If you have + +00:27:03.680 --> 00:27:08.119 +some idea about good blog posts, it would be nice if you + +00:27:08.120 --> 00:27:13.025 +submit a patch to work or at least email about this link + +00:27:13.026 --> 00:27:17.159 +to the mailing list. + +NOTE Org mailing list - world + +00:27:17.160 --> 00:27:21.054 +Of course, not everyone likes to use mailing lists + +00:27:21.055 --> 00:27:23.809 +or don't have a good setup to do it, + +00:27:23.810 --> 00:27:25.559 +or even don't want to read + +00:27:25.560 --> 00:27:27.599 +everything on Org mailing list, because there are things + +00:27:27.600 --> 00:27:31.359 +like bug reports, people don't really want to see that. So + +00:27:31.360 --> 00:27:35.439 +Bastien actually developed a tool that can help with this. + +00:27:35.440 --> 00:27:39.239 +If you want to monitor Org mailing list, but want to see + +00:27:39.240 --> 00:27:42.799 +only the most important discussions, and maybe + +00:27:42.800 --> 00:27:45.479 +participate if you decide to, you don't have to register. We + +00:27:45.480 --> 00:27:51.919 +have Woof, which is basically a web page that monitors our + +00:27:51.920 --> 00:27:55.639 +main list, but not every email. That's the most important + +00:27:55.640 --> 00:27:58.719 +announcements, some blog-like posts, or feature + +00:27:58.720 --> 00:28:02.799 +requests, or some discussions. Then on this webpage, + +00:28:02.800 --> 00:28:06.119 +you can see it as HTML, or you can subscribe as RSS, or even + +00:28:06.120 --> 00:28:11.119 +download in Org or MD format. + +00:28:11.120 --> 00:28:15.359 +Thanks to Sacha Chua, also weekly news about Emacs in + +00:28:15.360 --> 00:28:23.199 +general, but Org Mode as well. It also includes the + +00:28:23.200 --> 00:28:26.639 +new features in Org Mode on the development branch and the + +00:28:27.100 --> 00:28:30.199 +interesting new blog posts and discussions on various + +00:28:30.200 --> 00:28:35.879 +Reddit forums or mailing lists everywhere. I did this + +00:28:35.880 --> 00:28:39.519 +little bit of experimental integration so that many lists + +00:28:39.520 --> 00:28:45.159 +can also be read, kind of announced on the chats. + +00:28:45.160 --> 00:28:48.319 +For example, in #org-mode Matrix room, we have a bot that + +00:28:48.320 --> 00:28:53.239 +connects to Woof RSS so that all the news and discussions are + +00:28:53.240 --> 00:28:55.923 +notified in the chat so that people + +00:28:55.924 --> 00:28:58.764 +can see if they are interested + +00:28:58.765 --> 00:29:02.519 +and maybe, hopefully, participate. I wish + +00:29:02.520 --> 00:29:05.599 +we could also have similar kind of both for Reddit, Mastodon + +00:29:05.600 --> 00:29:10.879 +and maybe IRC. That way we have mailing list connected to + +00:29:10.880 --> 00:29:17.719 +more active and more modern forums and chats. + +00:29:17.720 --> 00:29:19.959 +More people exposed to what is happening. + +00:29:19.960 --> 00:29:26.719 +Another part is that we actually have a web interface to Org + +00:29:26.720 --> 00:29:29.048 +mailing list and you can even reply from there, + +00:29:29.049 --> 00:29:31.400 +but it's not always obvious, unfortunately. + +00:29:31.401 --> 00:29:37.745 +We have this public inbox software + +00:29:37.746 --> 00:29:39.999 +to transform the mailing list into + +00:29:40.000 --> 00:29:45.719 +HTML pages. That's a decent interface, but it could be + +00:29:45.720 --> 00:29:49.199 +improved to look more forum-like, so that people can easily + +00:29:49.200 --> 00:29:53.079 +find the reply button or basically participate without + +00:29:53.080 --> 00:29:56.119 +too much effort, even if they are not subscribed or they are just + +00:29:56.120 --> 00:29:59.079 +casually reading. That would be nice if someone + +00:29:59.080 --> 00:30:05.579 +knowledgeable of CSS could help with this. + +NOTE Contribute ideas! + +00:30:05.580 --> 00:30:12.199 +Again, I cannot emphasize more that most of the Org ideas of + +00:30:12.200 --> 00:30:16.974 +the new features are coming from people, + +00:30:16.975 --> 00:30:23.221 +but often they are known either by someone + +00:30:23.222 --> 00:30:24.479 +submitting a patch to the mailing list or + +00:30:24.480 --> 00:30:28.239 +submitting an idea to the mailing list. Rarely, it happens when + +00:30:28.240 --> 00:30:31.999 +someone is reading posts from Reddit that don't share to the + +00:30:32.000 --> 00:30:35.639 +mailing list. If you think that there is some important + +00:30:35.640 --> 00:30:38.599 +discussion happening on the forum, + +00:30:38.600 --> 00:30:42.415 +it would be nice that you can go ahead and share it + +00:30:42.416 --> 00:30:46.519 +with Org mailing list. We don't care about + +00:30:46.520 --> 00:30:49.500 +on-topic, off-topic, because unlike + +00:30:49.501 --> 00:30:51.385 +emacs-devel, we don't focus on development. + +00:30:51.386 --> 00:30:54.929 +We can discuss some related to Org mode topics + +00:30:54.930 --> 00:31:01.519 +in open-end list, just like on an ordinary forum. + +NOTE How much can a single person do? + +00:31:01.520 --> 00:31:08.439 +I would like to end my talk with the call for contributions. + +00:31:08.440 --> 00:31:13.639 +Let me explain a little bit, because you saw now I shared many + +00:31:13.640 --> 00:31:19.319 +many ideas and I do spend a lot of time on Org Mode. In fact, + +00:31:19.320 --> 00:31:21.322 +for the last year, I was spending like + +00:31:21.323 --> 00:31:23.437 +30 hours per week or something. + +00:31:23.438 --> 00:31:27.319 +Until recently, I can spend a bit less, but still + +00:31:27.320 --> 00:31:29.900 +even with that much of commitment, + +00:31:29.901 --> 00:31:31.479 +there is no way I can handle + +00:31:31.480 --> 00:31:34.999 +everything by myself. + +NOTE Contribute code! + +00:31:35.000 --> 00:31:38.551 +We really, really need more people to contribute + +00:31:38.552 --> 00:31:43.633 +so that Org mode keeps moving forward. + +00:31:43.634 --> 00:31:45.079 +Again, I just shared ideas, + +00:31:45.080 --> 00:31:46.394 +but I have so many more. + +00:31:46.395 --> 00:31:48.734 +I have more than a thousand ideas noted down. + +00:31:48.735 --> 00:31:52.636 +Yeah, there's no way I can do it myself. + +00:31:52.637 --> 00:31:57.350 +I do need help for new contributions, for new features. + +00:31:57.351 --> 00:31:57.617 +If someone can help fixing bugs, it would be really great. + +00:31:57.618 --> 00:32:04.291 +If someone knows specialized things, + +00:32:04.292 --> 00:32:06.873 +like for example Open Document Format, + +00:32:06.874 --> 00:32:08.759 +which I don't know very well, it would be + +00:32:08.760 --> 00:32:12.999 +really nice, because things like ODT export requires + +00:32:13.000 --> 00:32:14.089 +knowing that, and if someone already has the knowledge, + +00:32:14.090 --> 00:32:18.081 +it would be much easier + +00:32:18.082 --> 00:32:23.480 +if that person can help with such things. + +00:32:23.481 --> 00:32:26.868 +Although in the coming years, + +00:32:26.869 --> 00:32:28.159 +it's very important to have + +00:32:28.160 --> 00:32:28.830 +regular contributors + +00:32:28.831 --> 00:32:31.921 +because my life is my life + +00:32:31.922 --> 00:32:34.363 +and things may happen, + +00:32:34.364 --> 00:32:37.244 +so it would be nice to have some kind of backup + +00:32:37.245 --> 00:32:40.245 +so that bugs keep being fixed + +00:32:40.245 --> 00:32:40.245 +and things like patches being accepted + +00:32:40.246 --> 00:32:44.567 +and stuff like that, + +00:32:44.568 --> 00:32:46.168 +so that some person can at least + +00:32:46.169 --> 00:32:49.879 +temporarily take on my job. + +00:32:49.880 --> 00:32:51.510 +I would like to emphasize + +00:32:51.511 --> 00:32:53.319 +that the code contributors are the most + +00:32:53.320 --> 00:32:56.212 +important contributions for Org Mode. + +00:32:56.213 --> 00:33:02.079 +All other types are less important, really. + +NOTE Why contribute? + +00:33:02.080 --> 00:33:03.959 +I want to spend a couple of slides + +00:33:03.960 --> 00:33:07.719 +trying to motivate you to contribute. + +00:33:07.720 --> 00:33:11.128 +If you ever considered contributing + +00:33:11.129 --> 00:33:13.359 +or if you ever wished to have some + +00:33:13.360 --> 00:33:16.879 +feature in Org Mode, really don't wait, because + +00:33:16.880 --> 00:33:18.239 +most new features are contributed by people. + +00:33:18.240 --> 00:33:23.736 +They are not contributed by me. + +00:33:23.737 --> 00:33:25.199 +I contribute a few things, but I am alone. + +00:33:25.200 --> 00:33:27.038 +I cannot contribute many things. + +00:33:27.039 --> 00:33:30.300 +Most of the things are contributed by users + +00:33:30.301 --> 00:33:33.441 +who go ahead and submit patches. + +00:33:33.442 --> 00:33:37.323 +And even in very commonly requested features, + +00:33:37.324 --> 00:33:40.344 +it's usually someone who steps up. + +00:33:40.345 --> 00:33:42.199 +If you want something, don't wait. + +00:33:42.200 --> 00:33:44.206 +Just go ahead and write to mailing list. + +00:33:44.207 --> 00:33:46.207 +You don't have to submit a patch immediately. + +00:33:46.208 --> 00:33:48.729 +You can just say, I am interested. + +00:33:48.730 --> 00:33:53.819 +We will start from there. + +00:33:53.820 --> 00:33:56.043 +We'll start because that's my job + +00:33:56.044 --> 00:33:57.644 +and I will guide you through. + +00:33:57.645 --> 00:33:58.990 +If you have problems with Org in general, + +00:33:58.991 --> 00:34:02.308 +I'll explain, because that's what I know. + +00:34:02.309 --> 00:34:05.030 +I will explain how to implement things better, + +00:34:05.031 --> 00:34:06.999 +but I need someone to actually do + +00:34:07.000 --> 00:34:10.070 +the job and write the code. + +00:34:10.071 --> 00:34:19.057 +Even if you don't have 10 years experience with Elisp, + +00:34:19.058 --> 00:34:21.178 +it doesn't matter. You can learn on the way. + +00:34:21.179 --> 00:34:22.519 +There are many examples of this in the + +00:34:22.520 --> 00:34:25.642 +mailing list when we start slowly, + +00:34:25.643 --> 00:34:27.759 +fix things one by one, and + +00:34:27.760 --> 00:34:29.225 +eventually arrive to a good quality + +00:34:29.226 --> 00:34:31.707 +when the person is not experienced. + +00:34:31.708 --> 00:34:34.759 +You just need to be ready to learn things, + +00:34:34.760 --> 00:34:37.992 +Spend your free time (that's as usual, right?), + +00:34:37.993 --> 00:34:41.214 +and have the interest in specific thing + +00:34:41.215 --> 00:34:43.499 +you are contributing. + +00:34:43.500 --> 00:34:44.475 +Don't be afraid to be wrong. + +00:34:44.476 --> 00:34:47.578 +I will be there to assist. + +00:34:47.579 --> 00:34:48.937 +If you don't like emails, + +00:34:48.938 --> 00:34:51.239 +if you don't like patches, it doesn't matter. + +00:34:51.240 --> 00:34:55.361 +Again, you can share GitHub link. It's okay. + +00:34:55.362 --> 00:34:57.684 +You can go and modify some workflow directly. + +00:34:57.685 --> 00:34:59.565 +You submit the modified version. It's also okay. + +00:34:59.566 --> 00:35:05.119 +It's easy for me to create patches if I need to. + +00:35:05.120 --> 00:35:07.279 +If you don't like emails at all, you don't want to + +00:35:07.280 --> 00:35:11.879 +participate in the mailing list, it's not ideal, but I can + +00:35:11.880 --> 00:35:16.005 +still work with this. I am on IRC, I am on Matrix, + +00:35:16.006 --> 00:35:19.799 +you can ping me, it's yantar2. + +00:35:19.800 --> 00:35:22.347 +We also have monthly meetup, + +00:35:22.348 --> 00:35:23.987 +so you can go and ask by voice, + +00:35:23.988 --> 00:35:27.088 +we can just talk in person, discuss your ideas, + +00:35:27.089 --> 00:35:29.299 +it's also fine. + +00:35:29.300 --> 00:35:35.159 +The key point is that we always welcome new contributors. + +00:35:35.160 --> 00:35:40.239 +The more contributions to Org Mode is better. + +NOTE Benefits for code contributors + +00:35:40.240 --> 00:35:41.519 +To increase the motivation, + +00:35:41.520 --> 00:35:44.919 +I'll just try to show some benefits + +00:35:44.920 --> 00:35:49.479 +of contributing to Org Mode and free software in general. + +00:35:49.480 --> 00:35:52.079 +It can be actually useful for your CV if you're a programmer. + +00:35:52.080 --> 00:35:54.999 +It doesn't matter if it's Lisp, because you can have a pet + +00:35:55.000 --> 00:35:59.039 +project that demonstrates your skills, that you can finish + +00:35:59.040 --> 00:36:04.359 +something to a usable state. + +00:36:04.360 --> 00:36:06.800 +A pet project usually demonstrates + +00:36:06.801 --> 00:36:08.839 +that you can work alone, but it doesn't + +00:36:08.840 --> 00:36:12.119 +demonstrate anything about you working in a team, in the + +00:36:12.120 --> 00:36:15.519 +production team. When you contribute to + +00:36:15.520 --> 00:36:17.629 +Libre software, look, + +00:36:17.630 --> 00:36:20.759 +you will work with a number of people + +00:36:20.760 --> 00:36:24.352 +who contribute and comment on your work. + +00:36:24.353 --> 00:36:27.073 +You'll have to learn a new code base. + +00:36:27.074 --> 00:36:30.075 +You will have to follow certain standards. + +00:36:30.076 --> 00:36:33.239 +All these things, by having a public record + +00:36:33.240 --> 00:36:37.559 +of contribution, will be a valid point that proves your + +00:36:37.560 --> 00:36:42.087 +knowledge in your CV. I put a small quote + +00:36:42.088 --> 00:36:44.869 +(which I'm not going to read in the interest of time) + +00:36:44.870 --> 00:36:46.279 +from Rudolf Adamkovič, + +00:36:46.280 --> 00:36:50.159 +who is describing these three points in probably a + +00:36:50.160 --> 00:36:56.519 +more expressive way. + +00:36:56.520 --> 00:36:59.939 +Another benefit is you can actually get money from this. + +00:36:59.940 --> 00:37:03.999 +Thanks to a number of Org Mode users who kindly contribute to + +00:37:04.000 --> 00:37:07.199 +Org development, we have some amount of money + +00:37:07.200 --> 00:37:11.009 +coming in, and we don't hold on this money. + +00:37:11.010 --> 00:37:13.550 +If we get another person who contributes + +00:37:13.551 --> 00:37:17.511 +to Org regularly, we are happy to share this money, + +00:37:17.512 --> 00:37:22.539 +because we do know that + +00:37:22.540 --> 00:37:24.599 +getting some extra money, even a little bit, + +00:37:24.600 --> 00:37:27.216 +does improve motivation. + +00:37:27.217 --> 00:37:29.158 +We are really ready to share this. + +00:37:29.159 --> 00:37:33.523 +If you are serious about contributing, + +00:37:33.524 --> 00:37:34.919 +you can just request this + +00:37:34.920 --> 00:37:41.419 +and we can share a part of the donations to you. + +NOTE Contributing as non-programmer + +00:37:41.420 --> 00:37:45.199 +For non-programmers, we also have a lot of work to do. + +00:37:45.200 --> 00:37:47.092 +There's a lot of stuff we can do on the Org wiki, + +00:37:47.093 --> 00:37:48.754 +especially with CSS styles, + +00:37:48.755 --> 00:37:53.178 +with updating articles, + +00:37:53.179 --> 00:37:54.880 +with adding links to tutorials, + +00:37:54.881 --> 00:37:56.222 +or even writing tutorials about Org Mode. + +00:37:56.223 --> 00:38:01.081 +It would be nice to have more screencasts. + +00:38:01.082 --> 00:38:02.702 +It would be nice to improve Org manual, + +00:38:02.703 --> 00:38:05.283 +because that's the most difficult part for me + +00:38:05.284 --> 00:38:07.325 +because I'm too familiar with the code. + +00:38:07.326 --> 00:38:11.226 +Writing the manual when you know things internally + +00:38:11.227 --> 00:38:13.727 +is very hard. I just know too many things. + +00:38:13.728 --> 00:38:16.809 +I can assume that people know too much, + +00:38:16.810 --> 00:38:20.911 +that new users have no idea about certain things. + +00:38:20.912 --> 00:38:30.439 +I can just omit those without being aware. + +NOTE Got no free time, but still want to help? + +00:38:30.440 --> 00:38:33.319 +The final slide I would go to come back is about + +00:38:33.320 --> 00:38:37.919 +donations. Again, most important is contributing code, + +00:38:37.920 --> 00:38:42.879 +but I do hope that donations can + +00:38:42.880 --> 00:38:45.445 +increase the number of contributors. + +00:38:45.446 --> 00:38:47.999 +I don't know. I know for sure because some + +00:38:48.000 --> 00:38:52.439 +people like Timothy, who is participating in this, he did + +00:38:52.440 --> 00:38:55.319 +find the donations helpful, especially for more boring + +00:38:55.320 --> 00:39:00.079 +tasks like bug fixing and to move things + +00:39:00.080 --> 00:39:07.835 +over the long time. If you cannot contribute by other means, + +00:39:07.836 --> 00:39:12.996 +it would be appreciated to contribute money. + +NOTE Thank you + +00:39:12.997 --> 00:39:14.817 +We came to the end of my talk. + +00:39:14.818 --> 00:39:16.277 +Thank you for your attention. + +00:39:16.278 --> 00:39:19.698 +If you have any questions, please feel free to ask. + +00:39:19.699 --> 00:39:22.898 +I think we can even discuss further + +00:39:22.899 --> 00:39:28.180 +during the next Org Meetup in the coming week. + +00:39:28.181 --> 00:39:30.320 +There, if you have more detailed questions, + +00:39:30.321 --> 00:39:31.640 +we can continue discussing + +00:39:31.641 --> 00:39:34.440 +apart from what happens after this presentation. diff --git a/2024/info/org-update-after.md b/2024/info/org-update-after.md index 59e79be9..d7e6d6a1 100644 --- a/2024/info/org-update-after.md +++ b/2024/info/org-update-after.md @@ -1,6 +1,757 @@ <!-- Automatically generated by emacsconf-publish-after-page --> +<a name="org-update-mainVideo-transcript"></a> +# Transcript + + +[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Hello, everyone. My name is Ihor Radchenko,""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and I'm the new official Org Mode maintainer.""" start="00:00:03.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Today, I'll briefly introduce myself""" start="00:00:07.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and then share my ideas about the future of""" start="00:00:09.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org Mode development. I will start by passing""" start="00:00:12.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the word from Bastien, the previous maintainer.""" start="00:00:16.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Then I will tell you a little bit about my story,""" start="00:00:18.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""starting from ordinary Org Mode user""" start="00:00:22.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""all the way to the maintainer.""" start="00:00:24.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Then I will detail the new directions of development""" start="00:00:26.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and specific features which I want to see""" start="00:00:30.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in Org Mode in the coming years.""" start="00:00:33.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""And I will conclude by asking you, Org Mode users,""" start="00:00:35.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to contribute to Org Mode""" start="00:00:39.660" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because all the features which are too many""" start="00:00:42.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""can only be implemented with the help of the community,""" start="00:00:46.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""with the help of more contributors.""" start="00:00:49.260" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""And for that, of course, I will also talk""" start="00:00:51.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""about Org community and how I see it evolve""" start="00:00:53.580" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that we have a good communication""" start="00:00:59.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""between the development of Org Mode""" start="00:01:01.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and the community ideas.""" start="00:01:03.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Let me first pass the word to Bastien.""" start="00:01:07.560" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Message from Bastien Guerry""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Hello, everyone. Ihor Radchenko is the new Org Mode""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""maintainer.""" start="00:01:17.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""He's been acting as such for a couple of years now,""" start="00:01:18.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and I'm really glad he's finally agreed to take on the""" start="00:01:21.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""role officially. As a maintainer, I've probably done""" start="00:01:23.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""a few things right and certainly made many mistakes.""" start="00:01:26.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Here are 4 lessons I've learned in 14 years.""" start="00:01:29.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""The first is that maintaining Org Mode""" start="00:01:32.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""isn't just about code, it's mostly""" start="00:01:34.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""about users. Of course, some of them will never learn how to""" start="00:01:36.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""report a bug, some of them will behave like spoiled""" start="00:01:40.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""children, and most of them will expect you to work for free""" start="00:01:43.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""forever. Nevertheless, the time is as valuable as yours.""" start="00:01:46.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Whatever they request, there is always something that can""" start="00:01:50.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""lead to a positive outcome for Org Mode or its community.""" start="00:01:53.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""The second lesson is that maintenance isn't just about""" start="00:01:57.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""technical choices. It's also about predictability.""" start="00:02:00.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Be very clear and very loud about what users and contributors""" start="00:02:04.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""can expect of your time, skills, and motivations.""" start="00:02:07.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Stick to the robustness principle""" start="00:02:11.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""by being liberal in what you accept""" start="00:02:12.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and strict in what you produce. Thirdly, it's all""" start="00:02:15.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""about learning. Let's build a culture together where it's""" start="00:02:19.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""okay to ask stupid questions. No one is born knowing how to""" start="00:02:22.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""write in English, how to report a bug, or how to maintain a""" start="00:02:25.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""large piece of code. Remember that old-timers were newbies""" start="00:02:28.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and that newbies could become maintainers. We all have a lot""" start="00:02:32.060" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to learn, even if it's just how to respect each other.""" start="00:02:35.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Finally, as a maintainer, think about the next one. Who will""" start="00:02:38.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""be in your shoes next? What kind of maintainer do you want for""" start="00:02:42.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""a software you will be using for decades? It's also a""" start="00:02:45.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""responsibility of the Org Mode community. How can we""" start="00:02:48.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""collectively attract maintainers that want to help us use""" start="00:02:52.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and enhance this wonderful little tool? How can we,""" start="00:02:56.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""as Org Mode users, help Ihor pave the way""" start="00:02:59.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for the next maintainers?""" start="00:03:02.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Enough said. I'm confident Org Mode is in good hands and I'm a very""" start="00:03:04.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""happy user. Thanks everyone for all these years of fun and""" start="00:03:08.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""learning.""" start="00:03:11.560" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""My step-by-step journey to Org maintenance""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Now back to my talk. Let me start by briefly introducing""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""myself. I'm actually not a programmer. By training, I'm a""" start="00:03:20.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""material scientist. and I only started using Emacs and""" start="00:03:23.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org Mode and naturally doing programming (because that's""" start="00:03:27.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Emacs) when I was doing my PhD and I wanted to use Org Mode to""" start="00:03:30.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""tame my research work. A couple of years I was just an""" start="00:03:36.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""ordinary user, until I learned enough and""" start="00:03:40.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""got enough courage to report my first bug.""" start="00:03:44.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Then it all evolved over the years.""" start="00:03:48.464" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I started participating in the mailing list,""" start="00:03:51.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I started learning more about Elisp,""" start="00:03:53.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I reported more complex bugs,""" start="00:03:56.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I eventually got around to go and fix the tricky bugs.""" start="00:03:59.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Then I started participating more in Org mailing list""" start="00:04:08.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in helping fixing bugs in selected areas of Org""" start="00:04:11.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""mode and eventually switching to all parts of Org.""" start="00:04:16.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""At some point I ended up doing the de facto maintenance job""" start="00:04:22.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""together with Bastien and got an actual maintenance offer""" start="00:04:27.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which I accepted recently. The key takeaway I want you to get""" start="00:04:32.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""from here is that you don't have to be a programmer, you don't""" start="00:04:38.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""have to know Elisp to contribute, and you don't even have to""" start="00:04:41.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""be like that to become a maintainer. All it takes is""" start="00:04:47.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""slow, methodical, persistent learning over the years,""" start="00:04:51.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""participating in the community, and eventually""" start="00:04:55.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""submitting your patches upstream. And eventually you can""" start="00:04:58.500" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""become a maintainer, or not a maintainer as you wish.""" start="00:05:02.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Enough about me.""" start="00:05:07.680" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Priorities for Org maintenance""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Let's talk about what I think should happen with""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org Mode and what my goals on Org Mode is. The first and top""" start="00:05:13.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""priority for me is the basics. The basics, the""" start="00:05:18.860" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""code-based stability.""" start="00:05:25.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Basically, all the foundations, all the APIs in""" start="00:05:26.070" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org Mode, all the basic libraries, which everything builds""" start="00:05:29.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""upon so that we have fewer bugs and we have more""" start="00:05:34.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""understandable code so that others who want to contribute""" start="00:05:39.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""have easier time understanding""" start="00:05:42.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""what is going on in the code base and""" start="00:05:44.652" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""contribute without much of a problem or confusion.""" start="00:05:46.372" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Second equally important direction is the Org community,""" start="00:05:52.260" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because a single person, even a couple of people, cannot""" start="00:05:56.340" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""really develop such a big project as Org Mode. And we always""" start="00:06:00.580" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""want new contributors, which are not coming from nowhere.""" start="00:06:05.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We need to have the community of users.""" start="00:06:08.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We have a community of""" start="00:06:10.229" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""people who participate in discussions, who later submit""" start="00:06:12.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""patches and code, and that's where we get most of the new""" start="00:06:15.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""features. So I would like to improve the communication""" start="00:06:19.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""between Org community and the development. The third""" start="00:06:24.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""direction I want to pursue is making life easier for""" start="00:06:29.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""third-party packages. Because we don't only have org-mode""" start="00:06:34.260" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""as it's distributed with Emacs. We have a lot of""" start="00:06:38.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""ELPA packages. We have a lot of MELPA packages.""" start="00:06:41.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""People who want some specific features""" start="00:06:45.197" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""on top of org-mode do develop""" start="00:06:47.918" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""these packages which are widely used or not so widely used.""" start="00:06:49.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's not only about Emacs. We have a lot of mobile apps""" start="00:06:54.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that can work with Org files, have a lot of parsers which""" start="00:06:57.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""enable this mobile apps, or in general, programs outside""" start="00:07:01.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Elisp to understand Org files.""" start="00:07:06.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Fourth direction is the Org markup as a foundation of""" start="00:07:11.020" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""org-mode as a major mode, because we have a lot of""" start="00:07:14.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""functionality in org-mode itself inside Emacs,""" start="00:07:18.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but it's all based on the underlying markup,""" start="00:07:20.574" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and markup should have enough features""" start="00:07:23.675" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to support the functions we want to see there.""" start="00:07:27.436" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Last direction, which is somewhat less""" start="00:07:32.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""important, mostly because I don't have""" start="00:07:34.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that much time to focus on everything,""" start="00:07:37.835" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""is the new features. I do want to see""" start="00:07:40.137" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""certain important features in Org mode,""" start="00:07:44.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but I usually cannot spend too much time on them""" start="00:07:46.841" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because of the previous more important parts.""" start="00:07:50.263" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I do rely on the org community and""" start="00:07:53.085" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the contributors to implement these new features.""" start="00:07:55.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""My idea is that I want to direct which features""" start="00:07:57.457" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and how they should be implemented,""" start="00:08:01.916" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but the actual people who implement""" start="00:08:03.758" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""them should come from the community.""" start="00:08:05.300" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Now let's go into the details.""" start="00:08:09.464" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Modular Org""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""The code base. As a bit of motivation, I would like""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to share this email from Richard Stallman, who a couple of""" start="00:08:15.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""years ago asked about improving Org mode by making it""" start="00:08:19.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""more modular. That's directly asking about improving the""" start="00:08:27.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""foundations of the code. That's what I think is""" start="00:08:32.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""an important direction as well. Here's an example.""" start="00:08:35.640" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Slim down large Org libraries""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""We have a lot of really, really large org libraries,""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""like org.el, which is like one megabyte or something large,""" start="00:08:45.313" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""org-agenda, org-table, org-list,""" start="00:08:49.377" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""a number of files which are really,""" start="00:08:51.559" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""really, really large. What is worse is they are hard to""" start="00:08:52.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""understand sometimes. I even have an example,""" start="00:08:56.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""alphapapa complained that part of his motivation""" start="00:09:00.907" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to write org-ql and specifically his agenda part,""" start="00:09:04.506" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""agenda-like part, was""" start="00:09:07.868" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because org-agenda is so hard to understand that it's""" start="00:09:08.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""easier to start from scratch.""" start="00:09:13.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I don't want such situations""" start="00:09:15.573" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to happen in future, if possible at all.""" start="00:09:17.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""One of the projects""" start="00:09:20.375" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I'm currently working on,""" start="00:09:21.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's work in progress now,""" start="00:09:23.117" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""is splitting Org libraries into smaller parts,""" start="00:09:25.101" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""into more documented parts,""" start="00:09:28.438" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""into the APIs which are actually""" start="00:09:31.809" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""documented and explained in the code at least,""" start="00:09:34.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that people who just open org-mode code""" start="00:09:38.471" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""cannot be scared away and go and""" start="00:09:42.572" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""read the comments and understand what is happening there""" start="00:09:45.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""easier. At this point, I have almost doubled the number of""" start="00:09:48.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""libraries. It's still work in progress, so there's a lot of""" start="00:09:52.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""room for improvement in this area.""" start="00:09:54.840" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Upstream generic Org libraries""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Another direction which is""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""somewhat reasonable in relation to splitting things down""" start="00:10:04.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""is that some libraries are really generic in Org Mode,""" start="00:10:09.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because Org Mode often has a functionality""" start="00:10:15.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which is really new, and for that,""" start="00:10:18.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it had to implement some very generic""" start="00:10:20.101" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""functionality that doesn't have to be used""" start="00:10:22.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""just for Org Mode.""" start="00:10:24.223" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""This can be generalized for Emacs in general.""" start="00:10:24.904" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There is a number of libraries""" start="00:10:27.925" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which we may or may not upstream to""" start="00:10:29.646" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Emacs, depending on what Emacs maintain, I think. As one""" start="00:10:33.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""example is org-capture, because it's a very obvious""" start="00:10:37.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""example. org-capture started as support from remember.el,""" start="00:10:40.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which is still a part of Emacs. It has more features than""" start="00:10:43.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""remember.el, which we required for Org. But, you know,""" start="00:10:46.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""these features can be backported. Why not? And then""" start="00:10:50.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""not only Org-mode, but other Emacs libraries can benefit""" start="00:10:55.140" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""from these features we have in Org-mode only.""" start="00:10:58.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Similarly, I have a long list of""" start="00:11:01.958" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""different libraries that can be shared.""" start="00:11:04.740" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Yeah, for some I'm not sure,""" start="00:11:12.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but in general, there is a lot of""" start="00:11:14.005" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""work that may be done and may be discussed in the future.""" start="00:11:18.960" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Use modern Emacs APIs and libraries""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""The third part about the basics is making use of the new Emacs""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""libraries. Org Mode in general is quite well written in terms""" start="00:11:31.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""of Emacs integration. We do support many of the Emacs""" start="00:11:36.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""features and libraries which are generic. However, in more""" start="00:11:40.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""recent Emacs versions, we started getting some new""" start="00:11:44.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""features, and we do want to make use of them in Org.""" start="00:11:48.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""For example, recently we contributed yank-media support for""" start="00:11:50.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""clipboard pasting and drag and drop. Now it is supported""" start="00:11:55.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in Org mode already in the released version. Eventually""" start="00:12:00.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we want to support transient.el, because now Org uses ad hoc""" start="00:12:04.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""system. It's of course much better to use existing and""" start="00:12:08.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""more powerful menus, which are implemented in""" start="00:12:12.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""transient. It even has some initial work-in-progress""" start="00:12:14.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""implementation. I hope it can be eventually""" start="00:12:18.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""extended to the whole Org Mode""" start="00:12:20.029" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There are other things like compatibility, which there is""" start="00:12:23.961" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""an excellent Emacs library, compat.el, that provides""" start="00:12:29.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""backwards compatibility and Org also has something like this""" start="00:12:33.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in org-compat. We don't have to write it ourself again.""" start="00:12:37.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We can make use of the existing library.""" start="00:12:39.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Similarly, there's a very, very new library""" start="00:12:43.742" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""track-changes for tracking changes""" start="00:12:46.044" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in real time. Eventually, if you want to support""" start="00:12:48.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""context-menu mode, maybe touchscreen, Android""" start="00:12:53.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""support, I don't know, but I hope it can be done by someone.""" start="00:12:56.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""And some more generic library: select thingatpt.""" start="00:13:01.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""That's about using external APIs.""" start="00:13:09.320" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Improve Org parser APIs""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Now about the internal Org APIs.""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""One important, probably one of the most important""" start="00:13:18.558" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""parts of Org is the parser, how Org itself understands the""" start="00:13:19.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org files. The situation is that we have two parsers in""" start="00:13:23.260" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org mode. One is the Org element, the proper parser, which we""" start="00:13:27.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""use as a reference, but many parts of Org still use regular""" start="00:13:31.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""expressions, which are approximate. These two parsers""" start="00:13:34.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""are not exactly consistent, which is really bad, and I hope""" start="00:13:38.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to solve this. I already started doing some work by""" start="00:13:41.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""factoring out some part of abstract syntax tree and working""" start="00:13:48.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""on real-time parser, incremental parser, which is enabled""" start="00:13:54.141" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""by default in Org 9.6, but there are still parts which I need""" start="00:13:57.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to work on. Eventually I want to get rid of regular""" start="00:14:00.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""expression-based parser completely, so that we don't have""" start="00:14:03.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""any inconsistencies inside Org Mode. One of the examples of""" start="00:14:05.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""these parts that are still using regular expression is""" start="00:14:10.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""fontification, which is often simply wrong, especially in""" start="00:14:13.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""some edge cases, and we really want to use the proper parser""" start="00:14:16.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in this area. Maybe even editing org files using the parser""" start="00:14:21.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""syntax tree, but that might be tricky, although there is an""" start="00:14:27.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""existing library that implements some ideas for this.""" start="00:14:31.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""The key point is that org-element-api, the parser, should""" start="00:14:38.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""eventually be used everywhere""" start="00:14:41.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that everything is consistent.""" start="00:14:42.750" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Improve Org babel APIs""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""The second important API is the Org babel.""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Currently, Org babel does have some API,""" start="00:14:50.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but first, it's not well documented.""" start="00:14:54.415" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Second, it's sometimes awkwardly""" start="00:14:56.196" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""designed, especially compared with the exporter.""" start="00:14:59.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I do want Org Babel APIs to be more consistent.""" start="00:15:04.820" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Another thing about Org Babel, it's not exactly API, but you""" start="00:15:11.420" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""know that documentation for most of the Babel backends are""" start="00:15:14.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""not even in the Org manual, even though the backends are""" start="00:15:18.260" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""built-in. They are on Org Wiki, and we do want to move them to""" start="00:15:20.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the manual eventually. That's the important part, and it""" start="00:15:25.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""should be done. Those are some obstacles, like not all the""" start="00:15:29.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""features are properly implemented, and that's a bit of an""" start="00:15:34.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""extra job that should be done. Another small thing which""" start="00:15:39.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""thanks to Bruno Barbier is being done, in progress: we""" start="00:15:43.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""should have a more robust asynchronous API for babel.""" start="00:15:48.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I hope it can progress further.""" start="00:15:51.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""For now, it already progressed quite far.""" start="00:15:53.601" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Beyond Org code and Emacs: third-party packages, apps, parsers""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""That's all about the basics, the underlying""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""backbone of the Org codebase. Let's move to the second""" start="00:15:59.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""important direction which is""" start="00:16:04.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the third-party packages and basically the parsers""" start="00:16:09.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for mobile apps. I will postpone the community to the end""" start="00:16:13.740" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because I want to have a call for contribution at the end.""" start="00:16:18.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""For third-party packages, I would like to remind you that""" start="00:16:23.920" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""org-contrib""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Org mode used to have something called org-contrib as a""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""part of Org mode, which is a collection of small libraries,""" start="00:16:34.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""small packages that didn't have a proper""" start="00:16:39.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""copyright assignment basically,""" start="00:16:44.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but more or less a part of Org mode. This is""" start="00:16:45.496" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""no longer the case. Now what we did is""" start="00:16:49.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we moved a number of very rarely used libraries""" start="00:16:52.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""from Org core itself to org-contrib,""" start="00:16:56.642" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and now we treat org-contrib as basically the libraries""" start="00:16:58.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that we really want someone to take responsibility for.""" start="00:17:03.780" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We want to maintain this for everything that is in""" start="00:17:08.021" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""org-contrib, and from me and other Org team, we""" start="00:17:10.581" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""do not spend too much time maintaining this package,""" start="00:17:18.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""just do some most basic bug fixing, and that's all.""" start="00:17:21.163" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you know, if you see""" start="00:17:25.287" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""some libraries from org-contrib and you use them,""" start="00:17:27.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and you know Elisp, please volunteer to be""" start="00:17:30.032" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the maintainer, because otherwise""" start="00:17:31.992" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""there will be not much progress in these libraries.""" start="00:17:34.455" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Org orphanage""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""As a natural extension of this and inspired by""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Tarsius's Emacs Orphanage idea, we also maintain a small""" start="00:17:40.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""page basically listing the libraries, some others like""" start="00:17:46.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""packages, Emacs packages that are not really maintained.""" start="00:17:50.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you are a maintainer of a library and you don't have time""" start="00:17:55.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to do it, you can write to Org mailing list""" start="00:17:59.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and we can add the library to this page""" start="00:18:02.508" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that we can search for new maintainers""" start="00:18:05.210" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in a more centralized way. If you are an""" start="00:18:09.919" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Elisp hacker and you want to help something for Org Mode,""" start="00:18:12.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you can check that page and see where you can help.""" start="00:18:18.120" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Mobile apps and parsers""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Now away from Emacs, or mobile apps.""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We have quite a lot of mobile apps at this point.""" start="00:18:29.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Unfortunately, it's very hard""" start="00:18:33.949" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for me and many other Elisp contributors to contribute to""" start="00:18:35.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""these apps because they are not using Elisp naturally. But""" start="00:18:42.460" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""these applications heavily rely on Org markup. I do hope""" start="00:18:46.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that we can keep Org markup consistent enough and rich""" start="00:18:52.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""enough so that people don't have to invent extensions to Org""" start="00:18:55.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""like what happened to Markdown.""" start="00:19:00.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I really want to emphasize that""" start="00:19:06.021" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I want to see more Org parsers in different""" start="00:19:09.543" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""languages so that they can be used by developers.""" start="00:19:12.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""For people who are writing these parsers,""" start="00:19:13.740" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I want to share this link. It is the org-syntax reference.""" start="00:19:24.186" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It is the official Org syntax,""" start="00:19:27.268" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which is what we think it should be.""" start="00:19:29.369" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's described in plain human language.""" start="00:19:33.632" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's not a code. All details should be listed there.""" start="00:19:36.213" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Please use it as a reference if you are writing a parser.""" start="00:19:39.856" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Eventually, this document will be""" start="00:19:43.558" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""submitted to IETF, I hope. In the future""" start="00:19:45.119" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I hope to write a set of tests which will work as benchmarks.""" start="00:19:51.673" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""basically we have some existing tests for our internal""" start="00:19:56.060" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""parser and I want to factor out these tests so they can be used""" start="00:19:58.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""by any parser, so that we can compare the performance and""" start="00:20:04.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which parts of Org mode are parsed and which parts are not.""" start="00:20:07.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I mentioned that we want to submit to IETF, which means that""" start="00:20:14.580" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org markup will become the actual registered format.""" start="00:20:19.000" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Long-standing syntax problems""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""But before we do that and thus fix Org markup in stone,""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because it's very hard to change things in the IETF,""" start="00:20:31.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's important to address important problems,""" start="00:20:34.615" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""existing problems with Org syntax.""" start="00:20:38.837" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There are some problems, like I mentioned the""" start="00:20:41.218" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""inconsistencies between the two existing parsers""" start="00:20:43.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in Org mode. There are also some parts,""" start="00:20:46.942" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""there are some examples, like there are""" start="00:20:51.408" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""problems with numeric priorities, for""" start="00:20:53.150" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""example, which are not treated consistently. There are""" start="00:20:54.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""problems, more general problems with syntax when people""" start="00:20:58.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""request some edge cases which should be addressed. Like,""" start="00:21:02.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's very hard to do interword markup.""" start="00:21:07.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We have zero-width space workaround, but many people dislike it,""" start="00:21:10.102" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so maybe we want to do something about it.""" start="00:21:13.702" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We have some edge cases when we""" start="00:21:16.263" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""combine emphasis with links. We have some edge cases when we""" start="00:21:18.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""have double blank lines inside some source blocks, for""" start="00:21:22.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""example, and combination in the list. I hope we can""" start="00:21:24.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""somehow address it. It's not impossible to do it, it just""" start="00:21:30.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""requires time. One annoying part is the inline task syntax.""" start="00:21:33.400" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's annoying both from the programming perspective,""" start="00:21:38.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""internally as implementation, and from the UI""" start="00:21:41.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""perspective, because there are too many stars. We""" start="00:21:43.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""probably should redesign it eventually, maybe in""" start="00:21:47.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""backwards-compatible way, but we will see how it goes.""" start="00:21:50.480" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""New syntax features""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Another part is not just fixing the edge cases or problems,""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's the completely new syntax features. That's probably""" start="00:22:00.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""done after we submit to IETF. But there are important things""" start="00:22:04.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that people often request, like time zone support in""" start="00:22:07.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""timestamps. Better repeaters, like more flexible""" start="00:22:11.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""repeaters, that's really a frequent request also.""" start="00:22:15.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Another idea is some custom markup, which is""" start="00:22:21.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""coming to various requests, like, for example, people""" start="00:22:28.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""often ask to highlight some words with a color,""" start="00:22:31.940" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for example, or with some other special way""" start="00:22:37.888" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and then export it in a special way,""" start="00:22:40.891" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""just as we do with special blocks, basically.""" start="00:22:43.334" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""What I want to introduce is the ability to do it""" start="00:22:47.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""on a macro level or inline.""" start="00:22:51.062" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Of course, a new syntax feature which I wish we could""" start="00:22:54.602" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""have is the multi-line cells in tables.""" start="00:22:57.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's very frequently requested as well,""" start="00:23:01.065" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but I really have no clue how to do it.""" start="00:23:02.546" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We had a discussion about this in previous""" start="00:23:07.008" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""discussions, but there was no conclusion. We don't see a""" start="00:23:09.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""good way how to implement it syntax-wise.""" start="00:23:13.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Unlike time zones where we decided exactly the syntax,""" start="00:23:16.156" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""how it could be and we just need patches to be submitted,""" start="00:23:19.141" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""here even the idea of syntax is not clear.""" start="00:23:22.666" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Please do participate in these discussions""" start="00:23:25.611" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""if you have ideas.""" start="00:23:26.772" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""New features I hope to see in Org""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""The last direction is the""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""new features. In general, I welcome all kinds of good""" start="00:23:32.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""features, but there are certain things which I explicitly""" start="00:23:36.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""want to see and I hope to see submitted. If you are""" start="00:23:39.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""interested, please do submit patches. One, and probably""" start="00:23:43.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""many people are aware about it, is the asynchronous LaTeX""" start="00:23:48.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""preview, developed by Timothy and Karthik. I hope it can be""" start="00:23:50.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""finalized eventually and upstreamed. It's pretty much in""" start="00:23:55.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""ready state, but on the technical level it should be""" start="00:23:59.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""discussed further and revised. The second is org-ql by Adam.""" start="00:24:02.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I hope it can be upstreamed. It's also a work in progress.""" start="00:24:09.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's just a question of free time for Adam mostly, I think,""" start="00:24:17.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and me. That's another important part, new feature. The""" start="00:24:20.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""third is the so-called multi-page export. The idea is the""" start="00:24:26.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""same as many packages for blog posts, so that you have a""" start="00:24:30.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""single Org file and then you can export multiple HTML pages,""" start="00:24:34.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for example, or PDF pages, anything like that. This work in""" start="00:24:39.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""progress by Orm, thanks to him,""" start="00:24:42.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""although it was a little bit stuck because""" start="00:24:46.688" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I am not exactly sure how to best integrate it""" start="00:24:49.350" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""into the existing APIs. If you are a developer of one of the""" start="00:24:52.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""blogging packages, I would appreciate if you can chime in""" start="00:24:56.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and probably share some ideas here. Next are just some""" start="00:25:01.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""wishes I wish we could have, but""" start="00:25:06.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's not very detailed. One is""" start="00:25:09.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the multi-language support, so that we can have Org""" start="00:25:11.950" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""documents in multiple languages, or maybe even""" start="00:25:14.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""translations. The collaborative editing that many""" start="00:25:16.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""people would wish to have, I think. Things like tracking""" start="00:25:21.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""changes, adding comments, importing from""" start="00:25:25.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""some other Org formats with""" start="00:25:29.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the comments and changes""" start="00:25:30.875" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that we can actually participate""" start="00:25:32.036" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""with all those Microsoft Word users""" start="00:25:34.019" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and stuff like that.""" start="00:25:36.963" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""But that's really too much for me alone to handle.""" start="00:25:39.744" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you want to see one of these features, please consider""" start="00:25:43.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""contributing. Just write the mailing list about your""" start="00:25:47.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""interest and we can start from there.""" start="00:25:50.040" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Org community""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Now, the important part is, you see,""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I keep asking people like,""" start="00:25:57.456" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""please contribute, please contribute,""" start="00:25:58.636" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but who should contribute?""" start="00:25:59.800" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Org community forums - Org mailing list""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""So I want to improve communication between the""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""community and the mailing list. Now, people often""" start="00:26:03.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""discuss new features or ideas on all kinds of places like""" start="00:26:12.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Reddit, Mastodon, like all kinds of Matrix/IRC chats,""" start="00:26:16.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""even on meetups, some non-English language. That's very""" start="00:26:20.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""nice that we have this community, but not all the ideas are""" start="00:26:25.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""visible to the developers. I do wish that the most""" start="00:26:29.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""important things that people want to see should end up on the""" start="00:26:34.500" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""mailing list, one way or another.""" start="00:26:38.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I'll later talk about some""" start="00:26:42.332" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""ideas how I think it can be done. Another part is""" start="00:26:43.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we have org-wiki and I hope that""" start="00:26:48.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we can make it more centralized""" start="00:26:52.555" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""space for interesting Org mode articles,""" start="00:26:55.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for tutorials, for blog posts,""" start="00:26:58.477" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""at least linked to blog posts. If you have""" start="00:27:00.618" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""some idea about good blog posts, it would be nice if you""" start="00:27:03.680" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""submit a patch to work or at least email about this link""" start="00:27:08.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to the mailing list.""" start="00:27:13.026" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Org mailing list - world""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Of course, not everyone likes to use mailing lists""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""or don't have a good setup to do it,""" start="00:27:21.055" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""or even don't want to read""" start="00:27:23.810" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""everything on Org mailing list, because there are things""" start="00:27:25.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""like bug reports, people don't really want to see that. So""" start="00:27:27.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Bastien actually developed a tool that can help with this.""" start="00:27:31.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you want to monitor Org mailing list, but want to see""" start="00:27:35.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""only the most important discussions, and maybe""" start="00:27:39.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""participate if you decide to, you don't have to register. We""" start="00:27:42.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""have Woof, which is basically a web page that monitors our""" start="00:27:45.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""main list, but not every email. That's the most important""" start="00:27:51.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""announcements, some blog-like posts, or feature""" start="00:27:55.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""requests, or some discussions. Then on this webpage,""" start="00:27:58.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you can see it as HTML, or you can subscribe as RSS, or even""" start="00:28:02.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""download in Org or MD format.""" start="00:28:06.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Thanks to Sacha Chua, also weekly news about Emacs in""" start="00:28:11.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""general, but Org Mode as well. It also includes the""" start="00:28:15.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""new features in Org Mode on the development branch and the""" start="00:28:23.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""interesting new blog posts and discussions on various""" start="00:28:27.100" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Reddit forums or mailing lists everywhere. I did this""" start="00:28:30.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""little bit of experimental integration so that many lists""" start="00:28:35.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""can also be read, kind of announced on the chats.""" start="00:28:39.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""For example, in #org-mode Matrix room, we have a bot that""" start="00:28:45.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""connects to Woof RSS so that all the news and discussions are""" start="00:28:48.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""notified in the chat so that people""" start="00:28:53.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""can see if they are interested""" start="00:28:55.924" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and maybe, hopefully, participate. I wish""" start="00:28:58.765" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we could also have similar kind of both for Reddit, Mastodon""" start="00:29:02.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and maybe IRC. That way we have mailing list connected to""" start="00:29:05.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""more active and more modern forums and chats.""" start="00:29:10.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""More people exposed to what is happening.""" start="00:29:17.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Another part is that we actually have a web interface to Org""" start="00:29:19.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""mailing list and you can even reply from there,""" start="00:29:26.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but it's not always obvious, unfortunately.""" start="00:29:29.049" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We have this public inbox software""" start="00:29:31.401" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to transform the mailing list into""" start="00:29:37.746" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""HTML pages. That's a decent interface, but it could be""" start="00:29:40.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""improved to look more forum-like, so that people can easily""" start="00:29:45.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""find the reply button or basically participate without""" start="00:29:49.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""too much effort, even if they are not subscribed or they are just""" start="00:29:53.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""casually reading. That would be nice if someone""" start="00:29:56.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""knowledgeable of CSS could help with this.""" start="00:29:59.080" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Contribute ideas!""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""Again, I cannot emphasize more that most of the Org ideas of""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the new features are coming from people,""" start="00:30:12.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but often they are known either by someone""" start="00:30:16.975" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""submitting a patch to the mailing list or""" start="00:30:23.222" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""submitting an idea to the mailing list. Rarely, it happens when""" start="00:30:24.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""someone is reading posts from Reddit that don't share to the""" start="00:30:28.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""mailing list. If you think that there is some important""" start="00:30:32.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""discussion happening on the forum,""" start="00:30:35.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it would be nice that you can go ahead and share it""" start="00:30:38.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""with Org mailing list. We don't care about""" start="00:30:42.416" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""on-topic, off-topic, because unlike""" start="00:30:46.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""emacs-devel, we don't focus on development.""" start="00:30:49.501" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We can discuss some related to Org mode topics""" start="00:30:51.386" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""in open-end list, just like on an ordinary forum.""" start="00:30:54.930" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""How much can a single person do?""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""I would like to end my talk with the call for contributions.""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Let me explain a little bit, because you saw now I shared many""" start="00:31:08.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""many ideas and I do spend a lot of time on Org Mode. In fact,""" start="00:31:13.640" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""for the last year, I was spending like""" start="00:31:19.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""30 hours per week or something.""" start="00:31:21.323" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Until recently, I can spend a bit less, but still""" start="00:31:23.438" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""even with that much of commitment,""" start="00:31:27.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""there is no way I can handle""" start="00:31:29.901" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""everything by myself.""" start="00:31:31.480" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Contribute code!""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""We really, really need more people to contribute""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that Org mode keeps moving forward.""" start="00:31:38.552" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Again, I just shared ideas,""" start="00:31:43.634" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but I have so many more.""" start="00:31:45.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I have more than a thousand ideas noted down.""" start="00:31:46.395" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Yeah, there's no way I can do it myself.""" start="00:31:48.735" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I do need help for new contributions, for new features.""" start="00:31:52.637" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If someone can help fixing bugs, it would be really great.""" start="00:31:57.351" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If someone knows specialized things,""" start="00:31:57.618" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""like for example Open Document Format,""" start="00:32:04.292" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""which I don't know very well, it would be""" start="00:32:06.874" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""really nice, because things like ODT export requires""" start="00:32:08.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""knowing that, and if someone already has the knowledge,""" start="00:32:13.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it would be much easier""" start="00:32:14.090" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""if that person can help with such things.""" start="00:32:18.082" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Although in the coming years,""" start="00:32:23.481" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's very important to have""" start="00:32:26.869" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""regular contributors""" start="00:32:28.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because my life is my life""" start="00:32:28.831" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and things may happen,""" start="00:32:31.922" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so it would be nice to have some kind of backup""" start="00:32:34.364" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that bugs keep being fixed""" start="00:32:37.245" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and things like patches being accepted""" start="00:32:40.245" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and stuff like that,""" start="00:32:40.246" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so that some person can at least""" start="00:32:44.568" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""temporarily take on my job.""" start="00:32:46.169" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I would like to emphasize""" start="00:32:49.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that the code contributors are the most""" start="00:32:51.511" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""important contributions for Org Mode.""" start="00:32:53.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""All other types are less important, really.""" start="00:32:56.213" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Why contribute?""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""I want to spend a couple of slides""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""trying to motivate you to contribute.""" start="00:33:03.960" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you ever considered contributing""" start="00:33:07.720" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""or if you ever wished to have some""" start="00:33:11.129" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""feature in Org Mode, really don't wait, because""" start="00:33:13.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""most new features are contributed by people.""" start="00:33:16.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""They are not contributed by me.""" start="00:33:18.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I contribute a few things, but I am alone.""" start="00:33:23.737" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I cannot contribute many things.""" start="00:33:25.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Most of the things are contributed by users""" start="00:33:27.039" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""who go ahead and submit patches.""" start="00:33:30.301" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""And even in very commonly requested features,""" start="00:33:33.442" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's usually someone who steps up.""" start="00:33:37.324" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you want something, don't wait.""" start="00:33:40.345" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Just go ahead and write to mailing list.""" start="00:33:42.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You don't have to submit a patch immediately.""" start="00:33:44.207" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You can just say, I am interested.""" start="00:33:46.208" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We will start from there.""" start="00:33:48.730" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We'll start because that's my job""" start="00:33:53.820" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and I will guide you through.""" start="00:33:56.044" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you have problems with Org in general,""" start="00:33:57.645" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I'll explain, because that's what I know.""" start="00:33:58.991" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I will explain how to implement things better,""" start="00:34:02.309" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but I need someone to actually do""" start="00:34:05.031" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""the job and write the code.""" start="00:34:07.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Even if you don't have 10 years experience with Elisp,""" start="00:34:10.071" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it doesn't matter. You can learn on the way.""" start="00:34:19.058" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There are many examples of this in the""" start="00:34:21.179" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""mailing list when we start slowly,""" start="00:34:22.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""fix things one by one, and""" start="00:34:25.643" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""eventually arrive to a good quality""" start="00:34:27.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""when the person is not experienced.""" start="00:34:29.226" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You just need to be ready to learn things,""" start="00:34:31.708" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Spend your free time (that's as usual, right?),""" start="00:34:34.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and have the interest in specific thing""" start="00:34:37.993" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you are contributing.""" start="00:34:41.215" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Don't be afraid to be wrong.""" start="00:34:43.500" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I will be there to assist.""" start="00:34:44.476" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you don't like emails,""" start="00:34:47.579" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""if you don't like patches, it doesn't matter.""" start="00:34:48.938" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Again, you can share GitHub link. It's okay.""" start="00:34:51.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You can go and modify some workflow directly.""" start="00:34:55.362" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You submit the modified version. It's also okay.""" start="00:34:57.685" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It's easy for me to create patches if I need to.""" start="00:34:59.566" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you don't like emails at all, you don't want to""" start="00:35:05.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""participate in the mailing list, it's not ideal, but I can""" start="00:35:07.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""still work with this. I am on IRC, I am on Matrix,""" start="00:35:11.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you can ping me, it's yantar2.""" start="00:35:16.006" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We also have monthly meetup,""" start="00:35:19.800" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""so you can go and ask by voice,""" start="00:35:22.348" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we can just talk in person, discuss your ideas,""" start="00:35:23.988" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it's also fine.""" start="00:35:27.089" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""The key point is that we always welcome new contributors.""" start="00:35:29.300" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""The more contributions to Org Mode is better.""" start="00:35:35.160" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Benefits for code contributors""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""To increase the motivation,""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I'll just try to show some benefits""" start="00:35:41.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""of contributing to Org Mode and free software in general.""" start="00:35:44.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It can be actually useful for your CV if you're a programmer.""" start="00:35:49.480" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It doesn't matter if it's Lisp, because you can have a pet""" start="00:35:52.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""project that demonstrates your skills, that you can finish""" start="00:35:55.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""something to a usable state.""" start="00:35:59.040" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""A pet project usually demonstrates""" start="00:36:04.360" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that you can work alone, but it doesn't""" start="00:36:06.801" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""demonstrate anything about you working in a team, in the""" start="00:36:08.840" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""production team. When you contribute to""" start="00:36:12.120" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Libre software, look,""" start="00:36:15.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you will work with a number of people""" start="00:36:17.630" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""who contribute and comment on your work.""" start="00:36:20.760" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You'll have to learn a new code base.""" start="00:36:24.353" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""You will have to follow certain standards.""" start="00:36:27.074" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""All these things, by having a public record""" start="00:36:30.076" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""of contribution, will be a valid point that proves your""" start="00:36:33.240" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""knowledge in your CV. I put a small quote""" start="00:36:37.560" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""(which I'm not going to read in the interest of time)""" start="00:36:42.088" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""from Rudolf Adamkovič,""" start="00:36:44.870" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""who is describing these three points in probably a""" start="00:36:46.280" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""more expressive way.""" start="00:36:50.160" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Another benefit is you can actually get money from this.""" start="00:36:56.520" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Thanks to a number of Org Mode users who kindly contribute to""" start="00:36:59.940" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Org development, we have some amount of money""" start="00:37:04.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""coming in, and we don't hold on this money.""" start="00:37:07.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If we get another person who contributes""" start="00:37:11.010" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""to Org regularly, we are happy to share this money,""" start="00:37:13.551" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because we do know that""" start="00:37:17.512" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""getting some extra money, even a little bit,""" start="00:37:22.540" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""does improve motivation.""" start="00:37:24.600" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""We are really ready to share this.""" start="00:37:27.217" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you are serious about contributing,""" start="00:37:29.159" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""you can just request this""" start="00:37:33.524" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""and we can share a part of the donations to you.""" start="00:37:34.920" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Contributing as non-programmer""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""For non-programmers, we also have a lot of work to do.""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There's a lot of stuff we can do on the Org wiki,""" start="00:37:45.200" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""especially with CSS styles,""" start="00:37:47.093" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""with updating articles,""" start="00:37:48.755" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""with adding links to tutorials,""" start="00:37:53.179" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""or even writing tutorials about Org Mode.""" start="00:37:54.881" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It would be nice to have more screencasts.""" start="00:37:56.223" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""It would be nice to improve Org manual,""" start="00:38:01.082" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because that's the most difficult part for me""" start="00:38:02.703" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""because I'm too familiar with the code.""" start="00:38:05.284" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Writing the manual when you know things internally""" start="00:38:07.326" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""is very hard. I just know too many things.""" start="00:38:11.227" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I can assume that people know too much,""" start="00:38:13.728" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""that new users have no idea about certain things.""" start="00:38:16.810" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I can just omit those without being aware.""" start="00:38:20.912" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Got no free time, but still want to help?""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""The final slide I would go to come back is about""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""donations. Again, most important is contributing code,""" start="00:38:33.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""but I do hope that donations can""" start="00:38:37.920" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""increase the number of contributors.""" start="00:38:42.880" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I don't know. I know for sure because some""" start="00:38:45.446" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""people like Timothy, who is participating in this, he did""" start="00:38:48.000" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""find the donations helpful, especially for more boring""" start="00:38:52.440" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""tasks like bug fixing and to move things""" start="00:38:55.320" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""over the long time. If you cannot contribute by other means,""" start="00:39:00.080" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""it would be appreciated to contribute money.""" start="00:39:07.836" video="mainVideo-org-update" id="subtitle"]] + +[[!template new="1" text="""Thank you""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]] + +[[!template text="""We came to the end of my talk.""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""Thank you for your attention.""" start="00:39:14.818" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""If you have any questions, please feel free to ask.""" start="00:39:16.278" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""I think we can even discuss further""" start="00:39:19.699" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""during the next Org Meetup in the coming week.""" start="00:39:22.899" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""There, if you have more detailed questions,""" start="00:39:28.181" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""we can continue discussing""" start="00:39:30.321" video="mainVideo-org-update" id="subtitle"]] +[[!template text="""apart from what happens after this presentation.""" start="00:39:31.641" video="mainVideo-org-update" id="subtitle"]] + Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20org-update%3A%20The%20Future%20of%20Org) diff --git a/2024/info/org-update-before.md b/2024/info/org-update-before.md index f4002629..a0d3302c 100644 --- a/2024/info/org-update-before.md +++ b/2024/info/org-update-before.md @@ -8,12 +8,42 @@ The following image shows where the talk is in the schedule for Sat 2024-12-07. Format: 41-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-org-update.html> Etherpad: <https://pad.emacsconf.org/2024-org-update> Etherpad: <https://pad.emacsconf.org/2024-org-update> Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen) -Status: Quality check +Status: Now playing on the conference livestream <div>Times in different time zones:</div><div class="times" start="2024-12-07T15:20:00Z" end="2024-12-07T16:00:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~10:20 AM - 11:00 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~9:20 AM - 10:00 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~8:20 AM - 9:00 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~7:20 AM - 8:00 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~3:20 PM - 4:00 PM UTC <br />Saturday, Dec 7 2024, ~4:20 PM - 5:00 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~5:20 PM - 6:00 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~8:50 PM - 9:30 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~11:20 PM - 12:00 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~12:20 AM - 1:00 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div> +<div class="vid"><video controls preload="none" id="org-update-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="org-update-mainVideo" data=""" +00:00.000 Introduction +01:14.280 Message from Bastien Guerry +03:15.920 My step-by-step journey to Org maintenance +05:09.241 Priorities for Org maintenance +08:11.767 Modular Org +08:41.590 Slim down large Org libraries +10:00.000 Upstream generic Org libraries +11:25.400 Use modern Emacs APIs and libraries +13:13.257 Improve Org parser APIs +14:45.731 Improve Org babel APIs +15:57.380 Beyond Org code and Emacs: third-party packages, apps, parsers +16:31.200 org-contrib +17:37.820 Org orphanage +18:25.840 Mobile apps and parsers +20:23.869 Long-standing syntax problems +21:56.240 New syntax features +23:30.503 New features I hope to see in Org +25:54.073 Org community +26:01.358 Org community forums - Org mailing list +27:17.160 Org mailing list - world +30:05.580 Contribute ideas! +31:01.520 How much can a single person do? +31:35.000 Contribute code! +33:02.080 Why contribute? +35:40.240 Benefits for code contributors +37:41.420 Contributing as non-programmer +38:30.440 Got no free time, but still want to help? +39:12.997 Thank you +"""]]<div></div>Duration: 40:01 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-org-update">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">Open public Q&A</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm">Download --main.webm (88MB)</a></li></ul></div></div> # Description <!-- End of emacsconf-publish-before-page -->
\ No newline at end of file |