summaryrefslogtreecommitdiffstats
path: root/2023
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt649
-rw-r--r--2023/info/table-after.md218
-rw-r--r--2023/info/table-before.md4
3 files changed, 869 insertions, 2 deletions
diff --git a/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt b/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt
new file mode 100644
index 00000000..c2a49049
--- /dev/null
+++ b/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt
@@ -0,0 +1,649 @@
+WEBVTT captioned by daniel molina, checked by sachac
+
+NOTE Introduction
+
+00:00:01.360 --> 00:00:03.079
+Welcome everybody. My name is Daniel Molina
+
+00:00:03.080 --> 00:00:05.060
+and I'm going to give this talk
+
+00:00:05.061 --> 00:00:08.063
+"Who needs Excel? Managing your students' qualifications
+
+00:00:08.064 --> 00:00:08.959
+with Org-table".
+
+00:00:08.960 --> 00:00:10.559
+I'm a professor. I work every day.
+
+00:00:10.560 --> 00:00:12.519
+I have to qualify my students.
+
+00:00:12.520 --> 00:00:15.079
+While most would consider normal in this situation,
+
+00:00:15.080 --> 00:00:17.719
+would be to use Excel or LibreOffice
+
+00:00:17.720 --> 00:00:18.599
+for doing that.
+
+00:00:18.600 --> 00:00:21.179
+However, I think that approaching it from Emacs
+
+00:00:21.180 --> 00:00:24.479
+has several interesting advantages.
+
+00:00:24.480 --> 00:00:27.659
+First, I would like to write the qualification
+
+00:00:27.660 --> 00:00:33.599
+next to the justification, next to the student error,
+
+00:00:33.600 --> 00:00:36.639
+and in the Excel format, it's not comfortable to do that.
+
+00:00:36.640 --> 00:00:38.839
+Actually, I always prefer to write in Emacs
+
+00:00:38.840 --> 00:00:42.719
+for many reasons, as many of you.
+
+00:00:42.720 --> 00:00:46.679
+Also, I love text format because I can compare versions
+
+00:00:46.680 --> 00:00:50.279
+using a control version system like Git and easily change.
+
+00:00:50.280 --> 00:00:52.759
+This is very useful for the revision period
+
+00:00:52.760 --> 00:00:55.479
+in which a student visits me
+
+00:00:55.480 --> 00:01:01.039
+and maybe I can change the qualification for any reason.
+
+00:01:01.040 --> 00:01:03.439
+I also can export the results directly to PDF
+
+00:01:03.440 --> 00:01:08.679
+to publish them in my online campus for the student.
+
+00:01:08.680 --> 00:01:11.359
+I have many tools for doing that.
+
+00:01:11.360 --> 00:01:13.199
+I already knew about Org-table formula.
+
+00:01:13.200 --> 00:01:15.199
+I thought it was very cool and useful
+
+00:01:15.200 --> 00:01:16.159
+to use Emacs for that,
+
+00:01:16.160 --> 00:01:19.239
+and I have actually found a package `orgtbl-aggregate`
+
+00:01:19.240 --> 00:01:22.859
+that seemed adequate for doing that.
+
+00:01:22.860 --> 00:01:26.319
+Unfortunately, I didn't see a lot of information
+
+00:01:26.320 --> 00:01:29.159
+about how to do that in a painless way.
+
+00:01:29.160 --> 00:01:31.759
+So, I have to learn, training and testing,
+
+00:01:31.760 --> 00:01:34.999
+and then prepare these tools to solve that problem
+
+00:01:35.000 --> 00:01:36.639
+and to help other teachers.
+
+00:01:36.640 --> 00:01:39.959
+Anyway, it could be used not only for teaching
+
+00:01:39.960 --> 00:01:41.959
+but for more contexts.
+
+NOTE Demonstration
+
+00:01:41.960 --> 00:01:44.799
+Well, let's start.
+
+00:01:44.800 --> 00:01:46.459
+First, I have two sections,
+
+00:01:46.460 --> 00:01:53.399
+the comments and the section of the table, or results.
+
+00:01:53.400 --> 00:01:56.479
+I have... The comment for each student
+
+00:01:56.480 --> 00:01:57.559
+is in a different headline.
+
+00:01:57.560 --> 00:02:05.439
+It's very useful to check with a note.
+
+00:02:05.440 --> 00:02:10.159
+I can go directly using your helm or ivy
+
+00:02:10.160 --> 00:02:12.999
+or consult to go directly to the section.
+
+00:02:13.000 --> 00:02:14.559
+So it's very nice.
+
+00:02:14.560 --> 00:02:22.879
+Then I put the comment, right, completely wrong,
+
+00:02:22.880 --> 00:02:30.599
+it answers other questions.
+
+00:02:30.600 --> 00:02:35.839
+I put other comments here that I could send to the student,
+
+00:02:35.840 --> 00:02:37.480
+you can imagine, and then
+
+00:02:37.481 --> 00:02:40.159
+I can put the qualification, the score for each student.
+
+00:02:40.160 --> 00:02:43.159
+The thing with that is, initially,
+
+00:02:43.160 --> 00:02:46.219
+when I started doing that, I put, I don't know,
+
+00:02:46.220 --> 00:02:50.719
+the exception and a qualification with that.
+
+00:02:50.720 --> 00:02:55.679
+Okay, that's one point, this a three,
+
+00:02:55.680 --> 00:03:06.679
+and use a column total with something like that.
+
+00:03:06.680 --> 00:03:08.319
+Okay, that's nice.
+
+NOTE Range
+
+00:03:08.320 --> 00:03:11.639
+But then, when I started getting more and more parts,
+
+00:03:11.640 --> 00:03:17.081
+I considered it more useful to use,
+
+00:03:17.082 --> 00:03:20.699
+to put for each part,
+
+00:03:20.700 --> 00:03:20.700
+which is the maximum qualification,
+
+00:03:20.300 --> 00:03:22.919
+on the range of the qualification.
+
+00:03:22.920 --> 00:03:25.559
+In that case, I'm going to put,
+
+00:03:25.560 --> 00:03:28.679
+the first one is two scores, the second three points,
+
+00:03:28.680 --> 00:03:34.999
+the third one is one point, and the last one, four points.
+
+00:03:35.000 --> 00:03:37.799
+And instead of putting that in that way,
+
+00:03:37.800 --> 00:03:41.027
+I like to put one is completely right,
+
+00:03:41.028 --> 00:03:47.319
+zero is completely wrong, or maybe some intermediate values for that.
+
+00:03:47.320 --> 00:03:50.999
+Of course, I have to change the qualification,
+
+00:03:51.000 --> 00:03:54.439
+the formula, so it's very simple.
+
+00:03:54.440 --> 00:03:56.479
+I only have to put,
+
+00:03:56.480 --> 00:04:08.299
+multiply the values of the second line with that.
+
+00:04:08.300 --> 00:04:11.899
+So, it's very useful for doing that.
+
+NOTE More qualifications
+
+00:04:11.900 --> 00:04:16.639
+Okay, that's the first part, so I can put the comment,
+
+00:04:16.640 --> 00:04:19.959
+I can go to the section, I can create...
+
+00:04:19.960 --> 00:04:24.919
+I'm going to put more qualifications.
+
+00:04:24.920 --> 00:04:27.639
+Now I'm going to put the table.
+
+00:04:27.640 --> 00:04:30.459
+First I'm going to change, rename the column name,
+
+00:04:30.460 --> 00:04:39.039
+because it's easier when there is only one word.
+
+00:04:39.040 --> 00:04:47.159
+And it's very simple to use. You only have to put
+
+00:04:47.160 --> 00:04:51.439
+the name, aggregate, the name of the table,
+
+00:04:51.440 --> 00:04:54.659
+in that case group A,
+
+00:04:54.660 --> 00:04:57.199
+and in another string, the columns.
+
+00:04:57.200 --> 00:05:03.799
+For instance, name, surname, total.
+
+00:05:03.800 --> 00:05:07.439
+And you can see that you can get a lesson list
+
+00:05:07.440 --> 00:05:09.119
+with all the students,
+
+00:05:09.120 --> 00:05:16.759
+but only with the final score to publish them.
+
+00:05:16.760 --> 00:05:17.679
+Okay?
+
+00:05:17.680 --> 00:05:20.679
+Even you can update the name of the column,
+
+00:05:20.680 --> 00:05:21.800
+not in the original table,
+
+00:05:21.801 --> 00:05:29.559
+but in the lesson table using that format.
+
+00:05:29.560 --> 00:05:32.099
+Okay?
+
+00:05:32.100 --> 00:05:34.239
+That is a good option.
+
+NOTE Subsets
+
+00:05:34.240 --> 00:05:38.499
+Now we are going to see how can we use that
+
+00:05:38.500 --> 00:05:44.359
+to make a subset of the students.
+
+00:05:44.360 --> 00:05:47.839
+For instance, imagine, this is me,
+
+00:05:47.840 --> 00:05:54.799
+I'm going to put the bad, I change, now I can update,
+
+00:05:54.800 --> 00:06:02.759
+you can see this, but also I'm going to put a list
+
+00:06:02.760 --> 00:06:10.960
+with the students that have failed the exam.
+
+00:06:10.961 --> 00:06:21.259
+It's simple, because this package has the option `:cond`.
+
+00:06:21.260 --> 00:06:26.199
+I'm going to put first to see it better,
+
+00:06:26.200 --> 00:06:28.599
+I'm going to put a condition
+
+00:06:28.600 --> 00:06:37.519
+in which we aggregate less than a half, 5,
+
+00:06:37.520 --> 00:06:44.179
+and I have to use a `string-to-number` total.
+
+00:06:44.180 --> 00:06:47.259
+In that way, I can see that this is the student
+
+00:06:47.260 --> 00:06:48.839
+that has failed the exam,
+
+00:06:48.840 --> 00:06:54.079
+I could use that to make another table,
+
+00:06:54.080 --> 00:07:08.299
+this is the people that passed the exam.
+
+NOTE Sorting
+
+00:07:08.300 --> 00:07:10.980
+Another interesting feature is that
+
+00:07:10.981 --> 00:07:15.620
+I can... the lesson table can be sorted automatically.
+
+00:07:15.621 --> 00:07:20.100
+It's simple. You only have to put this symbol (`^`),
+
+00:07:20.101 --> 00:07:23.360
+and you can put next to the column you want
+
+00:07:23.361 --> 00:07:26.999
+to use for the sort, and then you can put
+
+00:07:27.000 --> 00:07:30.679
+`a` if you want to sort alphabetically,
+
+00:07:30.680 --> 00:07:33.879
+in uppercase if you want to reverse the sort,
+
+00:07:33.880 --> 00:07:38.919
+and `n` if you want to sort numerically.
+
+00:07:38.920 --> 00:07:40.759
+For instance, I can put that
+
+00:07:40.760 --> 00:07:43.959
+from the lesser score to the best score,
+
+00:07:43.960 --> 00:07:46.639
+or here from the best score to the lesser score.
+
+00:07:46.640 --> 00:07:48.960
+And this sort is completely independent
+
+00:07:48.961 --> 00:07:51.640
+to the sort of the original table.
+
+NOTE New table
+
+00:07:51.641 --> 00:07:54.520
+Now I'm going to do another different thing,
+
+00:07:54.521 --> 00:08:02.799
+we are going to put a new table,
+
+00:08:02.800 --> 00:08:07.559
+I'm going to put a new table
+
+00:08:07.560 --> 00:08:09.639
+in which I'm going to put
+
+00:08:09.640 --> 00:08:14.319
+the number of passed students, failed students
+
+00:08:14.320 --> 00:08:16.519
+and the ratio of students. It's simple.
+
+00:08:16.520 --> 00:08:26.559
+I'm going to put the pass, in that case, as column,
+
+00:08:26.560 --> 00:08:32.919
+I can put the count, of course, I can put the count,
+
+00:08:32.920 --> 00:08:35.799
+the number of students
+
+00:08:35.800 --> 00:08:42.079
+that have passed, so I'm going to put in that way, ok?
+
+00:08:42.080 --> 00:08:58.479
+I'm going to put pass, count, failed, ratio.
+
+00:08:58.480 --> 00:08:59.739
+You can see, ok?
+
+00:08:59.740 --> 00:09:01.859
+But this only the count,
+
+00:09:01.860 --> 00:09:04.519
+you are going to put the number wrong.
+
+00:09:04.520 --> 00:09:08.359
+So, it's true, but you can actually put formula here.
+
+00:09:08.360 --> 00:09:10.079
+For instance, you can say,
+
+00:09:10.080 --> 00:09:12.399
+I know that I have 3 students,
+
+00:09:12.400 --> 00:09:18.799
+so the number of failed is 3 minus the passed student.
+
+00:09:18.800 --> 00:09:24.959
+And also, I can put the formula, is the people,
+
+00:09:24.960 --> 00:09:27.719
+the students that passed,
+
+00:09:27.720 --> 00:09:36.079
+divide into the number total of students, ok?
+
+00:09:36.080 --> 00:09:41.379
+Let's go to put that in that way,
+
+00:09:41.380 --> 00:09:44.399
+is the people that passed, it is better in that way,
+
+00:09:44.400 --> 00:09:48.359
+and also I can put directly the number of,
+
+00:09:48.360 --> 00:09:50.919
+the ratio of students.
+
+00:09:50.920 --> 00:09:55.739
+So, in that way, I can have a table
+
+00:09:55.740 --> 00:09:57.519
+with the students that passed,
+
+00:09:57.520 --> 00:09:58.559
+the students that failed
+
+00:09:58.560 --> 00:10:01.279
+and the ratio of people that passed.
+
+NOTE Statistics
+
+00:10:01.280 --> 00:10:04.819
+Sometimes this type of qualification will be useful for me,
+
+00:10:04.820 --> 00:10:08.079
+to see how much has been the sound,
+
+00:10:08.080 --> 00:10:12.239
+how much good has been the exercise.
+
+00:10:12.240 --> 00:10:14.879
+Now, I'm going to put a new table.
+
+00:10:14.880 --> 00:10:22.421
+This new table is going to go some statistics,
+
+00:10:22.422 --> 00:10:32.379
+`statistics_score`, `begin: aggregate :table "final"`.
+
+00:10:32.380 --> 00:10:43.919
+In this case, I'm going to use not the original table,
+
+00:10:43.920 --> 00:10:54.019
+but a final, I'm going to put `final_group`,
+
+00:10:54.020 --> 00:11:01.399
+`final_p1`, `final_p2`, ok?
+
+00:11:01.400 --> 00:11:06.119
+And as `:cols`, I'm going to put directly
+
+00:11:06.120 --> 00:11:13.579
+how many results I have, I put number,
+
+00:11:13.580 --> 00:11:19.199
+I'm going to put also the mean.
+
+00:11:19.200 --> 00:11:21.400
+You can see that mean total is not working
+
+00:11:21.401 --> 00:11:24.519
+because I'm using this table and I renamed,
+
+00:11:24.520 --> 00:11:26.079
+the column name was renamed,
+
+00:11:26.080 --> 00:11:36.679
+so it's `mean(Score)`, mean,
+
+00:11:36.680 --> 00:12:05.919
+and then the score. You can obtain `stdiv` -- `sdev`,
+
+00:12:05.920 --> 00:12:08.959
+sorry, there was an error about that,
+
+00:12:08.960 --> 00:12:12.639
+and two decimal,
+
+00:12:12.640 --> 00:12:17.799
+and that is another interesting score.
+
+NOTE Combining
+
+00:12:17.800 --> 00:12:23.239
+Now, I'm going to finish showing how we can use.
+
+00:12:23.240 --> 00:12:25.839
+To finish it, we are going to see
+
+00:12:25.840 --> 00:12:28.299
+how we can combine several tables
+
+00:12:28.300 --> 00:12:32.479
+or even an aggregated table in a new table.
+
+00:12:32.480 --> 00:12:36.259
+For instance, you can have a table for the practice 1,
+
+00:12:36.260 --> 00:12:38.199
+you can have a table for the practice 2,
+
+00:12:38.200 --> 00:12:40.359
+so I'm going to do that.
+
+00:12:40.360 --> 00:12:48.180
+I'm going to move this table. You can copy or remove,
+
+00:12:48.181 --> 00:12:49.759
+doesn't matter the order,
+
+00:12:49.760 --> 00:12:59.519
+I'm going to put this to identify the result of practice 2,
+
+00:12:59.520 --> 00:13:03.321
+Org create an ID (`org-id-get-create`),
+
+00:13:03.322 --> 00:13:07.479
+then we have a previous result,
+
+00:13:07.480 --> 00:13:10.199
+and I have a final table.
+
+00:13:10.200 --> 00:13:11.839
+The final table could be complicated,
+
+00:13:11.840 --> 00:13:17.439
+but it's not so much complicated, it's only that,
+
+00:13:17.440 --> 00:13:21.959
+I'm going to put something that the formula wants.
+
+00:13:21.960 --> 00:13:26.588
+The formula is to make
+
+00:13:26.589 --> 00:13:34.400
+an `org-lookup-first` of the second name,
+
+00:13:34.401 --> 00:13:41.540
+considering that it's unique,
+
+00:13:41.541 --> 00:13:53.439
+`remote` of the surname,
+
+00:13:53.440 --> 00:14:05.559
+and let's say another `remote` of the `$3` element,
+
+00:14:05.560 --> 00:14:15.119
+ok, that's an error because I don't put yet the ID,
+
+00:14:15.120 --> 00:14:19.759
+so I'm going to copy -- mark and copy --
+
+00:14:19.760 --> 00:14:28.519
+and paste the unique ID generated,
+
+00:14:28.520 --> 00:14:38.519
+I'm going to put that... I think there is missing one.
+
+00:14:38.520 --> 00:14:43.399
+Finally. Okay, that's right.
+
+00:14:43.400 --> 00:14:49.579
+So imagine that I change something here, for instance,
+
+00:14:49.580 --> 00:14:56.700
+I put... I change that,
+
+00:14:56.701 --> 00:15:02.199
+actually, this is changed also, and this is changed.
+
+00:15:02.200 --> 00:15:08.599
+This is a good way to divide the classification
+
+00:15:08.600 --> 00:15:10.200
+in several files, one for the practice 1,
+
+00:15:10.201 --> 00:15:15.039
+one for the practice 2, and one final practice
+
+00:15:15.040 --> 00:15:27.639
+that I can finally export in a final table.
+
+00:15:27.640 --> 00:15:31.119
+Of course you can make it a lot more pretty,
+
+00:15:31.120 --> 00:15:33.359
+but this is all I want to show you.
+
+00:15:33.360 --> 00:15:34.799
+I hope with this talk
+
+00:15:34.800 --> 00:15:37.679
+you have learned a lot more about Org formula,
+
+00:15:37.680 --> 00:15:39.688
+[orgtbl-aggregate] package,
+
+00:15:39.689 --> 00:15:42.279
+and how you can use all this techniques
+
+00:15:42.280 --> 00:15:45.599
+to improve your qualification of a student,
+
+00:15:45.600 --> 00:15:50.480
+or for whatever you want.
diff --git a/2023/info/table-after.md b/2023/info/table-after.md
index a6649256..050b05c6 100644
--- a/2023/info/table-after.md
+++ b/2023/info/table-after.md
@@ -1,6 +1,224 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
+<a name="table-mainVideo-transcript"></a>
+# Transcript
+
+[[!template text="""Welcome everybody. My name is Daniel Molina""" start="00:00:01.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and I'm going to give this talk""" start="00:00:03.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""&quot;Who needs Excel? Managing your students' qualifications""" start="00:00:05.061" video="mainVideo-table" id="subtitle"]]
+[[!template text="""with Org-table&quot;.""" start="00:00:08.064" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm a professor. I work every day.""" start="00:00:08.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I have to qualify my students.""" start="00:00:10.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""While most would consider normal in this situation,""" start="00:00:12.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""would be to use Excel or LibreOffice""" start="00:00:15.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""for doing that.""" start="00:00:17.720" video="mainVideo-table" id="subtitle"]]
+[[!template text="""However, I think that approaching it from Emacs""" start="00:00:18.600" video="mainVideo-table" id="subtitle"]]
+[[!template text="""has several interesting advantages.""" start="00:00:21.180" video="mainVideo-table" id="subtitle"]]
+[[!template text="""First, I would like to write the qualification""" start="00:00:24.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""next to the justification, next to the student error,""" start="00:00:27.660" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and in the Excel format, it's not comfortable to do that.""" start="00:00:33.600" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Actually, I always prefer to write in Emacs""" start="00:00:36.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""for many reasons, as many of you.""" start="00:00:38.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Also, I love text format because I can compare versions""" start="00:00:42.720" video="mainVideo-table" id="subtitle"]]
+[[!template text="""using a control version system like Git and easily change.""" start="00:00:46.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""This is very useful for the revision period""" start="00:00:50.280" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in which a student visits me""" start="00:00:52.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and maybe I can change the qualification for any reason.""" start="00:00:55.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I also can export the results directly to PDF""" start="00:01:01.040" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to publish them in my online campus for the student.""" start="00:01:03.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I have many tools for doing that.""" start="00:01:08.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I already knew about Org-table formula.""" start="00:01:11.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I thought it was very cool and useful""" start="00:01:13.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to use Emacs for that,""" start="00:01:15.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and I have actually found a package `orgtbl-aggregate`""" start="00:01:16.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""that seemed adequate for doing that.""" start="00:01:19.240" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Unfortunately, I didn't see a lot of information""" start="00:01:22.860" video="mainVideo-table" id="subtitle"]]
+[[!template text="""about how to do that in a painless way.""" start="00:01:26.320" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So, I have to learn, training and testing,""" start="00:01:29.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and then prepare these tools to solve that problem""" start="00:01:31.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and to help other teachers.""" start="00:01:35.000" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Anyway, it could be used not only for teaching""" start="00:01:36.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but for more contexts.""" start="00:01:39.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Well, let's start.""" start="00:01:41.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""First, I have two sections,""" start="00:01:44.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the comments and the section of the table, or results.""" start="00:01:46.460" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I have... The comment for each student""" start="00:01:53.400" video="mainVideo-table" id="subtitle"]]
+[[!template text="""is in a different headline.""" start="00:01:56.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""It's very useful to check with a note.""" start="00:01:57.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I can go directly using your helm or ivy""" start="00:02:05.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""or consult to go directly to the section.""" start="00:02:10.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So it's very nice.""" start="00:02:13.000" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Then I put the comment, right, completely wrong,""" start="00:02:14.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""it answers other questions.""" start="00:02:22.880" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I put other comments here that I could send to the student,""" start="00:02:30.600" video="mainVideo-table" id="subtitle"]]
+[[!template text="""you can imagine, and then""" start="00:02:35.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I can put the qualification, the score for each student.""" start="00:02:37.481" video="mainVideo-table" id="subtitle"]]
+[[!template text="""The thing with that is, initially,""" start="00:02:40.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""when I started doing that, I put, I don't know,""" start="00:02:43.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the exception and a qualification with that.""" start="00:02:46.220" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Okay, that's one point, this a three,""" start="00:02:50.720" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and use a column total with something like that.""" start="00:02:55.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Okay, that's nice.""" start="00:03:06.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""But then, when I started getting more and more parts,""" start="00:03:08.320" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I considered it more useful to use,""" start="00:03:11.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to put for each part,""" start="00:03:17.082" video="mainVideo-table" id="subtitle"]]
+[[!template text="""which is the maximum qualification,""" start="00:03:20.700" video="mainVideo-table" id="subtitle"]]
+[[!template text="""on the range of the qualification.""" start="00:03:20.300" video="mainVideo-table" id="subtitle"]]
+[[!template text="""In that case, I'm going to put,""" start="00:03:22.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the first one is two scores, the second three points,""" start="00:03:25.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the third one is one point, and the last one, four points.""" start="00:03:28.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And instead of putting that in that way,""" start="00:03:35.000" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I like to put one is completely right,""" start="00:03:37.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""zero is completely wrong, or maybe some intermediate values for that.""" start="00:03:41.028" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Of course, I have to change the qualification,""" start="00:03:47.320" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the formula, so it's very simple.""" start="00:03:51.000" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I only have to put,""" start="00:03:54.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""multiply the values of the second line with that.""" start="00:03:56.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So, it's very useful for doing that.""" start="00:04:08.300" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Okay, that's the first part, so I can put the comment,""" start="00:04:11.900" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I can go to the section, I can create...""" start="00:04:16.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put more qualifications.""" start="00:04:19.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Now I'm going to put the table.""" start="00:04:24.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""First I'm going to change, rename the column name,""" start="00:04:27.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""because it's easier when there is only one word.""" start="00:04:30.460" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And it's very simple to use. You only have to put""" start="00:04:39.040" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the name, aggregate, the name of the table,""" start="00:04:47.160" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in that case group A,""" start="00:04:51.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and in another string, the columns.""" start="00:04:54.660" video="mainVideo-table" id="subtitle"]]
+[[!template text="""For instance, name, surname, total.""" start="00:04:57.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And you can see that you can get a lesson list""" start="00:05:03.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""with all the students,""" start="00:05:07.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but only with the final score to publish them.""" start="00:05:09.120" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Okay?""" start="00:05:16.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Even you can update the name of the column,""" start="00:05:17.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""not in the original table,""" start="00:05:20.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but in the lesson table using that format.""" start="00:05:21.801" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Okay?""" start="00:05:29.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""That is a good option.""" start="00:05:32.100" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Now we are going to see how can we use that""" start="00:05:34.240" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to make a subset of the students.""" start="00:05:38.500" video="mainVideo-table" id="subtitle"]]
+[[!template text="""For instance, imagine, this is me,""" start="00:05:44.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put the bad, I change, now I can update,""" start="00:05:47.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""you can see this, but also I'm going to put a list""" start="00:05:54.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""with the students that have failed the exam.""" start="00:06:02.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""It's simple, because this package has the option `:cond`.""" start="00:06:10.961" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put first to see it better,""" start="00:06:21.260" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put a condition""" start="00:06:26.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in which we aggregate less than a half, 5,""" start="00:06:28.600" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and I have to use a `string-to-number` total.""" start="00:06:37.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""In that way, I can see that this is the student""" start="00:06:44.180" video="mainVideo-table" id="subtitle"]]
+[[!template text="""that has failed the exam,""" start="00:06:47.260" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I could use that to make another table,""" start="00:06:48.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""this is the people that passed the exam.""" start="00:06:54.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Another interesting feature is that""" start="00:07:08.300" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I can... the lesson table can be sorted automatically.""" start="00:07:10.981" video="mainVideo-table" id="subtitle"]]
+[[!template text="""It's simple. You only have to put this symbol (`^`),""" start="00:07:15.621" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and you can put next to the column you want""" start="00:07:20.101" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to use for the sort, and then you can put""" start="00:07:23.361" video="mainVideo-table" id="subtitle"]]
+[[!template text="""`a` if you want to sort alphabetically,""" start="00:07:27.000" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in uppercase if you want to reverse the sort,""" start="00:07:30.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and `n` if you want to sort numerically.""" start="00:07:33.880" video="mainVideo-table" id="subtitle"]]
+[[!template text="""For instance, I can put that""" start="00:07:38.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""from the lesser score to the best score,""" start="00:07:40.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""or here from the best score to the lesser score.""" start="00:07:43.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And this sort is completely independent""" start="00:07:46.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to the sort of the original table.""" start="00:07:48.961" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Now I'm going to do another different thing,""" start="00:07:51.641" video="mainVideo-table" id="subtitle"]]
+[[!template text="""we are going to put a new table,""" start="00:07:54.521" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put a new table""" start="00:08:02.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in which I'm going to put""" start="00:08:07.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the number of passed students, failed students""" start="00:08:09.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and the ratio of students. It's simple.""" start="00:08:14.320" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put the pass, in that case, as column,""" start="00:08:16.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I can put the count, of course, I can put the count,""" start="00:08:26.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the number of students""" start="00:08:32.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""that have passed, so I'm going to put in that way, ok?""" start="00:08:35.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put pass, count, failed, ratio.""" start="00:08:42.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""You can see, ok?""" start="00:08:58.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""But this only the count,""" start="00:08:59.740" video="mainVideo-table" id="subtitle"]]
+[[!template text="""you are going to put the number wrong.""" start="00:09:01.860" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So, it's true, but you can actually put formula here.""" start="00:09:04.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""For instance, you can say,""" start="00:09:08.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I know that I have 3 students,""" start="00:09:10.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""so the number of failed is 3 minus the passed student.""" start="00:09:12.400" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And also, I can put the formula, is the people,""" start="00:09:18.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the students that passed,""" start="00:09:24.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""divide into the number total of students, ok?""" start="00:09:27.720" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Let's go to put that in that way,""" start="00:09:36.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""is the people that passed, it is better in that way,""" start="00:09:41.380" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and also I can put directly the number of,""" start="00:09:44.400" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the ratio of students.""" start="00:09:48.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So, in that way, I can have a table""" start="00:09:50.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""with the students that passed,""" start="00:09:55.740" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the students that failed""" start="00:09:57.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and the ratio of people that passed.""" start="00:09:58.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Sometimes this type of qualification will be useful for me,""" start="00:10:01.280" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to see how much has been the sound,""" start="00:10:04.820" video="mainVideo-table" id="subtitle"]]
+[[!template text="""how much good has been the exercise.""" start="00:10:08.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Now, I'm going to put a new table.""" start="00:10:12.240" video="mainVideo-table" id="subtitle"]]
+[[!template text="""This new table is going to go some statistics,""" start="00:10:14.880" video="mainVideo-table" id="subtitle"]]
+[[!template text="""`statistics_score`, `begin: aggregate :table &quot;final&quot;`.""" start="00:10:22.422" video="mainVideo-table" id="subtitle"]]
+[[!template text="""In this case, I'm going to use not the original table,""" start="00:10:32.380" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but a final, I'm going to put `final_group`,""" start="00:10:43.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""`final_p1`, `final_p2`, ok?""" start="00:10:54.020" video="mainVideo-table" id="subtitle"]]
+[[!template text="""And as `:cols`, I'm going to put directly""" start="00:11:01.400" video="mainVideo-table" id="subtitle"]]
+[[!template text="""how many results I have, I put number,""" start="00:11:06.120" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put also the mean.""" start="00:11:13.580" video="mainVideo-table" id="subtitle"]]
+[[!template text="""You can see that mean total is not working""" start="00:11:19.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""because I'm using this table and I renamed,""" start="00:11:21.401" video="mainVideo-table" id="subtitle"]]
+[[!template text="""the column name was renamed,""" start="00:11:24.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""so it's `mean(Score)`, mean,""" start="00:11:26.080" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and then the score. You can obtain `stdiv` -- `sdev`,""" start="00:11:36.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""sorry, there was an error about that,""" start="00:12:05.920" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and two decimal,""" start="00:12:08.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and that is another interesting score.""" start="00:12:12.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Now, I'm going to finish showing how we can use.""" start="00:12:17.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""To finish it, we are going to see""" start="00:12:23.240" video="mainVideo-table" id="subtitle"]]
+[[!template text="""how we can combine several tables""" start="00:12:25.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""or even an aggregated table in a new table.""" start="00:12:28.300" video="mainVideo-table" id="subtitle"]]
+[[!template text="""For instance, you can have a table for the practice 1,""" start="00:12:32.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""you can have a table for the practice 2,""" start="00:12:36.260" video="mainVideo-table" id="subtitle"]]
+[[!template text="""so I'm going to do that.""" start="00:12:38.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to move this table. You can copy or remove,""" start="00:12:40.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""doesn't matter the order,""" start="00:12:48.181" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put this to identify the result of practice 2,""" start="00:12:49.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Org create an ID (`org-id-get-create`),""" start="00:12:59.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""then we have a previous result,""" start="00:13:03.322" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and I have a final table.""" start="00:13:07.480" video="mainVideo-table" id="subtitle"]]
+[[!template text="""The final table could be complicated,""" start="00:13:10.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but it's not so much complicated, it's only that,""" start="00:13:11.840" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put something that the formula wants.""" start="00:13:17.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""The formula is to make""" start="00:13:21.960" video="mainVideo-table" id="subtitle"]]
+[[!template text="""an `org-lookup-first` of the second name,""" start="00:13:26.589" video="mainVideo-table" id="subtitle"]]
+[[!template text="""considering that it's unique,""" start="00:13:34.401" video="mainVideo-table" id="subtitle"]]
+[[!template text="""`remote` of the surname,""" start="00:13:41.541" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and let's say another `remote` of the `$3` element,""" start="00:13:53.440" video="mainVideo-table" id="subtitle"]]
+[[!template text="""ok, that's an error because I don't put yet the ID,""" start="00:14:05.560" video="mainVideo-table" id="subtitle"]]
+[[!template text="""so I'm going to copy -- mark and copy --""" start="00:14:15.120" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and paste the unique ID generated,""" start="00:14:19.760" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I'm going to put that... I think there is missing one.""" start="00:14:28.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Finally. Okay, that's right.""" start="00:14:38.520" video="mainVideo-table" id="subtitle"]]
+[[!template text="""So imagine that I change something here, for instance,""" start="00:14:43.400" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I put... I change that,""" start="00:14:49.580" video="mainVideo-table" id="subtitle"]]
+[[!template text="""actually, this is changed also, and this is changed.""" start="00:14:56.701" video="mainVideo-table" id="subtitle"]]
+[[!template text="""This is a good way to divide the classification""" start="00:15:02.200" video="mainVideo-table" id="subtitle"]]
+[[!template text="""in several files, one for the practice 1,""" start="00:15:08.600" video="mainVideo-table" id="subtitle"]]
+[[!template text="""one for the practice 2, and one final practice""" start="00:15:10.201" video="mainVideo-table" id="subtitle"]]
+[[!template text="""that I can finally export in a final table.""" start="00:15:15.040" video="mainVideo-table" id="subtitle"]]
+[[!template text="""Of course you can make it a lot more pretty,""" start="00:15:27.640" video="mainVideo-table" id="subtitle"]]
+[[!template text="""but this is all I want to show you.""" start="00:15:31.120" video="mainVideo-table" id="subtitle"]]
+[[!template text="""I hope with this talk""" start="00:15:33.360" video="mainVideo-table" id="subtitle"]]
+[[!template text="""you have learned a lot more about Org formula,""" start="00:15:34.800" video="mainVideo-table" id="subtitle"]]
+[[!template text="""[orgtbl-aggregate] package,""" start="00:15:37.680" video="mainVideo-table" id="subtitle"]]
+[[!template text="""and how you can use all this techniques""" start="00:15:39.689" video="mainVideo-table" id="subtitle"]]
+[[!template text="""to improve your qualification of a student,""" start="00:15:42.280" video="mainVideo-table" id="subtitle"]]
+[[!template text="""or for whatever you want.""" start="00:15:45.600" video="mainVideo-table" id="subtitle"]]
+
+
+
+Captioner: danielmolina
+
Questions or comments? Please e-mail [dmolina@mailbox.org](mailto:dmolina@mailbox.org?subject=Comment%20for%20EmacsConf%202022%20table%3A%20Who%20needs%20Excel%3F%20Managing%20your%20students%20qualifications%20with%20org-table)
diff --git a/2023/info/table-before.md b/2023/info/table-before.md
index 8549ba20..7f557b51 100644
--- a/2023/info/table-before.md
+++ b/2023/info/table-before.md
@@ -8,12 +8,12 @@ The following image shows where the talk is in the schedule for Sat 2023-12-02.
Format: 16-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Etherpad: <https://pad.emacsconf.org/2023-table>
Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen)
-Status: Ready to stream
+Status: Now playing on the conference livestream
<div>Times in different timezones:</div><div class="times" start="2023-12-02T15:40:00Z" end="2023-12-02T15:50:00Z"><div class="conf-time">Saturday, Dec 2 2023, ~10:40 AM - 10:50 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 2 2023, ~9:40 AM - 9:50 AM CST (US/Central)<br />Saturday, Dec 2 2023, ~8:40 AM - 8:50 AM MST (US/Mountain)<br />Saturday, Dec 2 2023, ~7:40 AM - 7:50 AM PST (US/Pacific)<br />Saturday, Dec 2 2023, ~3:40 PM - 3:50 PM UTC <br />Saturday, Dec 2 2023, ~4:40 PM - 4:50 PM CET (Europe/Paris)<br />Saturday, Dec 2 2023, ~5:40 PM - 5:50 PM EET (Europe/Athens)<br />Saturday, Dec 2 2023, ~9:10 PM - 9:20 PM IST (Asia/Kolkata)<br />Saturday, Dec 2 2023, ~11:40 PM - 11:50 PM +08 (Asia/Singapore)<br />Sunday, Dec 3 2023, ~12:40 AM - 12:50 AM JST (Asia/Tokyo)</div></div><div><a href="/2023/watch/gen/">Find out how to watch and participate</a></div>
-
+<div class="vid"><video controls preload="none" id="table-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 15:51 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-table">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--alternative.mp4">Download --alternative.mp4 (126MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--final.webm">Download --final.webm (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.txt">Download --main.txt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm">Download --main.webm (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--normalized.opus">Download --normalized.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--original.mp4">Download --original.mp4 (56MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--reencoded.webm">Download --reencoded.webm (21MB)</a></li><li><a href="https://toobnix.org/w/p8K8mtayv2HYtw1gK3zUwR">View on Toobnix</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file