1techtalk-pse(1) Presentation Software techtalk-pse(1)
2
3
4
6 techtalk-pse - superior technical demonstration software
7
9 cd /path/to/talk/; techtalk-pse
10
11 techtalk-pse /path/to/talk/
12
14 Tech Talk "Platinum Supreme Edition" (PSE) is Linux Presentation
15 Software designed by technical people to give technical software
16 demonstrations to other technical people. It is designed to be simple
17 to use (for people who know how to use an editor and the command line)
18 and powerful, so that you can create informative, technically accurate
19 and entertaining talks and demonstrations.
20
21 Tech Talk PSE is good at opening editors at the right place, opening
22 shell prompts with preloaded history, compiling and running things
23 during the demonstration, displaying text, photos, figures and video.
24
25 Tech Talk PSE is bad at slide effects, chart junk and bullet points.
26
27 This manual page covers all the documentation you will need to use Tech
28 Talk PSE. The next section covers running the tool from the command
29 line. After that there is a "TUTORIAL" section to get you started.
30 Then there is a detailed "REFERENCE" section. Finally there is a
31 discussion on "WHAT MAKES A GOOD TALK".
32
34 Tech Talk PSE talks are just directories containing "*.html", "*.sh"
35 (shell script) and "*.term" (terminal) files:
36
37 0010-introduction.html
38 0500-demonstration.sh
39 0600-command-line.term
40 9900-conclusion.html
41
42 The filenames that Tech Talk PSE considers to be slides have to match
43 the regular expression:
44
45 ^(\d+)(?:-.*)\.(html|sh|term)$
46
47 (any other file or subdirectory is ignored). Shell scripts and
48 terminal files must be executable.
49
50 DISPLAYING AN EXISTING TALK
51 To display or run a talk, change into the directory containing all
52 those files and run the "techtalk-pse" command:
53
54 cd /path/to/talk/; techtalk-pse
55
56 You can also run "techtalk-pse" without changing directory, instead
57 specifying the path to the talk:
58
59 techtalk-pse /path/to/talk/
60
61 OPTIONS
62 --help
63 Display brief help and exit.
64
65 --last
66 Start at the last slide.
67
68 You cannot use this with the -n / --start option.
69
70 -n SLIDE | --start SLIDE
71 Start at the named slide. SLIDE is the shortest unique prefix of
72 the slide name, so to start at a slide named
73 00010-introduction.html, you could use -n 00010 or -n 00010-intro,
74 or give the full filename -n 00010-introduction.html.
75
76 The default is to start at the first slide in the talk.
77
78 --verbose
79 Display verbose messages, useful for debugging or tracing what the
80 program is doing.
81
82 --version
83 Display version number and exit.
84
86 START WRITING A TALK
87 [Before you start writing your real talk, I urge you to read "WHAT
88 MAKES A GOOD TALK" below].
89
90 To start your talk, all you have to do is to make a new directory
91 somewhere:
92
93 mkdir talk
94 cd talk
95
96 A tech talk consists of HTML files ("slides") and shell scripts. The
97 filenames must start with a number, followed optionally by a
98 description, followed by the extension (".html", ".sh" or ".term"). So
99 to start our talk with two slides:
100
101 echo "This is the introduction" > 0010-introduction.html
102 echo "This is the second slide" > 0020-second.html
103
104 To run it, run the command from within the talk directory:
105
106 techtalk-pse
107
108 Any other file in the directory is ignored, so if you want to add
109 Makefiles, version control files etc, just go ahead.
110
111 TIPS FOR WRITING HTML
112 You may have your own techniques and tools for writing HTML, so this
113 section is just to share my ideas. I start every HTML file with a
114 standard stylesheet and Javascript header:
115
116 <link rel="stylesheet" href="style.css" type="text/css"/>
117 <script src="code.js" type="text/javascript"></script>
118
119 That just ensures that I can put common styling instructions for all my
120 slides in a single file ("style.css"), and I have one place where I can
121 add all Javascript, if I need to use any ("code.js").
122
123 BACKGROUNDS, FONTS AND LOGOS
124
125 To add a common background and font size to all slides, put this in
126 "style.css":
127
128 body {
129 font-size: 24pt;
130 background: url(background-image.jpg) no-repeat;
131 }
132
133 To add a logo in one corner:
134
135 body {
136 background: url(logo.jpg) top right no-repeat;
137 }
138
139 SCALING AND CENTERING
140
141 Scaling slide text and images so that they appear at the same
142 proportionate size for any screen resolution can be done using
143 Javascript. (See
144 <https://developer.mozilla.org/En/DOM/window.innerHeight>).
145
146 If you want to center text horizontally, use CSS, eg:
147
148 p.center {
149 text-align: center;
150 }
151
152 To center text vertically, CSS3 is supposed to offer a solution some
153 time, but while you're waiting for that try
154 <http://www.w3.org/Style/Examples/007/center#vertical>.
155
156 PREVIEWING HTML
157
158 I find it helpful to have Firefox open to display the HTML files and
159 styles as I edit them. Just start firefox in the talk directory:
160
161 firefox file://$(pwd) &
162
163 When you edit an HTML file, click the Firefox reload button to
164 immediately see your changes.
165
166 Tech Talk PSE uses WebKit embedding to display HTML. HTML is
167 standardized enough nowadays that what you see in Firefox and other
168 browsers should be the same as what Tech Talk PSE displays. WebKit-
169 based browsers (Chrome, Safari) should be identical.
170
171 CREATING FIGURES
172 Use your favorite tool to draw the figure, convert it to an image (in
173 any format that the Mozilla engine can display) and include it using an
174 "<img>" tag, eg:
175
176 <img src="fig1.gif">
177
178 Suitable tools include: Inkscape, XFig, GnuPlot, GraphViz, and many TeX
179 tools such as PicTex and in particular TikZ.
180
181 EMBEDDING VIDEOS, ANIMATIONS, ETC.
182 Using HTML 5, embedding videos in the browser is easy. See:
183 <https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox>
184
185 For animations, you could try Haxe <http://haxe.org/> which has a
186 Javascript back-end. There are many other possibilities.
187
188 If you are sure that the venue will have an internet connection, why
189 not embed a YouTube video.
190
191 DISPLAYING EXISTING WEB PAGES
192 Obviously you could just have an HTML file that contains a redirect to
193 the public web page:
194
195 <meta http-equiv="Refresh" content="0; url=http://www.example.com/">
196
197 However if you want your talk to work offline, then it's better to
198 download the web page in advance, eg. using Firefox's "Save Page As ->
199 Web Page, complete" feature, into the talk directory, then either
200 rename or make a symbolic link to the slide name:
201
202 ln -s "haXe - Welcome to haXe.html" 0010-haxe-homepage.html
203
204 TIPS FOR WRITING SHELL SCRIPTS
205 Make sure each "*.sh" or "*.term" file you write is executable,
206 otherwise Tech Talk PSE won't be able to run it. (The program gives a
207 warning if you forget this).
208
209 The difference between "*.sh" (shell script) and "*.term" (a terminal
210 script) is that a shell script runs any commands, usually graphical
211 commands, whereas a terminal script runs in a full screen terminal.
212
213 A good idea is to start each script by sourcing some common functions.
214 All my scripts start with:
215
216 #!/bin/bash -
217 source functions
218
219 where "functions" is another file (ignored by Tech Talk PSE) which
220 contains common functions for setting shell history and starting a
221 terminal.
222
223 In "functions", I have:
224
225 # -*- shell-script -*-
226
227 # Place any local environment variables required in 'local'.
228 if [ -f local ]; then source local; fi
229
230 export PS1="$ "
231
232 export HISTFILE=$talkdir/history
233
234 rm -f $HISTFILE
235 touch $HISTFILE
236
237 add_history ()
238 {
239 echo "$@" >> $HISTFILE
240 }
241
242 terminal ()
243 {
244 # Make $HISTFILE unwritable so the shell won't update it
245 # when it exits.
246 chmod -w $HISTFILE
247
248 # Execute a shell.
249 bash --norc "$@"
250 }
251
252 By initializing the shell history, during your talk you can rapidly
253 recall commands to start parts of the demonstration just by hitting the
254 Up arrow. A complete terminal script from one of my talks would look
255 like this:
256
257 #!/bin/bash -
258 source functions
259 add_history guestfish -i debian.img
260 terminal
261
262 This is just a starting point for your own scripts.
263
265 ORDER OF FILES
266 Tech Talk PSE displays the slides in the directory in lexicographic
267 order (the same order as "LANG=C ls -1"). Only files matching the
268 following regexp are considered:
269
270 ^(\d+)(?:-.*)\.(html|sh|term)$
271
272 For future compatibility, you should ensure that every slide has a
273 unique numeric part (ie. don't have "0010-aaa.html" and
274 "0010-bbb.html"). This is because in future we want to have the
275 ability to display multiple files side by side.
276
277 Also for future compatibility, don't use file names that have an
278 uppercase letter immediately after the numeric part. This is because
279 in future we want to allow placement hints using filenames like
280 "0010L-on-the-left.html" and "0010R-on-the-right.html".
281
282 BASE URL AND CURRENT DIRECTORY
283 The base URL is set to the be the directory containing the talk files.
284 Thus you should use relative paths, eg:
285
286 <img src="fig1.gif">
287
288 You can also place assets into subdirectories, because subdirectories
289 are ignored by Tech Talk PSE, eg:
290
291 <img src="images/fig1.gif">
292
293 When running shell scripts, the current directory is also set to be the
294 directory containing the talk files, so the same rules about using
295 relative paths apply there too.
296
297 The environment variable $talkdir is exported to scripts and it
298 contains the absolute path of the directory containing the talk files.
299 When a script is run, the current directory is the same as $talkdir,
300 but if your script changes directory (eg. into a subdirectory
301 containing supporting files) then it can be useful to use $talkdir to
302 refer back to the original directory.
303
305 I like what Edward Tufte writes, for example his evisceration of
306 PowerPoint use at NASA here:
307 <http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001yB>
308
309 However it is sometimes hard to translate his ideas into clear
310 presentations, and not all of that is the fault of the tools. Here are
311 my thoughts and rules on how to deliver a good talk.
312
313 First, most important rule: Before you start drawing any slides at all,
314 write your talk as a short essay.
315
316 This is the number one mistake that presenters make, and it is partly a
317 tool fault, because PowerPoint, OpenOffice, even Tech Talk PSE, all
318 open up on an initial blank slide, inviting you to write a title and
319 some bullet points. If you start that way, you will end up using the
320 program as a kind of clumsy outlining tool, and then reading that
321 outline to your audience. That's boring and a waste of time for you
322 and your audience. (It would be quicker for them just to download the
323 talk and read it at home).
324
325 Secondly: How long do you want to spend preparing the talk? A good
326 talk, with a sound essay behind it, well thought out diagrams and
327 figures, and interesting demonstrations, takes many hours to prepare.
328 How many hours? I would suggest thinking about how many hours of
329 effort your audience are putting in. Even just 20 people sitting there
330 for half an hour is 10 man-hours of attention, and that is a very small
331 talk, and doesn't include all the extra time and hassle that it took to
332 get them all in one place.
333
334 I don't think you can get away with spending less than two full days
335 preparing a talk, if you want to master the topic and draw up accurate
336 slides. Steve Jobs was reputed to spend weeks preparing his annual
337 sales talk to the Apple faithful.
338
339 Thirdly: Now that you're going to write your talk as an essay, what
340 should go in the slides? I would say that you should consider
341 delivering the essay, not the slides, to people who don't make the
342 talk. An essay can be turned into an article or blog posting, whereas
343 even "read-out-the-bullet-point" slides have a low information density,
344 large size, and end-user compatibility problems (*.pptx anyone?).
345
346 What, then, goes on the slides? Anything you cannot just say:
347 diagrams, graphs, videos, animations, and of course (only with Tech
348 Talk PSE!) demonstrations.
349
350 Lastly: Once you've got your talk as an essay and slides, practice,
351 practice and practice again. Deliver the talk to yourself in the
352 mirror, to your colleagues. Practice going backwards and forwards
353 through the slides, using your actual laptop and the software so you
354 know what to click and what keys to press. Partly memorize what you
355 are going to say (but use short notes written on paper if you need to).
356
358 The Cognitive Style of PowerPoint, Tufte, Edward R.
359
361 Richard W.M. Jones <http://people.redhat.com/~rjones/>
362
363 Daniel Berrange <http://berrange.com/>
364
366 Copyright (C) 2010-2012 Red Hat Inc.
367
368 This program is free software; you can redistribute it and/or modify it
369 under the terms of the GNU General Public License as published by the
370 Free Software Foundation; either version 2 of the License, or (at your
371 option) any later version.
372
373 This program is distributed in the hope that it will be useful, but
374 WITHOUT ANY WARRANTY; without even the implied warranty of
375 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
376 General Public License for more details.
377
378 You should have received a copy of the GNU General Public License along
379 with this program; if not, write to the Free Software Foundation, Inc.,
380 675 Mass Ave, Cambridge, MA 02139, USA.
381
382
383
384techtalk-pse-1.2.0 2020-07-29 techtalk-pse(1)