summaryrefslogtreecommitdiffstats
path: root/2021/talks/news.md
blob: db89f1569dfe36012720355834c54c41e6db1b95 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
[[!meta title="Emacs News Highlights"]]
[[!meta copyright="Copyright © 2021 Sacha Chua"]]
[[!inline pages="internal(2021/info/news-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->

# Emacs News Highlights
Sacha Chua <mailto:sacha@sachachua.com> - pronouns: she/her

Quick overview of Emacs community highlights since the last conference

You can find the links and images at
<https://github.com/sachac/emacsconf-2021-emacs-news-highlights>

Posting the video early to help test formatting.

[[!template vidid="mainVideo" id=vid src="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--captioned.webm" size="16MB" subtitles="../../captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua.vtt" duration="04:27"]]  

# Questions, answers, and community-provided links

<a name="transcript"></a>
# Transcript

[[!template text="I'm Sacha Chua, and here are" start="00:00:00.003" video="mainVideo" id=subtitle]]
[[!template text="ten Emacs News highlights for 2021." start="00:00:01.519" video="mainVideo" id=subtitle]]
[[!template text="If you want to follow the links," start="00:00:03.754" video="mainVideo" id=subtitle]]
[[!template text="check out the wiki page at" start="00:00:05.305" video="mainVideo" id=subtitle]]
[[!template text="https://emacsconf.org/2021/talks/news/ ." start="00:00:06.846" video="mainVideo" id=subtitle]]
[[!template new="1" text="1\. The Emacs developers are currently" start="00:00:11.024" video="mainVideo" id=subtitle]]
[[!template text="working on Emacs 28.1," start="00:00:13.442" video="mainVideo" id=subtitle]]
[[!template text="which will be the next major release." start="00:00:15.346" video="mainVideo" id=subtitle]]
[[!template text="Native compilation should" start="00:00:17.119" video="mainVideo" id=subtitle]]
[[!template text="make everything way faster," start="00:00:18.442" video="mainVideo" id=subtitle]]
[[!template text="and emoji support will probably" start="00:00:19.959" video="mainVideo" id=subtitle]]
[[!template text="make things more fun. 😎👍" start="00:00:21.476" video="mainVideo" id=subtitle]]
[[!template text="John Wiegley will share more Emacs 28 details" start="00:00:22.549" video="mainVideo" id=subtitle]]
[[!template text="in his update, so check out his talk." start="00:00:25.133" video="mainVideo" id=subtitle]]
[[!template text="Andrea Corallo's giving a talk" start="00:00:26.913" video="mainVideo" id=subtitle]]
[[!template text="on native compilation too." start="00:00:28.783" video="mainVideo" id=subtitle]]
[[!template new="1" text="2\." start="00:00:30.418" video="mainVideo" id=subtitle]]
[[!template text="Org Mode is now at version 9.5." start="00:00:31.206" video="mainVideo" id=subtitle]]
[[!template text="New features include" start="00:00:33.732" video="mainVideo" id=subtitle]]
[[!template text="a library for managing citations," start="00:00:35.086" video="mainVideo" id=subtitle]]
[[!template text="asynchronous session support" start="00:00:36.935" video="mainVideo" id=subtitle]]
[[!template text="for code blocks," start="00:00:38.414" video="mainVideo" id=subtitle]]
[[!template text="and better control" start="00:00:39.375" video="mainVideo" id=subtitle]]
[[!template text="of your agenda's appearance." start="00:00:40.342" video="mainVideo" id=subtitle]]
[[!template text="If you've been getting your Org packages" start="00:00:41.595" video="mainVideo" id=subtitle]]
[[!template text="from Org ELPA," start="00:00:43.372" video="mainVideo" id=subtitle]]
[[!template text="you can update your configuration" start="00:00:44.506" video="mainVideo" id=subtitle]]
[[!template text="to get Org from GNU ELPA" start="00:00:46.128" video="mainVideo" id=subtitle]]
[[!template text="and org-contrib from NonGNU ELPA." start="00:00:47.896" video="mainVideo" id=subtitle]]
[[!template text="The new release of the Org Roam package" start="00:00:50.155" video="mainVideo" id=subtitle]]
[[!template text="should be a faster and more consistent way" start="00:00:52.278" video="mainVideo" id=subtitle]]
[[!template text="to use Org to manage a knowledgebase," start="00:00:54.185" video="mainVideo" id=subtitle]]
[[!template text="and org-roam-ui looks pretty snazzy." start="00:00:56.060" video="mainVideo" id=subtitle]]
[[!template text="The best way to keep up with Org changes" start="00:00:58.423" video="mainVideo" id=subtitle]]
[[!template text="is to check out the blog This Month in Org." start="00:01:00.531" video="mainVideo" id=subtitle]]
[[!template new="1" text="3\." start="00:01:02.556" video="mainVideo" id=subtitle]]
[[!template text="New Magit major release!" start="00:01:03.439" video="mainVideo" id=subtitle]]
[[!template text="Jonas Bernoulli has split some functionality" start="00:01:05.469" video="mainVideo" id=subtitle]]
[[!template text="into other packages so that" start="00:01:07.781" video="mainVideo" id=subtitle]]
[[!template text="Emacs Lisp developers can use them, such as" start="00:01:09.557" video="mainVideo" id=subtitle]]
[[!template text="magit-section, transient, and forge." start="00:01:11.719" video="mainVideo" id=subtitle]]
[[!template text="Here's an example of using magit-section" start="00:01:14.049" video="mainVideo" id=subtitle]]
[[!template text="to manage groups of buffers." start="00:01:16.502" video="mainVideo" id=subtitle]]
[[!template text="You can learn more about Transient" start="00:01:17.773" video="mainVideo" id=subtitle]]
[[!template text="in the talk on self-describing" start="00:01:19.333" video="mainVideo" id=subtitle]]
[[!template text="smart domain-specific languages or DSLs." start="00:01:20.842" video="mainVideo" id=subtitle]]
[[!template new="1" text="4\." start="00:01:23.538" video="mainVideo" id=subtitle]]
[[!template text="In terms of smaller packages, there's been" start="00:01:24.320" video="mainVideo" id=subtitle]]
[[!template text="a lot of activity around completion." start="00:01:26.545" video="mainVideo" id=subtitle]]
[[!template text="Karthik has a great diagram," start="00:01:28.625" video="mainVideo" id=subtitle]]
[[!template text="and Prot explains how things work together." start="00:01:30.292" video="mainVideo" id=subtitle]]
[[!template text="I think the idea is that instead of having" start="00:01:32.459" video="mainVideo" id=subtitle]]
[[!template text="one large completion system" start="00:01:34.414" video="mainVideo" id=subtitle]]
[[!template text="like Helm or Icicles, you can choose" start="00:01:36.066" video="mainVideo" id=subtitle]]
[[!template text="a few different, smaller packages" start="00:01:38.344" video="mainVideo" id=subtitle]]
[[!template text="and configure them to work together." start="00:01:40.110" video="mainVideo" id=subtitle]]
[[!template text="If you're curious about this," start="00:01:41.869" video="mainVideo" id=subtitle]]
[[!template text="you might start with either selectrum" start="00:01:43.129" video="mainVideo" id=subtitle]]
[[!template text="or vertico, which are both completion interfaces," start="00:01:45.159" video="mainVideo" id=subtitle]]
[[!template text="add marginalia for more information," start="00:01:47.871" video="mainVideo" id=subtitle]]
[[!template text="and try consult for many useful" start="00:01:50.443" video="mainVideo" id=subtitle]]
[[!template text="completing commands." start="00:01:52.222" video="mainVideo" id=subtitle]]
[[!template text="There are so many options," start="00:01:53.233" video="mainVideo" id=subtitle]]
[[!template text="so it might be useful to check out" start="00:01:54.279" video="mainVideo" id=subtitle]]
[[!template text="some discussions." start="00:01:55.867" video="mainVideo" id=subtitle]]
[[!template new="1" text="5\." start="00:01:56.714" video="mainVideo" id=subtitle]]
[[!template text="Embark is usually mentioned as part of" start="00:01:57.477" video="mainVideo" id=subtitle]]
[[!template text="that group of packages," start="00:01:59.531" video="mainVideo" id=subtitle]]
[[!template text="but it's well worth looking into" start="00:02:00.607" video="mainVideo" id=subtitle]]
[[!template text="even if you use a different system." start="00:02:02.196" video="mainVideo" id=subtitle]]
[[!template text="Embark lets you have context-sensitive shortcuts" start="00:02:03.895" video="mainVideo" id=subtitle]]
[[!template text="that work on things in buffers, minibuffers," start="00:02:06.417" video="mainVideo" id=subtitle]]
[[!template text="and even collections of things." start="00:02:08.796" video="mainVideo" id=subtitle]]
[[!template text="You can also use it" start="00:02:10.768" video="mainVideo" id=subtitle]]
[[!template text="when you start doing one command" start="00:02:11.737" video="mainVideo" id=subtitle]]
[[!template text="and then decide to do a different one instead." start="00:02:12.912" video="mainVideo" id=subtitle]]
[[!template text="For more ideas, check out" start="00:02:15.012" video="mainVideo" id=subtitle]]
[[!template text="Fifteen Ways to Use Embark." start="00:02:16.271" video="mainVideo" id=subtitle]]
[[!template new="1" text="6\." start="00:02:17.495" video="mainVideo" id=subtitle]]
[[!template text="Now that there are Emacs Lisp bindings" start="00:02:18.285" video="mainVideo" id=subtitle]]
[[!template text="for tree-sitter, we can work more easily" start="00:02:20.163" video="mainVideo" id=subtitle]]
[[!template text="with the structure of code instead of" start="00:02:22.139" video="mainVideo" id=subtitle]]
[[!template text="just using regular expressions." start="00:02:23.799" video="mainVideo" id=subtitle]]
[[!template text="Check out the talk" start="00:02:25.461" video="mainVideo" id=subtitle]]
[[!template text="on Tree-edit and structural editing" start="00:02:26.209" video="mainVideo" id=subtitle]]
[[!template text="to learn more." start="00:02:27.804" video="mainVideo" id=subtitle]]
[[!template text="You can use tree-sitter for" start="00:02:28.593" video="mainVideo" id=subtitle]]
[[!template text="intelligent snippets that get information" start="00:02:30.056" video="mainVideo" id=subtitle]]
[[!template text="from the code around them," start="00:02:31.951" video="mainVideo" id=subtitle]]
[[!template text="editing Lisp expressions," start="00:02:33.169" video="mainVideo" id=subtitle]]
[[!template text="and navigating text objects in Evil mode." start="00:02:35.064" video="mainVideo" id=subtitle]]
[[!template text="(That's when Emacs is pretending to be Vi.)" start="00:02:37.401" video="mainVideo" id=subtitle]]
[[!template text="Dynamic modules help us add more to Emacs" start="00:02:39.670" video="mainVideo" id=subtitle]]
[[!template text="than Emacs Lisp easily offers," start="00:02:42.563" video="mainVideo" id=subtitle]]
[[!template text="such as structural editing in OCaml" start="00:02:44.388" video="mainVideo" id=subtitle]]
[[!template text="and using Rust to figure out parentheses" start="00:02:46.804" video="mainVideo" id=subtitle]]
[[!template text="and indentation for Lisp." start="00:02:48.729" video="mainVideo" id=subtitle]]
[[!template text="If you're curious," start="00:02:50.086" video="mainVideo" id=subtitle]]
[[!template text="check out the talk on" start="00:02:50.999" video="mainVideo" id=subtitle]]
[[!template text="Extending Emacs in Rust with Dynamic Modules." start="00:02:51.923" video="mainVideo" id=subtitle]]
[[!template new="1" text="7\." start="00:02:54.336" video="mainVideo" id=subtitle]]
[[!template text="Collaborative editing is now much easier" start="00:02:55.239" video="mainVideo" id=subtitle]]
[[!template text="since the CRDT package is in GNU ELPA." start="00:02:57.294" video="mainVideo" id=subtitle]]
[[!template text="It allows multiple people to edit" start="00:02:59.890" video="mainVideo" id=subtitle]]
[[!template text="the same file over the network," start="00:03:01.632" video="mainVideo" id=subtitle]]
[[!template text="using their own Emacs." start="00:03:03.285" video="mainVideo" id=subtitle]]
[[!template text="This means you can keep your own config" start="00:03:05.025" video="mainVideo" id=subtitle]]
[[!template text="and keybindings, yay!" start="00:03:06.850" video="mainVideo" id=subtitle]]
[[!template text="Watch the Emacs Research Group talk" start="00:03:08.674" video="mainVideo" id=subtitle]]
[[!template text="for an example of how several people" start="00:03:10.400" video="mainVideo" id=subtitle]]
[[!template text="used it to work together." start="00:03:12.185" video="mainVideo" id=subtitle]]
[[!template new="1" text="8\." start="00:03:13.337" video="mainVideo" id=subtitle]]
[[!template text="In case you're still under the impression" start="00:03:13.838" video="mainVideo" id=subtitle]]
[[!template text="that Emacs is just a text editor," start="00:03:15.401" video="mainVideo" id=subtitle]]
[[!template text="some folks have been working on" start="00:03:17.049" video="mainVideo" id=subtitle]]
[[!template text="pretty neat graphical experiments." start="00:03:18.560" video="mainVideo" id=subtitle]]
[[!template text="These OpenGL bindings for Emacs Lisp" start="00:03:20.254" video="mainVideo" id=subtitle]]
[[!template text="use an embedded xwidget," start="00:03:22.432" video="mainVideo" id=subtitle]]
[[!template text="while other prototypes use the SVG support" start="00:03:24.195" video="mainVideo" id=subtitle]]
[[!template text="that's built into Emacs" start="00:03:26.607" video="mainVideo" id=subtitle]]
[[!template text="for Gantt charts," start="00:03:27.700" video="mainVideo" id=subtitle]]
[[!template text="scribbles," start="00:03:29.047" video="mainVideo" id=subtitle]]
[[!template text="and even diagrams." start="00:03:29.819" video="mainVideo" id=subtitle]]
[[!template text="The color-picker from that one" start="00:03:31.320" video="mainVideo" id=subtitle]]
[[!template text="looks particularly useful for CSS." start="00:03:32.790" video="mainVideo" id=subtitle]]
[[!template text="If you want to play around with adding SVGs" start="00:03:34.841" video="mainVideo" id=subtitle]]
[[!template text="to your files and interfaces," start="00:03:37.043" video="mainVideo" id=subtitle]]
[[!template text="svg-icon" start="00:03:38.722" video="mainVideo" id=subtitle]]
[[!template text="and svg-lib" start="00:03:39.762" video="mainVideo" id=subtitle]]
[[!template text="might be good places to start. (Reddit)" start="00:03:40.679" video="mainVideo" id=subtitle]]
[[!template text="Of course, there's always a place" start="00:03:42.733" video="mainVideo" id=subtitle]]
[[!template text="for ASCII art," start="00:03:44.207" video="mainVideo" id=subtitle]]
[[!template text="especially with the new boxy package" start="00:03:45.209" video="mainVideo" id=subtitle]]
[[!template text="that you can use for org files," start="00:03:46.933" video="mainVideo" id=subtitle]]
[[!template text="imenu navigation," start="00:03:48.433" video="mainVideo" id=subtitle]]
[[!template text="and even things in real life." start="00:03:49.753" video="mainVideo" id=subtitle]]
[[!template new="1" text="9\." start="00:03:51.418" video="mainVideo" id=subtitle]]
[[!template text="There have been a lot of great posts, videos," start="00:03:52.208" video="mainVideo" id=subtitle]]
[[!template text="and livestreams about Emacs this year." start="00:03:54.411" video="mainVideo" id=subtitle]]
[[!template text="In addition to the ones" start="00:03:56.312" video="mainVideo" id=subtitle]]
[[!template text="from System Crafters," start="00:03:57.574" video="mainVideo" id=subtitle]]
[[!template text="Emacs Elements," start="00:03:58.973" video="mainVideo" id=subtitle]]
[[!template text="and Protesilaos," start="00:04:00.153" video="mainVideo" id=subtitle]]
[[!template text="John Kitchin" start="00:04:01.664" video="mainVideo" id=subtitle]]
[[!template text="and Mike Zamansky" start="00:04:02.474" video="mainVideo" id=subtitle]]
[[!template text="are back, hooray!" start="00:04:03.220" video="mainVideo" id=subtitle]]
[[!template text="And Marcin Borkowski has just finished" start="00:04:04.255" video="mainVideo" id=subtitle]]
[[!template text="writing an intermediate textbook" start="00:04:06.626" video="mainVideo" id=subtitle]]
[[!template text="Emacs Lisp, too!" start="00:04:08.516" video="mainVideo" id=subtitle]]
[[!template new="1" text="10\." start="00:04:09.751" video="mainVideo" id=subtitle]]
[[!template text="Lastly, if you want to chat" start="00:04:10.422" video="mainVideo" id=subtitle]]
[[!template text="with other Emacs folks" start="00:04:11.929" video="mainVideo" id=subtitle]]
[[!template text="and get help on Emacs, Org mode," start="00:04:13.083" video="mainVideo" id=subtitle]]
[[!template text="or other topics," start="00:04:15.284" video="mainVideo" id=subtitle]]
[[!template text="the #emacs and #org-mode" start="00:04:16.211" video="mainVideo" id=subtitle]]
[[!template text="Internet Relay Chat or IRC channels" start="00:04:17.436" video="mainVideo" id=subtitle]]
[[!template text="are now on the libera.chat network" start="00:04:19.861" video="mainVideo" id=subtitle]]
[[!template text="instead of Freenode." start="00:04:21.747" video="mainVideo" id=subtitle]]
[[!template new="1" text="If you'd like to add something I've missed," start="00:04:23.013" video="mainVideo" id=subtitle]]
[[!template text="please add them to the wiki page," start="00:04:24.888" video="mainVideo" id=subtitle]]
[[!template text="or e-mail me at sacha@sachachua.com ." start="00:04:26.583" video="mainVideo" id=subtitle]]
[[!template text="That's all for this quick review." start="00:04:29.034" video="mainVideo" id=subtitle]]
[[!template text="Enjoy the rest of EmacsConf 2021!" start="00:04:30.554" video="mainVideo" id=subtitle]]

[[!inline pages="internal(2021/info/news-schedule)" raw="yes"]]

[[!inline pages="internal(2021/info/news-nav)" raw="yes"]]