summaryrefslogtreecommitdiffstats
path: root/2021/captions
diff options
context:
space:
mode:
Diffstat (limited to '2021/captions')
-rw-r--r--2021/captions/emacsconf-2021-nyxt--emacs-with-nyxt-extend-your-editor-with-the-power-of-a-lisp-browser--andrea--main.vtt532
1 files changed, 532 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-nyxt--emacs-with-nyxt-extend-your-editor-with-the-power-of-a-lisp-browser--andrea--main.vtt b/2021/captions/emacsconf-2021-nyxt--emacs-with-nyxt-extend-your-editor-with-the-power-of-a-lisp-browser--andrea--main.vtt
new file mode 100644
index 00000000..d595fc1b
--- /dev/null
+++ b/2021/captions/emacsconf-2021-nyxt--emacs-with-nyxt-extend-your-editor-with-the-power-of-a-lisp-browser--andrea--main.vtt
@@ -0,0 +1,532 @@
+WEBVTT
+
+00:00.000 --> 00:01.783
+Welcome to my talk "Emacs with Nyxt:
+
+00:01.783 --> 00:02.823
+extend your editor with
+
+00:02.823 --> 00:04.623
+the power of a Lisp browser".
+
+00:04.623 --> 00:06.583
+Who am I? I'm Andrea. I work as
+
+00:06.583 --> 00:08.303
+a Clojure software engineer somewhere
+
+00:08.303 --> 00:09.743
+in the middle of the UK.
+
+00:09.743 --> 00:11.743
+And I inherited my passion for Emacs
+
+00:11.743 --> 00:13.703
+from my Ph.D. supervisor, and from that
+
+00:13.703 --> 00:15.943
+moment on Emacs became a core tool
+
+00:15.943 --> 00:17.863
+of my daily routine.
+
+00:17.863 --> 00:20.863
+You can find more about me and my interests
+
+00:20.863 --> 00:23.983
+at ag91.github.io, that is my blog.
+
+00:23.983 --> 00:25.183
+Let's get into the talk.
+
+00:25.183 --> 00:28.183
+So, why Nyxt? Nyxt is an extensible
+
+00:28.183 --> 00:29.543
+Common Lisp browser.
+
+00:29.543 --> 00:31.903
+Fundamentally, it's Emacs for web browsing.
+
+00:31.903 --> 00:34.063
+And why do I say that? I say that
+
+00:34.063 --> 00:36.063
+because is a…, this is Nyxt.
+
+00:36.063 --> 00:40.223
+You can see that is organized with buffers,
+
+00:40.223 --> 00:44.063
+and you can see that I can invoke command,
+
+00:44.063 --> 00:47.183
+like, I was in Emacs with this.
+
+00:47.183 --> 00:48.983
+So, I'm using even the same keybindings,
+
+00:48.983 --> 00:52.783
+so, for that I used M-x.
+
+00:52.783 --> 00:55.983
+And some of the features of Nyxt
+
+00:55.983 --> 01:00.103
+are just amazing. For example, say that
+
+01:00.103 --> 01:03.823
+you want to mark some text, this is the way,
+
+01:03.823 --> 01:08.703
+so, I just pressed Control space (C-SPC),
+
+01:08.703 --> 01:10.423
+and now I will start the marker,
+
+01:10.423 --> 01:13.223
+and now I can copy the text, and when
+
+01:13.223 --> 01:15.663
+I'm done, I can finish to use visual mode.
+
+01:15.663 --> 01:18.023
+Or, for example, what about…,
+
+01:18.023 --> 01:21.183
+I want to navigate without using my mouse.
+
+01:21.183 --> 01:25.183
+I can do something like follow-hint,
+
+01:25.183 --> 01:28.023
+and this opens the possibility to press
+
+01:28.023 --> 01:29.903
+AC to jump on the Articles,
+
+01:29.903 --> 01:33.063
+and all of a sudden I'm on the page
+
+01:33.063 --> 01:36.023
+with the blog posts of the Atlas team.
+
+01:36.023 --> 01:39.383
+Or, for example, I can extend my browser
+
+01:39.383 --> 01:40.783
+from within the browser.
+
+01:40.783 --> 01:43.223
+So, you can see I can evaluate a command,
+
+01:43.223 --> 01:48.663
+a Common Lisp code,
+
+01:48.663 --> 01:50.903
+and it produces the result.
+
+01:50.903 --> 01:56.183
+And then, for example, I can also auto….
+
+01:56.183 --> 01:58.663
+This browser comes by default with an
+
+01:58.663 --> 02:01.143
+integration with your password manager,
+
+02:01.143 --> 02:04.223
+in my case it's pass, and I can copy
+
+02:04.223 --> 02:08.783
+a password. This is just as easy as is,
+
+02:08.783 --> 02:10.543
+it comes by default.
+
+02:10.543 --> 02:13.583
+Another incredibly useful feature
+
+02:13.583 --> 02:18.023
+that I didn't find in other browsers is
+
+02:18.023 --> 02:20.503
+searching between multiple buffers.
+
+02:20.503 --> 02:23.503
+So, this function search-buffers,
+
+02:23.503 --> 02:25.823
+this command lets me select
+
+02:25.823 --> 02:29.503
+some of my open buffers,
+
+02:29.503 --> 02:32.503
+and I can look for a string in there.
+
+02:32.503 --> 02:34.623
+And you would see that the hits are
+
+02:34.623 --> 02:37.423
+from the buffers that I have open,
+
+02:37.423 --> 02:42.583
+for example, Clojure or
+
+02:42.583 --> 02:46.103
+the YouTube video about Clojure.
+
+02:46.103 --> 02:49.623
+Let me get into something very interesting.
+
+02:49.623 --> 02:52.783
+How can I make Emacs speak to Nyxt.
+
+02:52.783 --> 02:55.103
+And for that, let me show you something
+
+02:55.103 --> 02:57.143
+in the literate programming approach.
+
+02:57.143 --> 03:00.183
+So, this Org mode source block is
+
+03:00.183 --> 03:04.423
+linked to this Nyxt REPL.
+
+03:04.423 --> 03:06.983
+I can define a new command,
+
+03:06.983 --> 03:09.343
+and when I go in Nyxt,
+
+03:09.343 --> 03:10.863
+I can find this new command,
+
+03:10.863 --> 03:12.503
+and I can invoke it, and you can see
+
+03:12.503 --> 03:16.943
+there is something in the minibuffer.
+
+03:16.943 --> 03:21.543
+I can use it from Nyxt, but I can do it here.
+
+03:21.543 --> 03:24.703
+I can also use it directly from the REPL.
+
+03:24.703 --> 03:27.743
+You can see that the same thing is logged
+
+03:27.743 --> 03:30.423
+in the REPL.
+
+03:30.423 --> 03:32.663
+And then with something that I would speak
+
+03:32.663 --> 03:36.423
+about in another talk in the conference
+
+03:36.423 --> 03:39.143
+— Moldable Emacs. I can also just
+
+03:39.143 --> 03:42.823
+evaluate JavaScript outside. Let's create
+
+03:42.823 --> 03:46.703
+a playground that allows me to write some
+
+03:46.703 --> 03:49.903
+JavaScript code. And if I evaluate this code,
+
+03:49.903 --> 03:52.023
+I get the title of the webpage
+
+03:52.023 --> 03:54.583
+that is currently open in Nyxt.
+
+03:54.583 --> 03:58.343
+The cool thing is that I can do it also
+
+03:58.343 --> 04:02.263
+directly in Lisp, this is Parenscript
+
+04:02.263 --> 04:05.223
+that evaluates to the same thing,
+
+04:05.223 --> 04:07.823
+(it) is just the same, just document.title,
+
+04:07.823 --> 04:10.743
+only that is in Common Lisp.
+
+04:10.743 --> 04:14.343
+You see that Emacs can speak to Nyxt,
+
+04:14.343 --> 04:16.103
+but also the reverse is true.
+
+04:16.103 --> 04:19.023
+Nyxt can speak to Emacs. So, for example,
+
+04:19.023 --> 04:21.943
+if I'm in Nyxt, and for example,
+
+04:21.943 --> 04:26.623
+let me go to my blog, if I press here,
+
+04:26.623 --> 04:30.863
+this is an email link, automatically in Emacs
+
+04:30.863 --> 04:33.943
+it will let me compone a message
+
+04:33.943 --> 04:35.943
+using my email manager.
+
+04:35.943 --> 04:39.823
+Or, say that always in my blog I want
+
+04:39.823 --> 04:43.543
+to write something here in the searchbar,
+
+04:43.543 --> 04:46.303
+I think that I don't want to write it in
+
+04:46.303 --> 04:50.623
+the browser but in my Emacs because
+
+04:50.623 --> 04:52.903
+I have some template for search.
+
+04:52.903 --> 04:55.503
+If I do this, all of a sudden
+
+04:55.503 --> 04:59.103
+the text is added.
+
+04:59.103 --> 05:03.423
+Or say I'm watching that Clojure video,
+
+05:03.423 --> 05:06.343
+and I get to this point, and then I say
+
+05:06.343 --> 05:09.703
+"Yuu! This is a very interesting thing,
+
+05:09.703 --> 05:12.783
+let me take a note". So, I take some note
+
+05:12.783 --> 05:16.903
+with some text, and if I go back in Emacs,
+
+05:16.903 --> 05:19.023
+tadam! I found the note,
+
+05:19.023 --> 05:21.903
+and I found it with the duration,
+
+05:21.903 --> 05:25.063
+so I can just jump to the same point.
+
+05:25.063 --> 05:28.743
+And what else?
+
+05:28.743 --> 05:31.903
+There is something even bigger
+
+05:31.903 --> 05:32.663
+that we can do,
+
+05:32.663 --> 05:34.063
+this is a bit more advanced,
+
+05:34.063 --> 05:35.823
+and this is something that I do
+
+05:35.823 --> 05:39.023
+again with my Moldable Emacs.
+
+05:39.023 --> 05:41.183
+Say that you want to do some
+
+05:41.183 --> 05:43.223
+data visualization.
+
+05:43.223 --> 05:44.863
+If we use Vega-Lite…, for example,
+
+05:44.863 --> 05:47.823
+we want to visualize a scatter plot.
+
+05:47.823 --> 05:49.623
+Let me take some example data
+
+05:49.623 --> 05:52.423
+that could be interesting also to you.
+
+05:52.423 --> 05:55.063
+So, say that I have this playground
+
+05:55.063 --> 05:57.263
+that lets me evaluate
+
+05:57.263 --> 06:01.703
+some query on my Org-roam database.
+
+06:01.703 --> 06:03.663
+What I'm doing here is I'm gonna
+
+06:03.663 --> 06:05.703
+go through my first 100 notes
+
+06:05.703 --> 06:09.823
+and collect their backlinks,
+
+06:09.823 --> 06:13.183
+so some information that I find interesting.
+
+06:13.183 --> 06:16.343
+If I convert this to JSON,
+
+06:16.343 --> 06:18.903
+now, all of a sudden this is something
+
+06:18.903 --> 06:22.623
+that I can put in that Vega-Lite template
+
+06:22.623 --> 06:26.183
+that I showed you a moment ago.
+
+06:26.183 --> 06:28.343
+So, I'm gonna find out that file,
+
+06:28.343 --> 06:30.463
+you see that I left a question mark,
+
+06:30.463 --> 06:31.703
+(this is) something that I still
+
+06:31.703 --> 06:33.783
+didn't automate completely.
+
+06:33.783 --> 06:37.983
+By saving this file and opening it with Nyxt,
+
+06:37.983 --> 06:41.183
+you can see that now I have a scatter plot.
+
+06:41.183 --> 06:43.943
+And these are my actual notes,
+
+06:43.943 --> 06:48.343
+so you can see that if I stay on it,
+
+06:48.343 --> 06:53.063
+these are actually my notes.
+
+06:53.063 --> 06:55.343
+When I'm in Emacs, what I can do is
+
+06:55.343 --> 06:58.303
+I click here, and now in the background
+
+06:58.303 --> 07:00.903
+it opened my note,
+
+07:00.903 --> 07:04.303
+and it opened with all my backlinks.
+
+07:04.303 --> 07:07.703
+You can see that I have embedded in my
+
+07:07.703 --> 07:11.303
+browser some functionality of Emacs.
+
+07:11.303 --> 07:13.463
+You understand that this is the power of
+
+07:13.463 --> 07:16.983
+unifying, integrating these two experiences,
+
+07:16.983 --> 07:18.943
+and it opens the doors for
+
+07:18.943 --> 07:22.223
+a lot of interesting interactivity.
+
+07:22.223 --> 07:24.743
+Anyway, what is next?
+
+07:24.743 --> 07:29.023
+This was my talk, what is next is
+
+07:29.023 --> 07:32.143
+continue merging it with Moldable Emacs.
+
+07:32.143 --> 07:34.023
+(This) is something I will present in
+
+07:34.023 --> 07:37.463
+another talk in this conference with web,
+
+07:37.463 --> 07:39.263
+so that we can extract meaning from
+
+07:39.263 --> 07:41.103
+the web, and we can bring it in Emacs.
+
+07:41.103 --> 07:43.583
+And from Emacs bringing back stuff
+
+07:43.583 --> 07:46.543
+like a picture into a web page,
+
+07:46.543 --> 07:48.903
+so that we can do fancy visualization.
+
+07:48.903 --> 07:51.063
+Another thing I want to do is to
+
+07:51.063 --> 07:54.263
+automate the boring browser flows
+
+07:54.263 --> 07:55.543
+that I do, like, for example,
+
+07:55.543 --> 07:58.263
+if I periodically buy something,
+
+07:58.263 --> 08:00.863
+I could do it from within Emacs
+
+08:00.863 --> 08:05.263
+instead of always clicking around.
+
+08:05.263 --> 08:08.383
+And then I'm just gonna cross fingers,
+
+08:08.383 --> 08:10.023
+I hope that this browser will
+
+08:10.023 --> 08:11.783
+become mainstream.
+
+08:11.783 --> 08:13.263
+So, this was my talk,
+
+08:13.263 --> 08:14.663
+thank you for listening,
+
+08:14.663 --> 08:17.343
+and you can find more about it at
+
+08:17.343 --> 08:19.823
+ag91.github.io, my blog,
+
+08:19.823 --> 08:22.680
+and enjoy the rest of the conference, bye!
+
+08:22.680 --> 08:25.520
+[captions: bhavin192 (Bhavin Gandhi)]