summaryrefslogtreecommitdiffstats
path: root/2021/captions/nyxt.md
blob: 98b5bc5ba299dd692c42b611978a644da0020500 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<a name="transcript"></a>
# Transcript

[[!template text="Welcome to my talk &quot;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&quot;." 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="&quot;Yuu! This is a very interesting thing," start="00:05:06.343" video="mainVideo" id=subtitle]]
[[!template text="let me take a note&quot;. 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]]