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