summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt56
-rw-r--r--2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt649
-rw-r--r--2023/info/eat-before.md4
-rw-r--r--2023/info/world-after.md212
-rw-r--r--2023/info/world-before.md22
-rw-r--r--2023/schedule-details.md6
6 files changed, 943 insertions, 6 deletions
diff --git a/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt b/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt
new file mode 100644
index 00000000..58121436
--- /dev/null
+++ b/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt
@@ -0,0 +1,56 @@
+WEBVTT
+
+
+00:00:00.780 --> 00:03:46.400
+Draw and scribble in GNU Emacs
+
+00:03:46.400 --> 00:05:20.139
+SVG Symbols library
+
+00:05:20.140 --> 00:08:03.367
+GNU Emacs: A multimedia editor
+
+00:08:03.367 --> 00:09:34.900
+Fill PDF form using GNU Emacs
+
+00:09:34.900 --> 00:11:10.439
+Desktop and window management in GNU Emacs
+
+00:11:10.440 --> 00:11:53.033
+Screen mirroring in GNU Emacs
+
+00:11:53.033 --> 00:12:25.533
+Swipe for Text Input in GNU Emacs
+
+00:12:25.533 --> 00:12:59.433
+Formula Editor in GNU Emacs
+
+00:12:59.433 --> 00:13:09.433
+Transliteration in Emacs
+
+00:13:09.433 --> 00:13:40.000
+Social Media client - Tumblr, Reddit
+
+00:13:40.000 --> 00:13:49.567
+Comics Builder
+
+00:13:49.567 --> 00:13:59.567
+Matching game
+
+00:13:59.567 --> 00:14:10.767
+Interactive XPath Builder in GNU Emacs
+
+00:14:10.767 --> 00:14:35.233
+Interactive JSON Builder in GNU Emacs
+
+00:14:35.233 --> 00:15:26.133
+GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter
+
+00:15:26.133 --> 00:16:11.640
+Generate C header
+
+00:16:11.640 --> 00:17:07.639
+C Rename symbols
+
+00:17:07.640 --> 00:20:30.740
+SQL (offline)
diff --git a/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt b/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt
new file mode 100644
index 00000000..1f27ce57
--- /dev/null
+++ b/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt
@@ -0,0 +1,649 @@
+WEBVTT captioned by bhavin192, checked by sachac
+
+NOTE Draw and scribble in GNU Emacs
+
+00:00:00.780 --> 00:00:02.900
+Hello. In this video, we will look at
+
+00:00:02.900 --> 00:00:07.167
+drawing and scribbling in Emacs using SVG.
+
+00:00:07.167 --> 00:00:10.067
+Let's start with `canvas-mode`.
+
+00:00:10.067 --> 00:00:17.539
+We will define the width and the height.
+
+00:00:17.540 --> 00:00:19.333
+The default is polyline,
+
+00:00:19.333 --> 00:00:23.733
+which means you can scribble anything that you want.
+
+00:00:23.733 --> 00:00:30.299
+Very handy for taking quick notes.
+
+00:00:30.300 --> 00:00:32.699
+Now we will look at
+
+00:00:32.700 --> 00:00:46.333
+drawing a triangle using some lines.
+
+00:00:46.333 --> 00:00:57.267
+Okay. Now let's draw a circle.
+
+00:00:57.267 --> 00:00:58.900
+You can use the mouse to adjust
+
+00:00:58.900 --> 00:01:02.859
+the radius of the circle.
+
+00:01:02.860 --> 00:01:04.333
+There is some problem with ellipse,
+
+00:01:04.333 --> 00:01:07.939
+we will look at it at the end of the video.
+
+00:01:07.940 --> 00:01:11.767
+Now let's put up some text,
+
+00:01:11.767 --> 00:01:15.067
+a typical "Hello World".
+
+00:01:15.067 --> 00:01:19.879
+Size, let's do a 20 font size,
+
+00:01:19.880 --> 00:01:32.359
+and we will use the default font family.
+
+00:01:32.360 --> 00:01:37.433
+Next, we will look at undoing what we have drawn.
+
+00:01:37.433 --> 00:01:43.067
+Just press u for deleting the last drawn object.
+
+00:01:43.067 --> 00:01:45.799
+And you can continue pressing
+
+00:01:45.800 --> 00:01:51.959
+u for consecutive deletions.
+
+00:01:51.960 --> 00:01:54.533
+You can also make a selection of the objects
+
+00:01:54.533 --> 00:01:57.700
+on the screen using your mouse and then press u.
+
+00:01:57.700 --> 00:02:02.599
+This will delete all the objects in one go.
+
+00:02:02.600 --> 00:02:06.659
+Now we are looking at stroke color.
+
+00:02:06.660 --> 00:02:08.633
+We will use a brown stroke color
+
+00:02:08.633 --> 00:02:12.879
+for drawing our objects.
+
+00:02:12.880 --> 00:02:20.419
+Next, let's look at stroke width.
+
+00:02:20.420 --> 00:02:27.979
+We will use a width of 5.
+
+00:02:27.980 --> 00:02:41.619
+Next, let's fill up the objects with a fill color.
+
+00:02:41.620 --> 00:02:47.159
+Now we will look at zoom.
+
+00:02:47.160 --> 00:02:50.119
+Use the mouse to select a region and zoom.
+
+00:02:50.120 --> 00:02:54.359
+You can also use +, - for zooming in and out.
+
+00:02:54.360 --> 00:03:07.133
+Press 0 for resetting the zoom.
+
+00:03:07.133 --> 00:03:14.539
+Next, let's save the file,
+
+00:03:14.540 --> 00:03:19.667
+and q or Enter for exiting the canvas-mode.
+
+00:03:19.667 --> 00:03:23.760
+Now we will open the file in Emacs itself.
+
+00:03:25.220 --> 00:03:26.179
+You can see the file,
+
+00:03:26.180 --> 00:03:32.000
+you can do Control-c Control-c (`C-c C-c`).
+
+00:03:32.000 --> 00:03:44.419
+Finally, we look at ellipse.
+
+00:03:44.420 --> 00:03:46.400
+That's all for this video. Thanks!
+
+NOTE SVG Symbols library
+
+00:03:46.400 --> 00:03:48.333
+Hello. In this video, we will draw
+
+00:03:48.333 --> 00:03:52.067
+schematics using symbols from SVG library in Emacs.
+
+00:03:52.067 --> 00:03:55.000
+Press capital L to activate the symbol library
+
+00:03:55.000 --> 00:03:57.867
+that you can see on the right hand side,
+
+00:03:57.867 --> 00:04:01.959
+and place the symbol on the canvas.
+
+00:04:01.960 --> 00:04:06.639
+Let's add another register to this diagram.
+
+00:04:06.640 --> 00:04:11.819
+You can press capital R to rotate the symbol.
+
+00:04:11.820 --> 00:04:17.239
+Let's place it on the canvas.
+
+00:04:17.240 --> 00:04:31.667
+Now we will add a voltage source to the circuit.
+
+00:04:31.667 --> 00:04:33.179
+To connect the symbols,
+
+00:04:33.180 --> 00:04:36.967
+we will have to use some connecting wires.
+
+00:04:36.967 --> 00:04:39.467
+For that, press capital W
+
+00:04:39.467 --> 00:04:46.919
+to activate the connection mode.
+
+00:04:46.920 --> 00:04:48.567
+Click anywhere on the canvas
+
+00:04:48.567 --> 00:04:53.133
+to draw intermediate points, and press Esc
+
+00:04:53.133 --> 00:05:00.033
+to exit that particular connection.
+
+00:05:00.033 --> 00:05:16.633
+Let's connect other symbols too.
+
+00:05:16.633 --> 00:05:20.139
+That's all for this video. Thanks.
+
+NOTE GNU Emacs: A multimedia editor
+
+00:05:20.140 --> 00:05:22.167
+Hello. In this video, we will look at
+
+00:05:22.167 --> 00:05:24.933
+some basic multimedia editing using Emacs.
+
+00:05:24.933 --> 00:05:27.459
+Let's start a media-edit session.
+
+00:05:27.460 --> 00:05:32.000
+Let's open a video file.
+
+00:05:32.000 --> 00:05:34.100
+The left-hand side is your viewer area,
+
+00:05:34.100 --> 00:05:36.700
+and the right-hand side is your track area.
+
+00:05:36.700 --> 00:05:39.667
+In the track area, you can use normal Emacs
+
+00:05:39.667 --> 00:05:42.039
+text editing movements.
+
+00:05:42.040 --> 00:05:48.167
+Now press `C-c r` to refresh the viewer mode
+
+00:05:48.167 --> 00:05:52.767
+with the exact time frame.
+
+00:05:52.767 --> 00:05:59.433
+Now press SPC to play or pause the video.
+
+00:05:59.433 --> 00:06:03.233
+This looks like an interesting point in the video,
+
+00:06:03.233 --> 00:06:11.433
+let's track it and split it. Press Enter to do that.
+
+00:06:11.433 --> 00:06:20.733
+We will extract some 10 seconds of this video.
+
+00:06:20.733 --> 00:06:23.233
+Let's use this.
+
+00:06:23.233 --> 00:06:26.300
+Now go here and delete all these lines.
+
+00:06:26.300 --> 00:06:44.133
+Let's review our edited clip.
+
+00:06:44.133 --> 00:06:51.833
+Looks good! Now press e to export the video.
+
+00:06:51.833 --> 00:06:57.559
+Provide an output file name.
+
+00:06:57.560 --> 00:07:04.433
+This will use FFmpeg to convert, and you can
+
+00:07:04.433 --> 00:07:16.967
+output to any file format supported by FFmpeg.
+
+00:07:16.967 --> 00:07:21.900
+Okay. Let's open up shell and view this
+
+00:07:21.900 --> 00:07:57.159
+video file in an external video player.
+
+00:07:57.160 --> 00:08:03.367
+That's all for this video. Thanks.
+
+NOTE Fill PDF form using GNU Emacs
+
+00:08:03.367 --> 00:08:05.567
+Hello. In this video, we will look at
+
+00:08:05.567 --> 00:08:09.760
+editing a PDF form using GNU Emacs.
+
+00:08:09.760 --> 00:08:13.840
+To start, we have to enable the annotation.
+
+00:08:13.840 --> 00:08:18.533
+Then we can use Tab to move forward and Shift+Tab
+
+00:08:18.533 --> 00:08:22.480
+to move backwards through the fields.
+
+00:08:22.480 --> 00:08:25.967
+To edit a field, we press e.
+
+00:08:25.967 --> 00:08:33.580
+So let's edit a text box. We'll call it 'city'.
+
+00:08:33.580 --> 00:08:35.840
+Next, we will edit a drop-down.
+
+00:08:35.840 --> 00:08:38.680
+Again, press e, and you get a select.
+
+00:08:38.680 --> 00:08:45.833
+Use the Minibuffer to select one of the values.
+
+00:08:45.833 --> 00:08:48.500
+Let's select 'France'.
+
+08:48.500 --> 00:08:52.180
+Now let's edit a radio box.
+
+08:52.180 --> 00:08:55.899
+A checkbox or a radio box can be toggled using t.
+
+00:08:55.900 --> 00:08:58.660
+You can disableā€¦
+
+08:58.660 --> 00:09:05.140
+Now let's save the file, `doc-view-save-form`.
+
+00:09:05.140 --> 00:09:08.360
+It will ask for a file name.
+
+00:09:08.360 --> 00:09:13.400
+Let's call it `filled1.pdf`. If the file exists,
+
+00:09:13.400 --> 00:09:17.260
+it will ask you if you want to overwrite.
+
+09:17.260 --> 00:09:21.460
+Now let's verify this new file.
+
+09:21.460 --> 00:09:27.160
+In Firefox, we'll copy this file name, call it filled1.
+
+00:09:27.160 --> 00:09:29.100
+Let's verify the values.
+
+09:29.100 --> 00:09:32.620
+You have city, France and Driving License selected.
+
+09:32.620 --> 00:09:34.900
+That's all for this video. Thanks.
+
+NOTE Desktop and window management in GNU Emacs
+
+09:34.900 --> 00:09:37.659
+Hello. In this video, we will look at
+
+00:09:37.660 --> 00:09:40.460
+desktop and window management in GNU Emacs.
+
+09:40.460 --> 00:09:47.740
+We'll start with `task-view`.
+
+09:47.740 --> 00:09:50.467
+Top row shows all the desktops,
+
+00:09:50.467 --> 00:09:54.400
+and rest of the images are the active windows
+
+00:09:54.400 --> 00:09:59.300
+in that particular desktop.
+
+00:09:59.300 --> 00:10:09.159
+You can tap to select
+
+00:10:09.160 --> 00:10:13.320
+and double tap to activate a particular window.
+
+00:10:13.320 --> 00:10:16.767
+You can use m to move selected windows
+
+00:10:16.767 --> 00:10:25.099
+to any of the desktops at the top.
+
+00:10:25.100 --> 00:10:29.320
+Let's check the third desktop.
+
+00:10:29.320 --> 00:10:49.980
+Let's bring it back to the second desktop.
+
+10:49.980 --> 00:10:51.300
+The best part,
+
+10:51.300 --> 00:10:54.799
+you can select multiple windows
+
+00:10:54.800 --> 00:10:59.979
+and form a group by pressing g.
+
+00:10:59.980 --> 00:11:04.867
+Then you can select any of the windows
+
+00:11:04.867 --> 00:11:07.639
+in this group to activate the complete group.
+
+00:11:07.640 --> 00:11:10.439
+That's all for this video. Thanks.
+
+NOTE Screen mirroring in GNU Emacs
+
+00:11:10.440 --> 00:11:12.433
+Hello. In this video, we will look at
+
+00:11:12.433 --> 00:11:14.279
+screen mirroring using GNU Emacs.
+
+00:11:14.280 --> 00:11:18.779
+Run `wfd`. Select an interface.
+
+00:11:18.780 --> 00:11:20.967
+Now it will scan for all the available devices
+
+00:11:20.967 --> 00:11:24.800
+for screen mirroring.
+
+00:11:24.800 --> 00:11:30.399
+I'll select my TV, which is an LG WebOS TV.
+
+00:11:30.400 --> 00:11:38.720
+If you don't decline, it will start streaming.
+
+00:11:38.720 --> 00:11:45.140
+Let's change some buffer to check the visuals.
+
+11:45.140 --> 00:11:50.219
+To terminate the session, just click on quit.
+
+00:11:50.220 --> 00:11:53.033
+That's all for this video. Thanks.
+
+NOTE Swipe for Text Input in GNU Emacs
+
+00:11:53.033 --> 00:12:25.533
+[Using Sweep to swipe and type "as you like it."]
+
+NOTE Formula Editor in GNU Emacs
+
+00:12:25.533 --> 00:12:39.900
+[Formula Editor]
+
+00:12:39.900 --> 00:12:45.033
+[Typing fractions in the formula]
+
+00:12:45.033 --> 00:12:59.433
+[Adding brackets and an exponent]
+
+NOTE Transliteration in Emacs
+
+00:12:59.433 --> 00:13:05.200
+[Hindi (Devanagari script) Phonetic typing]
+
+00:13:05.200 --> 00:13:09.433
+[Phonetic typing Gujarati, Bangla, Kannada, and Tamil]
+
+NOTE Social Media client - Tumblr, Reddit
+
+00:13:09.433 --> 00:13:19.533
+[Browsing Reddit in Emacs]
+
+00:13:19.533 --> 00:13:29.533
+[Browsing Tumblr in Emacs]
+
+00:13:29.533 --> 00:13:40.000
+[Browsing X (Twitter) in Emacs]
+
+NOTE Comics Builder
+
+00:13:40.000 --> 00:13:49.567
+[Generating comic from a text script]
+
+NOTE Matching game
+
+00:13:49.567 --> 00:13:59.567
+[Matching color names with color boxes]
+
+NOTE Interactive XPath Builder in GNU Emacs
+
+00:13:59.567 --> 00:14:01.833
+[Running `xpath-builder` on an XML file]
+
+00:14:01.833 --> 00:14:10.767
+[Filtering `title`, `para`, and `author` from the XML]
+
+NOTE Interactive JSON Builder in GNU Emacs
+
+00:14:10.767 --> 00:14:29.200
+[Filtering `father`, `father.name`, `children`
+
+00:14:29.200 --> 00:14:35.233
+`children[1]` from a JSON using JSON Builder]
+
+NOTE GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter
+
+00:14:35.233 --> 00:14:37.633
+Hello. In this video, we will look at
+
+00:14:37.633 --> 00:14:41.659
+generating getters and setters in Java using Emacs.
+
+00:14:41.660 --> 00:14:46.233
+We will run `srecode-getset-dialog`.
+
+00:14:46.233 --> 00:14:48.767
+We will get an option to select particular fields,
+
+00:14:48.767 --> 00:14:51.833
+you can expand and collapse.
+
+00:14:51.833 --> 00:14:54.100
+You can select all or deselect all,
+
+00:14:54.100 --> 00:14:56.386
+or you can choose any particular getter.
+
+00:14:56.386 --> 00:15:02.633
+So let's do protected version of this. Here you go.
+
+00:15:02.633 --> 00:15:06.067
+If you want to generate for other fields,
+
+00:15:06.067 --> 00:15:08.300
+you can re-run it.
+
+00:15:08.300 --> 00:15:11.267
+You can check the one that you have already
+
+00:15:11.267 --> 00:15:13.100
+generated is not there.
+
+00:15:13.100 --> 00:15:22.300
+Now select all, and you can see rest of the
+
+00:15:22.300 --> 00:15:23.933
+getters and setters have been generated.
+
+00:15:23.933 --> 00:15:26.133
+That's all for this video. Thanks.
+
+NOTE Generate C header
+
+00:15:26.133 --> 00:16:11.640
+[Generating C headers using `srecode-gen-header`]
+
+NOTE C Rename symbols
+
+00:16:11.640 --> 00:16:13.833
+Hello. In this video, we will look at
+
+00:16:13.833 --> 00:16:17.633
+renaming method across multiple files in a project.
+
+00:16:17.633 --> 00:16:24.639
+Let's start with `semantic-symref-symbol`.
+
+00:16:24.640 --> 00:16:26.800
+Now we have the references.
+
+00:16:26.800 --> 00:16:35.399
+Let's use the menu to open all these occurrences.
+
+00:16:35.400 --> 00:16:38.433
+To rename it, we have to use
+
+00:16:38.433 --> 00:16:41.919
+"Rename Symbol in Open hits."
+
+00:16:41.920 --> 00:16:46.439
+Let's rename it to underscore 1 (`_1`).
+
+00:16:46.440 --> 00:16:57.719
+We will verify it by compiling the project.
+
+00:16:57.720 --> 00:17:00.300
+Let's open the `*Messages*` buffer to see the results
+
+00:17:00.300 --> 00:17:04.167
+more clearly. No errors.
+
+00:17:04.167 --> 00:17:07.639
+That's all for this video. Thanks.
+
+NOTE SQL (offline)
+
+00:17:07.640 --> 00:17:09.733
+Hello. In this video, we will look at
+
+00:17:09.733 --> 00:17:12.439
+SQL editing with Semantic.
+
+00:17:12.440 --> 00:17:16.619
+We will define a schema in this SQL document.
+
+00:17:16.620 --> 00:17:27.000
+Let's create a table.
+
+00:17:27.000 --> 00:17:30.267
+We get already existing tables
+
+00:17:30.267 --> 00:17:38.533
+in the current document.
+
+00:17:38.533 --> 00:17:57.033
+It also supports auto-completion of some keywords.
+
+00:17:57.033 --> 00:18:00.900
+Now we can do some queries on the tables.
+
+00:18:00.900 --> 00:18:03.333
+We have `SELECT` as the keyword or the SQL,
+
+00:18:03.333 --> 00:18:06.833
+so we will select the SQL.
+
+00:18:06.833 --> 00:18:13.559
+Here we have all the tables existing in this schema.
+
+00:18:13.560 --> 00:18:25.633
+We can also use an alias for completions.
+
+00:18:25.633 --> 00:18:31.267
+Now let's look at a more complex example.
+
+00:18:31.267 --> 00:18:43.367
+We will try to do a join on two tables.
+
+00:18:43.367 --> 00:19:06.600
+Let's add a `WHERE` clause.
+
+00:19:06.600 --> 00:19:23.333
+Next, let's do insert.
+
+00:19:23.333 --> 00:19:27.967
+You can just click on Tab to go to the next field.
+
+00:19:27.967 --> 00:19:30.700
+Let's fill in the columns.
+
+00:19:30.700 --> 00:19:32.667
+And do a Tab to go to the values
+
+00:19:32.667 --> 00:19:37.000
+and add the corresponding values.
+
+00:19:37.000 --> 00:19:48.033
+Finally, an update.
+
+00:19:48.033 --> 00:20:00.700
+Now we will try to delete this
+
+00:20:00.700 --> 00:20:07.333
+with a `WHERE col11 = 4`.
+
+00:20:07.333 --> 00:20:16.267
+Lastly, let's try dropping the table.
+
+00:20:16.267 --> 00:20:21.867
+That's all for this video. Thanks.
+
+00:20:21.867 --> 00:20:30.740
+Slide with the text "Let's Make Computing Personal."
diff --git a/2023/info/eat-before.md b/2023/info/eat-before.md
index 9dbb9f09..7d95389d 100644
--- a/2023/info/eat-before.md
+++ b/2023/info/eat-before.md
@@ -8,12 +8,12 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03.
Format: 9-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2023/current/bbb-eat.html>
Etherpad: <https://pad.emacsconf.org/2023-eat>
Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen)
-Status: Processing uploaded video
+Status: Q&A open for participation
<div>Times in different timezones:</div><div class="times" start="2023-12-03T15:35:00Z" end="2023-12-03T15:45:00Z"><div class="conf-time">Sunday, Dec 3 2023, ~10:35 AM - 10:45 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 3 2023, ~9:35 AM - 9:45 AM CST (US/Central)<br />Sunday, Dec 3 2023, ~8:35 AM - 8:45 AM MST (US/Mountain)<br />Sunday, Dec 3 2023, ~7:35 AM - 7:45 AM PST (US/Pacific)<br />Sunday, Dec 3 2023, ~3:35 PM - 3:45 PM UTC <br />Sunday, Dec 3 2023, ~4:35 PM - 4:45 PM CET (Europe/Paris)<br />Sunday, Dec 3 2023, ~5:35 PM - 5:45 PM EET (Europe/Athens)<br />Sunday, Dec 3 2023, ~9:05 PM - 9:15 PM IST (Asia/Kolkata)<br />Sunday, Dec 3 2023, ~11:35 PM - 11:45 PM +08 (Asia/Singapore)<br />Monday, Dec 4 2023, ~12:35 AM - 12:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2023/watch/gen/">Find out how to watch and participate</a></strong></div>
-
+<div class="vid"><video controls preload="none" id="eat-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm" />${captions}<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 08:13 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-eat">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/current/bbb-eat.html">Open public Q&A</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.opus">Download --main.opus</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm">Download --main.webm (39MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--normalized.opus">Download --normalized.opus (5.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--original.opus">Download --original.opus (4.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--original.webm">Download --original.webm (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--reencoded.webm">Download --reencoded.webm (43MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/world-after.md b/2023/info/world-after.md
index c4d0df1f..09db6669 100644
--- a/2023/info/world-after.md
+++ b/2023/info/world-after.md
@@ -1,6 +1,218 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
+<a name="world-mainVideo-transcript"></a>
+# Transcript
+
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:00:00.780" video="mainVideo-world" id="subtitle"]]
+[[!template text="""drawing and scribbling in Emacs using SVG.""" start="00:00:02.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's start with `canvas-mode`.""" start="00:00:07.167" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will define the width and the height.""" start="00:00:10.067" video="mainVideo-world" id="subtitle"]]
+[[!template text="""The default is polyline,""" start="00:00:17.540" video="mainVideo-world" id="subtitle"]]
+[[!template text="""which means you can scribble anything that you want.""" start="00:00:19.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Very handy for taking quick notes.""" start="00:00:23.733" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we will look at""" start="00:00:30.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""drawing a triangle using some lines.""" start="00:00:32.700" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Okay. Now let's draw a circle.""" start="00:00:46.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can use the mouse to adjust""" start="00:00:57.267" video="mainVideo-world" id="subtitle"]]
+[[!template text="""the radius of the circle.""" start="00:00:58.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""There is some problem with ellipse,""" start="00:01:02.860" video="mainVideo-world" id="subtitle"]]
+[[!template text="""we will look at it at the end of the video.""" start="00:01:04.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now let's put up some text,""" start="00:01:07.940" video="mainVideo-world" id="subtitle"]]
+[[!template text="""a typical &quot;Hello World&quot;.""" start="00:01:11.767" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Size, let's do a 20 font size,""" start="00:01:15.067" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and we will use the default font family.""" start="00:01:19.880" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, we will look at undoing what we have drawn.""" start="00:01:32.360" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Just press u for deleting the last drawn object.""" start="00:01:37.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""And you can continue pressing""" start="00:01:43.067" video="mainVideo-world" id="subtitle"]]
+[[!template text="""u for consecutive deletions.""" start="00:01:45.800" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can also make a selection of the objects""" start="00:01:51.960" video="mainVideo-world" id="subtitle"]]
+[[!template text="""on the screen using your mouse and then press u.""" start="00:01:54.533" video="mainVideo-world" id="subtitle"]]
+[[!template text="""This will delete all the objects in one go.""" start="00:01:57.700" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we are looking at stroke color.""" start="00:02:02.600" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will use a brown stroke color""" start="00:02:06.660" video="mainVideo-world" id="subtitle"]]
+[[!template text="""for drawing our objects.""" start="00:02:08.633" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, let's look at stroke width.""" start="00:02:12.880" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will use a width of 5.""" start="00:02:20.420" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, let's fill up the objects with a fill color.""" start="00:02:27.980" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we will look at zoom.""" start="00:02:41.620" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Use the mouse to select a region and zoom.""" start="00:02:47.160" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can also use +, - for zooming in and out.""" start="00:02:50.120" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Press 0 for resetting the zoom.""" start="00:02:54.360" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, let's save the file,""" start="00:03:07.133" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and q or Enter for exiting the canvas-mode.""" start="00:03:14.540" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we will open the file in Emacs itself.""" start="00:03:19.667" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can see the file,""" start="00:03:25.220" video="mainVideo-world" id="subtitle"]]
+[[!template text="""you can do Control-c Control-c (`C-c C-c`).""" start="00:03:26.180" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Finally, we look at ellipse.""" start="00:03:32.000" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks!""" start="00:03:44.420" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will draw""" start="00:03:46.400" video="mainVideo-world" id="subtitle"]]
+[[!template text="""schematics using symbols from SVG library in Emacs.""" start="00:03:48.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Press capital L to activate the symbol library""" start="00:03:52.067" video="mainVideo-world" id="subtitle"]]
+[[!template text="""that you can see on the right hand side,""" start="00:03:55.000" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and place the symbol on the canvas.""" start="00:03:57.867" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's add another register to this diagram.""" start="00:04:01.960" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can press capital R to rotate the symbol.""" start="00:04:06.640" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's place it on the canvas.""" start="00:04:11.820" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we will add a voltage source to the circuit.""" start="00:04:17.240" video="mainVideo-world" id="subtitle"]]
+[[!template text="""To connect the symbols,""" start="00:04:31.667" video="mainVideo-world" id="subtitle"]]
+[[!template text="""we will have to use some connecting wires.""" start="00:04:33.180" video="mainVideo-world" id="subtitle"]]
+[[!template text="""For that, press capital W""" start="00:04:36.967" video="mainVideo-world" id="subtitle"]]
+[[!template text="""to activate the connection mode.""" start="00:04:39.467" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Click anywhere on the canvas""" start="00:04:46.920" video="mainVideo-world" id="subtitle"]]
+[[!template text="""to draw intermediate points, and press Esc""" start="00:04:48.567" video="mainVideo-world" id="subtitle"]]
+[[!template text="""to exit that particular connection.""" start="00:04:53.133" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's connect other symbols too.""" start="00:05:00.033" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:05:16.633" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:05:20.140" video="mainVideo-world" id="subtitle"]]
+[[!template text="""some basic multimedia editing using Emacs.""" start="00:05:22.167" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's start a media-edit session.""" start="00:05:24.933" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's open a video file.""" start="00:05:27.460" video="mainVideo-world" id="subtitle"]]
+[[!template text="""The left-hand side is your viewer area,""" start="00:05:32.000" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and the right-hand side is your track area.""" start="00:05:34.100" video="mainVideo-world" id="subtitle"]]
+[[!template text="""In the track area, you can use normal Emacs""" start="00:05:36.700" video="mainVideo-world" id="subtitle"]]
+[[!template text="""text editing movements.""" start="00:05:39.667" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now press `C-c r` to refresh the viewer mode""" start="00:05:42.040" video="mainVideo-world" id="subtitle"]]
+[[!template text="""with the exact time frame.""" start="00:05:48.167" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now press SPC to play or pause the video.""" start="00:05:52.767" video="mainVideo-world" id="subtitle"]]
+[[!template text="""This looks like an interesting point in the video,""" start="00:05:59.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""let's track it and split it. Press Enter to do that.""" start="00:06:03.233" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will extract some 10 seconds of this video.""" start="00:06:11.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's use this.""" start="00:06:20.733" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now go here and delete all these lines.""" start="00:06:23.233" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's review our edited clip.""" start="00:06:26.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Looks good! Now press e to export the video.""" start="00:06:44.133" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Provide an output file name.""" start="00:06:51.833" video="mainVideo-world" id="subtitle"]]
+[[!template text="""This will use FFmpeg to convert, and you can""" start="00:06:57.560" video="mainVideo-world" id="subtitle"]]
+[[!template text="""output to any file format supported by FFmpeg.""" start="00:07:04.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Okay. Let's open up shell and view this""" start="00:07:16.967" video="mainVideo-world" id="subtitle"]]
+[[!template text="""video file in an external video player.""" start="00:07:21.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:07:57.160" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:08:03.367" video="mainVideo-world" id="subtitle"]]
+[[!template text="""editing a PDF form using GNU Emacs.""" start="00:08:05.567" video="mainVideo-world" id="subtitle"]]
+[[!template text="""To start, we have to enable the annotation.""" start="00:08:09.760" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Then we can use Tab to move forward and Shift+Tab""" start="00:08:13.840" video="mainVideo-world" id="subtitle"]]
+[[!template text="""to move backwards through the fields.""" start="00:08:18.533" video="mainVideo-world" id="subtitle"]]
+[[!template text="""To edit a field, we press e.""" start="00:08:22.480" video="mainVideo-world" id="subtitle"]]
+[[!template text="""So let's edit a text box. We'll call it 'city'.""" start="00:08:25.967" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, we will edit a drop-down.""" start="00:08:33.580" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Again, press e, and you get a select.""" start="00:08:35.840" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Use the Minibuffer to select one of the values.""" start="00:08:38.680" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's select 'France'.""" start="00:08:45.833" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now let's edit a radio box.""" start="00:08:48.500" video="mainVideo-world" id="subtitle"]]
+[[!template text="""A checkbox or a radio box can be toggled using t.""" start="00:08:52.180" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can disableā€¦""" start="00:08:55.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now let's save the file, `doc-view-save-form`.""" start="00:08:58.660" video="mainVideo-world" id="subtitle"]]
+[[!template text="""It will ask for a file name.""" start="00:09:05.140" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's call it `filled1.pdf`. If the file exists,""" start="00:09:08.360" video="mainVideo-world" id="subtitle"]]
+[[!template text="""it will ask you if you want to overwrite.""" start="00:09:13.400" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now let's verify this new file.""" start="00:09:17.260" video="mainVideo-world" id="subtitle"]]
+[[!template text="""In Firefox, we'll copy this file name, call it filled1.""" start="00:09:21.460" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's verify the values.""" start="00:09:27.160" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You have city, France and Driving License selected.""" start="00:09:29.100" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:09:32.620" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:09:34.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""desktop and window management in GNU Emacs.""" start="00:09:37.660" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We'll start with `task-view`.""" start="00:09:40.460" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Top row shows all the desktops,""" start="00:09:47.740" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and rest of the images are the active windows""" start="00:09:50.467" video="mainVideo-world" id="subtitle"]]
+[[!template text="""in that particular desktop.""" start="00:09:54.400" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can tap to select""" start="00:09:59.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and double tap to activate a particular window.""" start="00:10:09.160" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can use m to move selected windows""" start="00:10:13.320" video="mainVideo-world" id="subtitle"]]
+[[!template text="""to any of the desktops at the top.""" start="00:10:16.767" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's check the third desktop.""" start="00:10:25.100" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's bring it back to the second desktop.""" start="00:10:29.320" video="mainVideo-world" id="subtitle"]]
+[[!template text="""The best part,""" start="00:10:49.980" video="mainVideo-world" id="subtitle"]]
+[[!template text="""you can select multiple windows""" start="00:10:51.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and form a group by pressing g.""" start="00:10:54.800" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Then you can select any of the windows""" start="00:10:59.980" video="mainVideo-world" id="subtitle"]]
+[[!template text="""in this group to activate the complete group.""" start="00:11:04.867" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:11:07.640" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:11:10.440" video="mainVideo-world" id="subtitle"]]
+[[!template text="""screen mirroring using GNU Emacs.""" start="00:11:12.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Run `wfd`. Select an interface.""" start="00:11:14.280" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now it will scan for all the available devices""" start="00:11:18.780" video="mainVideo-world" id="subtitle"]]
+[[!template text="""for screen mirroring.""" start="00:11:20.967" video="mainVideo-world" id="subtitle"]]
+[[!template text="""I'll select my TV, which is an LG WebOS TV.""" start="00:11:24.800" video="mainVideo-world" id="subtitle"]]
+[[!template text="""If you don't decline, it will start streaming.""" start="00:11:30.400" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's change some buffer to check the visuals.""" start="00:11:38.720" video="mainVideo-world" id="subtitle"]]
+[[!template text="""To terminate the session, just click on quit.""" start="00:11:45.140" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:11:50.220" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Using Sweep to swipe and type &quot;as you like it.&quot;]""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Formula Editor]""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Typing fractions in the formula]""" start="00:12:39.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Adding brackets and an exponent]""" start="00:12:45.033" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Hindi (Devanagari script) Phonetic typing]""" start="00:12:59.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Phonetic typing Gujarati, Bangla, Kannada, and Tamil]""" start="00:13:05.200" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Browsing Reddit in Emacs]""" start="00:13:09.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Browsing Tumblr in Emacs]""" start="00:13:19.533" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Browsing X (Twitter) in Emacs]""" start="00:13:29.533" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Generating comic from a text script]""" start="00:13:40.000" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Matching color names with color boxes]""" start="00:13:49.567" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Running `xpath-builder` on an XML file]""" start="00:13:59.567" video="mainVideo-world" id="subtitle"]]
+[[!template text="""[Filtering `title`, `para`, and `author` from the XML]""" start="00:14:01.833" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Filtering `father`, `father.name`, `children`""" start="00:14:10.767" video="mainVideo-world" id="subtitle"]]
+[[!template text="""`children[1]` from a JSON using JSON Builder]""" start="00:14:29.200" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:14:35.233" video="mainVideo-world" id="subtitle"]]
+[[!template text="""generating getters and setters in Java using Emacs.""" start="00:14:37.633" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will run `srecode-getset-dialog`.""" start="00:14:41.660" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will get an option to select particular fields,""" start="00:14:46.233" video="mainVideo-world" id="subtitle"]]
+[[!template text="""you can expand and collapse.""" start="00:14:48.767" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can select all or deselect all,""" start="00:14:51.833" video="mainVideo-world" id="subtitle"]]
+[[!template text="""or you can choose any particular getter.""" start="00:14:54.100" video="mainVideo-world" id="subtitle"]]
+[[!template text="""So let's do protected version of this. Here you go.""" start="00:14:56.386" video="mainVideo-world" id="subtitle"]]
+[[!template text="""If you want to generate for other fields,""" start="00:15:02.633" video="mainVideo-world" id="subtitle"]]
+[[!template text="""you can re-run it.""" start="00:15:06.067" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can check the one that you have already""" start="00:15:08.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""generated is not there.""" start="00:15:11.267" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now select all, and you can see rest of the""" start="00:15:13.100" video="mainVideo-world" id="subtitle"]]
+[[!template text="""getters and setters have been generated.""" start="00:15:22.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:15:23.933" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""[Generating C headers using `srecode-gen-header`]""" start="00:15:26.133" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:16:11.640" video="mainVideo-world" id="subtitle"]]
+[[!template text="""renaming method across multiple files in a project.""" start="00:16:13.833" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's start with `semantic-symref-symbol`.""" start="00:16:17.633" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we have the references.""" start="00:16:24.640" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's use the menu to open all these occurrences.""" start="00:16:26.800" video="mainVideo-world" id="subtitle"]]
+[[!template text="""To rename it, we have to use""" start="00:16:35.400" video="mainVideo-world" id="subtitle"]]
+[[!template text="""&quot;Rename Symbol in Open hits.&quot;""" start="00:16:38.433" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's rename it to underscore 1 (`_1`).""" start="00:16:41.920" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will verify it by compiling the project.""" start="00:16:46.440" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's open the `*Messages*` buffer to see the results""" start="00:16:57.720" video="mainVideo-world" id="subtitle"]]
+[[!template text="""more clearly. No errors.""" start="00:17:00.300" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:17:04.167" video="mainVideo-world" id="subtitle"]]
+[[!template new="1" text="""Hello. In this video, we will look at""" start="00:17:07.640" video="mainVideo-world" id="subtitle"]]
+[[!template text="""SQL editing with Semantic.""" start="00:17:09.733" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will define a schema in this SQL document.""" start="00:17:12.440" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's create a table.""" start="00:17:16.620" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We get already existing tables""" start="00:17:27.000" video="mainVideo-world" id="subtitle"]]
+[[!template text="""in the current document.""" start="00:17:30.267" video="mainVideo-world" id="subtitle"]]
+[[!template text="""It also supports auto-completion of some keywords.""" start="00:17:38.533" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we can do some queries on the tables.""" start="00:17:57.033" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We have `SELECT` as the keyword or the SQL,""" start="00:18:00.900" video="mainVideo-world" id="subtitle"]]
+[[!template text="""so we will select the SQL.""" start="00:18:03.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Here we have all the tables existing in this schema.""" start="00:18:06.833" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We can also use an alias for completions.""" start="00:18:13.560" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now let's look at a more complex example.""" start="00:18:25.633" video="mainVideo-world" id="subtitle"]]
+[[!template text="""We will try to do a join on two tables.""" start="00:18:31.267" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's add a `WHERE` clause.""" start="00:18:43.367" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Next, let's do insert.""" start="00:19:06.600" video="mainVideo-world" id="subtitle"]]
+[[!template text="""You can just click on Tab to go to the next field.""" start="00:19:23.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Let's fill in the columns.""" start="00:19:27.967" video="mainVideo-world" id="subtitle"]]
+[[!template text="""And do a Tab to go to the values""" start="00:19:30.700" video="mainVideo-world" id="subtitle"]]
+[[!template text="""and add the corresponding values.""" start="00:19:32.667" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Finally, an update.""" start="00:19:37.000" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Now we will try to delete this""" start="00:19:48.033" video="mainVideo-world" id="subtitle"]]
+[[!template text="""with a `WHERE col11 = 4`.""" start="00:20:00.700" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Lastly, let's try dropping the table.""" start="00:20:07.333" video="mainVideo-world" id="subtitle"]]
+[[!template text="""That's all for this video. Thanks.""" start="00:20:16.267" video="mainVideo-world" id="subtitle"]]
+[[!template text="""Slide with the text &quot;Let's Make Computing Personal.&quot;""" start="00:20:21.867" video="mainVideo-world" id="subtitle"]]
+
+
+
+Captioner: bhavin192
+
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202022%20world%3A%20GNU%20Emacs%3A%20A%20World%20of%20Possibilities)
diff --git a/2023/info/world-before.md b/2023/info/world-before.md
index b4d6e070..63d0d107 100644
--- a/2023/info/world-before.md
+++ b/2023/info/world-before.md
@@ -8,12 +8,32 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03.
Format: 21-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2023/current/bbb-world.html>
Etherpad: <https://pad.emacsconf.org/2023-world>
Discuss on IRC: [#emacsconf-dev](https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev)
-Status: Ready to stream
+Status: Q&A open for participation
<div>Times in different timezones:</div><div class="times" start="2023-12-03T15:35:00Z" end="2023-12-03T15:55:00Z"><div class="conf-time">Sunday, Dec 3 2023, ~10:35 AM - 10:55 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 3 2023, ~9:35 AM - 9:55 AM CST (US/Central)<br />Sunday, Dec 3 2023, ~8:35 AM - 8:55 AM MST (US/Mountain)<br />Sunday, Dec 3 2023, ~7:35 AM - 7:55 AM PST (US/Pacific)<br />Sunday, Dec 3 2023, ~3:35 PM - 3:55 PM UTC <br />Sunday, Dec 3 2023, ~4:35 PM - 4:55 PM CET (Europe/Paris)<br />Sunday, Dec 3 2023, ~5:35 PM - 5:55 PM EET (Europe/Athens)<br />Sunday, Dec 3 2023, ~9:05 PM - 9:25 PM IST (Asia/Kolkata)<br />Sunday, Dec 3 2023, ~11:35 PM - 11:55 PM +08 (Asia/Singapore)<br />Monday, Dec 4 2023, ~12:35 AM - 12:55 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2023/watch/dev/">Find out how to watch and participate</a></strong></div>
+<div class="vid"><video controls preload="none" id="world-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--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="world-mainVideo" data="""
+00:00:00.780 Draw and scribble in GNU Emacs
+03:46.400 SVG Symbols library
+05:20.140 GNU Emacs: A multimedia editor
+08:03.367 Fill PDF form using GNU Emacs
+09:34.900 Desktop and window management in GNU Emacs
+11:10.440 Screen mirroring in GNU Emacs
+11:53.033 Swipe for Text Input in GNU Emacs
+12:25.533 Formula Editor in GNU Emacs
+12:59.433 Transliteration in Emacs
+13:09.433 Social Media client - Tumblr, Reddit
+13:40.000 Comics Builder
+13:49.567 Matching game
+13:59.567 Interactive XPath Builder in GNU Emacs
+14:10.767 Interactive JSON Builder in GNU Emacs
+14:35.233 GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter
+15:26.133 Generate C header
+16:11.640 C Rename symbols
+17:07.640 SQL (offline)
+"""]]<div></div>Duration: 20:31 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-world">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/current/bbb-world.html">Open public Q&A</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--final.webm">Download --final.webm (41MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.opus">Download --main.opus (9.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm">Download --main.webm (66MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--normalized.opus">Download --normalized.opus (7.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--original.mp4">Download --original.mp4 (565MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--reencoded.webm">Download --reencoded.webm (43MB)</a></li><li><a href="https://toobnix.org/w/9NQJPksLzDPJC2AdE34ZgH">View on Toobnix</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/schedule-details.md b/2023/schedule-details.md
index 9328ed1c..acdbb944 100644
--- a/2023/schedule-details.md
+++ b/2023/schedule-details.md
@@ -10,7 +10,7 @@ Jump to: <a href="#date-2023-12-02">Sat Dec 2</a> - <a href="#date-2023-12-03">S
<div class="schedule" data-start="2023-12-02T14:00:00+0000" data-end="2023-12-02T22:30:00+0000" data-tracks="General,Development">
[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2023-sat-open">Etherpad</a>""" pad="""https://pad.emacsconf.org/2023-sat-open""" startutc="""2023-12-02T14:00:00+0000""" endutc="""2023-12-02T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Saturday opening remarks""" url="""/2023/talks/sat-open""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""sat-open""" note="""captioned, video posted"""]]
-[[!template id=sched time="""10""" q-and-a="""none""" pad="""https://pad.emacsconf.org/2023-adventure""" startutc="""2023-12-02T14:10:00+0000""" endutc="""2023-12-02T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp""" url="""/2023/talks/adventure""" speakers="""Chung-hong Chan""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""adventure""" note="""captioned, video posted"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2023-adventure">Etherpad</a>""" pad="""https://pad.emacsconf.org/2023-adventure""" startutc="""2023-12-02T14:10:00+0000""" endutc="""2023-12-02T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp""" url="""/2023/talks/adventure""" speakers="""Chung-hong Chan""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""adventure""" note="""captioned, video posted"""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-uni.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-uni""" startutc="""2023-12-02T14:30:00+0000""" endutc="""2023-12-02T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Authoring and presenting university courses with Emacs and a full libre software stack""" url="""/2023/talks/uni""" speakers="""James Howell""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""uni""" note="""captioned, video posted"""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2023-matplotllm">Etherpad</a>""" pad="""https://pad.emacsconf.org/2023-matplotllm""" startutc="""2023-12-02T15:00:00+0000""" endutc="""2023-12-02T15:10:00+0000""" start="""10:00""" end="""10:10""" title="""MatplotLLM, iterative natural language data visualization in org-babel""" url="""/2023/talks/matplotllm""" speakers="""Abhinav Tushar""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""matplotllm""" note="""captioned, video posted"""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-teaching.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-teaching""" startutc="""2023-12-02T15:05:00+0000""" endutc="""2023-12-02T15:25:00+0000""" start="""10:05""" end="""10:25""" title="""Teaching computer and data science with literate programming tools""" url="""/2023/talks/teaching""" speakers="""Marcus Birkenkrahe""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""teaching""" note="""captioned, video posted"""]]
@@ -43,8 +43,8 @@ Jump to: <a href="#date-2023-12-02">Sat Dec 2</a> - <a href="#date-2023-12-03">S
[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen</a>""" pad="""https://pad.emacsconf.org/2023-koutline""" startutc="""2023-12-03T14:40:00+0000""" endutc="""2023-12-03T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Using Koutline for stream of thought journaling""" url="""/2023/talks/koutline""" speakers="""Matthew Jorgensen (PlasmaStrike)""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""koutline""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-scheme.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-scheme""" startutc="""2023-12-03T15:00:00+0000""" endutc="""2023-12-03T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Bringing joy to Scheme programming""" url="""/2023/talks/scheme""" speakers="""Andrew Tropin""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""scheme""" note="""captioned, video posted"""]]
[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-parallel.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-parallel""" startutc="""2023-12-03T15:10:00+0000""" endutc="""2023-12-03T15:25:00+0000""" start="""10:10""" end="""10:25""" title="""Parallel text replacement""" url="""/2023/talks/parallel""" speakers="""Lovro, Valentino Picotti""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""parallel""" note="""video posted"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-eat.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-eat""" startutc="""2023-12-03T15:35:00+0000""" endutc="""2023-12-03T15:45:00+0000""" start="""10:35""" end="""10:45""" title="""Eat and Eat powered Eshell, fast featureful terminal inside Emacs""" url="""/2023/talks/eat""" speakers="""Akib Azmain Turja""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""eat""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-world.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-world""" startutc="""2023-12-03T15:35:00+0000""" endutc="""2023-12-03T15:55:00+0000""" start="""10:35""" end="""10:55""" title="""GNU Emacs: A World of Possibilities""" url="""/2023/talks/world""" speakers="""Anand Tamariya""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""world""" note="""captioned"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-eat.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-eat""" startutc="""2023-12-03T15:35:00+0000""" endutc="""2023-12-03T15:45:00+0000""" start="""10:35""" end="""10:45""" title="""Eat and Eat powered Eshell, fast featureful terminal inside Emacs""" url="""/2023/talks/eat""" speakers="""Akib Azmain Turja""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""eat""" note="""video posted"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-world.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-world""" startutc="""2023-12-03T15:35:00+0000""" endutc="""2023-12-03T15:55:00+0000""" start="""10:35""" end="""10:55""" title="""GNU Emacs: A World of Possibilities""" url="""/2023/talks/world""" speakers="""Anand Tamariya""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""world""" note="""captioned, video posted"""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-poltys.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-poltys""" startutc="""2023-12-03T16:00:00+0000""" endutc="""2023-12-03T16:20:00+0000""" start="""11:00""" end="""11:20""" title="""The browser in a buffer""" url="""/2023/talks/poltys""" speakers="""Michael Bauer""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""poltys""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2023/current/bbb-flat.html">BBB</a>""" pad="""https://pad.emacsconf.org/2023-flat""" startutc="""2023-12-03T16:10:00+0000""" endutc="""2023-12-03T16:20:00+0000""" start="""11:10""" end="""11:20""" title="""A modern Emacs look-and-feel without pain""" url="""/2023/talks/flat""" speakers="""Pedro A. Aranda""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""flat""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: wasamasa</a>""" pad="""https://pad.emacsconf.org/2023-cubing""" startutc="""2023-12-03T16:35:00+0000""" endutc="""2023-12-03T16:55:00+0000""" start="""11:35""" end="""11:55""" title="""Speedcubing in Emacs""" url="""/2023/talks/cubing""" speakers="""wasamasa""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""cubing""" note="""captioned"""]]