1
00:00:02,660 --> 00:00:04,160
- Welcome to The Bootloader, I'm Tod Kurt.
2
00:00:04,800 --> 00:00:05,540
- And I'm Paul Cutler.
3
00:00:06,080 --> 00:00:07,080
The show works like this.
4
00:00:07,420 --> 00:00:09,300
Tod and I have each brought three things to share
5
00:00:09,500 --> 00:00:11,700
and we'll chat about each one for about five minutes.
6
00:00:12,260 --> 00:00:14,100
For detailed show notes and transcripts,
7
00:00:14,440 --> 00:00:15,780
check out thebootloader.net,
8
00:00:16,180 --> 00:00:18,000
which also just got a shiny new coat of paint
9
00:00:18,020 --> 00:00:20,040
as we're now using MKDocs for the website.
10
00:00:20,860 --> 00:00:22,740
Tod, what's your first one for us this episode?
11
00:00:23,740 --> 00:00:25,300
- This is about getting faster Raspberry Pis
12
00:00:25,500 --> 00:00:26,760
by ditching the SD card.
13
00:00:27,640 --> 00:00:29,980
If you use Raspberry Pis regularly
14
00:00:29,980 --> 00:00:32,259
running off micro SD card have I got a treat for you.
15
00:00:32,619 --> 00:00:36,780
Short version, use the RPI clone script to a USB thumb drive.
16
00:00:37,330 --> 00:00:39,540
You may know that Raspberry Pi is running off SD cards
17
00:00:39,540 --> 00:00:40,740
can get slower over time.
18
00:00:40,920 --> 00:00:43,060
SD cards can get flaky with age too.
19
00:00:43,840 --> 00:00:45,900
But SD cards are so easy to get a Pi going,
20
00:00:46,000 --> 00:00:48,920
just write it with the imager and boot it up
21
00:00:48,960 --> 00:00:49,520
and you're gone.
22
00:00:50,160 --> 00:00:52,400
But with a modern thumb drive and the RPI clone script,
23
00:00:52,680 --> 00:00:54,100
my Raspberry Pi that I depend on
24
00:00:54,160 --> 00:00:55,220
is faster than it's ever been.
25
00:00:55,380 --> 00:00:56,080
It's amazing.
26
00:00:56,650 --> 00:00:59,019
I run a small group of Raspberry Pis for testing
27
00:00:59,020 --> 00:01:00,980
of my products in various CircuitPython builds.
28
00:01:01,620 --> 00:01:03,920
One critical Raspberry Pi has four different
29
00:01:04,120 --> 00:01:06,140
CircuitPython boards permanently hooked up to it
30
00:01:06,620 --> 00:01:07,640
that I use to test different,
31
00:01:07,880 --> 00:01:09,680
how the different CircuitPython firmwares work.
32
00:01:09,740 --> 00:01:10,900
And when I'm doing CircuitPython development,
33
00:01:11,380 --> 00:01:13,980
I copy to it and I do it all remotely.
34
00:01:14,840 --> 00:01:15,900
It's just on a rack somewhere.
35
00:01:16,000 --> 00:01:18,120
I actually don't look at this computer very much.
36
00:01:18,520 --> 00:01:19,580
But over the last couple of months,
37
00:01:19,620 --> 00:01:22,500
I've noticed the server has been getting increasingly slow.
38
00:01:23,080 --> 00:01:24,660
Get checkouts took twice as long.
39
00:01:25,020 --> 00:01:27,180
Even logging in via SSH took a few seconds.
40
00:01:27,340 --> 00:01:29,140
Normally, we just log in.
41
00:01:29,700 --> 00:01:30,940
There are no errors in the logs,
42
00:01:31,020 --> 00:01:33,880
and the microSD was a high-endurance one.
43
00:01:34,020 --> 00:01:35,640
I replaced it only about a year ago,
44
00:01:36,360 --> 00:01:38,020
but I have been using this Pi a lot more lately.
45
00:01:39,000 --> 00:01:41,040
So I know, I know, all the real hackers
46
00:01:41,140 --> 00:01:43,420
that have been booting their Pis off external drives forever
47
00:01:44,040 --> 00:01:45,220
are raising their eyebrows at me.
48
00:01:45,580 --> 00:01:46,320
What took me so long?
49
00:01:46,840 --> 00:01:48,360
Well, I imagined it would be a daunting task,
50
00:01:48,560 --> 00:01:51,780
needing extra components like an NVMe hat
51
00:01:52,240 --> 00:01:54,060
or an ungainly external drive enclosure
52
00:01:54,340 --> 00:01:55,200
hanging off the back.
53
00:01:55,780 --> 00:01:57,940
Fortunately, I'd just seen a YouTube video
54
00:01:58,060 --> 00:01:59,320
by the awesome Jeff Geerling,
55
00:01:59,780 --> 00:02:02,540
where he offhandedly showed his RPI clone script
56
00:02:02,940 --> 00:02:06,240
to turn an existing SD card-based Raspberry Pi
57
00:02:06,340 --> 00:02:08,100
into one that boots off in external storage.
58
00:02:08,740 --> 00:02:11,039
I thought, "Well, it seems pretty easy, let's try it out."
59
00:02:11,039 --> 00:02:13,480
So I got one of those small USB 3.1 drives.
60
00:02:13,720 --> 00:02:14,500
Those are pretty fast.
61
00:02:15,040 --> 00:02:18,420
The one I got was a $15 Samsung 128 gigabyte,
62
00:02:18,460 --> 00:02:21,620
which is like four times the size of the SD card
63
00:02:21,680 --> 00:02:22,860
that was currently in the Pi.
64
00:02:23,560 --> 00:02:25,239
And it's so small, it's just a little nubbin
65
00:02:25,240 --> 00:02:25,820
when it's plugged in.
66
00:02:26,040 --> 00:02:27,340
It looks like one of those little keyboard,
67
00:02:27,860 --> 00:02:29,280
Logitech keyboard adapter things.
68
00:02:29,780 --> 00:02:31,160
It's not something hanging off the back of the Pi,
69
00:02:31,220 --> 00:02:31,660
which is nice.
70
00:02:32,260 --> 00:02:34,680
After you plug in your external drive or the thumb drive,
71
00:02:35,280 --> 00:02:37,080
I downloaded the RPI clone script,
72
00:02:37,280 --> 00:02:38,160
ran it according to the README.
73
00:02:38,620 --> 00:02:39,460
It chugged for a bit,
74
00:02:39,520 --> 00:02:42,380
formatted the thumb drive with an appropriate file system,
75
00:02:42,560 --> 00:02:44,240
the XT4, I think,
76
00:02:44,660 --> 00:02:46,420
and copied over the Pi's file system,
77
00:02:46,420 --> 00:02:48,520
the existing Pi's file system on the SD card
78
00:02:49,020 --> 00:02:50,560
to the external drive, to the thumb drive.
79
00:02:51,100 --> 00:02:52,740
And when done, I just powered it on the Pi,
80
00:02:52,800 --> 00:02:55,160
remove the micro SD card, turn it back on,
81
00:02:55,320 --> 00:02:56,300
and hey, look, it boots.
82
00:02:56,380 --> 00:02:58,680
It boots off this new little USB drive.
83
00:02:59,260 --> 00:03:00,960
This Raspberry Pi server that I've been using for
84
00:03:01,240 --> 00:03:02,960
five years feels like a whole new computer.
85
00:03:03,060 --> 00:03:05,080
It's like I got a free CPU upgrade.
86
00:03:05,720 --> 00:03:06,820
To prevent this thumb drive from
87
00:03:06,980 --> 00:03:08,560
degrading faster because it's not an SSD,
88
00:03:08,760 --> 00:03:10,640
it's just another flash drive.
89
00:03:11,540 --> 00:03:12,820
It's like an SD card.
90
00:03:13,460 --> 00:03:15,460
I'm going to be putting the logs directory into
91
00:03:15,520 --> 00:03:18,160
a RAM disk using the log to RAM program.
92
00:03:19,020 --> 00:03:20,700
One of the things that wears out a lot of
93
00:03:20,560 --> 00:03:26,080
these solid state drives the fastest is how much all these various programs that are running
94
00:03:26,160 --> 00:03:29,660
on Unix write their log files to the disk.
95
00:03:29,740 --> 00:03:34,400
And so you can minimize that by having the logs written to a RAM disk.
96
00:03:34,700 --> 00:03:36,940
There's this file system format called tempfs.
97
00:03:37,780 --> 00:03:42,740
And log2ram will create this RAM disk, but then it will also sync periodically, like
98
00:03:42,800 --> 00:03:46,500
once an hour or so, it'll sync the RAM disk to your persistent storage.
99
00:03:46,500 --> 00:03:48,900
So you can actually go back and look at the logs if you need to.
100
00:03:50,120 --> 00:03:54,800
But doing one big write is much less of a wear on the drive
101
00:03:54,800 --> 00:03:56,800
than doing thousands of little tiny writes.
102
00:03:58,060 --> 00:04:00,080
And then I'm also looking into tiny SSDs
103
00:04:00,080 --> 00:04:00,960
for my other Pi servers.
104
00:04:01,660 --> 00:04:05,900
For Pi 5, there's an official NVMe SSD hat I might try.
105
00:04:06,280 --> 00:04:10,440
I've also found there's some other smaller NVMe SSD hats.
106
00:04:11,110 --> 00:04:14,100
So now I'm on a quest for what's the tiniest SSD solution
107
00:04:14,140 --> 00:04:17,480
for Pi 4s and other Pis that I've got
108
00:04:17,579 --> 00:04:19,579
'cause I'm just blown away.
109
00:04:19,640 --> 00:04:21,480
It's like I should have done this so many years ago.
110
00:04:23,020 --> 00:04:24,060
Links to all this will be in the show notes.
111
00:04:24,700 --> 00:04:26,360
- I knew about the SSD hats.
112
00:04:26,520 --> 00:04:28,880
I had no idea that you could use a USB flash drive
113
00:04:29,100 --> 00:04:31,480
as a bootable disk for it.
114
00:04:31,620 --> 00:04:33,300
And I know I've got a Raspberry Pi
115
00:04:33,380 --> 00:04:34,480
that sits on my desk full time
116
00:04:34,480 --> 00:04:37,020
and even SSHing into that takes a second or two.
117
00:04:37,140 --> 00:04:40,420
So I'm wondering if my performance is starting to degrade
118
00:04:40,580 --> 00:04:41,400
and if it's that easy,
119
00:04:41,500 --> 00:04:42,860
I think I know what I'm doing this weekend.
120
00:04:43,780 --> 00:04:47,579
- Yeah, I mean, I think this was like the third SSD card
121
00:04:47,580 --> 00:04:51,840
I'd used for this pie just over the years and I kept getting trying to get like the ones that
122
00:04:52,220 --> 00:04:55,420
were recommended by the various Raspberry Pi tip sites that said oh
123
00:04:55,500 --> 00:04:59,960
This is the high endurance micro SD card to use but over time it just seemed to get slower and slower and like
124
00:05:00,380 --> 00:05:05,120
You know this this Raspberry Pi is not doing anything weird. It's using is running the standard Raspberry Pi OS
125
00:05:05,460 --> 00:05:08,640
There's no fancy programs installed, you know, except for Python
126
00:05:11,600 --> 00:05:13,459
All right, Paul, what's your first one for this week
127
00:05:13,820 --> 00:05:15,480
My first one is inventory.
128
00:05:15,960 --> 00:05:21,800
Back in episode 17, I shared Inventory, an open-source inventory system for makers and
129
00:05:22,080 --> 00:05:24,380
manufacturers that had just released their 1.0 release.
130
00:05:25,230 --> 00:05:30,080
Thanks to Alec Delaney, aka Tech Trick, I came across an app called Inventory, a play
131
00:05:30,120 --> 00:05:35,440
on the word "inventory," which also just released their 1.0 release after eight years of active development.
132
00:05:36,600 --> 00:05:43,800
Inventory includes a number of features, including organizing your parts and sorting them into
133
00:05:43,800 --> 00:05:48,100
related to each part, stock locations, which are real world
134
00:05:48,840 --> 00:05:52,020
physical location for your parts, and bill of material
135
00:05:52,260 --> 00:05:54,880
management, allowing you to define a list of parts to make an
136
00:05:55,020 --> 00:05:58,200
assembly. And then you can create custom reports about your
137
00:05:58,380 --> 00:06:01,420
inventory based on a number of templates, and it uses HTML
138
00:06:01,660 --> 00:06:03,820
templates to create PDF reports for you.
139
00:06:04,920 --> 00:06:07,920
It also has a full-featured API using the Django REST
140
00:06:08,140 --> 00:06:10,860
framework and allows you to programmatically interact with
141
00:06:10,800 --> 00:06:11,300
your inventory.
142
00:06:11,920 --> 00:06:14,420
The documentation includes examples of how to interact
143
00:06:14,460 --> 00:06:16,660
with the API in both JavaScript and Python.
144
00:06:17,920 --> 00:06:20,780
Inventory also includes a robust plugin ecosystem.
145
00:06:21,580 --> 00:06:23,320
There are plugins maintained by the core team
146
00:06:23,320 --> 00:06:24,260
as well as the community.
147
00:06:24,880 --> 00:06:26,360
There are plugins for just about everything.
148
00:06:26,640 --> 00:06:28,580
There's integration for DigiKey and Mouser.
149
00:06:28,740 --> 00:06:31,100
There's a plugin to locate your physical stock locations
150
00:06:31,160 --> 00:06:33,080
with WLED, which is pretty neat,
151
00:06:33,720 --> 00:06:35,980
and a bunch of plugins to use with your printer.
152
00:06:37,080 --> 00:06:39,360
Inventory is written in Python using the Django web
153
00:06:39,360 --> 00:06:41,780
framework and plugins can be written in Python too.
154
00:06:42,540 --> 00:06:46,080
There's also excellent documentation covering everything you might want to know.
155
00:06:46,660 --> 00:06:48,720
It's detailed and covers all of the features.
156
00:06:49,400 --> 00:06:52,700
And lastly, if you want to take inventory for a spin before installing it,
157
00:06:52,750 --> 00:06:54,760
they have a full featured demo instance.
158
00:06:55,130 --> 00:06:58,040
I logged in and tried it out and came away really impressed.
159
00:06:58,940 --> 00:06:59,820
Wow, that's really awesome.
160
00:06:59,830 --> 00:07:01,780
I wish I could use one of these.
161
00:07:01,840 --> 00:07:06,340
Like when you talked up the inventory program back in episode 17,
162
00:07:06,760 --> 00:07:09,500
I was like, I'm going to really try this out and I didn't.
163
00:07:11,360 --> 00:07:14,540
And I'm sure it's daunting from a setup perspective of trying to get all your
164
00:07:14,700 --> 00:07:16,440
stuff into, into the database.
165
00:07:16,800 --> 00:07:20,180
But once it's there, the payoff is probably worth it.
166
00:07:21,020 --> 00:07:25,400
Yeah, no, I just, just yesterday I was rooting through my sort of geologic
167
00:07:25,580 --> 00:07:28,260
filing system of like, you know, basically what's on the bottom is the oldest,
168
00:07:28,640 --> 00:07:32,140
trying to find some, some low profile headers that I knew I bought a year ago.
169
00:07:32,400 --> 00:07:32,540
And.
170
00:07:34,420 --> 00:07:38,300
See, and you could have a stock location that tells you exactly where you stored them.
171
00:07:39,000 --> 00:07:51,480
Now, and I love the I love the WLED integration, like it sort of assumes you have some sort of LEDs rigged across your racks and you could just like have something light up to indicate where approximately the thing is.
172
00:07:51,520 --> 00:07:52,040
That's wonderful.
173
00:07:52,540 --> 00:07:53,840
Yeah, I'd love to see that in practice.
174
00:07:53,980 --> 00:07:56,420
Someone's got to have a YouTube video of doing that already.
175
00:07:57,660 --> 00:07:58,760
What's your next one for us?
176
00:07:59,380 --> 00:08:03,920
I'm going to talk about a little, this is a sort of a mini review of the framework 12 laptop.
177
00:08:04,010 --> 00:08:07,640
I don't normally do just straight up reviews of products, but this has been really impressive to me.
178
00:08:08,240 --> 00:08:11,300
So if you're looking for a Linux laptop, I highly recommend the framework 12.
179
00:08:11,480 --> 00:08:12,700
It's their smaller computer.
180
00:08:12,700 --> 00:08:14,780
They have a 16 and a 13 inch, I think as well.
181
00:08:15,500 --> 00:08:16,220
This is a 12 inch.
182
00:08:16,700 --> 00:08:18,720
You can buy it fully assembled or as a kit.
183
00:08:19,310 --> 00:08:25,720
And if you can see I'm using quote fingers, where kit means you just install the RAM, SSD and expansion cards.
184
00:08:26,050 --> 00:08:26,640
More on that in a bit.
185
00:08:27,020 --> 00:08:32,200
The assembly is super easy, but it does give you a chance to see the inside of the laptop and the care that went into it.
186
00:08:32,680 --> 00:08:36,340
You can see that the framework company designed the whole machine for repairability.
187
00:08:36,440 --> 00:08:44,300
Like everything is screwed down, you can remove bits and pieces, you know, if like you break a jack or something, or you can even upgrade the motherboard.
188
00:08:44,840 --> 00:08:55,340
Like in fact, their older Framework 16 laptop, they just introduced a new AMD Ryzen mainboard with an integrated NVIDIA RTX GPU that you can just swap in if you already have a Framework 16.
189
00:08:56,020 --> 00:08:59,400
So to assemble my new laptop, I got a beer ready and everything.
190
00:08:59,720 --> 00:09:02,920
I mean, I say everything, but they included the one screwdriver needed.
191
00:09:03,240 --> 00:09:06,020
I only got about two sips into the beer before I was done.
192
00:09:06,300 --> 00:09:09,300
You install the RAM and SSD from the top by lifting the keyboard out.
193
00:09:09,740 --> 00:09:14,280
You just plug in the RAM and SSD into the little standard RAM socket
194
00:09:14,340 --> 00:09:16,880
and the standard NVMe socket.
195
00:09:17,600 --> 00:09:20,380
And the keyboard connects via pogo pins and magnets.
196
00:09:20,500 --> 00:09:23,500
So you can just kind of lay the keyboard on top and it'll connect
197
00:09:24,060 --> 00:09:25,220
and you can then test it out.
198
00:09:25,380 --> 00:09:30,740
Once you're sure you're done, you can then secure the keyboard with a couple screws on the bottom that are captive screws.
199
00:09:31,100 --> 00:09:34,120
That's another cool thing. All the screws in this laptop are captive.
200
00:09:34,340 --> 00:09:40,440
So once you remove, once you unscrew something, the screw stays with the part or it stays on the computer.
201
00:09:40,560 --> 00:09:41,900
So you're never losing screws.
202
00:09:41,980 --> 00:09:48,700
You're never getting screws mixed up because you know how some companies, Apple, will use like slightly different length screws for things.
203
00:09:48,800 --> 00:09:51,160
And if you swap them, you could really damage something.
204
00:09:52,520 --> 00:09:53,240
It's really nice design.
205
00:09:53,260 --> 00:09:55,580
And the laptop, once you've got it all assembled,
206
00:09:56,080 --> 00:09:59,060
it's still only as thick as my main MacBook Pro.
207
00:09:59,540 --> 00:10:02,780
So, it's like, even with the sockets
208
00:10:03,080 --> 00:10:05,420
for all this replaceable stuff and the screws and stuff,
209
00:10:05,460 --> 00:10:07,740
it's still the same thickness as my MacBook Pro.
210
00:10:08,380 --> 00:10:08,940
That's just amazing.
211
00:10:09,400 --> 00:10:11,100
There are many YouTube videos
212
00:10:11,160 --> 00:10:12,320
that deep dive into this laptop,
213
00:10:12,830 --> 00:10:14,180
its features, how it performs.
214
00:10:14,720 --> 00:10:15,740
I'm not gonna go into those aspects.
215
00:10:16,520 --> 00:10:17,760
It seems to perform about as well
216
00:10:17,760 --> 00:10:19,340
as any other Intel i5 laptop,
217
00:10:19,540 --> 00:10:20,720
and it costs about the same, I think.
218
00:10:21,180 --> 00:10:22,260
I'm using Linux on it.
219
00:10:22,320 --> 00:10:23,380
You can get it with Windows.
220
00:10:23,620 --> 00:10:25,820
But one of the cool things is they support Linux
221
00:10:26,320 --> 00:10:29,160
pretty heavily and they've got three different distros
222
00:10:29,340 --> 00:10:32,900
that they recommend, Ubuntu, Fedora, and this other one,
223
00:10:33,200 --> 00:10:33,920
I forget what it's called.
224
00:10:34,500 --> 00:10:36,860
I chose Ubuntu 'cause Ubuntu's Debian-based
225
00:10:36,860 --> 00:10:39,300
and it's the most like Raspberry Pi OS
226
00:10:39,340 --> 00:10:42,120
and the other Debian-based OSs that I'm used to.
227
00:10:42,880 --> 00:10:47,080
When you install the Ubuntu 25 that they recommend,
228
00:10:47,140 --> 00:10:48,080
which is regular Ubuntu,
229
00:10:48,180 --> 00:10:49,980
it's like not a special framework version of Ubuntu,
230
00:10:50,780 --> 00:10:52,500
all the peripherals are recognized.
231
00:10:53,340 --> 00:10:55,280
And when I plug in class compliant USB devices,
232
00:10:55,480 --> 00:10:57,680
like USB audio or MIDI adapters, they just work.
233
00:10:58,620 --> 00:11:01,120
It's just, as someone who's used Linux laptops,
234
00:11:01,540 --> 00:11:02,160
this is kind of weird.
235
00:11:02,660 --> 00:11:03,920
I've been using it for a little over a month
236
00:11:03,920 --> 00:11:04,620
and haven't had a problem.
237
00:11:04,970 --> 00:11:07,580
I use it mostly for doing things like web browsing,
238
00:11:08,380 --> 00:11:10,460
video playing, code editing, compiling,
239
00:11:11,420 --> 00:11:13,340
doing little test compiles, PDF viewing.
240
00:11:13,460 --> 00:11:15,060
I have it on my bench as basically the thing
241
00:11:15,120 --> 00:11:17,280
that I have next to me while I'm working.
242
00:11:18,020 --> 00:11:20,179
There are two things though about this laptop
243
00:11:20,180 --> 00:11:20,860
it really stand out.
244
00:11:21,360 --> 00:11:23,820
And I've been trying Linux on laptops since the 90s.
245
00:11:24,280 --> 00:11:27,920
Like parenthetically, anyone remember linuxonlaptops.com?
246
00:11:28,320 --> 00:11:31,720
It was where we huddled in the cold sharing campfire stories
247
00:11:31,720 --> 00:11:34,560
of almost getting audio working on corporate Toshiba
248
00:11:34,820 --> 00:11:36,140
satellites or Dell Inspirons.
249
00:11:37,400 --> 00:11:39,800
Now we have Linux first companies like Framework,
250
00:11:40,240 --> 00:11:41,620
MNT, and System76.
251
00:11:42,480 --> 00:11:44,180
But if you're scarred from past attempts
252
00:11:44,220 --> 00:11:45,660
to get Linux working on a laptop,
253
00:11:46,120 --> 00:11:49,120
and you have an old ThinkPad or Dell for the last few years,
254
00:11:49,460 --> 00:11:50,980
there's a good chance it'll work great today.
255
00:11:51,480 --> 00:11:53,840
And it'll seem much faster than the Windows that was on it.
256
00:11:54,260 --> 00:11:56,540
So try that out if you wanna get back
257
00:11:56,560 --> 00:11:57,720
into the Linux on laptop thing.
258
00:11:57,760 --> 00:12:00,020
I think that's kind of a solved problem in many ways.
259
00:12:00,680 --> 00:12:03,260
Anyway, the first really cool thing about the Framework 12
260
00:12:03,380 --> 00:12:05,700
is that besides just being a fully working
261
00:12:05,940 --> 00:12:06,940
modern laptop on Linux,
262
00:12:07,340 --> 00:12:10,060
is the four expansion card slots on the sides.
263
00:12:10,600 --> 00:12:13,040
These are essentially recessed USB-C ports
264
00:12:13,480 --> 00:12:14,979
and the available expansion cards
265
00:12:14,980 --> 00:12:19,400
either expose that USB-C port or USB-A or Ethernet,
266
00:12:19,839 --> 00:12:22,100
HDMI, extra audio, SD card,
267
00:12:22,280 --> 00:12:25,220
or storage like a little built-in thumb drive or something.
268
00:12:25,720 --> 00:12:28,020
It's really neat. It totally gives that
269
00:12:28,140 --> 00:12:29,740
I'm plugging a cartridge in vibe
270
00:12:30,420 --> 00:12:32,460
for those of us that grew up with cartridge-based video games.
271
00:12:33,480 --> 00:12:35,420
Unless you customize the laptop how you want,
272
00:12:35,920 --> 00:12:39,660
if you want to have a bunch of extra built-in storage, you can.
273
00:12:40,340 --> 00:12:41,860
If you want to have a whole bunch of
274
00:12:42,060 --> 00:12:43,500
extra audio outputs, you can have that.
275
00:12:43,740 --> 00:12:48,000
My current setup has two USB-C ports,
276
00:12:48,460 --> 00:12:50,900
a USB-A port, and HDMI out.
277
00:12:51,620 --> 00:12:54,280
Then any USB-C port is also a charge port,
278
00:12:54,380 --> 00:12:55,300
so that's how you charge the laptop.
279
00:12:56,679 --> 00:12:58,920
You can swap these out anytime you want, they're all hot swap.
280
00:12:59,200 --> 00:13:00,760
I've also got an Ethernet card,
281
00:13:00,820 --> 00:13:02,100
and so when I was playing around with doing
282
00:13:02,240 --> 00:13:03,740
wired Ethernet to get really fast performance,
283
00:13:03,780 --> 00:13:05,500
I just swapped out one of the,
284
00:13:05,600 --> 00:13:10,200
I think the USB-A, and plugged in the Ethernet card and did Ethernet.
285
00:13:11,120 --> 00:13:13,200
The other thing about the Framework 12 is that
286
00:13:13,120 --> 00:13:15,480
the screen folds over and onto the back
287
00:13:15,540 --> 00:13:16,560
and it turns into a tablet.
288
00:13:17,000 --> 00:13:19,620
I wasn't even really aware about this when I got it.
289
00:13:20,320 --> 00:13:22,100
And the touch screen even works in Linux.
290
00:13:22,560 --> 00:13:24,380
Even though most of my uses aren't touch compatible,
291
00:13:24,520 --> 00:13:26,760
it's really handy to have an instructional video
292
00:13:26,960 --> 00:13:29,660
or schematic on the tablet screen while I'm working.
293
00:13:30,300 --> 00:13:32,220
They just introduced a stylus that works with the laptop
294
00:13:32,540 --> 00:13:33,200
when it's in tablet mode.
295
00:13:33,280 --> 00:13:34,140
I've not tried this out yet.
296
00:13:34,520 --> 00:13:36,120
I don't even know if it's supported under Linux,
297
00:13:36,220 --> 00:13:37,000
but it's 60 bucks.
298
00:13:37,520 --> 00:13:39,220
So I might get it just to see what it can do.
299
00:13:40,359 --> 00:13:42,160
KiCad absolutely flies on this thing.
300
00:13:42,740 --> 00:13:45,900
Using a stylus on KiCad on Linux would seem very sci-fi to me.
301
00:13:46,640 --> 00:13:47,000
(laughs)
302
00:13:48,000 --> 00:13:49,560
So this review isn't sponsored in any way.
303
00:13:49,600 --> 00:13:51,180
I'm just happy to have a good portable Linux box
304
00:13:51,300 --> 00:13:52,380
next to my, on my bench.
305
00:13:52,710 --> 00:13:54,140
It's made by a company that seems to care
306
00:13:54,200 --> 00:13:55,780
about repairability and upgradability,
307
00:13:56,040 --> 00:13:57,880
which seems to be in short supply a lot nowadays.
308
00:13:58,510 --> 00:13:59,280
So thanks, Framework.
309
00:13:59,520 --> 00:14:02,280
And I've got some links in the show notes,
310
00:14:02,360 --> 00:14:05,220
one of which is my very abbreviated
311
00:14:05,740 --> 00:14:07,360
three-post live assembly thread.
312
00:14:07,370 --> 00:14:08,800
I did when I first got this,
313
00:14:08,860 --> 00:14:10,380
thinking it was gonna be like a long thing,
314
00:14:11,160 --> 00:14:12,480
But no, it was only like three posts.
315
00:14:13,220 --> 00:14:13,520
(laughs)
316
00:14:14,140 --> 00:14:16,320
- I used Linux full time for about 10 years
317
00:14:16,640 --> 00:14:19,040
and I'm with you where the stuff just sometimes works,
318
00:14:19,140 --> 00:14:20,040
sometimes didn't.
319
00:14:20,560 --> 00:14:21,740
So this is very tempting.
320
00:14:22,680 --> 00:14:24,960
You're an Ubuntu guy, I'm a Fedora guy
321
00:14:25,580 --> 00:14:28,420
and there's a distro called Project Bluefin
322
00:14:29,140 --> 00:14:32,100
from Universal Blue that inherits all of Fedora
323
00:14:32,620 --> 00:14:34,160
and then it's cloud native.
324
00:14:34,280 --> 00:14:35,400
So they've got a lot of tools,
325
00:14:35,440 --> 00:14:36,620
they've got home brew built in.
326
00:14:36,840 --> 00:14:38,780
But since it inherits from Fedora
327
00:14:38,860 --> 00:14:40,180
and Fedora supports this,
328
00:14:40,320 --> 00:14:42,280
it's got framework support right out of the box.
329
00:14:42,380 --> 00:14:44,220
So I've been keeping an eye on that distro
330
00:14:44,800 --> 00:14:46,960
for a little while and tempted to get back
331
00:14:47,040 --> 00:14:48,060
into Linux on the desktop.
332
00:14:48,740 --> 00:14:52,140
So that's pretty cool that just everything just works.
333
00:14:52,800 --> 00:14:54,280
- Yeah, on their Linux page,
334
00:14:54,420 --> 00:14:56,800
they list a bunch of distros, I think 10 total.
335
00:14:57,280 --> 00:14:58,980
And it's like, they have three that are like,
336
00:14:59,400 --> 00:15:00,940
this is the easy version of Linux.
337
00:15:00,980 --> 00:15:02,260
And then like the other ones are, they're like,
338
00:15:02,320 --> 00:15:04,540
this works with a couple of asterisks.
339
00:15:04,680 --> 00:15:06,780
And I think, I'm not quite sure what the asterisks are,
340
00:15:06,860 --> 00:15:08,260
but I think it's like something pretty minor.
341
00:15:08,400 --> 00:15:11,480
'cause most of the hardware support is in the Linux kernel.
342
00:15:11,600 --> 00:15:13,300
That's not something that different distros
343
00:15:13,400 --> 00:15:14,540
would be that different from.
344
00:15:16,019 --> 00:15:17,820
Anyway, what's your next one for this time?
345
00:15:18,460 --> 00:15:20,600
- My next one is one of my favorite pieces of tech
346
00:15:20,640 --> 00:15:22,580
in my house, and it just keeps getting better.
347
00:15:23,160 --> 00:15:24,620
If you're like me, you probably subscribe
348
00:15:24,620 --> 00:15:27,340
to a bunch of streaming services like Netflix, Peacock,
349
00:15:27,500 --> 00:15:29,360
HBO Max, Hulu, or Paramount.
350
00:15:29,960 --> 00:15:31,160
Throw in a cable TV bill,
351
00:15:31,160 --> 00:15:32,860
and it gets expensive really quick.
352
00:15:33,460 --> 00:15:35,759
One option is to cancel your cable bill
353
00:15:35,760 --> 00:15:37,920
and get your local channels via an antenna.
354
00:15:38,540 --> 00:15:41,560
I've tried a number of solutions over the years since then
355
00:15:41,660 --> 00:15:43,260
for watching live TV with an antenna,
356
00:15:43,480 --> 00:15:45,140
including Myth TV, Kodi, and MB,
357
00:15:45,700 --> 00:15:46,900
but there's one piece of software
358
00:15:46,980 --> 00:15:48,700
that I think does it better than any of them,
359
00:15:48,740 --> 00:15:50,420
and that's an app called Channels,
360
00:15:50,840 --> 00:15:52,980
which is available at getchannels.com.
361
00:15:53,660 --> 00:15:55,000
First, you'll need to get an antenna
362
00:15:55,080 --> 00:15:56,140
to get over the air stations
363
00:15:56,260 --> 00:15:58,720
that you hook up to a device called the HD Home Run,
364
00:15:59,160 --> 00:16:00,760
which is a digital network tuner.
365
00:16:01,340 --> 00:16:02,780
You plug the antenna into that,
366
00:16:02,960 --> 00:16:05,400
and the TV signal is now available over your network.
367
00:16:06,240 --> 00:16:08,700
Antenna prices vary and an HD Home Run box
368
00:16:08,760 --> 00:16:10,780
will run you about $100 to $150
369
00:16:11,280 --> 00:16:12,640
depending on which model you choose.
370
00:16:13,400 --> 00:16:15,480
If you visit rabbitears.info,
371
00:16:15,840 --> 00:16:18,180
it will show you a list of all the channels in your area
372
00:16:18,260 --> 00:16:19,380
that you can get via antenna.
373
00:16:19,920 --> 00:16:22,640
And you'll probably be surprised how many channels there are.
374
00:16:23,180 --> 00:16:25,880
Next, you'll need to subscribe to channels for $80 a year,
375
00:16:26,040 --> 00:16:28,160
which is $10 more a year than Plex.
376
00:16:28,860 --> 00:16:31,360
Then you download the channels DVR server software,
377
00:16:31,580 --> 00:16:34,040
which is available for Windows, Mac, Linux, Docker,
378
00:16:34,360 --> 00:16:36,440
and a number of network attached storage devices,
379
00:16:36,680 --> 00:16:39,560
including Synology, Netgear, TrueNAS, and a lot more.
380
00:16:40,360 --> 00:16:42,200
So there's a little bit of cost getting started,
381
00:16:42,360 --> 00:16:44,280
but if you're cutting the cord and getting rid of cable,
382
00:16:44,630 --> 00:16:47,560
you probably will recoup it in just a matter of months.
383
00:16:48,380 --> 00:16:50,180
Now you need to provide it with your source,
384
00:16:50,420 --> 00:16:51,380
which is usually an antenna,
385
00:16:51,920 --> 00:16:54,480
but if you do have a cable subscription with TV Everywhere,
386
00:16:54,840 --> 00:16:55,860
that works too.
387
00:16:56,520 --> 00:16:59,160
What's really neat is even when using TV Everywhere,
388
00:16:59,380 --> 00:17:00,520
which is streaming over the internet,
389
00:17:01,080 --> 00:17:03,460
channels will automatically detect and skip commercials
390
00:17:03,600 --> 00:17:05,060
when recording via TV everywhere
391
00:17:05,459 --> 00:17:06,819
and when you use an antenna.
392
00:17:08,160 --> 00:17:09,760
The only catch with channels
393
00:17:09,959 --> 00:17:11,420
is that if you wanna watch it on a TV,
394
00:17:11,540 --> 00:17:13,839
you're going to need an Apple TV, Android TV,
395
00:17:14,100 --> 00:17:15,560
or an Amazon Fire Stick,
396
00:17:15,980 --> 00:17:18,339
which I can understand might be a non-starter for some.
397
00:17:19,100 --> 00:17:20,520
The apps to connect the channels
398
00:17:20,560 --> 00:17:21,939
and watch it on your phone or tablet,
399
00:17:22,100 --> 00:17:24,000
on iOS or Android are all free.
400
00:17:24,620 --> 00:17:26,199
And they make it super easy to watch it
401
00:17:26,220 --> 00:17:27,780
on the go away from home
402
00:17:27,880 --> 00:17:30,060
and just stream it over the internet to your device.
403
00:17:30,720 --> 00:17:33,500
The iPad app also runs on Mac OS, which is nice.
404
00:17:33,640 --> 00:17:35,380
I'll sometimes watch it on a second monitor
405
00:17:35,540 --> 00:17:36,660
when doing something else.
406
00:17:37,800 --> 00:17:39,460
But it's not just a DVR.
407
00:17:39,820 --> 00:17:42,860
You can manage all of your personal media on it as well.
408
00:17:43,400 --> 00:17:45,100
I have a large physical media collection
409
00:17:45,240 --> 00:17:47,320
with a ton of DVDs and Blu-rays that I've ripped
410
00:17:47,440 --> 00:17:49,240
and I've imported them all into channels.
411
00:17:50,020 --> 00:17:51,880
Those are all the features you would expect
412
00:17:52,080 --> 00:17:54,540
in a DVR and a home media server, but that's not all.
413
00:17:54,640 --> 00:17:56,620
They continue to innovate and add features.
414
00:17:57,360 --> 00:17:58,140
A year or two ago,
415
00:17:58,220 --> 00:18:00,060
they added what they call virtual channels.
416
00:18:00,480 --> 00:18:03,180
you can create your own channels with your own content.
417
00:18:03,760 --> 00:18:05,960
For example, I created a Star Wars channel
418
00:18:06,060 --> 00:18:07,760
that streams 10 of the movies,
419
00:18:08,260 --> 00:18:10,760
or an action channel where I added the Matrix trilogy,
420
00:18:10,980 --> 00:18:12,360
the John Wick movies, and more.
421
00:18:13,060 --> 00:18:14,380
Now when I browse my channels
422
00:18:14,410 --> 00:18:16,040
and can't decide on something to watch,
423
00:18:16,360 --> 00:18:18,140
I'll sometimes just watch one of those channels
424
00:18:18,140 --> 00:18:19,700
and pick up a movie halfway through,
425
00:18:19,820 --> 00:18:21,700
just because I can't decide on what I want.
426
00:18:23,020 --> 00:18:26,140
They also recently added in the beta, multi-view.
427
00:18:26,500 --> 00:18:28,940
So you can put two channels on side by side,
428
00:18:29,080 --> 00:18:31,420
which is fun on Sundays when watching football.
429
00:18:31,700 --> 00:18:33,640
I can play both games at the same time.
430
00:18:34,620 --> 00:18:36,040
And the newest feature is the ability
431
00:18:36,180 --> 00:18:38,300
to skip intros and credits at the end,
432
00:18:38,500 --> 00:18:40,380
a la Netflix, which is a nice touch.
433
00:18:41,220 --> 00:18:43,900
There may be cheaper solutions out there for your DVR,
434
00:18:44,340 --> 00:18:46,200
but few are as polished as channels.
435
00:18:46,660 --> 00:18:47,840
I've been using it for years,
436
00:18:47,920 --> 00:18:49,260
and it's one of my favorite apps
437
00:18:49,300 --> 00:18:50,680
that I use almost every day.
438
00:18:51,660 --> 00:18:52,380
- Wow, this is really cool.
439
00:18:53,240 --> 00:18:54,180
Like it was so many years ago,
440
00:18:54,320 --> 00:18:57,880
gave up standard broadcast TV because, you know,
441
00:18:58,560 --> 00:19:00,120
It was during that time when everything was switching
442
00:19:00,200 --> 00:19:03,940
to digital and I didn't have a digital receiver yet.
443
00:19:04,040 --> 00:19:06,660
And it seemed like I was getting the sort of standard,
444
00:19:06,780 --> 00:19:08,980
substandard service from just analog,
445
00:19:09,520 --> 00:19:11,800
but like all the transmissions are digital.
446
00:19:11,840 --> 00:19:14,500
If you can put up a little rabbit ears or whatever,
447
00:19:14,740 --> 00:19:18,160
you can now have that stream to kind of any of your apps
448
00:19:18,220 --> 00:19:18,620
in your house.
449
00:19:18,660 --> 00:19:20,060
That's pretty cool using the HD home run
450
00:19:20,440 --> 00:19:21,820
and then record it all with channels.
451
00:19:21,940 --> 00:19:22,700
That's pretty cool.
452
00:19:23,540 --> 00:19:23,740
Yeah.
453
00:19:24,800 --> 00:19:25,940
- What's your next one for us?
454
00:19:26,900 --> 00:19:31,320
All right, so synthesizers again, me and the synthesizers.
455
00:19:31,780 --> 00:19:34,180
If you've ever played with Eurorack modular synths,
456
00:19:34,400 --> 00:19:36,460
you'll know the name mutable instruments.
457
00:19:37,460 --> 00:19:40,180
Mutable instruments was created by Emily Gillette
458
00:19:40,230 --> 00:19:42,780
back in 2009, and every one of her synth modules
459
00:19:42,880 --> 00:19:43,800
was interesting and useful.
460
00:19:44,290 --> 00:19:46,780
They ran the gamut from oscillators and filters
461
00:19:46,850 --> 00:19:50,360
and reverbs to envelopes and utility modules like mixers.
462
00:19:51,340 --> 00:19:53,900
And now you can run some of them in Arduino
463
00:19:54,280 --> 00:19:55,620
on a Raspberry Pi Pico.
464
00:19:56,440 --> 00:19:58,280
Friend of the show and previous guest, John Park,
465
00:19:58,360 --> 00:20:00,900
has an almost complete collection of the Mutable Modules,
466
00:20:01,020 --> 00:20:02,580
and it fills up about two racks of space.
467
00:20:03,040 --> 00:20:05,240
I think there's like 60, not 60,
468
00:20:05,440 --> 00:20:07,560
like maybe 20 or 30 modules, it's a lot.
469
00:20:08,000 --> 00:20:10,040
He can create such wonderful noise with all of them.
470
00:20:10,120 --> 00:20:11,680
I mean, he'll occasionally send me little videos
471
00:20:11,780 --> 00:20:16,380
of crazy little evolving soundscapes,
472
00:20:16,680 --> 00:20:17,760
and they're just wonderful.
473
00:20:19,040 --> 00:20:22,080
So because the Mutable Modules are so useful and beloved,
474
00:20:22,110 --> 00:20:24,420
they became the standard kit for anyone doing modular.
475
00:20:25,040 --> 00:20:27,180
And because all of her designs are open source,
476
00:20:27,700 --> 00:20:29,200
several other best book manufacturers
477
00:20:29,340 --> 00:20:31,780
made versions of her modules in different form factors
478
00:20:31,940 --> 00:20:32,780
or with added features.
479
00:20:33,340 --> 00:20:35,580
I've got a few mutable modules and a few clones.
480
00:20:35,760 --> 00:20:37,900
For instance, I have a clone of the reverb module,
481
00:20:38,240 --> 00:20:40,700
the cloud reverb module called Supercell
482
00:20:41,320 --> 00:20:42,900
that adds extra knobs and inputs
483
00:20:42,900 --> 00:20:44,740
to control even more of the reverb sound.
484
00:20:45,360 --> 00:20:47,020
Like one of these you can use, you can freeze the reverb.
485
00:20:47,140 --> 00:20:49,000
Like it's got like sort of the echo
486
00:20:49,100 --> 00:20:50,500
that's happening of the reverb.
487
00:20:50,520 --> 00:20:53,380
You can kind of freeze that and add noises to it
488
00:20:53,360 --> 00:20:54,520
and reverse it and all that kind of stuff.
489
00:20:54,920 --> 00:20:56,460
I also have a clone of Braids,
490
00:20:56,880 --> 00:20:59,380
which is one of Mutable's most popular synth modules.
491
00:20:59,520 --> 00:21:01,160
It's got all these wave tables in it.
492
00:21:01,260 --> 00:21:02,680
All the wave table stuff that I've been doing
493
00:21:02,680 --> 00:21:05,200
in CircuitPython is very much influenced from Braids.
494
00:21:05,740 --> 00:21:07,920
The clone that I have is a much smaller size.
495
00:21:08,040 --> 00:21:10,580
Braids came out, it was a fairly large module,
496
00:21:11,140 --> 00:21:14,240
and in a modular synth rack, every amount of space counts,
497
00:21:14,280 --> 00:21:15,180
and so I wanted a smaller one.
498
00:21:15,840 --> 00:21:18,540
Some of Emily's algorithms made it into professional synths
499
00:21:18,540 --> 00:21:21,200
like the Korg MicroFreak and the Polyant synth.
500
00:21:21,760 --> 00:21:23,180
So you may not know Mutable,
501
00:21:23,600 --> 00:21:24,800
but I bet you've heard the sounds.
502
00:21:26,340 --> 00:21:30,160
So back in 2022, Emily shut down Mutable Instruments,
503
00:21:30,720 --> 00:21:33,120
but her and her modules legacy lives on
504
00:21:33,120 --> 00:21:35,460
and all the modules, repos, and inspiration
505
00:21:35,840 --> 00:21:37,420
her circuits and algorithms have created.
506
00:21:38,040 --> 00:21:38,500
Thank you, Emily.
507
00:21:38,620 --> 00:21:41,080
I've learned a lot about analog electronics from you.
508
00:21:42,240 --> 00:21:43,620
I've long wanted to poke around
509
00:21:44,180 --> 00:21:46,280
the synth and effects algorithms that she's created,
510
00:21:46,700 --> 00:21:49,320
but most of her modules are written for the STM32 chips,
511
00:21:49,440 --> 00:21:51,360
a chip that I'm not that experienced with.
512
00:21:52,280 --> 00:21:54,860
Fortunately, Mark Washam, aka Potaster on GitHub,
513
00:21:55,400 --> 00:21:56,860
has ported some of the mutable modules
514
00:21:57,020 --> 00:21:58,400
code to Arduino on the Pico.
515
00:21:58,860 --> 00:22:00,580
This is great. I know that well.
516
00:22:01,000 --> 00:22:02,440
It's one less barrier for me and I've
517
00:22:02,480 --> 00:22:04,100
just started poking around trying stuff out.
518
00:22:04,180 --> 00:22:05,340
It's really easy to get started.
519
00:22:05,840 --> 00:22:07,360
If you want to start playing with this stuff immediately,
520
00:22:08,419 --> 00:22:11,240
Potaster/Mark also has a little Pico-based synth board
521
00:22:11,260 --> 00:22:12,820
he sells on Tindy called Scarp
522
00:22:13,360 --> 00:22:15,400
that he targets for his mutable porting experiments.
523
00:22:15,840 --> 00:22:17,220
It's got an OLED, two pots,
524
00:22:17,460 --> 00:22:18,560
eight buttons, and LEDs.
525
00:22:19,100 --> 00:22:25,920
I was pleased and surprised to see my name called out as he based some of the design of Scarp on the various synth boards I've made over the years.
526
00:22:26,440 --> 00:22:31,380
Thanks, Mark. I can't wait to get deeper into the mutable synth code and links to all this stuff in the show notes.
527
00:22:31,900 --> 00:22:36,180
So on the Pico, is it copying specific mutable modules?
528
00:22:37,000 --> 00:22:42,020
Like, is there a code base for this module and a code base for that module that you flash?
529
00:22:42,070 --> 00:22:43,560
Yeah, yeah, yeah. Exactly. Yeah.
530
00:22:43,600 --> 00:22:46,200
So there's kind of two parts to these things.
531
00:22:46,300 --> 00:22:48,000
There's the core algorithm that, like say,
532
00:22:48,340 --> 00:22:49,240
in the case of braids,
533
00:22:49,320 --> 00:22:51,480
like he's got a version of braids that he's ported.
534
00:22:51,900 --> 00:22:56,000
There's the core algorithm that's generating the synth noises
535
00:22:56,380 --> 00:22:58,440
and then there's the user interface of like,
536
00:22:58,500 --> 00:23:01,580
you know, what knobs exist, what display, if any, exists,
537
00:23:01,920 --> 00:23:02,880
what LEDs exist.
538
00:23:03,300 --> 00:23:05,320
And so one of the nice things that,
539
00:23:06,560 --> 00:23:08,440
I don't know if Emily did this or if Mark did this,
540
00:23:08,500 --> 00:23:10,940
but there's sort of two different folders.
541
00:23:11,100 --> 00:23:13,580
There's one that's just the algorithm
542
00:23:13,580 --> 00:23:18,280
and others like, oh, here's the algorithm being used by, for instance, his scarf board.
543
00:23:18,960 --> 00:23:22,780
So you have a concrete example of like, oh, here's how I might map a knob to control this
544
00:23:22,980 --> 00:23:28,020
parameter. Here's how I might reflect this parameter on an LED or something. So yeah,
545
00:23:28,120 --> 00:23:32,400
so it's both. And the fact that both are there are really handy, because just having one of the
546
00:23:32,500 --> 00:23:38,080
others is, you know, not as helpful. All right, Paul, what's the last one for this post?
547
00:23:38,460 --> 00:23:41,920
My last item is dissolvable 3D printed circuit boards.
548
00:23:43,040 --> 00:23:46,600
Researchers at the University of Maryland have developed a new type of circuit board
549
00:23:46,780 --> 00:23:51,380
using polyvinyl alcohol, which is 3D printable and which can dissolve in water.
550
00:23:52,360 --> 00:23:57,840
To create the wiring on the PCB, they inject a gallium-indium metal alloy into the circuit
551
00:23:58,000 --> 00:24:02,160
board's channels in liquid form and then manually place the components on the board.
552
00:24:02,760 --> 00:24:07,220
They then apply a polymer glue to seal the circuits before drying the device for an hour at
553
00:24:07,580 --> 00:24:12,760
60 degrees Celsius. Using this process, the researchers created working versions of a
554
00:24:12,820 --> 00:24:18,500
Bluetooth speaker, a fidget toy, and an electronic three-finger gripper. A splash of water won't hurt
555
00:24:18,580 --> 00:24:23,800
the circuit board. It takes up to 22 hours at room temperature to dissolve, and the researchers
556
00:24:23,900 --> 00:24:29,780
were able to recover 99% of the dissolved polyvinyl alcohol. The article goes on to say that
557
00:24:29,900 --> 00:24:36,779
according to a 2022 United Nations report, Asia generated 600,000 tons of used circuit boards
558
00:24:36,780 --> 00:24:39,280
while recycling only 17%.
559
00:24:40,080 --> 00:24:42,600
Europe and North America generated 300,000 tons
560
00:24:42,980 --> 00:24:47,260
and recycled 61% in Europe and 44% in North America.
561
00:24:48,160 --> 00:24:51,200
Imagine how many hobbyists create PCBs for prototyping
562
00:24:51,200 --> 00:24:52,920
and what happens when you get something wrong
563
00:24:52,920 --> 00:24:54,220
and have to throw the board out.
564
00:24:54,840 --> 00:24:57,180
This process might start to address that.
565
00:24:57,660 --> 00:24:59,900
Not to mention that if you can do this with a 3D printer,
566
00:25:00,020 --> 00:25:02,960
you can speed up prototyping processes by a huge factor.
567
00:25:04,039 --> 00:25:05,539
Unfortunately, you'll need a subscription
568
00:25:05,540 --> 00:25:10,060
to read the article either on Apple News or at the New Scientist website, but I've linked
569
00:25:10,100 --> 00:25:11,120
to both in the show notes.
570
00:25:11,960 --> 00:25:12,560
This is really amazing.
571
00:25:12,660 --> 00:25:17,620
I mean, like, because isn't PVA, polyvinyl alcohol, isn't PVA the standard dissolvable
572
00:25:17,920 --> 00:25:22,200
filament people use when they print with soluble supports in 3D printing?
573
00:25:22,240 --> 00:25:24,120
I think it is, now that you mention it.
574
00:25:24,200 --> 00:25:25,200
I didn't even put that together.
575
00:25:26,340 --> 00:25:30,180
I mean, I've not used it yet, because I don't have a printer that can do that really, but
576
00:25:31,020 --> 00:25:31,620
this is incredible.
577
00:25:32,160 --> 00:25:33,480
Yeah, it's really a shame.
578
00:25:33,540 --> 00:25:38,140
It's like I've got this big shoebox full of PCBs
579
00:25:38,140 --> 00:25:40,940
that I'll never use, 'cause if you're getting a PCB made,
580
00:25:41,320 --> 00:25:42,640
the minimum order is five.
581
00:25:42,680 --> 00:25:45,620
And so even though maybe if you want one to test with
582
00:25:45,660 --> 00:25:47,640
and one to be your actual one,
583
00:25:47,640 --> 00:25:48,820
you now have three left overs.
584
00:25:49,280 --> 00:25:49,680
(laughs)
585
00:25:50,320 --> 00:25:52,280
- Well, hopefully it comes to market sooner
586
00:25:52,400 --> 00:25:53,020
rather than later.
587
00:25:53,920 --> 00:25:54,460
- Yeah, it's cool.
588
00:25:55,000 --> 00:25:56,340
Yeah, it's a...
589
00:25:56,340 --> 00:25:57,100
(laughs)
590
00:25:57,300 --> 00:25:59,920
Man, just don't let it sit out in the rain.
591
00:26:00,419 --> 00:26:00,820
- Exactly.
592
00:26:01,440 --> 00:26:01,840
(laughs)
593
00:26:03,340 --> 00:26:04,120
Well, that's our show.
594
00:26:04,580 --> 00:26:06,560
For detailed show notes and transcripts,
595
00:26:06,700 --> 00:26:07,900
visit thebootloader.net.
596
00:26:08,320 --> 00:26:10,800
And if you're enjoying the show, please leave a review.
597
00:26:11,060 --> 00:26:12,280
It really does help the show.
598
00:26:12,980 --> 00:26:14,720
Until next time, stay positive.
00:00:02,660 --> 00:00:04,160
- Welcome to The Bootloader, I'm Tod Kurt.
2
00:00:04,800 --> 00:00:05,540
- And I'm Paul Cutler.
3
00:00:06,080 --> 00:00:07,080
The show works like this.
4
00:00:07,420 --> 00:00:09,300
Tod and I have each brought three things to share
5
00:00:09,500 --> 00:00:11,700
and we'll chat about each one for about five minutes.
6
00:00:12,260 --> 00:00:14,100
For detailed show notes and transcripts,
7
00:00:14,440 --> 00:00:15,780
check out thebootloader.net,
8
00:00:16,180 --> 00:00:18,000
which also just got a shiny new coat of paint
9
00:00:18,020 --> 00:00:20,040
as we're now using MKDocs for the website.
10
00:00:20,860 --> 00:00:22,740
Tod, what's your first one for us this episode?
11
00:00:23,740 --> 00:00:25,300
- This is about getting faster Raspberry Pis
12
00:00:25,500 --> 00:00:26,760
by ditching the SD card.
13
00:00:27,640 --> 00:00:29,980
If you use Raspberry Pis regularly
14
00:00:29,980 --> 00:00:32,259
running off micro SD card have I got a treat for you.
15
00:00:32,619 --> 00:00:36,780
Short version, use the RPI clone script to a USB thumb drive.
16
00:00:37,330 --> 00:00:39,540
You may know that Raspberry Pi is running off SD cards
17
00:00:39,540 --> 00:00:40,740
can get slower over time.
18
00:00:40,920 --> 00:00:43,060
SD cards can get flaky with age too.
19
00:00:43,840 --> 00:00:45,900
But SD cards are so easy to get a Pi going,
20
00:00:46,000 --> 00:00:48,920
just write it with the imager and boot it up
21
00:00:48,960 --> 00:00:49,520
and you're gone.
22
00:00:50,160 --> 00:00:52,400
But with a modern thumb drive and the RPI clone script,
23
00:00:52,680 --> 00:00:54,100
my Raspberry Pi that I depend on
24
00:00:54,160 --> 00:00:55,220
is faster than it's ever been.
25
00:00:55,380 --> 00:00:56,080
It's amazing.
26
00:00:56,650 --> 00:00:59,019
I run a small group of Raspberry Pis for testing
27
00:00:59,020 --> 00:01:00,980
of my products in various CircuitPython builds.
28
00:01:01,620 --> 00:01:03,920
One critical Raspberry Pi has four different
29
00:01:04,120 --> 00:01:06,140
CircuitPython boards permanently hooked up to it
30
00:01:06,620 --> 00:01:07,640
that I use to test different,
31
00:01:07,880 --> 00:01:09,680
how the different CircuitPython firmwares work.
32
00:01:09,740 --> 00:01:10,900
And when I'm doing CircuitPython development,
33
00:01:11,380 --> 00:01:13,980
I copy to it and I do it all remotely.
34
00:01:14,840 --> 00:01:15,900
It's just on a rack somewhere.
35
00:01:16,000 --> 00:01:18,120
I actually don't look at this computer very much.
36
00:01:18,520 --> 00:01:19,580
But over the last couple of months,
37
00:01:19,620 --> 00:01:22,500
I've noticed the server has been getting increasingly slow.
38
00:01:23,080 --> 00:01:24,660
Get checkouts took twice as long.
39
00:01:25,020 --> 00:01:27,180
Even logging in via SSH took a few seconds.
40
00:01:27,340 --> 00:01:29,140
Normally, we just log in.
41
00:01:29,700 --> 00:01:30,940
There are no errors in the logs,
42
00:01:31,020 --> 00:01:33,880
and the microSD was a high-endurance one.
43
00:01:34,020 --> 00:01:35,640
I replaced it only about a year ago,
44
00:01:36,360 --> 00:01:38,020
but I have been using this Pi a lot more lately.
45
00:01:39,000 --> 00:01:41,040
So I know, I know, all the real hackers
46
00:01:41,140 --> 00:01:43,420
that have been booting their Pis off external drives forever
47
00:01:44,040 --> 00:01:45,220
are raising their eyebrows at me.
48
00:01:45,580 --> 00:01:46,320
What took me so long?
49
00:01:46,840 --> 00:01:48,360
Well, I imagined it would be a daunting task,
50
00:01:48,560 --> 00:01:51,780
needing extra components like an NVMe hat
51
00:01:52,240 --> 00:01:54,060
or an ungainly external drive enclosure
52
00:01:54,340 --> 00:01:55,200
hanging off the back.
53
00:01:55,780 --> 00:01:57,940
Fortunately, I'd just seen a YouTube video
54
00:01:58,060 --> 00:01:59,320
by the awesome Jeff Geerling,
55
00:01:59,780 --> 00:02:02,540
where he offhandedly showed his RPI clone script
56
00:02:02,940 --> 00:02:06,240
to turn an existing SD card-based Raspberry Pi
57
00:02:06,340 --> 00:02:08,100
into one that boots off in external storage.
58
00:02:08,740 --> 00:02:11,039
I thought, "Well, it seems pretty easy, let's try it out."
59
00:02:11,039 --> 00:02:13,480
So I got one of those small USB 3.1 drives.
60
00:02:13,720 --> 00:02:14,500
Those are pretty fast.
61
00:02:15,040 --> 00:02:18,420
The one I got was a $15 Samsung 128 gigabyte,
62
00:02:18,460 --> 00:02:21,620
which is like four times the size of the SD card
63
00:02:21,680 --> 00:02:22,860
that was currently in the Pi.
64
00:02:23,560 --> 00:02:25,239
And it's so small, it's just a little nubbin
65
00:02:25,240 --> 00:02:25,820
when it's plugged in.
66
00:02:26,040 --> 00:02:27,340
It looks like one of those little keyboard,
67
00:02:27,860 --> 00:02:29,280
Logitech keyboard adapter things.
68
00:02:29,780 --> 00:02:31,160
It's not something hanging off the back of the Pi,
69
00:02:31,220 --> 00:02:31,660
which is nice.
70
00:02:32,260 --> 00:02:34,680
After you plug in your external drive or the thumb drive,
71
00:02:35,280 --> 00:02:37,080
I downloaded the RPI clone script,
72
00:02:37,280 --> 00:02:38,160
ran it according to the README.
73
00:02:38,620 --> 00:02:39,460
It chugged for a bit,
74
00:02:39,520 --> 00:02:42,380
formatted the thumb drive with an appropriate file system,
75
00:02:42,560 --> 00:02:44,240
the XT4, I think,
76
00:02:44,660 --> 00:02:46,420
and copied over the Pi's file system,
77
00:02:46,420 --> 00:02:48,520
the existing Pi's file system on the SD card
78
00:02:49,020 --> 00:02:50,560
to the external drive, to the thumb drive.
79
00:02:51,100 --> 00:02:52,740
And when done, I just powered it on the Pi,
80
00:02:52,800 --> 00:02:55,160
remove the micro SD card, turn it back on,
81
00:02:55,320 --> 00:02:56,300
and hey, look, it boots.
82
00:02:56,380 --> 00:02:58,680
It boots off this new little USB drive.
83
00:02:59,260 --> 00:03:00,960
This Raspberry Pi server that I've been using for
84
00:03:01,240 --> 00:03:02,960
five years feels like a whole new computer.
85
00:03:03,060 --> 00:03:05,080
It's like I got a free CPU upgrade.
86
00:03:05,720 --> 00:03:06,820
To prevent this thumb drive from
87
00:03:06,980 --> 00:03:08,560
degrading faster because it's not an SSD,
88
00:03:08,760 --> 00:03:10,640
it's just another flash drive.
89
00:03:11,540 --> 00:03:12,820
It's like an SD card.
90
00:03:13,460 --> 00:03:15,460
I'm going to be putting the logs directory into
91
00:03:15,520 --> 00:03:18,160
a RAM disk using the log to RAM program.
92
00:03:19,020 --> 00:03:20,700
One of the things that wears out a lot of
93
00:03:20,560 --> 00:03:26,080
these solid state drives the fastest is how much all these various programs that are running
94
00:03:26,160 --> 00:03:29,660
on Unix write their log files to the disk.
95
00:03:29,740 --> 00:03:34,400
And so you can minimize that by having the logs written to a RAM disk.
96
00:03:34,700 --> 00:03:36,940
There's this file system format called tempfs.
97
00:03:37,780 --> 00:03:42,740
And log2ram will create this RAM disk, but then it will also sync periodically, like
98
00:03:42,800 --> 00:03:46,500
once an hour or so, it'll sync the RAM disk to your persistent storage.
99
00:03:46,500 --> 00:03:48,900
So you can actually go back and look at the logs if you need to.
100
00:03:50,120 --> 00:03:54,800
But doing one big write is much less of a wear on the drive
101
00:03:54,800 --> 00:03:56,800
than doing thousands of little tiny writes.
102
00:03:58,060 --> 00:04:00,080
And then I'm also looking into tiny SSDs
103
00:04:00,080 --> 00:04:00,960
for my other Pi servers.
104
00:04:01,660 --> 00:04:05,900
For Pi 5, there's an official NVMe SSD hat I might try.
105
00:04:06,280 --> 00:04:10,440
I've also found there's some other smaller NVMe SSD hats.
106
00:04:11,110 --> 00:04:14,100
So now I'm on a quest for what's the tiniest SSD solution
107
00:04:14,140 --> 00:04:17,480
for Pi 4s and other Pis that I've got
108
00:04:17,579 --> 00:04:19,579
'cause I'm just blown away.
109
00:04:19,640 --> 00:04:21,480
It's like I should have done this so many years ago.
110
00:04:23,020 --> 00:04:24,060
Links to all this will be in the show notes.
111
00:04:24,700 --> 00:04:26,360
- I knew about the SSD hats.
112
00:04:26,520 --> 00:04:28,880
I had no idea that you could use a USB flash drive
113
00:04:29,100 --> 00:04:31,480
as a bootable disk for it.
114
00:04:31,620 --> 00:04:33,300
And I know I've got a Raspberry Pi
115
00:04:33,380 --> 00:04:34,480
that sits on my desk full time
116
00:04:34,480 --> 00:04:37,020
and even SSHing into that takes a second or two.
117
00:04:37,140 --> 00:04:40,420
So I'm wondering if my performance is starting to degrade
118
00:04:40,580 --> 00:04:41,400
and if it's that easy,
119
00:04:41,500 --> 00:04:42,860
I think I know what I'm doing this weekend.
120
00:04:43,780 --> 00:04:47,579
- Yeah, I mean, I think this was like the third SSD card
121
00:04:47,580 --> 00:04:51,840
I'd used for this pie just over the years and I kept getting trying to get like the ones that
122
00:04:52,220 --> 00:04:55,420
were recommended by the various Raspberry Pi tip sites that said oh
123
00:04:55,500 --> 00:04:59,960
This is the high endurance micro SD card to use but over time it just seemed to get slower and slower and like
124
00:05:00,380 --> 00:05:05,120
You know this this Raspberry Pi is not doing anything weird. It's using is running the standard Raspberry Pi OS
125
00:05:05,460 --> 00:05:08,640
There's no fancy programs installed, you know, except for Python
126
00:05:11,600 --> 00:05:13,459
All right, Paul, what's your first one for this week
127
00:05:13,820 --> 00:05:15,480
My first one is inventory.
128
00:05:15,960 --> 00:05:21,800
Back in episode 17, I shared Inventory, an open-source inventory system for makers and
129
00:05:22,080 --> 00:05:24,380
manufacturers that had just released their 1.0 release.
130
00:05:25,230 --> 00:05:30,080
Thanks to Alec Delaney, aka Tech Trick, I came across an app called Inventory, a play
131
00:05:30,120 --> 00:05:35,440
on the word "inventory," which also just released their 1.0 release after eight years of active development.
132
00:05:36,600 --> 00:05:43,800
Inventory includes a number of features, including organizing your parts and sorting them into
133
00:05:43,800 --> 00:05:48,100
related to each part, stock locations, which are real world
134
00:05:48,840 --> 00:05:52,020
physical location for your parts, and bill of material
135
00:05:52,260 --> 00:05:54,880
management, allowing you to define a list of parts to make an
136
00:05:55,020 --> 00:05:58,200
assembly. And then you can create custom reports about your
137
00:05:58,380 --> 00:06:01,420
inventory based on a number of templates, and it uses HTML
138
00:06:01,660 --> 00:06:03,820
templates to create PDF reports for you.
139
00:06:04,920 --> 00:06:07,920
It also has a full-featured API using the Django REST
140
00:06:08,140 --> 00:06:10,860
framework and allows you to programmatically interact with
141
00:06:10,800 --> 00:06:11,300
your inventory.
142
00:06:11,920 --> 00:06:14,420
The documentation includes examples of how to interact
143
00:06:14,460 --> 00:06:16,660
with the API in both JavaScript and Python.
144
00:06:17,920 --> 00:06:20,780
Inventory also includes a robust plugin ecosystem.
145
00:06:21,580 --> 00:06:23,320
There are plugins maintained by the core team
146
00:06:23,320 --> 00:06:24,260
as well as the community.
147
00:06:24,880 --> 00:06:26,360
There are plugins for just about everything.
148
00:06:26,640 --> 00:06:28,580
There's integration for DigiKey and Mouser.
149
00:06:28,740 --> 00:06:31,100
There's a plugin to locate your physical stock locations
150
00:06:31,160 --> 00:06:33,080
with WLED, which is pretty neat,
151
00:06:33,720 --> 00:06:35,980
and a bunch of plugins to use with your printer.
152
00:06:37,080 --> 00:06:39,360
Inventory is written in Python using the Django web
153
00:06:39,360 --> 00:06:41,780
framework and plugins can be written in Python too.
154
00:06:42,540 --> 00:06:46,080
There's also excellent documentation covering everything you might want to know.
155
00:06:46,660 --> 00:06:48,720
It's detailed and covers all of the features.
156
00:06:49,400 --> 00:06:52,700
And lastly, if you want to take inventory for a spin before installing it,
157
00:06:52,750 --> 00:06:54,760
they have a full featured demo instance.
158
00:06:55,130 --> 00:06:58,040
I logged in and tried it out and came away really impressed.
159
00:06:58,940 --> 00:06:59,820
Wow, that's really awesome.
160
00:06:59,830 --> 00:07:01,780
I wish I could use one of these.
161
00:07:01,840 --> 00:07:06,340
Like when you talked up the inventory program back in episode 17,
162
00:07:06,760 --> 00:07:09,500
I was like, I'm going to really try this out and I didn't.
163
00:07:11,360 --> 00:07:14,540
And I'm sure it's daunting from a setup perspective of trying to get all your
164
00:07:14,700 --> 00:07:16,440
stuff into, into the database.
165
00:07:16,800 --> 00:07:20,180
But once it's there, the payoff is probably worth it.
166
00:07:21,020 --> 00:07:25,400
Yeah, no, I just, just yesterday I was rooting through my sort of geologic
167
00:07:25,580 --> 00:07:28,260
filing system of like, you know, basically what's on the bottom is the oldest,
168
00:07:28,640 --> 00:07:32,140
trying to find some, some low profile headers that I knew I bought a year ago.
169
00:07:32,400 --> 00:07:32,540
And.
170
00:07:34,420 --> 00:07:38,300
See, and you could have a stock location that tells you exactly where you stored them.
171
00:07:39,000 --> 00:07:51,480
Now, and I love the I love the WLED integration, like it sort of assumes you have some sort of LEDs rigged across your racks and you could just like have something light up to indicate where approximately the thing is.
172
00:07:51,520 --> 00:07:52,040
That's wonderful.
173
00:07:52,540 --> 00:07:53,840
Yeah, I'd love to see that in practice.
174
00:07:53,980 --> 00:07:56,420
Someone's got to have a YouTube video of doing that already.
175
00:07:57,660 --> 00:07:58,760
What's your next one for us?
176
00:07:59,380 --> 00:08:03,920
I'm going to talk about a little, this is a sort of a mini review of the framework 12 laptop.
177
00:08:04,010 --> 00:08:07,640
I don't normally do just straight up reviews of products, but this has been really impressive to me.
178
00:08:08,240 --> 00:08:11,300
So if you're looking for a Linux laptop, I highly recommend the framework 12.
179
00:08:11,480 --> 00:08:12,700
It's their smaller computer.
180
00:08:12,700 --> 00:08:14,780
They have a 16 and a 13 inch, I think as well.
181
00:08:15,500 --> 00:08:16,220
This is a 12 inch.
182
00:08:16,700 --> 00:08:18,720
You can buy it fully assembled or as a kit.
183
00:08:19,310 --> 00:08:25,720
And if you can see I'm using quote fingers, where kit means you just install the RAM, SSD and expansion cards.
184
00:08:26,050 --> 00:08:26,640
More on that in a bit.
185
00:08:27,020 --> 00:08:32,200
The assembly is super easy, but it does give you a chance to see the inside of the laptop and the care that went into it.
186
00:08:32,680 --> 00:08:36,340
You can see that the framework company designed the whole machine for repairability.
187
00:08:36,440 --> 00:08:44,300
Like everything is screwed down, you can remove bits and pieces, you know, if like you break a jack or something, or you can even upgrade the motherboard.
188
00:08:44,840 --> 00:08:55,340
Like in fact, their older Framework 16 laptop, they just introduced a new AMD Ryzen mainboard with an integrated NVIDIA RTX GPU that you can just swap in if you already have a Framework 16.
189
00:08:56,020 --> 00:08:59,400
So to assemble my new laptop, I got a beer ready and everything.
190
00:08:59,720 --> 00:09:02,920
I mean, I say everything, but they included the one screwdriver needed.
191
00:09:03,240 --> 00:09:06,020
I only got about two sips into the beer before I was done.
192
00:09:06,300 --> 00:09:09,300
You install the RAM and SSD from the top by lifting the keyboard out.
193
00:09:09,740 --> 00:09:14,280
You just plug in the RAM and SSD into the little standard RAM socket
194
00:09:14,340 --> 00:09:16,880
and the standard NVMe socket.
195
00:09:17,600 --> 00:09:20,380
And the keyboard connects via pogo pins and magnets.
196
00:09:20,500 --> 00:09:23,500
So you can just kind of lay the keyboard on top and it'll connect
197
00:09:24,060 --> 00:09:25,220
and you can then test it out.
198
00:09:25,380 --> 00:09:30,740
Once you're sure you're done, you can then secure the keyboard with a couple screws on the bottom that are captive screws.
199
00:09:31,100 --> 00:09:34,120
That's another cool thing. All the screws in this laptop are captive.
200
00:09:34,340 --> 00:09:40,440
So once you remove, once you unscrew something, the screw stays with the part or it stays on the computer.
201
00:09:40,560 --> 00:09:41,900
So you're never losing screws.
202
00:09:41,980 --> 00:09:48,700
You're never getting screws mixed up because you know how some companies, Apple, will use like slightly different length screws for things.
203
00:09:48,800 --> 00:09:51,160
And if you swap them, you could really damage something.
204
00:09:52,520 --> 00:09:53,240
It's really nice design.
205
00:09:53,260 --> 00:09:55,580
And the laptop, once you've got it all assembled,
206
00:09:56,080 --> 00:09:59,060
it's still only as thick as my main MacBook Pro.
207
00:09:59,540 --> 00:10:02,780
So, it's like, even with the sockets
208
00:10:03,080 --> 00:10:05,420
for all this replaceable stuff and the screws and stuff,
209
00:10:05,460 --> 00:10:07,740
it's still the same thickness as my MacBook Pro.
210
00:10:08,380 --> 00:10:08,940
That's just amazing.
211
00:10:09,400 --> 00:10:11,100
There are many YouTube videos
212
00:10:11,160 --> 00:10:12,320
that deep dive into this laptop,
213
00:10:12,830 --> 00:10:14,180
its features, how it performs.
214
00:10:14,720 --> 00:10:15,740
I'm not gonna go into those aspects.
215
00:10:16,520 --> 00:10:17,760
It seems to perform about as well
216
00:10:17,760 --> 00:10:19,340
as any other Intel i5 laptop,
217
00:10:19,540 --> 00:10:20,720
and it costs about the same, I think.
218
00:10:21,180 --> 00:10:22,260
I'm using Linux on it.
219
00:10:22,320 --> 00:10:23,380
You can get it with Windows.
220
00:10:23,620 --> 00:10:25,820
But one of the cool things is they support Linux
221
00:10:26,320 --> 00:10:29,160
pretty heavily and they've got three different distros
222
00:10:29,340 --> 00:10:32,900
that they recommend, Ubuntu, Fedora, and this other one,
223
00:10:33,200 --> 00:10:33,920
I forget what it's called.
224
00:10:34,500 --> 00:10:36,860
I chose Ubuntu 'cause Ubuntu's Debian-based
225
00:10:36,860 --> 00:10:39,300
and it's the most like Raspberry Pi OS
226
00:10:39,340 --> 00:10:42,120
and the other Debian-based OSs that I'm used to.
227
00:10:42,880 --> 00:10:47,080
When you install the Ubuntu 25 that they recommend,
228
00:10:47,140 --> 00:10:48,080
which is regular Ubuntu,
229
00:10:48,180 --> 00:10:49,980
it's like not a special framework version of Ubuntu,
230
00:10:50,780 --> 00:10:52,500
all the peripherals are recognized.
231
00:10:53,340 --> 00:10:55,280
And when I plug in class compliant USB devices,
232
00:10:55,480 --> 00:10:57,680
like USB audio or MIDI adapters, they just work.
233
00:10:58,620 --> 00:11:01,120
It's just, as someone who's used Linux laptops,
234
00:11:01,540 --> 00:11:02,160
this is kind of weird.
235
00:11:02,660 --> 00:11:03,920
I've been using it for a little over a month
236
00:11:03,920 --> 00:11:04,620
and haven't had a problem.
237
00:11:04,970 --> 00:11:07,580
I use it mostly for doing things like web browsing,
238
00:11:08,380 --> 00:11:10,460
video playing, code editing, compiling,
239
00:11:11,420 --> 00:11:13,340
doing little test compiles, PDF viewing.
240
00:11:13,460 --> 00:11:15,060
I have it on my bench as basically the thing
241
00:11:15,120 --> 00:11:17,280
that I have next to me while I'm working.
242
00:11:18,020 --> 00:11:20,179
There are two things though about this laptop
243
00:11:20,180 --> 00:11:20,860
it really stand out.
244
00:11:21,360 --> 00:11:23,820
And I've been trying Linux on laptops since the 90s.
245
00:11:24,280 --> 00:11:27,920
Like parenthetically, anyone remember linuxonlaptops.com?
246
00:11:28,320 --> 00:11:31,720
It was where we huddled in the cold sharing campfire stories
247
00:11:31,720 --> 00:11:34,560
of almost getting audio working on corporate Toshiba
248
00:11:34,820 --> 00:11:36,140
satellites or Dell Inspirons.
249
00:11:37,400 --> 00:11:39,800
Now we have Linux first companies like Framework,
250
00:11:40,240 --> 00:11:41,620
MNT, and System76.
251
00:11:42,480 --> 00:11:44,180
But if you're scarred from past attempts
252
00:11:44,220 --> 00:11:45,660
to get Linux working on a laptop,
253
00:11:46,120 --> 00:11:49,120
and you have an old ThinkPad or Dell for the last few years,
254
00:11:49,460 --> 00:11:50,980
there's a good chance it'll work great today.
255
00:11:51,480 --> 00:11:53,840
And it'll seem much faster than the Windows that was on it.
256
00:11:54,260 --> 00:11:56,540
So try that out if you wanna get back
257
00:11:56,560 --> 00:11:57,720
into the Linux on laptop thing.
258
00:11:57,760 --> 00:12:00,020
I think that's kind of a solved problem in many ways.
259
00:12:00,680 --> 00:12:03,260
Anyway, the first really cool thing about the Framework 12
260
00:12:03,380 --> 00:12:05,700
is that besides just being a fully working
261
00:12:05,940 --> 00:12:06,940
modern laptop on Linux,
262
00:12:07,340 --> 00:12:10,060
is the four expansion card slots on the sides.
263
00:12:10,600 --> 00:12:13,040
These are essentially recessed USB-C ports
264
00:12:13,480 --> 00:12:14,979
and the available expansion cards
265
00:12:14,980 --> 00:12:19,400
either expose that USB-C port or USB-A or Ethernet,
266
00:12:19,839 --> 00:12:22,100
HDMI, extra audio, SD card,
267
00:12:22,280 --> 00:12:25,220
or storage like a little built-in thumb drive or something.
268
00:12:25,720 --> 00:12:28,020
It's really neat. It totally gives that
269
00:12:28,140 --> 00:12:29,740
I'm plugging a cartridge in vibe
270
00:12:30,420 --> 00:12:32,460
for those of us that grew up with cartridge-based video games.
271
00:12:33,480 --> 00:12:35,420
Unless you customize the laptop how you want,
272
00:12:35,920 --> 00:12:39,660
if you want to have a bunch of extra built-in storage, you can.
273
00:12:40,340 --> 00:12:41,860
If you want to have a whole bunch of
274
00:12:42,060 --> 00:12:43,500
extra audio outputs, you can have that.
275
00:12:43,740 --> 00:12:48,000
My current setup has two USB-C ports,
276
00:12:48,460 --> 00:12:50,900
a USB-A port, and HDMI out.
277
00:12:51,620 --> 00:12:54,280
Then any USB-C port is also a charge port,
278
00:12:54,380 --> 00:12:55,300
so that's how you charge the laptop.
279
00:12:56,679 --> 00:12:58,920
You can swap these out anytime you want, they're all hot swap.
280
00:12:59,200 --> 00:13:00,760
I've also got an Ethernet card,
281
00:13:00,820 --> 00:13:02,100
and so when I was playing around with doing
282
00:13:02,240 --> 00:13:03,740
wired Ethernet to get really fast performance,
283
00:13:03,780 --> 00:13:05,500
I just swapped out one of the,
284
00:13:05,600 --> 00:13:10,200
I think the USB-A, and plugged in the Ethernet card and did Ethernet.
285
00:13:11,120 --> 00:13:13,200
The other thing about the Framework 12 is that
286
00:13:13,120 --> 00:13:15,480
the screen folds over and onto the back
287
00:13:15,540 --> 00:13:16,560
and it turns into a tablet.
288
00:13:17,000 --> 00:13:19,620
I wasn't even really aware about this when I got it.
289
00:13:20,320 --> 00:13:22,100
And the touch screen even works in Linux.
290
00:13:22,560 --> 00:13:24,380
Even though most of my uses aren't touch compatible,
291
00:13:24,520 --> 00:13:26,760
it's really handy to have an instructional video
292
00:13:26,960 --> 00:13:29,660
or schematic on the tablet screen while I'm working.
293
00:13:30,300 --> 00:13:32,220
They just introduced a stylus that works with the laptop
294
00:13:32,540 --> 00:13:33,200
when it's in tablet mode.
295
00:13:33,280 --> 00:13:34,140
I've not tried this out yet.
296
00:13:34,520 --> 00:13:36,120
I don't even know if it's supported under Linux,
297
00:13:36,220 --> 00:13:37,000
but it's 60 bucks.
298
00:13:37,520 --> 00:13:39,220
So I might get it just to see what it can do.
299
00:13:40,359 --> 00:13:42,160
KiCad absolutely flies on this thing.
300
00:13:42,740 --> 00:13:45,900
Using a stylus on KiCad on Linux would seem very sci-fi to me.
301
00:13:46,640 --> 00:13:47,000
(laughs)
302
00:13:48,000 --> 00:13:49,560
So this review isn't sponsored in any way.
303
00:13:49,600 --> 00:13:51,180
I'm just happy to have a good portable Linux box
304
00:13:51,300 --> 00:13:52,380
next to my, on my bench.
305
00:13:52,710 --> 00:13:54,140
It's made by a company that seems to care
306
00:13:54,200 --> 00:13:55,780
about repairability and upgradability,
307
00:13:56,040 --> 00:13:57,880
which seems to be in short supply a lot nowadays.
308
00:13:58,510 --> 00:13:59,280
So thanks, Framework.
309
00:13:59,520 --> 00:14:02,280
And I've got some links in the show notes,
310
00:14:02,360 --> 00:14:05,220
one of which is my very abbreviated
311
00:14:05,740 --> 00:14:07,360
three-post live assembly thread.
312
00:14:07,370 --> 00:14:08,800
I did when I first got this,
313
00:14:08,860 --> 00:14:10,380
thinking it was gonna be like a long thing,
314
00:14:11,160 --> 00:14:12,480
But no, it was only like three posts.
315
00:14:13,220 --> 00:14:13,520
(laughs)
316
00:14:14,140 --> 00:14:16,320
- I used Linux full time for about 10 years
317
00:14:16,640 --> 00:14:19,040
and I'm with you where the stuff just sometimes works,
318
00:14:19,140 --> 00:14:20,040
sometimes didn't.
319
00:14:20,560 --> 00:14:21,740
So this is very tempting.
320
00:14:22,680 --> 00:14:24,960
You're an Ubuntu guy, I'm a Fedora guy
321
00:14:25,580 --> 00:14:28,420
and there's a distro called Project Bluefin
322
00:14:29,140 --> 00:14:32,100
from Universal Blue that inherits all of Fedora
323
00:14:32,620 --> 00:14:34,160
and then it's cloud native.
324
00:14:34,280 --> 00:14:35,400
So they've got a lot of tools,
325
00:14:35,440 --> 00:14:36,620
they've got home brew built in.
326
00:14:36,840 --> 00:14:38,780
But since it inherits from Fedora
327
00:14:38,860 --> 00:14:40,180
and Fedora supports this,
328
00:14:40,320 --> 00:14:42,280
it's got framework support right out of the box.
329
00:14:42,380 --> 00:14:44,220
So I've been keeping an eye on that distro
330
00:14:44,800 --> 00:14:46,960
for a little while and tempted to get back
331
00:14:47,040 --> 00:14:48,060
into Linux on the desktop.
332
00:14:48,740 --> 00:14:52,140
So that's pretty cool that just everything just works.
333
00:14:52,800 --> 00:14:54,280
- Yeah, on their Linux page,
334
00:14:54,420 --> 00:14:56,800
they list a bunch of distros, I think 10 total.
335
00:14:57,280 --> 00:14:58,980
And it's like, they have three that are like,
336
00:14:59,400 --> 00:15:00,940
this is the easy version of Linux.
337
00:15:00,980 --> 00:15:02,260
And then like the other ones are, they're like,
338
00:15:02,320 --> 00:15:04,540
this works with a couple of asterisks.
339
00:15:04,680 --> 00:15:06,780
And I think, I'm not quite sure what the asterisks are,
340
00:15:06,860 --> 00:15:08,260
but I think it's like something pretty minor.
341
00:15:08,400 --> 00:15:11,480
'cause most of the hardware support is in the Linux kernel.
342
00:15:11,600 --> 00:15:13,300
That's not something that different distros
343
00:15:13,400 --> 00:15:14,540
would be that different from.
344
00:15:16,019 --> 00:15:17,820
Anyway, what's your next one for this time?
345
00:15:18,460 --> 00:15:20,600
- My next one is one of my favorite pieces of tech
346
00:15:20,640 --> 00:15:22,580
in my house, and it just keeps getting better.
347
00:15:23,160 --> 00:15:24,620
If you're like me, you probably subscribe
348
00:15:24,620 --> 00:15:27,340
to a bunch of streaming services like Netflix, Peacock,
349
00:15:27,500 --> 00:15:29,360
HBO Max, Hulu, or Paramount.
350
00:15:29,960 --> 00:15:31,160
Throw in a cable TV bill,
351
00:15:31,160 --> 00:15:32,860
and it gets expensive really quick.
352
00:15:33,460 --> 00:15:35,759
One option is to cancel your cable bill
353
00:15:35,760 --> 00:15:37,920
and get your local channels via an antenna.
354
00:15:38,540 --> 00:15:41,560
I've tried a number of solutions over the years since then
355
00:15:41,660 --> 00:15:43,260
for watching live TV with an antenna,
356
00:15:43,480 --> 00:15:45,140
including Myth TV, Kodi, and MB,
357
00:15:45,700 --> 00:15:46,900
but there's one piece of software
358
00:15:46,980 --> 00:15:48,700
that I think does it better than any of them,
359
00:15:48,740 --> 00:15:50,420
and that's an app called Channels,
360
00:15:50,840 --> 00:15:52,980
which is available at getchannels.com.
361
00:15:53,660 --> 00:15:55,000
First, you'll need to get an antenna
362
00:15:55,080 --> 00:15:56,140
to get over the air stations
363
00:15:56,260 --> 00:15:58,720
that you hook up to a device called the HD Home Run,
364
00:15:59,160 --> 00:16:00,760
which is a digital network tuner.
365
00:16:01,340 --> 00:16:02,780
You plug the antenna into that,
366
00:16:02,960 --> 00:16:05,400
and the TV signal is now available over your network.
367
00:16:06,240 --> 00:16:08,700
Antenna prices vary and an HD Home Run box
368
00:16:08,760 --> 00:16:10,780
will run you about $100 to $150
369
00:16:11,280 --> 00:16:12,640
depending on which model you choose.
370
00:16:13,400 --> 00:16:15,480
If you visit rabbitears.info,
371
00:16:15,840 --> 00:16:18,180
it will show you a list of all the channels in your area
372
00:16:18,260 --> 00:16:19,380
that you can get via antenna.
373
00:16:19,920 --> 00:16:22,640
And you'll probably be surprised how many channels there are.
374
00:16:23,180 --> 00:16:25,880
Next, you'll need to subscribe to channels for $80 a year,
375
00:16:26,040 --> 00:16:28,160
which is $10 more a year than Plex.
376
00:16:28,860 --> 00:16:31,360
Then you download the channels DVR server software,
377
00:16:31,580 --> 00:16:34,040
which is available for Windows, Mac, Linux, Docker,
378
00:16:34,360 --> 00:16:36,440
and a number of network attached storage devices,
379
00:16:36,680 --> 00:16:39,560
including Synology, Netgear, TrueNAS, and a lot more.
380
00:16:40,360 --> 00:16:42,200
So there's a little bit of cost getting started,
381
00:16:42,360 --> 00:16:44,280
but if you're cutting the cord and getting rid of cable,
382
00:16:44,630 --> 00:16:47,560
you probably will recoup it in just a matter of months.
383
00:16:48,380 --> 00:16:50,180
Now you need to provide it with your source,
384
00:16:50,420 --> 00:16:51,380
which is usually an antenna,
385
00:16:51,920 --> 00:16:54,480
but if you do have a cable subscription with TV Everywhere,
386
00:16:54,840 --> 00:16:55,860
that works too.
387
00:16:56,520 --> 00:16:59,160
What's really neat is even when using TV Everywhere,
388
00:16:59,380 --> 00:17:00,520
which is streaming over the internet,
389
00:17:01,080 --> 00:17:03,460
channels will automatically detect and skip commercials
390
00:17:03,600 --> 00:17:05,060
when recording via TV everywhere
391
00:17:05,459 --> 00:17:06,819
and when you use an antenna.
392
00:17:08,160 --> 00:17:09,760
The only catch with channels
393
00:17:09,959 --> 00:17:11,420
is that if you wanna watch it on a TV,
394
00:17:11,540 --> 00:17:13,839
you're going to need an Apple TV, Android TV,
395
00:17:14,100 --> 00:17:15,560
or an Amazon Fire Stick,
396
00:17:15,980 --> 00:17:18,339
which I can understand might be a non-starter for some.
397
00:17:19,100 --> 00:17:20,520
The apps to connect the channels
398
00:17:20,560 --> 00:17:21,939
and watch it on your phone or tablet,
399
00:17:22,100 --> 00:17:24,000
on iOS or Android are all free.
400
00:17:24,620 --> 00:17:26,199
And they make it super easy to watch it
401
00:17:26,220 --> 00:17:27,780
on the go away from home
402
00:17:27,880 --> 00:17:30,060
and just stream it over the internet to your device.
403
00:17:30,720 --> 00:17:33,500
The iPad app also runs on Mac OS, which is nice.
404
00:17:33,640 --> 00:17:35,380
I'll sometimes watch it on a second monitor
405
00:17:35,540 --> 00:17:36,660
when doing something else.
406
00:17:37,800 --> 00:17:39,460
But it's not just a DVR.
407
00:17:39,820 --> 00:17:42,860
You can manage all of your personal media on it as well.
408
00:17:43,400 --> 00:17:45,100
I have a large physical media collection
409
00:17:45,240 --> 00:17:47,320
with a ton of DVDs and Blu-rays that I've ripped
410
00:17:47,440 --> 00:17:49,240
and I've imported them all into channels.
411
00:17:50,020 --> 00:17:51,880
Those are all the features you would expect
412
00:17:52,080 --> 00:17:54,540
in a DVR and a home media server, but that's not all.
413
00:17:54,640 --> 00:17:56,620
They continue to innovate and add features.
414
00:17:57,360 --> 00:17:58,140
A year or two ago,
415
00:17:58,220 --> 00:18:00,060
they added what they call virtual channels.
416
00:18:00,480 --> 00:18:03,180
you can create your own channels with your own content.
417
00:18:03,760 --> 00:18:05,960
For example, I created a Star Wars channel
418
00:18:06,060 --> 00:18:07,760
that streams 10 of the movies,
419
00:18:08,260 --> 00:18:10,760
or an action channel where I added the Matrix trilogy,
420
00:18:10,980 --> 00:18:12,360
the John Wick movies, and more.
421
00:18:13,060 --> 00:18:14,380
Now when I browse my channels
422
00:18:14,410 --> 00:18:16,040
and can't decide on something to watch,
423
00:18:16,360 --> 00:18:18,140
I'll sometimes just watch one of those channels
424
00:18:18,140 --> 00:18:19,700
and pick up a movie halfway through,
425
00:18:19,820 --> 00:18:21,700
just because I can't decide on what I want.
426
00:18:23,020 --> 00:18:26,140
They also recently added in the beta, multi-view.
427
00:18:26,500 --> 00:18:28,940
So you can put two channels on side by side,
428
00:18:29,080 --> 00:18:31,420
which is fun on Sundays when watching football.
429
00:18:31,700 --> 00:18:33,640
I can play both games at the same time.
430
00:18:34,620 --> 00:18:36,040
And the newest feature is the ability
431
00:18:36,180 --> 00:18:38,300
to skip intros and credits at the end,
432
00:18:38,500 --> 00:18:40,380
a la Netflix, which is a nice touch.
433
00:18:41,220 --> 00:18:43,900
There may be cheaper solutions out there for your DVR,
434
00:18:44,340 --> 00:18:46,200
but few are as polished as channels.
435
00:18:46,660 --> 00:18:47,840
I've been using it for years,
436
00:18:47,920 --> 00:18:49,260
and it's one of my favorite apps
437
00:18:49,300 --> 00:18:50,680
that I use almost every day.
438
00:18:51,660 --> 00:18:52,380
- Wow, this is really cool.
439
00:18:53,240 --> 00:18:54,180
Like it was so many years ago,
440
00:18:54,320 --> 00:18:57,880
gave up standard broadcast TV because, you know,
441
00:18:58,560 --> 00:19:00,120
It was during that time when everything was switching
442
00:19:00,200 --> 00:19:03,940
to digital and I didn't have a digital receiver yet.
443
00:19:04,040 --> 00:19:06,660
And it seemed like I was getting the sort of standard,
444
00:19:06,780 --> 00:19:08,980
substandard service from just analog,
445
00:19:09,520 --> 00:19:11,800
but like all the transmissions are digital.
446
00:19:11,840 --> 00:19:14,500
If you can put up a little rabbit ears or whatever,
447
00:19:14,740 --> 00:19:18,160
you can now have that stream to kind of any of your apps
448
00:19:18,220 --> 00:19:18,620
in your house.
449
00:19:18,660 --> 00:19:20,060
That's pretty cool using the HD home run
450
00:19:20,440 --> 00:19:21,820
and then record it all with channels.
451
00:19:21,940 --> 00:19:22,700
That's pretty cool.
452
00:19:23,540 --> 00:19:23,740
Yeah.
453
00:19:24,800 --> 00:19:25,940
- What's your next one for us?
454
00:19:26,900 --> 00:19:31,320
All right, so synthesizers again, me and the synthesizers.
455
00:19:31,780 --> 00:19:34,180
If you've ever played with Eurorack modular synths,
456
00:19:34,400 --> 00:19:36,460
you'll know the name mutable instruments.
457
00:19:37,460 --> 00:19:40,180
Mutable instruments was created by Emily Gillette
458
00:19:40,230 --> 00:19:42,780
back in 2009, and every one of her synth modules
459
00:19:42,880 --> 00:19:43,800
was interesting and useful.
460
00:19:44,290 --> 00:19:46,780
They ran the gamut from oscillators and filters
461
00:19:46,850 --> 00:19:50,360
and reverbs to envelopes and utility modules like mixers.
462
00:19:51,340 --> 00:19:53,900
And now you can run some of them in Arduino
463
00:19:54,280 --> 00:19:55,620
on a Raspberry Pi Pico.
464
00:19:56,440 --> 00:19:58,280
Friend of the show and previous guest, John Park,
465
00:19:58,360 --> 00:20:00,900
has an almost complete collection of the Mutable Modules,
466
00:20:01,020 --> 00:20:02,580
and it fills up about two racks of space.
467
00:20:03,040 --> 00:20:05,240
I think there's like 60, not 60,
468
00:20:05,440 --> 00:20:07,560
like maybe 20 or 30 modules, it's a lot.
469
00:20:08,000 --> 00:20:10,040
He can create such wonderful noise with all of them.
470
00:20:10,120 --> 00:20:11,680
I mean, he'll occasionally send me little videos
471
00:20:11,780 --> 00:20:16,380
of crazy little evolving soundscapes,
472
00:20:16,680 --> 00:20:17,760
and they're just wonderful.
473
00:20:19,040 --> 00:20:22,080
So because the Mutable Modules are so useful and beloved,
474
00:20:22,110 --> 00:20:24,420
they became the standard kit for anyone doing modular.
475
00:20:25,040 --> 00:20:27,180
And because all of her designs are open source,
476
00:20:27,700 --> 00:20:29,200
several other best book manufacturers
477
00:20:29,340 --> 00:20:31,780
made versions of her modules in different form factors
478
00:20:31,940 --> 00:20:32,780
or with added features.
479
00:20:33,340 --> 00:20:35,580
I've got a few mutable modules and a few clones.
480
00:20:35,760 --> 00:20:37,900
For instance, I have a clone of the reverb module,
481
00:20:38,240 --> 00:20:40,700
the cloud reverb module called Supercell
482
00:20:41,320 --> 00:20:42,900
that adds extra knobs and inputs
483
00:20:42,900 --> 00:20:44,740
to control even more of the reverb sound.
484
00:20:45,360 --> 00:20:47,020
Like one of these you can use, you can freeze the reverb.
485
00:20:47,140 --> 00:20:49,000
Like it's got like sort of the echo
486
00:20:49,100 --> 00:20:50,500
that's happening of the reverb.
487
00:20:50,520 --> 00:20:53,380
You can kind of freeze that and add noises to it
488
00:20:53,360 --> 00:20:54,520
and reverse it and all that kind of stuff.
489
00:20:54,920 --> 00:20:56,460
I also have a clone of Braids,
490
00:20:56,880 --> 00:20:59,380
which is one of Mutable's most popular synth modules.
491
00:20:59,520 --> 00:21:01,160
It's got all these wave tables in it.
492
00:21:01,260 --> 00:21:02,680
All the wave table stuff that I've been doing
493
00:21:02,680 --> 00:21:05,200
in CircuitPython is very much influenced from Braids.
494
00:21:05,740 --> 00:21:07,920
The clone that I have is a much smaller size.
495
00:21:08,040 --> 00:21:10,580
Braids came out, it was a fairly large module,
496
00:21:11,140 --> 00:21:14,240
and in a modular synth rack, every amount of space counts,
497
00:21:14,280 --> 00:21:15,180
and so I wanted a smaller one.
498
00:21:15,840 --> 00:21:18,540
Some of Emily's algorithms made it into professional synths
499
00:21:18,540 --> 00:21:21,200
like the Korg MicroFreak and the Polyant synth.
500
00:21:21,760 --> 00:21:23,180
So you may not know Mutable,
501
00:21:23,600 --> 00:21:24,800
but I bet you've heard the sounds.
502
00:21:26,340 --> 00:21:30,160
So back in 2022, Emily shut down Mutable Instruments,
503
00:21:30,720 --> 00:21:33,120
but her and her modules legacy lives on
504
00:21:33,120 --> 00:21:35,460
and all the modules, repos, and inspiration
505
00:21:35,840 --> 00:21:37,420
her circuits and algorithms have created.
506
00:21:38,040 --> 00:21:38,500
Thank you, Emily.
507
00:21:38,620 --> 00:21:41,080
I've learned a lot about analog electronics from you.
508
00:21:42,240 --> 00:21:43,620
I've long wanted to poke around
509
00:21:44,180 --> 00:21:46,280
the synth and effects algorithms that she's created,
510
00:21:46,700 --> 00:21:49,320
but most of her modules are written for the STM32 chips,
511
00:21:49,440 --> 00:21:51,360
a chip that I'm not that experienced with.
512
00:21:52,280 --> 00:21:54,860
Fortunately, Mark Washam, aka Potaster on GitHub,
513
00:21:55,400 --> 00:21:56,860
has ported some of the mutable modules
514
00:21:57,020 --> 00:21:58,400
code to Arduino on the Pico.
515
00:21:58,860 --> 00:22:00,580
This is great. I know that well.
516
00:22:01,000 --> 00:22:02,440
It's one less barrier for me and I've
517
00:22:02,480 --> 00:22:04,100
just started poking around trying stuff out.
518
00:22:04,180 --> 00:22:05,340
It's really easy to get started.
519
00:22:05,840 --> 00:22:07,360
If you want to start playing with this stuff immediately,
520
00:22:08,419 --> 00:22:11,240
Potaster/Mark also has a little Pico-based synth board
521
00:22:11,260 --> 00:22:12,820
he sells on Tindy called Scarp
522
00:22:13,360 --> 00:22:15,400
that he targets for his mutable porting experiments.
523
00:22:15,840 --> 00:22:17,220
It's got an OLED, two pots,
524
00:22:17,460 --> 00:22:18,560
eight buttons, and LEDs.
525
00:22:19,100 --> 00:22:25,920
I was pleased and surprised to see my name called out as he based some of the design of Scarp on the various synth boards I've made over the years.
526
00:22:26,440 --> 00:22:31,380
Thanks, Mark. I can't wait to get deeper into the mutable synth code and links to all this stuff in the show notes.
527
00:22:31,900 --> 00:22:36,180
So on the Pico, is it copying specific mutable modules?
528
00:22:37,000 --> 00:22:42,020
Like, is there a code base for this module and a code base for that module that you flash?
529
00:22:42,070 --> 00:22:43,560
Yeah, yeah, yeah. Exactly. Yeah.
530
00:22:43,600 --> 00:22:46,200
So there's kind of two parts to these things.
531
00:22:46,300 --> 00:22:48,000
There's the core algorithm that, like say,
532
00:22:48,340 --> 00:22:49,240
in the case of braids,
533
00:22:49,320 --> 00:22:51,480
like he's got a version of braids that he's ported.
534
00:22:51,900 --> 00:22:56,000
There's the core algorithm that's generating the synth noises
535
00:22:56,380 --> 00:22:58,440
and then there's the user interface of like,
536
00:22:58,500 --> 00:23:01,580
you know, what knobs exist, what display, if any, exists,
537
00:23:01,920 --> 00:23:02,880
what LEDs exist.
538
00:23:03,300 --> 00:23:05,320
And so one of the nice things that,
539
00:23:06,560 --> 00:23:08,440
I don't know if Emily did this or if Mark did this,
540
00:23:08,500 --> 00:23:10,940
but there's sort of two different folders.
541
00:23:11,100 --> 00:23:13,580
There's one that's just the algorithm
542
00:23:13,580 --> 00:23:18,280
and others like, oh, here's the algorithm being used by, for instance, his scarf board.
543
00:23:18,960 --> 00:23:22,780
So you have a concrete example of like, oh, here's how I might map a knob to control this
544
00:23:22,980 --> 00:23:28,020
parameter. Here's how I might reflect this parameter on an LED or something. So yeah,
545
00:23:28,120 --> 00:23:32,400
so it's both. And the fact that both are there are really handy, because just having one of the
546
00:23:32,500 --> 00:23:38,080
others is, you know, not as helpful. All right, Paul, what's the last one for this post?
547
00:23:38,460 --> 00:23:41,920
My last item is dissolvable 3D printed circuit boards.
548
00:23:43,040 --> 00:23:46,600
Researchers at the University of Maryland have developed a new type of circuit board
549
00:23:46,780 --> 00:23:51,380
using polyvinyl alcohol, which is 3D printable and which can dissolve in water.
550
00:23:52,360 --> 00:23:57,840
To create the wiring on the PCB, they inject a gallium-indium metal alloy into the circuit
551
00:23:58,000 --> 00:24:02,160
board's channels in liquid form and then manually place the components on the board.
552
00:24:02,760 --> 00:24:07,220
They then apply a polymer glue to seal the circuits before drying the device for an hour at
553
00:24:07,580 --> 00:24:12,760
60 degrees Celsius. Using this process, the researchers created working versions of a
554
00:24:12,820 --> 00:24:18,500
Bluetooth speaker, a fidget toy, and an electronic three-finger gripper. A splash of water won't hurt
555
00:24:18,580 --> 00:24:23,800
the circuit board. It takes up to 22 hours at room temperature to dissolve, and the researchers
556
00:24:23,900 --> 00:24:29,780
were able to recover 99% of the dissolved polyvinyl alcohol. The article goes on to say that
557
00:24:29,900 --> 00:24:36,779
according to a 2022 United Nations report, Asia generated 600,000 tons of used circuit boards
558
00:24:36,780 --> 00:24:39,280
while recycling only 17%.
559
00:24:40,080 --> 00:24:42,600
Europe and North America generated 300,000 tons
560
00:24:42,980 --> 00:24:47,260
and recycled 61% in Europe and 44% in North America.
561
00:24:48,160 --> 00:24:51,200
Imagine how many hobbyists create PCBs for prototyping
562
00:24:51,200 --> 00:24:52,920
and what happens when you get something wrong
563
00:24:52,920 --> 00:24:54,220
and have to throw the board out.
564
00:24:54,840 --> 00:24:57,180
This process might start to address that.
565
00:24:57,660 --> 00:24:59,900
Not to mention that if you can do this with a 3D printer,
566
00:25:00,020 --> 00:25:02,960
you can speed up prototyping processes by a huge factor.
567
00:25:04,039 --> 00:25:05,539
Unfortunately, you'll need a subscription
568
00:25:05,540 --> 00:25:10,060
to read the article either on Apple News or at the New Scientist website, but I've linked
569
00:25:10,100 --> 00:25:11,120
to both in the show notes.
570
00:25:11,960 --> 00:25:12,560
This is really amazing.
571
00:25:12,660 --> 00:25:17,620
I mean, like, because isn't PVA, polyvinyl alcohol, isn't PVA the standard dissolvable
572
00:25:17,920 --> 00:25:22,200
filament people use when they print with soluble supports in 3D printing?
573
00:25:22,240 --> 00:25:24,120
I think it is, now that you mention it.
574
00:25:24,200 --> 00:25:25,200
I didn't even put that together.
575
00:25:26,340 --> 00:25:30,180
I mean, I've not used it yet, because I don't have a printer that can do that really, but
576
00:25:31,020 --> 00:25:31,620
this is incredible.
577
00:25:32,160 --> 00:25:33,480
Yeah, it's really a shame.
578
00:25:33,540 --> 00:25:38,140
It's like I've got this big shoebox full of PCBs
579
00:25:38,140 --> 00:25:40,940
that I'll never use, 'cause if you're getting a PCB made,
580
00:25:41,320 --> 00:25:42,640
the minimum order is five.
581
00:25:42,680 --> 00:25:45,620
And so even though maybe if you want one to test with
582
00:25:45,660 --> 00:25:47,640
and one to be your actual one,
583
00:25:47,640 --> 00:25:48,820
you now have three left overs.
584
00:25:49,280 --> 00:25:49,680
(laughs)
585
00:25:50,320 --> 00:25:52,280
- Well, hopefully it comes to market sooner
586
00:25:52,400 --> 00:25:53,020
rather than later.
587
00:25:53,920 --> 00:25:54,460
- Yeah, it's cool.
588
00:25:55,000 --> 00:25:56,340
Yeah, it's a...
589
00:25:56,340 --> 00:25:57,100
(laughs)
590
00:25:57,300 --> 00:25:59,920
Man, just don't let it sit out in the rain.
591
00:26:00,419 --> 00:26:00,820
- Exactly.
592
00:26:01,440 --> 00:26:01,840
(laughs)
593
00:26:03,340 --> 00:26:04,120
Well, that's our show.
594
00:26:04,580 --> 00:26:06,560
For detailed show notes and transcripts,
595
00:26:06,700 --> 00:26:07,900
visit thebootloader.net.
596
00:26:08,320 --> 00:26:10,800
And if you're enjoying the show, please leave a review.
597
00:26:11,060 --> 00:26:12,280
It really does help the show.
598
00:26:12,980 --> 00:26:14,720
Until next time, stay positive.