-
Notifications
You must be signed in to change notification settings - Fork 0
/
camp2023-57129-eng-The_Nix_Phone_and_the_end_of_Android_opus.vtt
314 lines (209 loc) · 7.56 KB
/
camp2023-57129-eng-The_Nix_Phone_and_the_end_of_Android_opus.vtt
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
WEBVTT
00:00:00.000 --> 00:00:10.000
[MUSIC]
00:00:10.000 --> 00:00:20.000
[MUSIC]
00:00:20.000 --> 00:00:33.680
How many people know what Nix is?
00:00:33.680 --> 00:00:39.000
NixOS is a very basic language.
00:00:39.000 --> 00:00:42.240
Well, Nix is a language and NixOS makes use of it.
00:00:42.240 --> 00:00:46.520
And all you do is describe your computer in basic ways.
00:00:46.520 --> 00:00:48.760
Like I want Firefox installed, or
00:00:48.760 --> 00:00:51.680
I want this behavior when the system boots up.
00:00:51.680 --> 00:00:54.560
And then it just goes ahead and does it.
00:00:54.560 --> 00:00:58.240
And you can apply that, it turns out, to mobile devices.
00:00:58.240 --> 00:01:00.440
So what is mobile NixOS?
00:01:00.440 --> 00:01:04.080
You can find out about it at mobile.nixos.org.
00:01:04.080 --> 00:01:07.080
And the author of this is Samuel Dior.
00:01:07.080 --> 00:01:09.800
I didn't make it, I just use it.
00:01:09.800 --> 00:01:12.400
So this is what it looks like.
00:01:12.400 --> 00:01:13.720
I was gonna try and show you it here, but
00:01:13.720 --> 00:01:15.960
I guess that's not gonna work out because it's too small of a
00:01:15.960 --> 00:01:17.240
screen and it's too bright.
00:01:17.240 --> 00:01:18.720
But you can hook it up to the monitor.
00:01:18.720 --> 00:01:21.240
You can put a USB hub into it.
00:01:21.240 --> 00:01:25.800
And you can have fun using your normal computer because
00:01:25.800 --> 00:01:28.160
phones are never going to be the same again,
00:01:28.160 --> 00:01:29.320
when people realize this.
00:01:29.320 --> 00:01:33.760
So you can use it like this, or you can use it like this.
00:01:36.400 --> 00:01:38.840
And this is the amount of code that I need to write, and
00:01:38.840 --> 00:01:41.760
I appreciate that it's not a good environment to show it often.
00:01:41.760 --> 00:01:43.200
But it's a very small diff.
00:01:43.200 --> 00:01:48.000
It looks like one, two, three, four, it looks like ten lines of code.
00:01:48.000 --> 00:01:53.560
I can make a NixOS configuration that already exists work on
00:01:53.560 --> 00:01:55.360
my phone instead of on my laptop.
00:01:55.360 --> 00:01:59.720
Now the work that made the kernel, the Linux kernel,
00:01:59.720 --> 00:02:02.680
work on this device has been done by Caleb Connolly.
00:02:02.680 --> 00:02:05.240
And they may be at this camp, I don't know if they're here, but
00:02:05.240 --> 00:02:08.320
they've done amazing work over the past two years, all spare time.
00:02:08.320 --> 00:02:12.320
And a lot of work is inherited from post market OS.
00:02:12.320 --> 00:02:15.960
I'm using a window manager called SXMO, which makes use of Sway,
00:02:15.960 --> 00:02:17.200
which is a tiling window manager.
00:02:17.200 --> 00:02:20.720
And it turns it into a sort of mobile operating system.
00:02:20.720 --> 00:02:22.840
By the way, you can also run Windows 10 on the phone if you
00:02:22.840 --> 00:02:24.960
want via this UEFI implementation.
00:02:24.960 --> 00:02:27.800
And by the way, we can run Android as well.
00:02:27.800 --> 00:02:30.960
So if you want to just escape to Android for a second, you can.
00:02:30.960 --> 00:02:33.720
You click one button and you've got Weidroid.
00:02:33.720 --> 00:02:36.680
And then you swipe to the left and you're back in full Linux.
00:02:36.680 --> 00:02:37.720
And how do we do that?
00:02:37.720 --> 00:02:39.720
It's that single line of code right there.
00:02:39.720 --> 00:02:43.280
So if anyone is skeptical of Nix and NixOS, you should check it out.
00:02:43.280 --> 00:02:45.840
And by the way, we can emulate x86 programs.
00:02:45.840 --> 00:02:49.760
So if we just run like Bitwig Studio or
00:02:49.760 --> 00:02:52.360
some program that runs under Windows, under Wine,
00:02:52.360 --> 00:02:56.160
it will just run on the device, just with this one line of code.
00:02:56.160 --> 00:02:58.320
And you can do local speech processing on the device.
00:02:58.320 --> 00:02:59.680
It doesn't take much time.
00:02:59.680 --> 00:03:02.160
Potential future, well, maybe we'll get USB-C and
00:03:02.160 --> 00:03:03.400
display ports everywhere.
00:03:03.400 --> 00:03:07.000
The demo I showed you of making it work on a monitor,
00:03:07.000 --> 00:03:09.120
that's just a hack because it works over USB.
00:03:09.120 --> 00:03:12.120
This doesn't have display port mode out of the USB socket.
00:03:12.120 --> 00:03:17.240
And by the way, everything's kind of insecure because there's no
00:03:17.240 --> 00:03:20.160
secure boot implementation, but in the future that could change.
00:03:20.160 --> 00:03:22.360
There's nothing stopping us from implementing secure boots on
00:03:22.360 --> 00:03:26.200
this device because it has a trusted platform module, etc.
00:03:26.200 --> 00:03:27.760
Phones that are worth using are rare.
00:03:27.760 --> 00:03:30.760
This is one in a million because this is a OnePlus 6.
00:03:30.760 --> 00:03:31.840
It's got 10 gigs of RAM.
00:03:31.840 --> 00:03:33.320
It cost $100.
00:03:33.320 --> 00:03:36.040
Maybe you should all go buy one, but then the price won't be $100
00:03:36.040 --> 00:03:37.600
anymore.
00:03:37.600 --> 00:03:40.680
Yeah, and this is kind of like the only phone that works this
00:03:40.680 --> 00:03:42.320
well at this time.
00:03:42.320 --> 00:03:44.720
Your phone is a computer.
00:03:44.720 --> 00:03:48.160
If we can get USB-C on every device, maybe we can get an open
00:03:48.160 --> 00:03:51.920
bootloader on every device as well.
00:03:51.920 --> 00:03:55.680
And the European Commission reckons that the USB-C
00:03:55.680 --> 00:03:58.720
connector saves a lot of money.
00:03:58.720 --> 00:03:59.920
How much money could this save?
00:03:59.920 --> 00:04:01.280
Because this isn't just a connector.
00:04:01.280 --> 00:04:03.600
This allows you to run any piece of software you want on your
00:04:03.600 --> 00:04:06.600
mobile device, and everyone's phone is probably enough
00:04:06.600 --> 00:04:08.880
computation for them.
00:04:08.880 --> 00:04:10.080
And that's it.
00:04:10.080 --> 00:04:10.880
That's my talk.
00:04:10.880 --> 00:04:15.400
Oh, actually, Stardust XR, it's a VR display thing.
00:04:15.400 --> 00:04:17.680
It allows you to pick windows up with your fingers and stuff
00:04:17.680 --> 00:04:18.080
like this.
00:04:18.080 --> 00:04:19.320
You could use it with these glasses.
00:04:19.320 --> 00:04:21.000
I've been using the phone with these glasses.
00:04:21.000 --> 00:04:23.200
If you think the display is too small, don't, because you can
00:04:23.200 --> 00:04:26.000
just put it on these glasses, and you can have a big monitor
00:04:26.000 --> 00:04:28.760
or a world of monitors around you.
00:04:28.760 --> 00:04:34.400
And many other disaster setups have been made by me that I
00:04:34.400 --> 00:04:37.800
can't show off because I don't have any time.
00:04:37.800 --> 00:04:39.040
Oh, yeah, the head computer.
00:04:39.040 --> 00:04:46.960
[APPLAUSE]
00:04:46.960 --> 00:04:49.960
Thank you.
00:04:49.960 --> 00:04:50.720
Cool.
00:04:50.720 --> 00:04:52.080
Oh, one last thing.
00:04:52.080 --> 00:04:54.200
If you want to see more about this, come to the Nixos tent
00:04:54.200 --> 00:04:56.320
next to Seabase, and you can hang out with me.
00:04:56.320 --> 00:04:58.680
And I'll be doing a talk about this tomorrow, if you're
00:04:58.680 --> 00:05:01.120
interested.
00:05:01.120 --> 00:05:02.360
Thank you very much.
00:05:02.360 --> 00:05:04.680
[APPLAUSE]
00:05:04.800 --> 00:05:09.760
[MUSIC PLAYING]