summaryrefslogtreecommitdiffstats
path: root/2021/captions/tech.md
blob: 5131d5b7545b72fbe9c33ae66fcef709ab431ea5 (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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<a name="transcript"></a>
# Transcript

[[!template text="Hi! My name is Jan, and I'll be talking" start="00:00:02.560" video="mainVideo" id=subtitle]]
[[!template text="about using Emacs for technical writing." start="00:00:05.040" video="mainVideo" id=subtitle]]
[[!template text="Let's first define what we mean by" start="00:00:07.680" video="mainVideo" id=subtitle]]
[[!template text="technical writing." start="00:00:09.519" video="mainVideo" id=subtitle]]
[[!template text="At least, I mean with that, any kind of" start="00:00:12.080" video="mainVideo" id=subtitle]]
[[!template text="writing that involves computer systems." start="00:00:13.679" video="mainVideo" id=subtitle]]
[[!template text="So, maybe a developer guide for a system," start="00:00:15.759" video="mainVideo" id=subtitle]]
[[!template text="or a library you've been creating," start="00:00:19.700" video="mainVideo" id=subtitle]]
[[!template text="maybe reference documentation" start="00:00:21.680" video="mainVideo" id=subtitle]]
[[!template text="or a user guide for a REST API" start="00:00:23.433" video="mainVideo" id=subtitle]]
[[!template text="that you offer as a cloud service," start="00:00:25.833" video="mainVideo" id=subtitle]]
[[!template text="or doing a technical presentation" start="00:00:27.934" video="mainVideo" id=subtitle]]
[[!template text="exactly like this one" start="00:00:29.767" video="mainVideo" id=subtitle]]
[[!template text="that may actually include some live" start="00:00:30.700" video="mainVideo" id=subtitle]]
[[!template text="coding as well that you may want to do" start="00:00:32.239" video="mainVideo" id=subtitle]]
[[!template text="while you're showing the presentation" start="00:00:34.000" video="mainVideo" id=subtitle]]
[[!template text="without too much context switching." start="00:00:36.000" video="mainVideo" id=subtitle]]
[[!template text="I've been doing a variety of these" start="00:00:39.040" video="mainVideo" id=subtitle]]
[[!template text="things in my professional life for a while now," start="00:00:40.399" video="mainVideo" id=subtitle]]
[[!template text="and I found Emacs to be a" start="00:00:43.034" video="mainVideo" id=subtitle]]
[[!template text="really nice tool to help out with that," start="00:00:43.840" video="mainVideo" id=subtitle]]
[[!template text="since it actually pulls in different languages." start="00:00:46.879" video="mainVideo" id=subtitle]]
[[!template text="The ones I work with is Scala, Java, C++," start="00:00:50.719" video="mainVideo" id=subtitle]]
[[!template text="and things like that, and everything" start="00:00:52.800" video="mainVideo" id=subtitle]]
[[!template text="works in the same way within Emacs," start="00:00:54.480" video="mainVideo" id=subtitle]]
[[!template text="so you don't have to learn different tools" start="00:00:56.160" video="mainVideo" id=subtitle]]
[[!template text="to do the same thing." start="00:00:58.400" video="mainVideo" id=subtitle]]
[[!template text="Doing all of this against Java looks the" start="00:00:59.840" video="mainVideo" id=subtitle]]
[[!template text="same as it would but with C++ except" start="00:01:02.079" video="mainVideo" id=subtitle]]
[[!template text="the language is different." start="00:01:04.720" video="mainVideo" id=subtitle]]
[[!template new="1" text="A little refresher for people that might" start="00:01:07.119" video="mainVideo" id=subtitle]]
[[!template text="be viewing this out of context." start="00:01:08.640" video="mainVideo" id=subtitle]]
[[!template text="Emacs is a very customizable text editor" start="00:01:10.666" video="mainVideo" id=subtitle]]
[[!template text="environment, and Org mode is a" start="00:01:13.280" video="mainVideo" id=subtitle]]
[[!template text="part of Emacs that allows you to deal" start="00:01:15.600" video="mainVideo" id=subtitle]]
[[!template text="with structured text." start="00:01:17.360" video="mainVideo" id=subtitle]]
[[!template text="So, a plain text file containing headings," start="00:01:18.734" video="mainVideo" id=subtitle]]
[[!template text="lists, tables, and even code blocks" start="00:01:21.920" video="mainVideo" id=subtitle]]
[[!template text="formatted in a particular way, so Org" start="00:01:25.439" video="mainVideo" id=subtitle]]
[[!template text="mode can help out with that." start="00:01:27.360" video="mainVideo" id=subtitle]]
[[!template text="And Org babel is the particular part of Org mode" start="00:01:29.866" video="mainVideo" id=subtitle]]
[[!template text="that deals with executing those code" start="00:01:32.560" video="mainVideo" id=subtitle]]
[[!template text="blocks and actually interacting with," start="00:01:34.400" video="mainVideo" id=subtitle]]
[[!template text="say, a Java or a Python environment" start="00:01:37.000" video="mainVideo" id=subtitle]]
[[!template text="underneath, and showing the results of" start="00:01:38.720" video="mainVideo" id=subtitle]]
[[!template text="that right inside the same Org file." start="00:01:40.720" video="mainVideo" id=subtitle]]
[[!template new="1" text="Let's look at" start="00:01:43.840" video="mainVideo" id=subtitle]]
[[!template text="what are a couple of scenarios" start="00:01:44.966" video="mainVideo" id=subtitle]]
[[!template text="using this might actually look like." start="00:01:47.167" video="mainVideo" id=subtitle]]
[[!template text="Let's start with imagining that" start="00:01:49.400" video="mainVideo" id=subtitle]]
[[!template text="we are writing a developer guide" start="00:01:52.533" video="mainVideo" id=subtitle]]
[[!template text="for a service or a library," start="00:01:55.000" video="mainVideo" id=subtitle]]
[[!template text="or a computer program that we might be writing." start="00:01:59.439" video="mainVideo" id=subtitle]]
[[!template text="And, imagine that we have some" start="00:02:02.560" video="mainVideo" id=subtitle]]
[[!template text="dependencies that the program requires" start="00:02:04.560" video="mainVideo" id=subtitle]]
[[!template text="that are configured using docker-compose," start="00:02:07.119" video="mainVideo" id=subtitle]]
[[!template text="for those who don't know Docker, docker-compose," start="00:02:09.520" video="mainVideo" id=subtitle]]
[[!template text="it's a way to quickly describe some Linux" start="00:02:11.767" video="mainVideo" id=subtitle]]
[[!template text="programs that can be immediately run" start="00:02:15.599" video="mainVideo" id=subtitle]]
[[!template text="without installing too much dependencies." start="00:02:17.920" video="mainVideo" id=subtitle]]
[[!template text="You define these using a YAML file" start="00:02:21.280" video="mainVideo" id=subtitle]]
[[!template text="called the docker-compose file." start="00:02:23.040" video="mainVideo" id=subtitle]]
[[!template text="Now, here inside Emacs we have a block" start="00:02:25.040" video="mainVideo" id=subtitle]]
[[!template text="that defines a YAML file, and we're" start="00:02:26.959" video="mainVideo" id=subtitle]]
[[!template text="actually saying this is called" start="00:02:29.280" video="mainVideo" id=subtitle]]
[[!template text="docker-compose.yaml" start="00:02:30.900" video="mainVideo" id=subtitle]]
[[!template text="with some content here, and you can see" start="00:02:33.840" video="mainVideo" id=subtitle]]
[[!template text="that even though we are in Org mode," start="00:02:36.400" video="mainVideo" id=subtitle]]
[[!template text="Org mode knows that it can highlight this" start="00:02:38.200" video="mainVideo" id=subtitle]]
[[!template text="according to YAML and Org mode doesn't" start="00:02:40.959" video="mainVideo" id=subtitle]]
[[!template text="directly know about YAML, we just said hey" start="00:02:43.360" video="mainVideo" id=subtitle]]
[[!template text="this block has to do with YAML." start="00:02:45.200" video="mainVideo" id=subtitle]]
[[!template text="Because there's a yaml-mode in Emacs," start="00:02:47.360" video="mainVideo" id=subtitle]]
[[!template text="it will borrow from that mode to actually" start="00:02:51.467" video="mainVideo" id=subtitle]]
[[!template text="highlight this block." start="00:02:53.280" video="mainVideo" id=subtitle]]
[[!template new="1" text="Now, the fun thing is that there's a" start="00:02:55.920" video="mainVideo" id=subtitle]]
[[!template text="feature in Org called tangling that" start="00:02:57.680" video="mainVideo" id=subtitle]]
[[!template text="allows you to take these kinds of blocks" start="00:03:00.080" video="mainVideo" id=subtitle]]
[[!template text="and actually export them to separate files." start="00:03:02.159" video="mainVideo" id=subtitle]]
[[!template text="So, if we look at the" start="00:03:04.800" video="mainVideo" id=subtitle]]
[[!template text="directory that we're in right now, we see" start="00:03:06.959" video="mainVideo" id=subtitle]]
[[!template text="that we just got the presentation," start="00:03:08.720" video="mainVideo" id=subtitle]]
[[!template text="there is no docker-compose file yet." start="00:03:10.434" video="mainVideo" id=subtitle]]
[[!template text="If I say Control c Control v t (C-c C-v t)" start="00:03:12.239" video="mainVideo" id=subtitle]]
[[!template text="and I go back and refresh this directory," start="00:03:16.000" video="mainVideo" id=subtitle]]
[[!template text="now we have a docker-compose file as well," start="00:03:18.080" video="mainVideo" id=subtitle]]
[[!template text="which has the content in it that we" start="00:03:20.200" video="mainVideo" id=subtitle]]
[[!template text="just created here." start="00:03:22.000" video="mainVideo" id=subtitle]]
[[!template text="That's very nice because" start="00:03:23.334" video="mainVideo" id=subtitle]]
[[!template text="conceptually we don't actually need to" start="00:03:25.200" video="mainVideo" id=subtitle]]
[[!template text="leave Org mode, we can say something" start="00:03:26.560" video="mainVideo" id=subtitle]]
[[!template text="about this file and have the contents of" start="00:03:28.080" video="mainVideo" id=subtitle]]
[[!template text="the file in the same descriptive document" start="00:03:29.760" video="mainVideo" id=subtitle]]
[[!template text="while also having some actual side effect" start="00:03:32.480" video="mainVideo" id=subtitle]]
[[!template text="of the file existing on disk and" start="00:03:34.966" video="mainVideo" id=subtitle]]
[[!template text="us being able to interact with it." start="00:03:36.159" video="mainVideo" id=subtitle]]
[[!template text="For example, we could…, now that the file is" start="00:03:38.000" video="mainVideo" id=subtitle]]
[[!template text="there, invoke docker-compose and actually" start="00:03:40.000" video="mainVideo" id=subtitle]]
[[!template text="create the nginx web server that we're" start="00:03:42.319" video="mainVideo" id=subtitle]]
[[!template text="defining here. Let's do that." start="00:03:44.400" video="mainVideo" id=subtitle]]
[[!template text="We have a little block" start="00:03:46.700" video="mainVideo" id=subtitle]]
[[!template text="here that runs the shell script if I" start="00:03:47.120" video="mainVideo" id=subtitle]]
[[!template text="invoke that from Org mode, we get the" start="00:03:49.599" video="mainVideo" id=subtitle]]
[[!template text="results here, we see that now we have a" start="00:03:51.920" video="mainVideo" id=subtitle]]
[[!template text="web server running on port 8080." start="00:03:53.439" video="mainVideo" id=subtitle]]
[[!template text="That's, by the way," start="00:03:55.867" video="mainVideo" id=subtitle]]
[[!template text="serving up the contents of" start="00:03:56.767" video="mainVideo" id=subtitle]]
[[!template text="the directory that we're in here" start="00:03:58.319" video="mainVideo" id=subtitle]]
[[!template text="on port 8080." start="00:04:00.799" video="mainVideo" id=subtitle]]
[[!template text="So, that's already quite nice." start="00:04:02.799" video="mainVideo" id=subtitle]]
[[!template new="1" text="Let's look at another scenario where we" start="00:04:06.000" video="mainVideo" id=subtitle]]
[[!template text="may be documenting a REST API." start="00:04:08.959" video="mainVideo" id=subtitle]]
[[!template text="REST APIs use a lot of HTTP interactions" start="00:04:11.760" video="mainVideo" id=subtitle]]
[[!template text="typically describing an XML or JSON" start="00:04:14.720" video="mainVideo" id=subtitle]]
[[!template text="structure and which HTTP verb GET or PUT" start="00:04:17.199" video="mainVideo" id=subtitle]]
[[!template text="to use with that and the URL." start="00:04:20.000" video="mainVideo" id=subtitle]]
[[!template text="There's actually a nice extension to" start="00:04:22.320" video="mainVideo" id=subtitle]]
[[!template text="Org babel called rest client that you" start="00:04:25.919" video="mainVideo" id=subtitle]]
[[!template text="can install, that allows you to describe" start="00:04:28.240" video="mainVideo" id=subtitle]]
[[!template text="these kind of requests right inside Emacs." start="00:04:30.000" video="mainVideo" id=subtitle]]
[[!template text="First, let's make sure that our HTTP" start="00:04:33.360" video="mainVideo" id=subtitle]]
[[!template text="server has something to respond with," start="00:04:35.360" video="mainVideo" id=subtitle]]
[[!template text="that's a little interesting, for example," start="00:04:36.720" video="mainVideo" id=subtitle]]
[[!template text="an XML file. We already know how to do that." start="00:04:38.080" video="mainVideo" id=subtitle]]
[[!template text="So, let's create a code block type xml" start="00:04:40.433" video="mainVideo" id=subtitle]]
[[!template text="that we can tangle to file called" start="00:04:42.533" video="mainVideo" id=subtitle]]
[[!template text="test.xml, Control c Control v t (C-c C-v t)." start="00:04:43.600" video="mainVideo" id=subtitle]]
[[!template text="Now, if we look at the directory again," start="00:04:46.960" video="mainVideo" id=subtitle]]
[[!template text="we have a test.xml file." start="00:04:52.067" video="mainVideo" id=subtitle]]
[[!template text="And, now we can have a new type of block" start="00:04:55.120" video="mainVideo" id=subtitle]]
[[!template text="called the restclient, which will invoke" start="00:04:57.520" video="mainVideo" id=subtitle]]
[[!template text="REST client, and anything you type into" start="00:04:59.600" video="mainVideo" id=subtitle]]
[[!template text="here will be sent as an HTTP request to" start="00:05:01.199" video="mainVideo" id=subtitle]]
[[!template text="the server that you specify." start="00:05:04.160" video="mainVideo" id=subtitle]]
[[!template text="Right now it goes to localhost on 8080 and" start="00:05:05.600" video="mainVideo" id=subtitle]]
[[!template text="let's see if we can get our test.xml" start="00:05:08.880" video="mainVideo" id=subtitle]]
[[!template text="file back." start="00:05:10.720" video="mainVideo" id=subtitle]]
[[!template text="I've just invoked this, and you can see" start="00:05:11.433" video="mainVideo" id=subtitle]]
[[!template text="we got the spec and the content type of" start="00:05:13.600" video="mainVideo" id=subtitle]]
[[!template text="the server, if we scroll down a little" start="00:05:16.479" video="mainVideo" id=subtitle]]
[[!template text="bit I think we see the headers here, yeah," start="00:05:17.680" video="mainVideo" id=subtitle]]
[[!template text="so the server said it's text/xml and" start="00:05:19.199" video="mainVideo" id=subtitle]]
[[!template text="restclient is smart enough to actually" start="00:05:22.080" video="mainVideo" id=subtitle]]
[[!template text="invoke Emacs's sgml-mode to highlight it." start="00:05:23.759" video="mainVideo" id=subtitle]]
[[!template text="I'm not exactly sure" start="00:05:27.966" video="mainVideo" id=subtitle]]
[[!template text="what's the difference is between sxml" start="00:05:28.639" video="mainVideo" id=subtitle]]
[[!template text="and xml-mode and there's a nxml-mode," start="00:05:31.039" video="mainVideo" id=subtitle]]
[[!template text="they all pretty much know how to deal" start="00:05:33.680" video="mainVideo" id=subtitle]]
[[!template text="with XML. In this case sgml was" start="00:05:35.600" video="mainVideo" id=subtitle]]
[[!template text="chosen, which is fine." start="00:05:38.800" video="mainVideo" id=subtitle]]
[[!template text="But you can see we just served up that" start="00:05:41.600" video="mainVideo" id=subtitle]]
[[!template text="test.xml file, and" start="00:05:42.960" video="mainVideo" id=subtitle]]
[[!template text="we can have some actual text here" start="00:05:45.680" video="mainVideo" id=subtitle]]
[[!template text="describing &quot;Hey, if you do this request" start="00:05:46.880" video="mainVideo" id=subtitle]]
[[!template text="you might get a response like that,&quot;" start="00:05:48.639" video="mainVideo" id=subtitle]]
[[!template text="and the server will actually serve that up" start="00:05:50.734" video="mainVideo" id=subtitle]]
[[!template text="and insert it right into the Org mode document." start="00:05:53.199" video="mainVideo" id=subtitle]]
[[!template new="1" text="By the way, we're looking at" start="00:05:56.233" video="mainVideo" id=subtitle]]
[[!template text="this now inside Emacs rendered somewhat" start="00:05:57.759" video="mainVideo" id=subtitle]]
[[!template text="interestingly, but obviously you can" start="00:06:00.720" video="mainVideo" id=subtitle]]
[[!template text="export this to a PDF, or HTML, or in all" start="00:06:02.479" video="mainVideo" id=subtitle]]
[[!template text="sorts of nice and different ways as well" start="00:06:05.280" video="mainVideo" id=subtitle]]
[[!template text="depending on what your particular needs are." start="00:06:06.880" video="mainVideo" id=subtitle]]
[[!template text="Of course, we can't just send GET" start="00:06:09.759" video="mainVideo" id=subtitle]]
[[!template text="requests, we can send PUT requests as" start="00:06:11.520" video="mainVideo" id=subtitle]]
[[!template text="well, and just like in plain HTTP you" start="00:06:14.080" video="mainVideo" id=subtitle]]
[[!template text="have the PUT method on the first line then" start="00:06:16.400" video="mainVideo" id=subtitle]]
[[!template text="your headers, and a blank line," start="00:06:19.120" video="mainVideo" id=subtitle]]
[[!template text="and then the body." start="00:06:20.600" video="mainVideo" id=subtitle]]
[[!template new="1" text="If we try and invoke this then" start="00:06:22.000" video="mainVideo" id=subtitle]]
[[!template text="nginx will say &quot;405 Not Allowed&quot;" start="00:06:24.720" video="mainVideo" id=subtitle]]
[[!template text="because, obviously, just running a plain" start="00:06:27.440" video="mainVideo" id=subtitle]]
[[!template text="web server will not allow you to" start="00:06:29.199" video="mainVideo" id=subtitle]]
[[!template text="actually upload any files," start="00:06:30.319" video="mainVideo" id=subtitle]]
[[!template text="but this of course could have been any" start="00:06:32.080" video="mainVideo" id=subtitle]]
[[!template text="other response as well." start="00:06:33.440" video="mainVideo" id=subtitle]]
[[!template text="Now, let's look at doing" start="00:06:36.800" video="mainVideo" id=subtitle]]
[[!template text="presentations themselves, like the one" start="00:06:39.759" video="mainVideo" id=subtitle]]
[[!template text="you're looking at." start="00:06:41.600" video="mainVideo" id=subtitle]]
[[!template text="There's a package that I like to use a lot," start="00:06:42.867" video="mainVideo" id=subtitle]]
[[!template text="which is called org-tree-slide." start="00:06:45.766" video="mainVideo" id=subtitle]]
[[!template text="That's the one that's active right now," start="00:06:47.520" video="mainVideo" id=subtitle]]
[[!template text="which takes an Org document and allows" start="00:06:49.759" video="mainVideo" id=subtitle]]
[[!template text="you to show one heading at a time." start="00:06:52.080" video="mainVideo" id=subtitle]]
[[!template text="It doesn't matter whether it's the first" start="00:06:54.600" video="mainVideo" id=subtitle]]
[[!template text="level, second level, third level heading," start="00:06:55.599" video="mainVideo" id=subtitle]]
[[!template text="they sort of fold into nice" start="00:06:57.280" video="mainVideo" id=subtitle]]
[[!template text="things at the top," start="00:07:00.319" video="mainVideo" id=subtitle]]
[[!template text="where you can" start="00:07:02.720" video="mainVideo" id=subtitle]]
[[!template text="sort of go through a document" start="00:07:03.919" video="mainVideo" id=subtitle]]
[[!template text="one piece at a time." start="00:07:05.366" video="mainVideo" id=subtitle]]
[[!template text="I actually do like to use" start="00:07:07.680" video="mainVideo" id=subtitle]]
[[!template text="Org babel at the same time to" start="00:07:10.367" video="mainVideo" id=subtitle]]
[[!template text="do some live coding in it as well." start="00:07:12.319" video="mainVideo" id=subtitle]]
[[!template text="Actually there are two ways to go to a PDF," start="00:07:14.479" video="mainVideo" id=subtitle]]
[[!template text="you can just use the normal Org export" start="00:07:16.800" video="mainVideo" id=subtitle]]
[[!template text="option to go to a PDF, which is" start="00:07:20.720" video="mainVideo" id=subtitle]]
[[!template text="Control c Control e, and then l p (C-c C-e l p)," start="00:07:22.733" video="mainVideo" id=subtitle]]
[[!template text="but if you use restclient, the" start="00:07:25.120" video="mainVideo" id=subtitle]]
[[!template text="LaTeX file underneath sometimes gets" start="00:07:27.520" video="mainVideo" id=subtitle]]
[[!template text="a little wonky because those things" start="00:07:30.960" video="mainVideo" id=subtitle]]
[[!template text="don't directly work together." start="00:07:33.280" video="mainVideo" id=subtitle]]
[[!template text="I wrote a little bit of Lisp" start="00:07:34.866" video="mainVideo" id=subtitle]]
[[!template text="to help out with that," start="00:07:36.166" video="mainVideo" id=subtitle]]
[[!template text="which you can look at if you check" start="00:07:37.039" video="mainVideo" id=subtitle]]
[[!template text="out my presentation later." start="00:07:38.880" video="mainVideo" id=subtitle]]
[[!template new="1" text="There's another package for Org babel called" start="00:07:40.960" video="mainVideo" id=subtitle]]
[[!template text="beamer, or ox-beamer it's called," start="00:07:45.919" video="mainVideo" id=subtitle]]
[[!template text="which uses a LaTeX style called beamer" start="00:07:48.800" video="mainVideo" id=subtitle]]
[[!template text="to create a PDF," start="00:07:51.680" video="mainVideo" id=subtitle]]
[[!template text="and that one looks sort of…," start="00:07:53.360" video="mainVideo" id=subtitle]]
[[!template text="that one tries to actually" start="00:07:57.400" video="mainVideo" id=subtitle]]
[[!template text="create one page per slide which you" start="00:07:58.000" video="mainVideo" id=subtitle]]
[[!template text="would actually have a PDF with the" start="00:07:59.840" video="mainVideo" id=subtitle]]
[[!template text="slides, but that one is a lot more picky" start="00:08:01.039" video="mainVideo" id=subtitle]]
[[!template text="on what your Org file is" start="00:08:03.280" video="mainVideo" id=subtitle]]
[[!template text="structured like, so you need to have all" start="00:08:06.160" video="mainVideo" id=subtitle]]
[[!template text="your leaf headings at the same level," start="00:08:07.440" video="mainVideo" id=subtitle]]
[[!template text="which I typically don't do." start="00:08:08.879" video="mainVideo" id=subtitle]]
[[!template text="So, I can show you what this one" start="00:08:11.360" video="mainVideo" id=subtitle]]
[[!template text="looks like." start="00:08:12.800" video="mainVideo" id=subtitle]]
[[!template text="For this presentation you get a nice" start="00:08:16.639" video="mainVideo" id=subtitle]]
[[!template text="title slide, and then you get…," start="00:08:18.240" video="mainVideo" id=subtitle]]
[[!template text="it tries to make an outline," start="00:08:20.067" video="mainVideo" id=subtitle]]
[[!template text="which is the one level above." start="00:08:21.167" video="mainVideo" id=subtitle]]
[[!template text="The slides sort of look okay, but as" start="00:08:23.360" video="mainVideo" id=subtitle]]
[[!template text="you go further they sort of start" start="00:08:26.319" video="mainVideo" id=subtitle]]
[[!template text="to run into, you know," start="00:08:28.479" video="mainVideo" id=subtitle]]
[[!template text="things not flowing as they should." start="00:08:31.680" video="mainVideo" id=subtitle]]
[[!template text="I'm sure with a lot more LaTeX" start="00:08:34.633" video="mainVideo" id=subtitle]]
[[!template text="knowledge you could make this" start="00:08:36.800" video="mainVideo" id=subtitle]]
[[!template text="look a lot nicer, but personally I tend" start="00:08:37.919" video="mainVideo" id=subtitle]]
[[!template text="to just create a normal PDF document" start="00:08:40.640" video="mainVideo" id=subtitle]]
[[!template text="that's just, you know, text" start="00:08:44.080" video="mainVideo" id=subtitle]]
[[!template text="with all the actual content of the" start="00:08:46.399" video="mainVideo" id=subtitle]]
[[!template text="document. Inside the text you can see the" start="00:08:48.560" video="mainVideo" id=subtitle]]
[[!template text="highlighting of especially restclient" start="00:08:50.560" video="mainVideo" id=subtitle]]
[[!template text="stuff that works just fine, and" start="00:08:52.880" video="mainVideo" id=subtitle]]
[[!template text="it's enough for my needs," start="00:08:55.920" video="mainVideo" id=subtitle]]
[[!template text="so I just tend to make plain PDFs." start="00:08:57.400" video="mainVideo" id=subtitle]]
[[!template text="Since we only have 10 minutes, I will" start="00:09:00.959" video="mainVideo" id=subtitle]]
[[!template text="not go into the detailed configuration," start="00:09:02.959" video="mainVideo" id=subtitle]]
[[!template text="you can check out the presentation" start="00:09:05.200" video="mainVideo" id=subtitle]]
[[!template text="online to see how all these packages are" start="00:09:06.800" video="mainVideo" id=subtitle]]
[[!template text="configured and how I use them," start="00:09:09.440" video="mainVideo" id=subtitle]]
[[!template text="but for now that's all I have." start="00:09:13.440" video="mainVideo" id=subtitle]]
[[!template text="I do recommend you try this out yourself." start="00:09:18.000" video="mainVideo" id=subtitle]]
[[!template text="If you have any kind of documentation" start="00:09:20.000" video="mainVideo" id=subtitle]]
[[!template text="or textual things to do," start="00:09:22.240" video="mainVideo" id=subtitle]]
[[!template text="just pick one of these packages at a" start="00:09:24.399" video="mainVideo" id=subtitle]]
[[!template text="time, integrate them into your" start="00:09:26.320" video="mainVideo" id=subtitle]]
[[!template text="configuration if you haven't already." start="00:09:27.519" video="mainVideo" id=subtitle]]
[[!template text="That's really the best way to go" start="00:09:29.200" video="mainVideo" id=subtitle]]
[[!template text="about this, and you know, Google is your" start="00:09:31.040" video="mainVideo" id=subtitle]]
[[!template text="friend, if you think &quot;Hey how I would do" start="00:09:32.959" video="mainVideo" id=subtitle]]
[[!template text="this with these packages,&quot;" start="00:09:34.240" video="mainVideo" id=subtitle]]
[[!template text="definitely do that." start="00:09:35.567" video="mainVideo" id=subtitle]]
[[!template new="1" text="More things I will be looking at is" start="00:09:37.839" video="mainVideo" id=subtitle]]
[[!template text="using this concept to write unit or" start="00:09:41.760" video="mainVideo" id=subtitle]]
[[!template text="integration tests, you can imagine if you" start="00:09:44.000" video="mainVideo" id=subtitle]]
[[!template text="have a documentation in Org mode that" start="00:09:45.360" video="mainVideo" id=subtitle]]
[[!template text="describes your service as a" start="00:09:47.600" video="mainVideo" id=subtitle]]
[[!template text="function of its REST API, you may want to" start="00:09:50.800" video="mainVideo" id=subtitle]]
[[!template text="actually run all those commands as part" start="00:09:53.360" video="mainVideo" id=subtitle]]
[[!template text="of your build and check if all the" start="00:09:55.040" video="mainVideo" id=subtitle]]
[[!template text="documentation is still in order." start="00:09:56.480" video="mainVideo" id=subtitle]]
[[!template text="I'm not doing that yet, but I'm" start="00:09:58.399" video="mainVideo" id=subtitle]]
[[!template text="definitely looking into that." start="00:09:59.680" video="mainVideo" id=subtitle]]
[[!template text="I'm also writing some extensions" start="00:10:01.133" video="mainVideo" id=subtitle]]
[[!template text="to use Java and Scala" start="00:10:03.767" video="mainVideo" id=subtitle]]
[[!template text="in a somewhat higher level with Org mode." start="00:10:06.000" video="mainVideo" id=subtitle]]
[[!template text="But that's not entirely working yet," start="00:10:08.720" video="mainVideo" id=subtitle]]
[[!template text="and we don't have time to go into that" start="00:10:11.680" video="mainVideo" id=subtitle]]
[[!template text="today." start="00:10:12.959" video="mainVideo" id=subtitle]]
[[!template text="That's it. Thanks a lot for your attention," start="00:10:14.240" video="mainVideo" id=subtitle]]
[[!template text="and I'll be there for questions later." start="00:10:16.766" video="mainVideo" id=subtitle]]