1
00:00:06,320 --> 00:00:11,499
[Music]

2
00:00:15,830 --> 00:00:28,020
[Music]

3
00:00:28,320 --> 00:00:32,719
hello everyone and welcome back from

4
00:00:30,640 --> 00:00:35,120
your afternoon tea i hope you had a

5
00:00:32,719 --> 00:00:37,920
great time uh we're in the kia ora

6
00:00:35,120 --> 00:00:41,120
theater at uh linuxconf australia in

7
00:00:37,920 --> 00:00:42,800
2022 and next up we have sambish sam

8
00:00:41,120 --> 00:00:45,120
bishop is a professional software

9
00:00:42,800 --> 00:00:48,000
developer amateur rocket scientist and

10
00:00:45,120 --> 00:00:49,280
astronomer who loves python django cats

11
00:00:48,000 --> 00:00:51,840
working on their personal software and

12
00:00:49,280 --> 00:00:53,360
hardware projects everything space

13
00:00:51,840 --> 00:00:54,800
playing games of all kind and tinkering

14
00:00:53,360 --> 00:00:56,000
with 3d printers

15
00:00:54,800 --> 00:00:58,000
sam's going to be talking about the

16
00:00:56,000 --> 00:01:00,239
users challenges and opportunities

17
00:00:58,000 --> 00:01:02,160
involved in open source software

18
00:01:00,239 --> 00:01:04,320
running in space he does have time for

19
00:01:02,160 --> 00:01:06,159
questions at the end

20
00:01:04,320 --> 00:01:07,119
so we will

21
00:01:06,159 --> 00:01:09,600
make sure that you're writing your

22
00:01:07,119 --> 00:01:10,840
questions in the venulis tab while we go

23
00:01:09,600 --> 00:01:13,920
take it

24
00:01:10,840 --> 00:01:16,960
away hi

25
00:01:13,920 --> 00:01:19,280
so yeah boldly going linux in space i'm

26
00:01:16,960 --> 00:01:21,360
sam bishop uh freelance software as you

27
00:01:19,280 --> 00:01:22,799
heard my contact info is there on the

28
00:01:21,360 --> 00:01:23,840
slide there

29
00:01:22,799 --> 00:01:25,520
and

30
00:01:23,840 --> 00:01:28,000
just for perspective

31
00:01:25,520 --> 00:01:29,920
let's get a timeline going as i said

32
00:01:28,000 --> 00:01:31,200
questions at the end it's a very broad

33
00:01:29,920 --> 00:01:32,880
talk so

34
00:01:31,200 --> 00:01:35,360
plenty of time for questions at the end

35
00:01:32,880 --> 00:01:36,479
so you can ask whatever sort of peaks

36
00:01:35,360 --> 00:01:38,000
your interest

37
00:01:36,479 --> 00:01:39,920
now

38
00:01:38,000 --> 00:01:40,880
going through the timeline here we've

39
00:01:39,920 --> 00:01:43,759
got

40
00:01:40,880 --> 00:01:47,200
a few useful tidbits here linux started

41
00:01:43,759 --> 00:01:48,720
in 1991 we got slackware two years later

42
00:01:47,200 --> 00:01:49,920
a few more years down the line we got a

43
00:01:48,720 --> 00:01:51,600
mascot

44
00:01:49,920 --> 00:01:53,680
and then we start to see the more

45
00:01:51,600 --> 00:01:54,799
business side more enterprise

46
00:01:53,680 --> 00:01:56,079
stable

47
00:01:54,799 --> 00:01:58,640
reliable

48
00:01:56,079 --> 00:01:59,360
we can trust this to you know not die on

49
00:01:58,640 --> 00:02:01,200
us

50
00:01:59,360 --> 00:02:03,600
type things happening just after two

51
00:02:01,200 --> 00:02:05,439
year 2000 we've got red hat in 2002 and

52
00:02:03,600 --> 00:02:07,119
then four years later ubuntu coming out

53
00:02:05,439 --> 00:02:09,520
in 2004

54
00:02:07,119 --> 00:02:11,200
and why this is relevant is that when

55
00:02:09,520 --> 00:02:12,800
you start to look at the history of

56
00:02:11,200 --> 00:02:15,040
linux in space

57
00:02:12,800 --> 00:02:16,560
what you see is that it didn't take long

58
00:02:15,040 --> 00:02:18,000
for linux to

59
00:02:16,560 --> 00:02:19,680
start turning up in space as soon as

60
00:02:18,000 --> 00:02:22,400
people started to trust it

61
00:02:19,680 --> 00:02:23,920
you've got in 1999

62
00:02:22,400 --> 00:02:26,000
the start of a project

63
00:02:23,920 --> 00:02:27,120
nasa evaluating whether linux could fit

64
00:02:26,000 --> 00:02:28,879
into a

65
00:02:27,120 --> 00:02:31,200
software stack designed for running a

66
00:02:28,879 --> 00:02:33,280
space mission um that didn't really

67
00:02:31,200 --> 00:02:35,440
result in any actual missions but it was

68
00:02:33,280 --> 00:02:37,440
a thorough evaluation of how this kind

69
00:02:35,440 --> 00:02:38,400
of software fits into their overall

70
00:02:37,440 --> 00:02:41,920
planning

71
00:02:38,400 --> 00:02:44,080
you've got 2003 quake sat which was an

72
00:02:41,920 --> 00:02:46,840
earthquake investigation it was powered

73
00:02:44,080 --> 00:02:50,239
with a diamond systems prometheus

74
00:02:46,840 --> 00:02:53,280
pc104 module with the regular old x86

75
00:02:50,239 --> 00:02:55,360
cpu and despite it being only one year

76
00:02:53,280 --> 00:02:56,400
old at the time it was running red hat

77
00:02:55,360 --> 00:02:58,080
linux

78
00:02:56,400 --> 00:03:00,239
now

79
00:02:58,080 --> 00:03:02,080
in a few years later we have

80
00:03:00,239 --> 00:03:05,519
another mission interestingly enough

81
00:03:02,080 --> 00:03:07,120
using the micro linux which is a version

82
00:03:05,519 --> 00:03:09,519
of linux designed for computers without

83
00:03:07,120 --> 00:03:11,120
a memory management system because the

84
00:03:09,519 --> 00:03:14,239
sort of hardware you can put in space

85
00:03:11,120 --> 00:03:16,159
tends to be very power constrained

86
00:03:14,239 --> 00:03:18,159
one of the things people tend to say is

87
00:03:16,159 --> 00:03:21,280
that when you put it in space you put it

88
00:03:18,159 --> 00:03:22,720
back in time 10 years because you end up

89
00:03:21,280 --> 00:03:24,319
picking software and hardware that's

90
00:03:22,720 --> 00:03:27,280
been around so long it's considered

91
00:03:24,319 --> 00:03:30,239
reliable and solid

92
00:03:27,280 --> 00:03:33,040
in 2007 we got another mission here

93
00:03:30,239 --> 00:03:34,480
we've got arm running linux on a payload

94
00:03:33,040 --> 00:03:36,720
controller now the difference between a

95
00:03:34,480 --> 00:03:38,640
payload controller and a full flight

96
00:03:36,720 --> 00:03:41,440
computer is that it's only responsible

97
00:03:38,640 --> 00:03:43,120
for part of the mission so linux wasn't

98
00:03:41,440 --> 00:03:44,720
responsible fundamentally for that

99
00:03:43,120 --> 00:03:46,480
entire mission there

100
00:03:44,720 --> 00:03:47,920
uh we've got a follow-up to that first

101
00:03:46,480 --> 00:03:49,440
micro linux

102
00:03:47,920 --> 00:03:50,959
mission there where they were running it

103
00:03:49,440 --> 00:03:53,280
on their second follow-up mission in

104
00:03:50,959 --> 00:03:56,799
2009 and then

105
00:03:53,280 --> 00:03:59,840
out the gate strong linux in 2010 is

106
00:03:56,799 --> 00:04:02,159
what's powering the falcon 9 rocket so

107
00:03:59,840 --> 00:04:03,760
they put that rocket into space flow it

108
00:04:02,159 --> 00:04:06,400
all the way there with linux flying all

109
00:04:03,760 --> 00:04:08,239
the avionics and then once the second

110
00:04:06,400 --> 00:04:10,000
stage reached orbit it was responsible

111
00:04:08,239 --> 00:04:11,439
for the operation of that entire second

112
00:04:10,000 --> 00:04:13,120
stage in space

113
00:04:11,439 --> 00:04:14,879
um

114
00:04:13,120 --> 00:04:16,560
and then following on through that they

115
00:04:14,879 --> 00:04:18,239
also had their crew

116
00:04:16,560 --> 00:04:20,400
the cargo capsule

117
00:04:18,239 --> 00:04:22,320
again all of its avionics and flight

118
00:04:20,400 --> 00:04:23,360
management running with a set of linux

119
00:04:22,320 --> 00:04:25,120
computers

120
00:04:23,360 --> 00:04:27,600
so

121
00:04:25,120 --> 00:04:28,960
we have another mission in 2011

122
00:04:27,600 --> 00:04:30,800
it was just running the payload

123
00:04:28,960 --> 00:04:32,720
controller again so not super

124
00:04:30,800 --> 00:04:34,479
interesting

125
00:04:32,720 --> 00:04:36,880
but you'll start to see a trend here so

126
00:04:34,479 --> 00:04:38,960
2012 we've got

127
00:04:36,880 --> 00:04:40,800
another set of rocket launchers

128
00:04:38,960 --> 00:04:42,080
we've got

129
00:04:40,800 --> 00:04:43,680
lots of those happening that year we've

130
00:04:42,080 --> 00:04:45,199
got three launches

131
00:04:43,680 --> 00:04:46,720
so

132
00:04:45,199 --> 00:04:49,280
we keep moving on

133
00:04:46,720 --> 00:04:50,800
we've got 2013 we have another set of

134
00:04:49,280 --> 00:04:53,120
missions happening with actual linux

135
00:04:50,800 --> 00:04:54,160
flying satellites instead of rockets

136
00:04:53,120 --> 00:04:56,960
we've got

137
00:04:54,160 --> 00:04:59,680
an arm9 cpu running some fairly stock

138
00:04:56,960 --> 00:05:02,560
linux there on the ipex science mission

139
00:04:59,680 --> 00:05:04,960
we have the strand mission which is

140
00:05:02,560 --> 00:05:06,800
running a micro linux on a very small

141
00:05:04,960 --> 00:05:08,400
board but the reason it's such a small

142
00:05:06,800 --> 00:05:10,639
board is because the other half of that

143
00:05:08,400 --> 00:05:12,560
mission was actually a stock google

144
00:05:10,639 --> 00:05:13,919
nexus one

145
00:05:12,560 --> 00:05:16,560
i say stock there was some hardware

146
00:05:13,919 --> 00:05:17,520
modifications it was stock software

147
00:05:16,560 --> 00:05:19,280
running

148
00:05:17,520 --> 00:05:21,600
android linux

149
00:05:19,280 --> 00:05:23,520
in the same year we also had planet labs

150
00:05:21,600 --> 00:05:26,479
putting their first dove satellites into

151
00:05:23,520 --> 00:05:28,080
orbit so they put four highly modified

152
00:05:26,479 --> 00:05:31,360
well actually not even modified highly

153
00:05:28,080 --> 00:05:33,759
customized x86 linux powered machines

154
00:05:31,360 --> 00:05:35,440
running regular ubuntu linux and half a

155
00:05:33,759 --> 00:05:37,520
terabyte of solid state storage on each

156
00:05:35,440 --> 00:05:40,160
of them into space

157
00:05:37,520 --> 00:05:42,400
and those were taking uh satellite

158
00:05:40,160 --> 00:05:44,720
photography now

159
00:05:42,400 --> 00:05:47,600
spacex put up three more launches that

160
00:05:44,720 --> 00:05:50,639
year the iss also switched to debian

161
00:05:47,600 --> 00:05:52,000
linux that year because they were trying

162
00:05:50,639 --> 00:05:54,560
to make the environment more secure and

163
00:05:52,000 --> 00:05:57,120
reliable and didn't want any repeat

164
00:05:54,560 --> 00:05:59,680
incidences like the time the worm

165
00:05:57,120 --> 00:06:01,280
managed to get you know infect to the

166
00:05:59,680 --> 00:06:03,039
windows laptops on the international

167
00:06:01,280 --> 00:06:05,360
space station because someone had

168
00:06:03,039 --> 00:06:07,039
brought it up on a floppy disk uh they

169
00:06:05,360 --> 00:06:08,560
kind of didn't want any more of that so

170
00:06:07,039 --> 00:06:09,680
they switched to linux

171
00:06:08,560 --> 00:06:11,919
um

172
00:06:09,680 --> 00:06:15,280
2014 kicks things off even more

173
00:06:11,919 --> 00:06:18,800
aggressively while we had just six linux

174
00:06:15,280 --> 00:06:22,560
satellites in 2013 planet labs launched

175
00:06:18,800 --> 00:06:23,440
33 of them in 2014 so we've gone from

176
00:06:22,560 --> 00:06:25,520
six

177
00:06:23,440 --> 00:06:28,160
and and one here and there

178
00:06:25,520 --> 00:06:29,520
to 33 linux powered satellites in one

179
00:06:28,160 --> 00:06:31,919
year

180
00:06:29,520 --> 00:06:34,080
now spacex also flew back their first

181
00:06:31,919 --> 00:06:36,319
successful landing with their linux part

182
00:06:34,080 --> 00:06:38,080
avionics driving that all the way

183
00:06:36,319 --> 00:06:39,199
through to successful landing

184
00:06:38,080 --> 00:06:40,240
uh

185
00:06:39,199 --> 00:06:42,800
we have

186
00:06:40,240 --> 00:06:44,639
another landing success there once again

187
00:06:42,800 --> 00:06:47,199
successfully touching down and being

188
00:06:44,639 --> 00:06:50,560
fully reusable powered by linux and then

189
00:06:47,199 --> 00:06:52,720
we have linux on the second ever solar

190
00:06:50,560 --> 00:06:54,560
sail mission so the planetary society

191
00:06:52,720 --> 00:06:58,160
launched the light cell one mission

192
00:06:54,560 --> 00:07:00,160
which is a in tyvac intrepid board

193
00:06:58,160 --> 00:07:02,639
and that was controlling all of their

194
00:07:00,160 --> 00:07:04,800
deployment and mission software and that

195
00:07:02,639 --> 00:07:06,479
was just running linux there planet labs

196
00:07:04,800 --> 00:07:08,319
also dropped out another 40 dove

197
00:07:06,479 --> 00:07:10,560
satellites

198
00:07:08,319 --> 00:07:12,639
we keep moving forward we've got yet

199
00:07:10,560 --> 00:07:15,039
more doves 32 more doves from planet

200
00:07:12,639 --> 00:07:17,360
labs we have eight more launches five

201
00:07:15,039 --> 00:07:18,960
landings and two

202
00:07:17,360 --> 00:07:20,639
space drones if you think of it

203
00:07:18,960 --> 00:07:22,880
autonomously flown all the way to the

204
00:07:20,639 --> 00:07:25,680
space station on linux

205
00:07:22,880 --> 00:07:28,960
we have a really big year in 2017

206
00:07:25,680 --> 00:07:31,680
because planet labs dropped out

207
00:07:28,960 --> 00:07:34,240
a whole heap of satellites as something

208
00:07:31,680 --> 00:07:38,080
in the 140 and then

209
00:07:34,240 --> 00:07:39,440
and spacex dropped out 18 launches three

210
00:07:38,080 --> 00:07:41,680
more flights to the space station

211
00:07:39,440 --> 00:07:44,639
entirely autonomously flying themselves

212
00:07:41,680 --> 00:07:46,000
they're powered by linux and hp

213
00:07:44,639 --> 00:07:49,039
shipped a

214
00:07:46,000 --> 00:07:51,520
supercomputer past the one teraflop mark

215
00:07:49,039 --> 00:07:54,000
into space it was a

216
00:07:51,520 --> 00:07:55,440
um it was based on one of their stock

217
00:07:54,000 --> 00:07:58,400
machines but it had to be modified and

218
00:07:55,440 --> 00:08:00,479
put into a specific chassis in order to

219
00:07:58,400 --> 00:08:02,240
make it fit into the equipment racks of

220
00:08:00,479 --> 00:08:04,160
the iss

221
00:08:02,240 --> 00:08:07,840
but it also ran there for a whole year

222
00:08:04,160 --> 00:08:10,160
so in 2018 the hp machine was considered

223
00:08:07,840 --> 00:08:12,000
operational after a year of testing and

224
00:08:10,160 --> 00:08:14,639
it was made available for people who

225
00:08:12,000 --> 00:08:15,599
were doing science on the iss to have

226
00:08:14,639 --> 00:08:18,319
their

227
00:08:15,599 --> 00:08:20,319
payloads run the software that they

228
00:08:18,319 --> 00:08:22,800
needed to process their data running

229
00:08:20,319 --> 00:08:24,879
that in space on the space station so

230
00:08:22,800 --> 00:08:26,240
they didn't have to download the data so

231
00:08:24,879 --> 00:08:27,680
if they sent up an instrument that did a

232
00:08:26,240 --> 00:08:29,919
lot of data production and they wanted

233
00:08:27,680 --> 00:08:31,199
to process it before it came down so

234
00:08:29,919 --> 00:08:32,880
that they didn't have to send back so

235
00:08:31,199 --> 00:08:35,599
much there was now a computer on the

236
00:08:32,880 --> 00:08:37,599
space station that they could use to run

237
00:08:35,599 --> 00:08:39,680
regular operational software like they

238
00:08:37,599 --> 00:08:40,959
would in a lab back at home

239
00:08:39,680 --> 00:08:44,080
powered by linux

240
00:08:40,959 --> 00:08:46,959
uh the marco cubesats in 2018 also

241
00:08:44,080 --> 00:08:48,959
carried linux into deep space with the

242
00:08:46,959 --> 00:08:50,880
cafeteria linux board running one of

243
00:08:48,959 --> 00:08:53,360
their cameras you can't barely read the

244
00:08:50,880 --> 00:08:55,120
font there but yes it was a module once

245
00:08:53,360 --> 00:08:57,519
again this kind of payload controller

246
00:08:55,120 --> 00:09:00,399
scenario but that board was running

247
00:08:57,519 --> 00:09:02,480
linux taking photos of mars

248
00:09:00,399 --> 00:09:04,080
as it flew past with the insight lander

249
00:09:02,480 --> 00:09:06,080
mission

250
00:09:04,080 --> 00:09:07,040
uh planet labs launched a whole heap

251
00:09:06,080 --> 00:09:08,800
more

252
00:09:07,040 --> 00:09:10,240
we've got spacex doing a whole bunch

253
00:09:08,800 --> 00:09:13,279
more landings

254
00:09:10,240 --> 00:09:16,480
uh they also put out the first starlink

255
00:09:13,279 --> 00:09:17,920
satellites this in 2018 and those

256
00:09:16,480 --> 00:09:20,160
styling satellites are really going to

257
00:09:17,920 --> 00:09:22,399
set a trend for linux so

258
00:09:20,160 --> 00:09:24,560
the other highlight being the

259
00:09:22,399 --> 00:09:26,399
cherry red tesla roadster those videos

260
00:09:24,560 --> 00:09:29,440
coming back to earth streamed from

261
00:09:26,399 --> 00:09:30,480
starman orbiting were powered by linux

262
00:09:29,440 --> 00:09:31,920
so

263
00:09:30,480 --> 00:09:33,920
linux had a fairly big year in space

264
00:09:31,920 --> 00:09:37,680
that year

265
00:09:33,920 --> 00:09:39,440
2019 we get 32 more doves we get spacex

266
00:09:37,680 --> 00:09:41,440
actually landing more times than they

267
00:09:39,440 --> 00:09:43,040
launched because they had two falcon

268
00:09:41,440 --> 00:09:44,800
heavy launches which meant that they

269
00:09:43,040 --> 00:09:47,040
actually landed more times than they

270
00:09:44,800 --> 00:09:49,600
launched uh we get more autonomous

271
00:09:47,040 --> 00:09:52,480
flights to the space station and we have

272
00:09:49,600 --> 00:09:54,880
spacex actually just blowing away

273
00:09:52,480 --> 00:09:57,360
all of the stuff that even from back in

274
00:09:54,880 --> 00:10:00,800
2017 when planet labs

275
00:09:57,360 --> 00:10:02,480
was putting out 140 of their doves

276
00:10:00,800 --> 00:10:04,240
spacex just

277
00:10:02,480 --> 00:10:07,200
almost eclipsed them in two single

278
00:10:04,240 --> 00:10:09,519
launches they put out 60 of their first

279
00:10:07,200 --> 00:10:12,480
prototype set and then another 60 of

280
00:10:09,519 --> 00:10:14,880
their final production set for 120

281
00:10:12,480 --> 00:10:16,560
towards the end of the year and that's

282
00:10:14,880 --> 00:10:18,959
just the start so at this point we've

283
00:10:16,560 --> 00:10:20,640
got 120 plus

284
00:10:18,959 --> 00:10:22,079
several hundred more doves all running

285
00:10:20,640 --> 00:10:23,440
linux so several hundred linux

286
00:10:22,079 --> 00:10:25,120
satellites in space at this point in

287
00:10:23,440 --> 00:10:26,399
2019

288
00:10:25,120 --> 00:10:27,920
and it starts to increase fairly

289
00:10:26,399 --> 00:10:29,920
aggressively

290
00:10:27,920 --> 00:10:32,480
so in 2020

291
00:10:29,920 --> 00:10:33,440
we've got a few just a few more doves

292
00:10:32,480 --> 00:10:35,600
we've got

293
00:10:33,440 --> 00:10:38,160
crude missions so linux is now being

294
00:10:35,600 --> 00:10:40,079
trusted with the lives of astronauts in

295
00:10:38,160 --> 00:10:42,399
2020 so

296
00:10:40,079 --> 00:10:46,160
the crew dragon flies all the way to the

297
00:10:42,399 --> 00:10:48,320
space station powered by linux and

298
00:10:46,160 --> 00:10:50,399
nasa has trusted it to run

299
00:10:48,320 --> 00:10:51,920
that software stack on top of linux

300
00:10:50,399 --> 00:10:53,600
there's a whole bunch as to how they get

301
00:10:51,920 --> 00:10:55,120
to that level of trust but it's being

302
00:10:53,600 --> 00:10:56,079
powered by linux and that's freaking

303
00:10:55,120 --> 00:10:56,959
awesome

304
00:10:56,079 --> 00:11:00,600
so

305
00:10:56,959 --> 00:11:00,600
we get 890

306
00:11:00,720 --> 00:11:05,760
starlink satellites which means that we

307
00:11:03,279 --> 00:11:08,480
go from having only a few

308
00:11:05,760 --> 00:11:10,880
to starlink being one of the dominant

309
00:11:08,480 --> 00:11:13,680
sets of satellites in the entire

310
00:11:10,880 --> 00:11:15,120
low earth orbit area to the point where

311
00:11:13,680 --> 00:11:17,519
based on the stats i was able to

312
00:11:15,120 --> 00:11:17,519
estimate

313
00:11:17,600 --> 00:11:23,760
31 and a half percent of all active

314
00:11:20,800 --> 00:11:27,560
satellites were now powered by linux

315
00:11:23,760 --> 00:11:30,160
almost entirely based on starlink

316
00:11:27,560 --> 00:11:32,560
2021 was a pretty big year with even

317
00:11:30,160 --> 00:11:36,399
more satellites going up we get another

318
00:11:32,560 --> 00:11:39,440
nearly 900 coming from starlink we get

319
00:11:36,399 --> 00:11:41,440
the ingenuity drone on mars

320
00:11:39,440 --> 00:11:43,600
that's entirely powered by linux and

321
00:11:41,440 --> 00:11:46,079
more about that coming up planet labs

322
00:11:43,600 --> 00:11:47,600
drop out another just short of 50 of

323
00:11:46,079 --> 00:11:49,120
their dove satellites we get a whole

324
00:11:47,600 --> 00:11:51,440
bunch more landings we get more

325
00:11:49,120 --> 00:11:55,519
autonomous flights to the space station

326
00:11:51,440 --> 00:11:58,240
and at the end of 2021 we had 40.5

327
00:11:55,519 --> 00:12:00,880
percent of active satellites

328
00:11:58,240 --> 00:12:03,440
running linux so we've literally gone up

329
00:12:00,880 --> 00:12:05,360
by nine percent in the span of one year

330
00:12:03,440 --> 00:12:08,160
off the back of spacex launching their

331
00:12:05,360 --> 00:12:12,480
styling satellites so linux is becoming

332
00:12:08,160 --> 00:12:12,480
extremely well established in space

333
00:12:12,639 --> 00:12:17,279
now

334
00:12:14,560 --> 00:12:19,519
in 2022 so far that's continued to grow

335
00:12:17,279 --> 00:12:22,240
already we've had

336
00:12:19,519 --> 00:12:23,519
flock 4x another 44 dove satellites

337
00:12:22,240 --> 00:12:25,600
going into space from planet labs

338
00:12:23,519 --> 00:12:27,600
they're continuing to run their linux

339
00:12:25,600 --> 00:12:29,839
stack in space returning fantastic

340
00:12:27,600 --> 00:12:32,000
imagery from that we have already had a

341
00:12:29,839 --> 00:12:32,800
bunch more starlinks going up and we

342
00:12:32,000 --> 00:12:35,360
still

343
00:12:32,800 --> 00:12:37,200
have 40.5 percent coming through we

344
00:12:35,360 --> 00:12:39,120
haven't had any disaster that's chipped

345
00:12:37,200 --> 00:12:40,399
them away

346
00:12:39,120 --> 00:12:42,079
so let's get to some pictures of what

347
00:12:40,399 --> 00:12:44,240
these satellites actually look like and

348
00:12:42,079 --> 00:12:45,839
what sort of things that are running

349
00:12:44,240 --> 00:12:47,279
this linux stack in space what do they

350
00:12:45,839 --> 00:12:48,800
actually look like it's one thing

351
00:12:47,279 --> 00:12:50,079
everyone thinks a satellite is a certain

352
00:12:48,800 --> 00:12:51,040
kind of thing well

353
00:12:50,079 --> 00:12:53,360
let's have a look at what they actually

354
00:12:51,040 --> 00:12:54,480
look like so we've got quake sat i

355
00:12:53,360 --> 00:12:57,680
mentioned earlier that was just a

356
00:12:54,480 --> 00:12:59,839
diamond prometheus pc104 so it's just

357
00:12:57,680 --> 00:13:01,760
this little 10 centimeter board

358
00:12:59,839 --> 00:13:03,360
it it's tiny

359
00:13:01,760 --> 00:13:04,959
you can see that you know you can't

360
00:13:03,360 --> 00:13:07,519
really see it without having a cad

361
00:13:04,959 --> 00:13:10,160
diagram to sort of cut it apart but the

362
00:13:07,519 --> 00:13:12,079
inside of that is mostly

363
00:13:10,160 --> 00:13:13,839
being done to keep springs and batteries

364
00:13:12,079 --> 00:13:15,200
and folding to keep the weight down

365
00:13:13,839 --> 00:13:16,399
because there's a weight limit on these

366
00:13:15,200 --> 00:13:19,120
things they're only allowed to weigh

367
00:13:16,399 --> 00:13:22,800
three kilos so there's a kilo for every

368
00:13:19,120 --> 00:13:24,720
10 centimeter cube of volume and so

369
00:13:22,800 --> 00:13:26,240
they're quite mass constrained and don't

370
00:13:24,720 --> 00:13:27,680
have a lot of room for things inside so

371
00:13:26,240 --> 00:13:29,120
they end up using these fairly small

372
00:13:27,680 --> 00:13:30,800
boards

373
00:13:29,120 --> 00:13:32,079
a large part of the inside was taken up

374
00:13:30,800 --> 00:13:33,440
by the

375
00:13:32,079 --> 00:13:34,720
room they needed for that telescoping

376
00:13:33,440 --> 00:13:36,720
boom you see at the top which was part

377
00:13:34,720 --> 00:13:38,320
of their experiment to look for

378
00:13:36,720 --> 00:13:39,839
electromagnetic disturbances about

379
00:13:38,320 --> 00:13:42,000
earthquakes

380
00:13:39,839 --> 00:13:44,320
we've got the dove satellites so

381
00:13:42,000 --> 00:13:46,320
planet labs put their dove it's actually

382
00:13:44,320 --> 00:13:47,680
now called planet uh put their dove

383
00:13:46,320 --> 00:13:50,399
satellites up there they're a low

384
00:13:47,680 --> 00:13:52,240
powered x86 processor

385
00:13:50,399 --> 00:13:54,720
nothing crazy it's just running ubuntu

386
00:13:52,240 --> 00:13:57,680
server but in order to make it fit into

387
00:13:54,720 --> 00:13:59,519
their package which is actually mostly

388
00:13:57,680 --> 00:14:01,279
just a telescope you can't see it from

389
00:13:59,519 --> 00:14:03,839
the front there because this is the rear

390
00:14:01,279 --> 00:14:06,160
view but the a lot of the electronics

391
00:14:03,839 --> 00:14:08,320
are down in that end there because

392
00:14:06,160 --> 00:14:11,040
almost the whole body of that satellite

393
00:14:08,320 --> 00:14:12,720
is taken up with a huge camera lens it's

394
00:14:11,040 --> 00:14:15,920
not even a camera lens it's actually a

395
00:14:12,720 --> 00:14:17,199
catadioptric telescope uh it's if i

396
00:14:15,920 --> 00:14:20,720
remember off the top my head the focal

397
00:14:17,199 --> 00:14:23,040
length is about uh a meter so they've

398
00:14:20,720 --> 00:14:25,839
folded it up a meter long

399
00:14:23,040 --> 00:14:26,959
lens arrangement into a 30 centimeter or

400
00:14:25,839 --> 00:14:30,480
30.

401
00:14:26,959 --> 00:14:31,600
35 centimeter long little box and it

402
00:14:30,480 --> 00:14:33,040
didn't leave a lot of room around the

403
00:14:31,600 --> 00:14:34,959
edges so they actually designed their

404
00:14:33,040 --> 00:14:36,720
own motherboards and electronics wrapped

405
00:14:34,959 --> 00:14:38,880
them around that lens

406
00:14:36,720 --> 00:14:40,399
and then put all of the sensors down at

407
00:14:38,880 --> 00:14:41,920
the end there in that little protrusion

408
00:14:40,399 --> 00:14:43,199
it's it's a very impressive feat of

409
00:14:41,920 --> 00:14:44,880
achievement that they've managed to

410
00:14:43,199 --> 00:14:46,800
engineer all of that into such a tight

411
00:14:44,880 --> 00:14:47,760
package

412
00:14:46,800 --> 00:14:50,000
we've got

413
00:14:47,760 --> 00:14:52,240
the dragon spacecraft which people might

414
00:14:50,000 --> 00:14:54,720
be a bit more familiar with now that

415
00:14:52,240 --> 00:14:57,120
there is a first generation dragon one

416
00:14:54,720 --> 00:14:59,440
on one of the cargo resupply missions

417
00:14:57,120 --> 00:15:01,600
it was flying in formation there in that

418
00:14:59,440 --> 00:15:03,680
video you saw powered by linux linux

419
00:15:01,600 --> 00:15:05,120
powered flight computers using sensors

420
00:15:03,680 --> 00:15:07,440
to determine the position of the space

421
00:15:05,120 --> 00:15:09,440
station the real-time position of the

422
00:15:07,440 --> 00:15:10,959
dragon capsule in space

423
00:15:09,440 --> 00:15:12,959
and making a whole bunch of flight

424
00:15:10,959 --> 00:15:14,720
corrections firing thrusters and keeping

425
00:15:12,959 --> 00:15:15,680
itself in position there waiting to be

426
00:15:14,720 --> 00:15:17,920
grabbed

427
00:15:15,680 --> 00:15:19,040
the whole time all being done with linux

428
00:15:17,920 --> 00:15:19,920
now

429
00:15:19,040 --> 00:15:21,680
from

430
00:15:19,920 --> 00:15:23,440
spacex haven't published this stuff

431
00:15:21,680 --> 00:15:25,040
publicly but the

432
00:15:23,440 --> 00:15:27,360
questions they have answered in public

433
00:15:25,040 --> 00:15:29,279
things like reddit ask me anythings and

434
00:15:27,360 --> 00:15:31,839
a few interviews people have done

435
00:15:29,279 --> 00:15:33,040
have covered in depth some of the things

436
00:15:31,839 --> 00:15:35,120
that they do to make these more

437
00:15:33,040 --> 00:15:38,639
resilient so they're running with a

438
00:15:35,120 --> 00:15:40,480
three sets of dual core x86 processors

439
00:15:38,639 --> 00:15:42,959
apparently the dragon capsule's running

440
00:15:40,480 --> 00:15:44,959
a 3.2 kernel with the real-time patches

441
00:15:42,959 --> 00:15:47,440
and they are actually using one instance

442
00:15:44,959 --> 00:15:48,399
of linux on each processor core so

443
00:15:47,440 --> 00:15:50,160
they've probably got some kind of

444
00:15:48,399 --> 00:15:51,920
hypervisor thing going on there that

445
00:15:50,160 --> 00:15:52,959
sort of divides the two cores into two

446
00:15:51,920 --> 00:15:56,399
systems

447
00:15:52,959 --> 00:15:58,560
um unless they're dual sockets again not

448
00:15:56,399 --> 00:16:00,959
something they've really made public so

449
00:15:58,560 --> 00:16:02,480
what we've got here though is we've got

450
00:16:00,959 --> 00:16:04,079
dual pairs that are working in

451
00:16:02,480 --> 00:16:06,000
triplicate so they're having each pair

452
00:16:04,079 --> 00:16:08,560
vote against each other and then the

453
00:16:06,000 --> 00:16:10,000
group of three are looking for consensus

454
00:16:08,560 --> 00:16:12,160
on those votes

455
00:16:10,000 --> 00:16:15,519
and it's quite a sophisticated system of

456
00:16:12,160 --> 00:16:16,720
redundancy and uh checking against other

457
00:16:15,519 --> 00:16:19,519
systems in order to give them the

458
00:16:16,720 --> 00:16:21,680
reliability they need to

459
00:16:19,519 --> 00:16:23,920
have people on board and for you know

460
00:16:21,680 --> 00:16:25,680
nasa to trust that because they carried

461
00:16:23,920 --> 00:16:27,839
forward that same flight architecture

462
00:16:25,680 --> 00:16:29,920
and that same software and computer

463
00:16:27,839 --> 00:16:31,759
stack into the second generation of the

464
00:16:29,920 --> 00:16:35,120
dragon capsule

465
00:16:31,759 --> 00:16:37,040
they also are using linux on starlink

466
00:16:35,120 --> 00:16:39,600
which has even less info about what's

467
00:16:37,040 --> 00:16:41,440
going on board because other than the

468
00:16:39,600 --> 00:16:42,240
fact that it runs linux

469
00:16:41,440 --> 00:16:44,000
i

470
00:16:42,240 --> 00:16:46,000
actually can't find anything about the

471
00:16:44,000 --> 00:16:47,839
processors on board but

472
00:16:46,000 --> 00:16:48,839
it is definitely running linux that much

473
00:16:47,839 --> 00:16:50,720
i can

474
00:16:48,839 --> 00:16:52,720
confirm uh

475
00:16:50,720 --> 00:16:54,399
we've got the more famous example of

476
00:16:52,720 --> 00:16:55,839
late which is uh

477
00:16:54,399 --> 00:16:57,440
i mean everyone should be able to see it

478
00:16:55,839 --> 00:17:00,480
there i'm sure everyone's familiar with

479
00:16:57,440 --> 00:17:02,240
that all right how about i zoom in a bit

480
00:17:00,480 --> 00:17:06,079
uh we have the ingenuity space

481
00:17:02,240 --> 00:17:08,160
helicopter which is a snapdragon 801

482
00:17:06,079 --> 00:17:10,079
uh it has a 3.4 kernel with the

483
00:17:08,160 --> 00:17:12,720
real-time pre-empt patches on it it's a

484
00:17:10,079 --> 00:17:14,959
lenara based operating system and it has

485
00:17:12,720 --> 00:17:16,959
a radiation hardened fpga for critical

486
00:17:14,959 --> 00:17:18,959
power management timer stuff so that it

487
00:17:16,959 --> 00:17:20,319
can keep its batteries alive in the cold

488
00:17:18,959 --> 00:17:21,360
martian night

489
00:17:20,319 --> 00:17:23,280
um

490
00:17:21,360 --> 00:17:24,880
the interesting thing that goes with it

491
00:17:23,280 --> 00:17:27,360
is it's actually not the only linux

492
00:17:24,880 --> 00:17:29,280
computer on mars so

493
00:17:27,360 --> 00:17:33,200
there's actually a matching snapdragon

494
00:17:29,280 --> 00:17:36,240
801 in with zigbee radio and

495
00:17:33,200 --> 00:17:38,480
it's in the belly of the mars

496
00:17:36,240 --> 00:17:41,039
perseverance rover and that actually

497
00:17:38,480 --> 00:17:43,200
communicates with the helicopter by

498
00:17:41,039 --> 00:17:44,840
having the rover which is the primary

499
00:17:43,200 --> 00:17:48,559
computer for the whole mission that

500
00:17:44,840 --> 00:17:49,919
rover passes a set of data to the

501
00:17:48,559 --> 00:17:52,160
computer on

502
00:17:49,919 --> 00:17:56,240
the rover the snapdragon 801 on the

503
00:17:52,160 --> 00:17:58,720
rover via a uart um i think it's just an

504
00:17:56,240 --> 00:18:00,240
1115 board you know regular old uart

505
00:17:58,720 --> 00:18:02,080
like you'd use to talk to you know a

506
00:18:00,240 --> 00:18:05,280
little embedded computer on your desk

507
00:18:02,080 --> 00:18:07,360
and then that processes it sends it over

508
00:18:05,280 --> 00:18:09,120
to the to the helicopter with the zigbee

509
00:18:07,360 --> 00:18:11,440
radios on board them both

510
00:18:09,120 --> 00:18:12,240
and then that's how they talk together

511
00:18:11,440 --> 00:18:14,799
now

512
00:18:12,240 --> 00:18:16,480
there's also a third so that third

513
00:18:14,799 --> 00:18:18,240
computer was actually the one that

514
00:18:16,480 --> 00:18:20,640
recorded all the pictures and video that

515
00:18:18,240 --> 00:18:22,480
we saw during the perseverance landing

516
00:18:20,640 --> 00:18:23,679
so if you remember the seven minutes of

517
00:18:22,480 --> 00:18:25,840
terror and a lot of the footage that

518
00:18:23,679 --> 00:18:28,400
came back during that was actually being

519
00:18:25,840 --> 00:18:30,880
sent back from a linux computer running

520
00:18:28,400 --> 00:18:33,280
off usb cameras in a ruggedized compact

521
00:18:30,880 --> 00:18:34,720
pci system

522
00:18:33,280 --> 00:18:36,799
so

523
00:18:34,720 --> 00:18:38,640
let's get into what's difficult in space

524
00:18:36,799 --> 00:18:39,679
i'm going to stick to the stuff in space

525
00:18:38,640 --> 00:18:41,360
because

526
00:18:39,679 --> 00:18:43,600
making things sturdy for launching into

527
00:18:41,360 --> 00:18:45,679
space is that's that's just regular

528
00:18:43,600 --> 00:18:48,720
engineering you can make it more sturdy

529
00:18:45,679 --> 00:18:51,360
you can seal it up put packaging foams

530
00:18:48,720 --> 00:18:53,600
and and other stuff to keep things in

531
00:18:51,360 --> 00:18:55,440
place it's not as much of a it's not a

532
00:18:53,600 --> 00:18:56,799
challenge we're going to focus on here

533
00:18:55,440 --> 00:18:58,640
um

534
00:18:56,799 --> 00:19:00,559
you know so

535
00:18:58,640 --> 00:19:02,240
space radiation

536
00:19:00,559 --> 00:19:03,840
is probably the most obvious one that

537
00:19:02,240 --> 00:19:05,520
people tend to get because the super

538
00:19:03,840 --> 00:19:07,440
dense ram is already vulnerable to

539
00:19:05,520 --> 00:19:10,160
cosmic rays we get bit flips and these

540
00:19:07,440 --> 00:19:12,080
sort of things that's why we have ecc so

541
00:19:10,160 --> 00:19:14,160
the electrical transients we get from

542
00:19:12,080 --> 00:19:17,200
radiation is a pretty well understood

543
00:19:14,160 --> 00:19:19,360
thing but it can even degrade silicon so

544
00:19:17,200 --> 00:19:22,160
if you get a high-energy cosmic ray that

545
00:19:19,360 --> 00:19:24,320
slams into the silicon chip it can

546
00:19:22,160 --> 00:19:26,320
actually damage the chemical nature of

547
00:19:24,320 --> 00:19:28,799
that silicon and and physically degrade

548
00:19:26,320 --> 00:19:30,960
that chip which over time can lead to

549
00:19:28,799 --> 00:19:31,919
failures um

550
00:19:30,960 --> 00:19:33,760
air

551
00:19:31,919 --> 00:19:35,520
there's no air in space it is a vacuum

552
00:19:33,760 --> 00:19:37,919
and air takes away heat from everything

553
00:19:35,520 --> 00:19:39,600
down here on earth so space doesn't let

554
00:19:37,919 --> 00:19:41,600
us get away with having too much heat we

555
00:19:39,600 --> 00:19:44,240
have to be really careful about that

556
00:19:41,600 --> 00:19:46,640
uh volatile substances also outgas in a

557
00:19:44,240 --> 00:19:48,640
vacuum all the little oils and things

558
00:19:46,640 --> 00:19:50,160
that sort of make most of the world move

559
00:19:48,640 --> 00:19:52,240
around here on earth you have to be very

560
00:19:50,160 --> 00:19:55,760
careful about them in space because they

561
00:19:52,240 --> 00:19:58,320
will slowly evaporate in space and

562
00:19:55,760 --> 00:20:00,960
coat instruments and equipment that you

563
00:19:58,320 --> 00:20:02,559
don't want coated in these things and so

564
00:20:00,960 --> 00:20:04,480
if you put a camera up there and you're

565
00:20:02,559 --> 00:20:06,559
not careful about what you assemble this

566
00:20:04,480 --> 00:20:08,960
with you might end up with this oily

567
00:20:06,559 --> 00:20:10,559
film over your camera that ruins

568
00:20:08,960 --> 00:20:12,480
everything

569
00:20:10,559 --> 00:20:13,919
the vacuum being a very good insulator

570
00:20:12,480 --> 00:20:17,360
means that you can get these massive

571
00:20:13,919 --> 00:20:19,520
electrostatic charges of over 10 000

572
00:20:17,360 --> 00:20:20,960
volts just building up on the surface of

573
00:20:19,520 --> 00:20:22,559
a satellite which is why you have to be

574
00:20:20,960 --> 00:20:24,080
very careful about your grounding and

575
00:20:22,559 --> 00:20:27,760
your installation and the electrical

576
00:20:24,080 --> 00:20:30,000
connections um and a silent killer from

577
00:20:27,760 --> 00:20:32,320
many many years back that's still a

578
00:20:30,000 --> 00:20:34,480
persistent problem is tin whiskers which

579
00:20:32,320 --> 00:20:37,440
are these really fascinating little

580
00:20:34,480 --> 00:20:38,400
sort of icicles that grow out of

581
00:20:37,440 --> 00:20:40,720
tin

582
00:20:38,400 --> 00:20:43,760
parts and if you get them growing in the

583
00:20:40,720 --> 00:20:45,280
wrong places they can create shorts so

584
00:20:43,760 --> 00:20:47,360
you can get electrical shorts in your

585
00:20:45,280 --> 00:20:50,000
equipment just growing out of the

586
00:20:47,360 --> 00:20:52,559
physical equipment just over time if you

587
00:20:50,000 --> 00:20:54,720
don't you know take the effort to not

588
00:20:52,559 --> 00:20:56,000
use tin solder

589
00:20:54,720 --> 00:20:59,840
and and to try and make sure that you

590
00:20:56,000 --> 00:21:01,280
don't have any tin leads in areas

591
00:20:59,840 --> 00:21:03,520
that comes back to again the electrical

592
00:21:01,280 --> 00:21:04,720
grounding because you get these kinds of

593
00:21:03,520 --> 00:21:06,799
discharges with those kind of

594
00:21:04,720 --> 00:21:07,520
electrostatics as well

595
00:21:06,799 --> 00:21:08,559
and

596
00:21:07,520 --> 00:21:10,080
you have to use things like the

597
00:21:08,559 --> 00:21:12,799
outgassing because

598
00:21:10,080 --> 00:21:14,880
um yeah so your thermal management is is

599
00:21:12,799 --> 00:21:17,679
the key mainly the rest of it is just

600
00:21:14,880 --> 00:21:19,520
careful engineering

601
00:21:17,679 --> 00:21:21,120
for what you have to do with those

602
00:21:19,520 --> 00:21:22,480
hardware failures

603
00:21:21,120 --> 00:21:25,600
you end up using a lot of consensus

604
00:21:22,480 --> 00:21:27,200
algorithms uh hardware redundancy and

605
00:21:25,600 --> 00:21:28,840
you can if you're lucky have radiation

606
00:21:27,200 --> 00:21:32,640
shielding

607
00:21:28,840 --> 00:21:34,480
um power is another fun one because

608
00:21:32,640 --> 00:21:36,000
uh on the earth power is easy to get we

609
00:21:34,480 --> 00:21:37,919
you know usually you're not going to be

610
00:21:36,000 --> 00:21:38,880
too far from where you need to be or if

611
00:21:37,919 --> 00:21:40,559
you're putting something somewhere you

612
00:21:38,880 --> 00:21:42,159
can plan for it and easily stick a

613
00:21:40,559 --> 00:21:43,520
little windmill or a solar panel or

614
00:21:42,159 --> 00:21:45,039
something and it doesn't matter because

615
00:21:43,520 --> 00:21:46,640
you can just put it on the ground or on

616
00:21:45,039 --> 00:21:49,039
a pole or whatever

617
00:21:46,640 --> 00:21:51,200
in space you're not so lucky

618
00:21:49,039 --> 00:21:53,919
because every kilo you have to send up

619
00:21:51,200 --> 00:21:55,840
costs a lot of money and so you want to

620
00:21:53,919 --> 00:21:58,159
use as little as you can and solar

621
00:21:55,840 --> 00:22:00,559
panels aren't terribly light at least

622
00:21:58,159 --> 00:22:02,480
good ones so you've got to carefully

623
00:22:00,559 --> 00:22:04,240
balance the amount of mass you're

624
00:22:02,480 --> 00:22:06,080
willing to give to having a solar panel

625
00:22:04,240 --> 00:22:07,440
with the amount of mass

626
00:22:06,080 --> 00:22:09,280
you're willing to get

627
00:22:07,440 --> 00:22:10,480
you know power from

628
00:22:09,280 --> 00:22:12,080
so

629
00:22:10,480 --> 00:22:13,440
very careful trade there and the same

630
00:22:12,080 --> 00:22:16,159
thing goes for batteries because

631
00:22:13,440 --> 00:22:17,520
batteries are fairly heavy as well um

632
00:22:16,159 --> 00:22:18,960
you do have to be careful about which

633
00:22:17,520 --> 00:22:20,240
kinds of batteries some won't work in

634
00:22:18,960 --> 00:22:22,240
space you can't just have a regular old

635
00:22:20,240 --> 00:22:24,320
lead-acid car battery the water would

636
00:22:22,240 --> 00:22:25,919
evaporate and it would be dead so you

637
00:22:24,320 --> 00:22:27,840
tend to see most things using things

638
00:22:25,919 --> 00:22:29,600
like lithium-ion batteries now yeah

639
00:22:27,840 --> 00:22:30,960
there were more fancy complicated ones

640
00:22:29,600 --> 00:22:33,280
back in the day but that's mostly

641
00:22:30,960 --> 00:22:36,080
started to phase out now and and

642
00:22:33,280 --> 00:22:38,559
lithium-ion batteries uh just like the

643
00:22:36,080 --> 00:22:42,159
18650s you see in sort of like the the

644
00:22:38,559 --> 00:22:43,840
vape pens the drones the remote control

645
00:22:42,159 --> 00:22:46,640
cars and all the other things that they

646
00:22:43,840 --> 00:22:48,480
go into these days um

647
00:22:46,640 --> 00:22:51,520
communication is the other big one

648
00:22:48,480 --> 00:22:53,360
now on earth it's pretty easy to set 24

649
00:22:51,520 --> 00:22:54,960
7 communication in most places you'd

650
00:22:53,360 --> 00:22:57,200
want to put a computer

651
00:22:54,960 --> 00:23:00,159
even if it's just via a radio link it's

652
00:22:57,200 --> 00:23:03,039
not too hard and on earth radio links

653
00:23:00,159 --> 00:23:05,679
are quite easy to get because you can

654
00:23:03,039 --> 00:23:07,679
you can use wi-fi or you can use laura

655
00:23:05,679 --> 00:23:09,039
or any of these other unlicensed bands

656
00:23:07,679 --> 00:23:09,919
that let you do whatever you like with

657
00:23:09,039 --> 00:23:12,240
them

658
00:23:09,919 --> 00:23:14,159
in space everything needs a license you

659
00:23:12,240 --> 00:23:15,679
can't actually have any kind of a radio

660
00:23:14,159 --> 00:23:19,200
in space without getting appropriate

661
00:23:15,679 --> 00:23:21,280
permits it's it's pretty paperwork heavy

662
00:23:19,200 --> 00:23:23,679
so you tend to see fairly narrow band

663
00:23:21,280 --> 00:23:25,360
very specific radios that you only use

664
00:23:23,679 --> 00:23:26,559
when you're over a ground station that

665
00:23:25,360 --> 00:23:27,919
you control

666
00:23:26,559 --> 00:23:29,200
tends to make all that paperwork a lot

667
00:23:27,919 --> 00:23:30,559
more easy so you end up with the

668
00:23:29,200 --> 00:23:31,520
situation where your communication

669
00:23:30,559 --> 00:23:33,919
window

670
00:23:31,520 --> 00:23:35,760
might be quite short so maybe just one

671
00:23:33,919 --> 00:23:38,720
hour as it's quickly or less than an

672
00:23:35,760 --> 00:23:40,480
hour even as it zips overhead and then

673
00:23:38,720 --> 00:23:42,240
it might not be overhead again for a

674
00:23:40,480 --> 00:23:44,400
whole week so you might only be able to

675
00:23:42,240 --> 00:23:46,400
talk to your satellite once a week for

676
00:23:44,400 --> 00:23:47,679
30 minutes and in that 30 minutes you've

677
00:23:46,400 --> 00:23:49,679
got to tell it everything it needs to do

678
00:23:47,679 --> 00:23:51,760
for the next week so you tend to send

679
00:23:49,679 --> 00:23:54,480
your instructions in batches use data

680
00:23:51,760 --> 00:23:55,840
compression as much as possible um some

681
00:23:54,480 --> 00:23:56,960
people are now experimenting

682
00:23:55,840 --> 00:23:58,799
experimenting with satellite to

683
00:23:56,960 --> 00:24:02,799
satellite communications so the kind of

684
00:23:58,799 --> 00:24:04,799
companies like um inmarsat and

685
00:24:02,799 --> 00:24:06,000
iridium are now providing

686
00:24:04,799 --> 00:24:08,159
through various companies in the

687
00:24:06,000 --> 00:24:09,679
aerospace industry uh modules you can

688
00:24:08,159 --> 00:24:12,000
use on a satellite that will give you a

689
00:24:09,679 --> 00:24:14,080
tcp ip connection just like your home

690
00:24:12,000 --> 00:24:15,840
internet but to the satellite because

691
00:24:14,080 --> 00:24:17,520
they've put a tiny radio on the

692
00:24:15,840 --> 00:24:18,880
satellite that talks to the satellites

693
00:24:17,520 --> 00:24:19,919
further up

694
00:24:18,880 --> 00:24:22,000
and then

695
00:24:19,919 --> 00:24:25,039
just like if you're an airplane with a

696
00:24:22,000 --> 00:24:26,720
satellite phone it can talk up to this

697
00:24:25,039 --> 00:24:28,880
satellites above it and you get a

698
00:24:26,720 --> 00:24:31,360
consistent regular old

699
00:24:28,880 --> 00:24:32,640
network connection to the satellite but

700
00:24:31,360 --> 00:24:34,640
these things are all trade-offs in terms

701
00:24:32,640 --> 00:24:36,320
of cost and power and a lot of people

702
00:24:34,640 --> 00:24:37,760
get those so

703
00:24:36,320 --> 00:24:39,200
same thing goes for the other thing that

704
00:24:37,760 --> 00:24:40,640
people are experimenting with now to get

705
00:24:39,200 --> 00:24:43,039
more data even if it doesn't get them

706
00:24:40,640 --> 00:24:44,640
more time which is optical communication

707
00:24:43,039 --> 00:24:46,320
so you're starting to see more

708
00:24:44,640 --> 00:24:49,120
experimenting around laser

709
00:24:46,320 --> 00:24:51,679
communications so using high speed laser

710
00:24:49,120 --> 00:24:53,520
links just like if you effectively it

711
00:24:51,679 --> 00:24:54,799
even uses the same frequency of light

712
00:24:53,520 --> 00:24:56,480
actually

713
00:24:54,799 --> 00:24:58,000
the same kind of lasers just more

714
00:24:56,480 --> 00:24:59,600
powerful as you would see in a fiber

715
00:24:58,000 --> 00:25:02,480
optic connection between two networks

716
00:24:59,600 --> 00:25:05,039
which is in iraq so you know uh

717
00:25:02,480 --> 00:25:05,840
1500 nanometer sort of territory laser

718
00:25:05,039 --> 00:25:08,159
light

719
00:25:05,840 --> 00:25:10,720
just through the air not through a

720
00:25:08,159 --> 00:25:12,400
optical fiber so

721
00:25:10,720 --> 00:25:13,760
that's the sort of challenges and

722
00:25:12,400 --> 00:25:15,440
responses we have to some of the

723
00:25:13,760 --> 00:25:17,200
problems in that and and

724
00:25:15,440 --> 00:25:18,880
you know that's just a very high level

725
00:25:17,200 --> 00:25:19,760
stuff um

726
00:25:18,880 --> 00:25:21,679
but

727
00:25:19,760 --> 00:25:23,200
similarly high level we have the kind of

728
00:25:21,679 --> 00:25:25,919
ways you approach

729
00:25:23,200 --> 00:25:27,760
you know uh keeping the reliability so

730
00:25:25,919 --> 00:25:29,039
you tend to with all those challenges

731
00:25:27,760 --> 00:25:31,039
want to break down and isolate your

732
00:25:29,039 --> 00:25:33,840
failure domains so you get control

733
00:25:31,039 --> 00:25:35,679
domains where you put as little uh

734
00:25:33,840 --> 00:25:37,840
responsibility on a piece as possible so

735
00:25:35,679 --> 00:25:39,760
if you have an instrument uh it will

736
00:25:37,840 --> 00:25:42,159
only be responsible for its own tasks

737
00:25:39,760 --> 00:25:43,919
you'll have effectively a button a

738
00:25:42,159 --> 00:25:45,840
software button so to speak that says

739
00:25:43,919 --> 00:25:48,000
take picture and a software button that

740
00:25:45,840 --> 00:25:50,080
says give me the data and and you won't

741
00:25:48,000 --> 00:25:51,520
expect it to be managed by the same

742
00:25:50,080 --> 00:25:53,360
computer you'll have small computers

743
00:25:51,520 --> 00:25:56,640
spread around in order to delegate the

744
00:25:53,360 --> 00:25:57,919
tasks and and separate that risk out uh

745
00:25:56,640 --> 00:25:59,919
the same thing goes for super

746
00:25:57,919 --> 00:26:01,679
supervisory hierarchies what you get is

747
00:25:59,919 --> 00:26:02,400
you get a chain of these things so you

748
00:26:01,679 --> 00:26:04,400
get

749
00:26:02,400 --> 00:26:06,240
top down control you get a most

750
00:26:04,400 --> 00:26:08,320
important thing and then less important

751
00:26:06,240 --> 00:26:09,840
things and and you can make those less

752
00:26:08,320 --> 00:26:11,840
important things less robust to save

753
00:26:09,840 --> 00:26:13,760
money you get watchdogs good

754
00:26:11,840 --> 00:26:15,200
old-fashioned watch dog timers to let

755
00:26:13,760 --> 00:26:16,960
you know if something's dead and give it

756
00:26:15,200 --> 00:26:19,039
a kick to try and make it come back and

757
00:26:16,960 --> 00:26:21,039
you get good old-fashioned redundancy

758
00:26:19,039 --> 00:26:23,600
i don't really think i need to go too

759
00:26:21,039 --> 00:26:25,840
deeply into redundancy

760
00:26:23,600 --> 00:26:27,200
most people who get into computing and

761
00:26:25,840 --> 00:26:28,720
you know listen to linux conferences and

762
00:26:27,200 --> 00:26:31,120
stuff have probably come across the idea

763
00:26:28,720 --> 00:26:32,880
of a redundant system before you know

764
00:26:31,120 --> 00:26:34,480
either through a load balancer or

765
00:26:32,880 --> 00:26:36,159
redundant power supply or some other

766
00:26:34,480 --> 00:26:38,880
redundant hardware it's a pretty common

767
00:26:36,159 --> 00:26:40,720
concept kind of self-explanatory

768
00:26:38,880 --> 00:26:42,240
you see it a lot in spacecraft you get

769
00:26:40,720 --> 00:26:43,679
redundant hardware

770
00:26:42,240 --> 00:26:45,840
you just do

771
00:26:43,679 --> 00:26:48,320
control domains are there for isolating

772
00:26:45,840 --> 00:26:50,799
failures like i said so you minimize the

773
00:26:48,320 --> 00:26:52,640
complexity of each subsystem and you

774
00:26:50,799 --> 00:26:54,159
increase the robustness only where

775
00:26:52,640 --> 00:26:56,880
necessary so if you're willing to

776
00:26:54,159 --> 00:26:59,039
sacrifice a science instrument there

777
00:26:56,880 --> 00:27:00,640
you can make that one holding the beaker

778
00:26:59,039 --> 00:27:02,240
you know die at the drop of a hat

779
00:27:00,640 --> 00:27:03,760
because it's the least important thing

780
00:27:02,240 --> 00:27:06,640
and you can trade the kind of

781
00:27:03,760 --> 00:27:08,000
protections whether they be cost or

782
00:27:06,640 --> 00:27:09,760
power or

783
00:27:08,000 --> 00:27:12,240
mass because you're always trying to

784
00:27:09,760 --> 00:27:13,760
trade those so you can trade those to

785
00:27:12,240 --> 00:27:16,159
put the robustness where it is most

786
00:27:13,760 --> 00:27:18,559
critical so you can have your power and

787
00:27:16,159 --> 00:27:20,720
communications and data be

788
00:27:18,559 --> 00:27:22,080
more robust than the instruments on

789
00:27:20,720 --> 00:27:23,520
board so that you've always got those

790
00:27:22,080 --> 00:27:25,600
working and then you know you can have

791
00:27:23,520 --> 00:27:27,840
your your management one be the most

792
00:27:25,600 --> 00:27:29,919
robust system you might have that spacex

793
00:27:27,840 --> 00:27:32,159
style triplicate redundancy on your on

794
00:27:29,919 --> 00:27:34,320
your mission management computer or it

795
00:27:32,159 --> 00:27:35,840
might be the only radiation hardened

796
00:27:34,320 --> 00:27:37,600
piece of equipment on the whole

797
00:27:35,840 --> 00:27:39,919
satellite just just to guarantee that

798
00:27:37,600 --> 00:27:42,080
level of reliability you need to get

799
00:27:39,919 --> 00:27:43,840
that working

800
00:27:42,080 --> 00:27:45,600
we've got watchdog timers

801
00:27:43,840 --> 00:27:47,760
they are very widely used software and

802
00:27:45,600 --> 00:27:49,039
hardware versions of them exist

803
00:27:47,760 --> 00:27:50,880
if you haven't come across a watchdog

804
00:27:49,039 --> 00:27:53,200
timer it is essentially something going

805
00:27:50,880 --> 00:27:54,240
are you awake are you awake are you

806
00:27:53,200 --> 00:27:56,799
awake

807
00:27:54,240 --> 00:27:57,919
you have a reset loop and it resets

808
00:27:56,799 --> 00:27:59,679
every time you get that positive

809
00:27:57,919 --> 00:28:02,240
response saying it's awake if it isn't

810
00:27:59,679 --> 00:28:02,960
awake and you expire the timer you kick

811
00:28:02,240 --> 00:28:05,600
it

812
00:28:02,960 --> 00:28:07,120
they get fancier you've got ones that

813
00:28:05,600 --> 00:28:08,960
have self resets

814
00:28:07,120 --> 00:28:11,200
precision timing ones that you know send

815
00:28:08,960 --> 00:28:13,440
the message before the timeout and much

816
00:28:11,200 --> 00:28:16,080
more fancy versions for specific use

817
00:28:13,440 --> 00:28:18,480
cases but in general principle you see

818
00:28:16,080 --> 00:28:20,080
them used in a whole variety of ways in

819
00:28:18,480 --> 00:28:22,480
this in domain because it's one of the

820
00:28:20,080 --> 00:28:24,399
staple systems for increasing the

821
00:28:22,480 --> 00:28:26,640
reliability of a system you you keep an

822
00:28:24,399 --> 00:28:28,399
eye on it and if it dies you reset it

823
00:28:26,640 --> 00:28:31,120
and if it doesn't come back then you

824
00:28:28,399 --> 00:28:32,640
start investigating your failure

825
00:28:31,120 --> 00:28:35,039
you get the supervisory hierarchies

826
00:28:32,640 --> 00:28:37,120
which is part of that whole if it dies

827
00:28:35,039 --> 00:28:39,039
kick it make it come back so

828
00:28:37,120 --> 00:28:40,799
you might have a watchdog in software so

829
00:28:39,039 --> 00:28:42,720
your operating system running the flight

830
00:28:40,799 --> 00:28:45,039
control software might be looking at the

831
00:28:42,720 --> 00:28:47,120
flight control software and going hmm i

832
00:28:45,039 --> 00:28:48,240
didn't get my answer back fast enough

833
00:28:47,120 --> 00:28:50,399
reboot

834
00:28:48,240 --> 00:28:51,919
but that's a very high level version

835
00:28:50,399 --> 00:28:53,440
what you see when you actually break it

836
00:28:51,919 --> 00:28:55,200
down and start to look at these kinds of

837
00:28:53,440 --> 00:28:56,320
watch dogs is it starts to look more

838
00:28:55,200 --> 00:28:58,880
like this

839
00:28:56,320 --> 00:29:00,559
so you'll see a sort of division between

840
00:28:58,880 --> 00:29:02,640
systems there you'll have that lower

841
00:29:00,559 --> 00:29:03,679
half which is your you know payload

842
00:29:02,640 --> 00:29:05,600
control

843
00:29:03,679 --> 00:29:07,279
and then you've got your

844
00:29:05,600 --> 00:29:09,039
flight control on the top half so you've

845
00:29:07,279 --> 00:29:11,360
got software watchdogs coming from your

846
00:29:09,039 --> 00:29:13,120
flight control software watching all the

847
00:29:11,360 --> 00:29:15,039
parts of your payload control software

848
00:29:13,120 --> 00:29:16,559
so that your flight control knows

849
00:29:15,039 --> 00:29:18,799
everything that's going on in all of the

850
00:29:16,559 --> 00:29:20,720
subsidiary systems and you've got

851
00:29:18,799 --> 00:29:23,039
varying hierarchies of these things so

852
00:29:20,720 --> 00:29:25,039
that you've got most critical stuff at

853
00:29:23,039 --> 00:29:26,960
the top like i said back on that

854
00:29:25,039 --> 00:29:28,960
ingenuity helicopter one they had an

855
00:29:26,960 --> 00:29:30,559
fpga that was radiation hardened for

856
00:29:28,960 --> 00:29:32,240
power management that's the kind of

857
00:29:30,559 --> 00:29:34,240
thing that you might put at the top of

858
00:29:32,240 --> 00:29:35,919
this kind of a supervisory hierarchy

859
00:29:34,240 --> 00:29:38,159
because it's the piece you know is most

860
00:29:35,919 --> 00:29:40,880
reliable you you have it this sort of a

861
00:29:38,159 --> 00:29:43,120
chain of trust in these control systems

862
00:29:40,880 --> 00:29:44,720
and management processes to kick things

863
00:29:43,120 --> 00:29:46,640
back to life in order to avoid losing

864
00:29:44,720 --> 00:29:48,640
your mission

865
00:29:46,640 --> 00:29:49,840
and and even that is an abstracted

866
00:29:48,640 --> 00:29:51,760
version because when you actually get

867
00:29:49,840 --> 00:29:53,520
into the sort of examples that people

868
00:29:51,760 --> 00:29:55,600
put up in textbook versions of this it

869
00:29:53,520 --> 00:29:57,120
starts to look way more complicated it's

870
00:29:55,600 --> 00:29:58,080
a lot more like that in the real world

871
00:29:57,120 --> 00:29:59,600
but

872
00:29:58,080 --> 00:30:01,760
we don't have time to sit here and talk

873
00:29:59,600 --> 00:30:05,039
through a process flow like that that's

874
00:30:01,760 --> 00:30:07,200
no that's no one's idea of fun

875
00:30:05,039 --> 00:30:09,520
so let's talk more about making an

876
00:30:07,200 --> 00:30:11,360
actual space worthy linux so

877
00:30:09,520 --> 00:30:12,799
if you have your linux kernel what do

878
00:30:11,360 --> 00:30:15,200
you have to do with it in order to

879
00:30:12,799 --> 00:30:16,000
actually make it safe for space

880
00:30:15,200 --> 00:30:16,960
well

881
00:30:16,000 --> 00:30:17,919
you're obviously going to need to have

882
00:30:16,960 --> 00:30:19,520
the drivers and software for the

883
00:30:17,919 --> 00:30:21,440
hardware you want that's your first

884
00:30:19,520 --> 00:30:23,200
problem but linux has a lot of those

885
00:30:21,440 --> 00:30:24,799
built in but a lot of space hardware is

886
00:30:23,200 --> 00:30:26,399
pretty custom so it might not have them

887
00:30:24,799 --> 00:30:27,120
you might need to build those and test

888
00:30:26,399 --> 00:30:28,720
them

889
00:30:27,120 --> 00:30:32,080
in both software and hardware because

890
00:30:28,720 --> 00:30:35,120
sometimes you're driving hardware like

891
00:30:32,080 --> 00:30:37,039
case in point recently the unlatching on

892
00:30:35,120 --> 00:30:39,200
something like the mirror in the james

893
00:30:37,039 --> 00:30:40,720
or space telescope they had software

894
00:30:39,200 --> 00:30:43,120
driving that and that software had to be

895
00:30:40,720 --> 00:30:44,559
tested that it matched the hardware that

896
00:30:43,120 --> 00:30:45,679
when the software tells the hardware to

897
00:30:44,559 --> 00:30:47,279
do something it's not telling you to do

898
00:30:45,679 --> 00:30:49,039
the wrong things you test the hardware

899
00:30:47,279 --> 00:30:50,799
and the software

900
00:30:49,039 --> 00:30:52,640
and then you have to you know have the

901
00:30:50,799 --> 00:30:55,120
mission management software on top of

902
00:30:52,640 --> 00:30:57,360
your kernel to actually do that so you

903
00:30:55,120 --> 00:30:59,279
get this interface there of software

904
00:30:57,360 --> 00:31:01,200
talking to a kernel asking hardware to

905
00:30:59,279 --> 00:31:02,720
do things and the software on top of it

906
00:31:01,200 --> 00:31:04,640
and then it ends up being a very large

907
00:31:02,720 --> 00:31:07,120
amount of integration testing

908
00:31:04,640 --> 00:31:09,120
so so that is actually the primary thing

909
00:31:07,120 --> 00:31:12,240
and you know the the 80

910
00:31:09,120 --> 00:31:14,080
that gets done is is validating testing

911
00:31:12,240 --> 00:31:15,919
revalidating re-testing changing

912
00:31:14,080 --> 00:31:18,080
revalidating re-testing because it's all

913
00:31:15,919 --> 00:31:19,919
about reliability and and you have to

914
00:31:18,080 --> 00:31:21,919
try and make that reliability threshold

915
00:31:19,919 --> 00:31:24,159
get reached

916
00:31:21,919 --> 00:31:26,240
uh real-time operating systems are one

917
00:31:24,159 --> 00:31:28,880
of the ways you get that uh it's a way

918
00:31:26,240 --> 00:31:31,440
you can have a hard real-time versus a

919
00:31:28,880 --> 00:31:33,279
soft real-time versus a i don't care

920
00:31:31,440 --> 00:31:35,840
it's the question of is it okay to be

921
00:31:33,279 --> 00:31:38,799
late if you have to send a signal to a

922
00:31:35,840 --> 00:31:41,919
motor or a valve or a sensor or

923
00:31:38,799 --> 00:31:45,440
something um and it has to happen

924
00:31:41,919 --> 00:31:47,840
exactly on time or it might break you

925
00:31:45,440 --> 00:31:50,480
might need a hard real-time system if it

926
00:31:47,840 --> 00:31:51,919
only has to be fast enough

927
00:31:50,480 --> 00:31:54,159
you might only need a soft real-time

928
00:31:51,919 --> 00:31:56,559
system uh if you need to have something

929
00:31:54,159 --> 00:31:59,360
that responds instantly to a sensor the

930
00:31:56,559 --> 00:32:00,960
moment that sensor is tripped

931
00:31:59,360 --> 00:32:02,480
you again might need to have a hard

932
00:32:00,960 --> 00:32:04,880
real-time system because you might need

933
00:32:02,480 --> 00:32:06,720
something that can always handle that in

934
00:32:04,880 --> 00:32:08,080
the moment it happens nothing blocking

935
00:32:06,720 --> 00:32:09,840
it and immediately handling that

936
00:32:08,080 --> 00:32:11,360
interrupt

937
00:32:09,840 --> 00:32:13,279
again this comes down to preemption and

938
00:32:11,360 --> 00:32:15,120
interrupt handling and the final part

939
00:32:13,279 --> 00:32:16,559
being scheduling algorithms uh

940
00:32:15,120 --> 00:32:18,480
scheduling algorithms in real-time

941
00:32:16,559 --> 00:32:20,159
operating systems tend to be more fair

942
00:32:18,480 --> 00:32:21,440
they tend to guarantee you get a certain

943
00:32:20,159 --> 00:32:22,880
amount of time

944
00:32:21,440 --> 00:32:25,840
and your software then has enough time

945
00:32:22,880 --> 00:32:28,480
to do its job um you kind of trade

946
00:32:25,840 --> 00:32:30,320
guaranteed time for throughput so each

947
00:32:28,480 --> 00:32:34,240
individual process doesn't have as much

948
00:32:30,320 --> 00:32:35,679
power but they all definitely get time

949
00:32:34,240 --> 00:32:37,120
which is part of the basis for rt

950
00:32:35,679 --> 00:32:38,960
preempt you get the scheduler

951
00:32:37,120 --> 00:32:42,320
modifications

952
00:32:38,960 --> 00:32:46,240
it started out back from ingomola and uh

953
00:32:42,320 --> 00:32:48,240
to 2005 start off with the 2611 kernel

954
00:32:46,240 --> 00:32:51,679
uh it added two more preemption levels

955
00:32:48,240 --> 00:32:55,200
which are how deeply you can say no

956
00:32:51,679 --> 00:32:56,399
immediately respond to this uh and

957
00:32:55,200 --> 00:32:57,840
those have

958
00:32:56,399 --> 00:33:00,080
in large part actually wound up in

959
00:32:57,840 --> 00:33:01,919
mainland but there still is a a chunk of

960
00:33:00,080 --> 00:33:04,720
code that has yet to become mainline

961
00:33:01,919 --> 00:33:06,399
kernel um and even with all of that work

962
00:33:04,720 --> 00:33:08,559
over you know over a decade's worth of

963
00:33:06,399 --> 00:33:10,720
work there are still small sections that

964
00:33:08,559 --> 00:33:13,200
are not fully preemptable even with your

965
00:33:10,720 --> 00:33:14,480
fully preemptable mode turned on uh they

966
00:33:13,200 --> 00:33:16,399
are the most critical parts of the

967
00:33:14,480 --> 00:33:19,760
kernel that there just hasn't been a

968
00:33:16,399 --> 00:33:21,200
good way to make preemptable so so even

969
00:33:19,760 --> 00:33:23,120
with the real-time patches there are

970
00:33:21,200 --> 00:33:24,399
going to be places where linux

971
00:33:23,120 --> 00:33:26,399
might not work and you might need to

972
00:33:24,399 --> 00:33:29,120
look at a different real-time operating

973
00:33:26,399 --> 00:33:31,200
system say like free free rtos or

974
00:33:29,120 --> 00:33:32,720
something if you need that truly hard

975
00:33:31,200 --> 00:33:36,080
real time

976
00:33:32,720 --> 00:33:38,000
and that free free free rtos is a

977
00:33:36,080 --> 00:33:40,399
real-time operating system sponsored by

978
00:33:38,000 --> 00:33:42,159
amazon and it is

979
00:33:40,399 --> 00:33:44,799
another open source example that could

980
00:33:42,159 --> 00:33:47,360
be used in instead of real-time linux in

981
00:33:44,799 --> 00:33:49,519
that scenario

982
00:33:47,360 --> 00:33:52,000
embedded linux is what you'll normally

983
00:33:49,519 --> 00:33:54,320
find used in these environments you get

984
00:33:52,000 --> 00:33:56,240
things like yocto and open embedded

985
00:33:54,320 --> 00:33:58,000
you get build root i didn't include

986
00:33:56,240 --> 00:33:59,679
linaro in here because it's sort of out

987
00:33:58,000 --> 00:34:02,559
of fashion in the embedded space it's

988
00:33:59,679 --> 00:34:04,640
kind of more of a phone thing

989
00:34:02,559 --> 00:34:05,919
you get open wrt

990
00:34:04,640 --> 00:34:08,960
less commonly because it's not as

991
00:34:05,919 --> 00:34:11,119
flexible uh it works where the hard work

992
00:34:08,960 --> 00:34:14,720
gets done to make it work but it's not

993
00:34:11,119 --> 00:34:17,280
as inherently flexible um you also see

994
00:34:14,720 --> 00:34:18,560
sort of more high level build tools like

995
00:34:17,280 --> 00:34:21,839
a number of tools are built on top of

996
00:34:18,560 --> 00:34:23,359
debian such as isr and elbe which

997
00:34:21,839 --> 00:34:26,159
combines some of the lower level things

998
00:34:23,359 --> 00:34:28,720
like build root into automation tooling

999
00:34:26,159 --> 00:34:30,079
to take and combine your own embedded

1000
00:34:28,720 --> 00:34:32,159
debian version

1001
00:34:30,079 --> 00:34:34,240
and there are similar tools for the gen2

1002
00:34:32,159 --> 00:34:36,240
ecosystem so again two being a very

1003
00:34:34,240 --> 00:34:38,800
flexible linux distro has a number of

1004
00:34:36,240 --> 00:34:40,560
tools to build down into tiny embedded

1005
00:34:38,800 --> 00:34:42,079
images um

1006
00:34:40,560 --> 00:34:44,960
and then there's obviously the do it all

1007
00:34:42,079 --> 00:34:46,159
from scratch um which has been part of

1008
00:34:44,960 --> 00:34:48,320
the process in a lot of these other

1009
00:34:46,159 --> 00:34:49,919
cases like the uc linux ones would

1010
00:34:48,320 --> 00:34:51,919
likely have been quite custom from

1011
00:34:49,919 --> 00:34:53,040
scratch ones

1012
00:34:51,919 --> 00:34:54,960
this is the sort of thing you see

1013
00:34:53,040 --> 00:34:56,800
gradually becoming more and more common

1014
00:34:54,960 --> 00:34:58,000
is the reusability and repeatability

1015
00:34:56,800 --> 00:35:01,520
which is where you started to get the

1016
00:34:58,000 --> 00:35:04,160
software ecosystem come together

1017
00:35:01,520 --> 00:35:05,680
so there's things like cubos which is a

1018
00:35:04,160 --> 00:35:07,040
build route based custom linux

1019
00:35:05,680 --> 00:35:09,520
distribution

1020
00:35:07,040 --> 00:35:12,800
and nasa's cfs and opensat kit which

1021
00:35:09,520 --> 00:35:14,640
builds cfs on top of linux so

1022
00:35:12,800 --> 00:35:17,359
you get the coreflight system which is

1023
00:35:14,640 --> 00:35:19,839
an operating system agnostic uh flight

1024
00:35:17,359 --> 00:35:22,480
software set it does a bunch of hardware

1025
00:35:19,839 --> 00:35:24,400
abstractions and uh it runs on a number

1026
00:35:22,480 --> 00:35:25,520
of operating systems it's built around a

1027
00:35:24,400 --> 00:35:27,359
message bus so that you can have

1028
00:35:25,520 --> 00:35:29,119
multiple people all talking together

1029
00:35:27,359 --> 00:35:30,400
without any piece getting blocked again

1030
00:35:29,119 --> 00:35:33,359
getting back to that real time thing

1031
00:35:30,400 --> 00:35:34,880
they have to do their job immediately

1032
00:35:33,359 --> 00:35:36,560
and it has a number of things that are

1033
00:35:34,880 --> 00:35:38,640
already built for common spacecraft

1034
00:35:36,560 --> 00:35:39,920
tasks but it's not really well designed

1035
00:35:38,640 --> 00:35:42,079
around beginners the a lot of the

1036
00:35:39,920 --> 00:35:44,240
documentation is very technical down in

1037
00:35:42,079 --> 00:35:46,079
things like registers mode sets and and

1038
00:35:44,240 --> 00:35:47,760
very low level documentation it can be a

1039
00:35:46,079 --> 00:35:49,760
bit intimidating to get get your head

1040
00:35:47,760 --> 00:35:52,000
around and it is more designed around

1041
00:35:49,760 --> 00:35:53,520
real-time systems linux is it's not

1042
00:35:52,000 --> 00:35:55,440
treated literally as a second-class

1043
00:35:53,520 --> 00:35:57,040
citizen but it is definitely a less

1044
00:35:55,440 --> 00:35:59,119
supported platform they view it as sort

1045
00:35:57,040 --> 00:36:00,560
of a development target for getting your

1046
00:35:59,119 --> 00:36:02,400
development environment up and running

1047
00:36:00,560 --> 00:36:03,440
and and getting started with that kind

1048
00:36:02,400 --> 00:36:04,800
of a thing

1049
00:36:03,440 --> 00:36:06,560
um

1050
00:36:04,800 --> 00:36:08,880
the

1051
00:36:06,560 --> 00:36:10,560
the other one i mentioned was cubos

1052
00:36:08,880 --> 00:36:12,800
which was originally developed by the

1053
00:36:10,560 --> 00:36:14,079
qboss corporation they are no longer

1054
00:36:12,800 --> 00:36:15,359
maintained it

1055
00:36:14,079 --> 00:36:16,560
and

1056
00:36:15,359 --> 00:36:18,079
the

1057
00:36:16,560 --> 00:36:20,560
issue for them was that they were seeing

1058
00:36:18,079 --> 00:36:22,160
more customers come for their um

1059
00:36:20,560 --> 00:36:24,800
for their mission operations management

1060
00:36:22,160 --> 00:36:26,960
software stack not the software on the

1061
00:36:24,800 --> 00:36:28,880
satellites so they naturally shifted

1062
00:36:26,960 --> 00:36:30,800
their business but it is open source and

1063
00:36:28,880 --> 00:36:33,359
it is actually maintained by a community

1064
00:36:30,800 --> 00:36:35,040
uh as as you saw there there is actually

1065
00:36:33,359 --> 00:36:37,119
a still group of people keeping that one

1066
00:36:35,040 --> 00:36:38,960
open um

1067
00:36:37,119 --> 00:36:40,800
and it's as i said earlier a linux based

1068
00:36:38,960 --> 00:36:42,800
system using build route a large portion

1069
00:36:40,800 --> 00:36:44,640
of the stack is built in rust uh they

1070
00:36:42,800 --> 00:36:46,960
have rust and python sdks and it uses

1071
00:36:44,640 --> 00:36:49,200
graphql apis between the talking of the

1072
00:36:46,960 --> 00:36:51,280
components so it's quite a more modern

1073
00:36:49,200 --> 00:36:53,359
environment than the very low level

1074
00:36:51,280 --> 00:36:55,520
uh you know

1075
00:36:53,359 --> 00:36:57,440
like the very different contrast is a

1076
00:36:55,520 --> 00:36:59,359
very more modern uh

1077
00:36:57,440 --> 00:37:00,640
graphql it's hard to get more modern

1078
00:36:59,359 --> 00:37:02,640
than that when you compare that to sort

1079
00:37:00,640 --> 00:37:06,320
of a a

1080
00:37:02,640 --> 00:37:06,320
raw memory message bus

1081
00:37:06,640 --> 00:37:11,440
and as for how i actually end up

1082
00:37:08,720 --> 00:37:13,920
traveling down here is because um i

1083
00:37:11,440 --> 00:37:15,040
decided i wanted to build a satellite i

1084
00:37:13,920 --> 00:37:17,520
was looking in the mirror one day at the

1085
00:37:15,040 --> 00:37:20,800
start of the pandemic in 2019

1086
00:37:17,520 --> 00:37:22,800
and well 2020 i guess and and sort of

1087
00:37:20,800 --> 00:37:24,880
was like i really should do something

1088
00:37:22,800 --> 00:37:27,040
and uh yeah i decided to build a

1089
00:37:24,880 --> 00:37:27,839
satellite you can see there that's the

1090
00:37:27,040 --> 00:37:29,839
uh

1091
00:37:27,839 --> 00:37:31,359
my benchtop prototyping it doesn't have

1092
00:37:29,839 --> 00:37:33,119
all the pieces it needs it has the

1093
00:37:31,359 --> 00:37:34,720
computer hardware it needs the rest of

1094
00:37:33,119 --> 00:37:37,760
it is just space to make sure i've got

1095
00:37:34,720 --> 00:37:39,280
room for things uh like batteries

1096
00:37:37,760 --> 00:37:40,720
yeah i don't know you can't really see

1097
00:37:39,280 --> 00:37:44,240
it in there but that's a battery from

1098
00:37:40,720 --> 00:37:46,000
linux linux.conf that iu from 2015.

1099
00:37:44,240 --> 00:37:47,839
um there's a raspberry pi wedged in

1100
00:37:46,000 --> 00:37:51,119
there and there's a a fairly large

1101
00:37:47,839 --> 00:37:52,880
camera lens of my own in there um but

1102
00:37:51,119 --> 00:37:55,599
yeah that's what dragged me into getting

1103
00:37:52,880 --> 00:37:57,680
stuck into all of this um

1104
00:37:55,599 --> 00:37:59,359
i still want to get that finished

1105
00:37:57,680 --> 00:38:00,640
so naturally i'm still involved in all

1106
00:37:59,359 --> 00:38:03,680
of this

1107
00:38:00,640 --> 00:38:05,200
which leads to the bigger picture so

1108
00:38:03,680 --> 00:38:07,200
as you saw earlier the number of

1109
00:38:05,200 --> 00:38:09,520
satellites being launched with linux is

1110
00:38:07,200 --> 00:38:10,960
rapidly growing but a lot of it is

1111
00:38:09,520 --> 00:38:12,800
uh if if

1112
00:38:10,960 --> 00:38:13,839
the information is being published is to

1113
00:38:12,800 --> 00:38:15,599
believed

1114
00:38:13,839 --> 00:38:18,079
fairly antiquated with the exception of

1115
00:38:15,599 --> 00:38:18,880
ones that are frozen and kept up to date

1116
00:38:18,079 --> 00:38:21,119
so

1117
00:38:18,880 --> 00:38:22,240
you see a situation where you know we've

1118
00:38:21,119 --> 00:38:24,800
got

1119
00:38:22,240 --> 00:38:26,640
a need for a bigger organization the

1120
00:38:24,800 --> 00:38:28,320
situation is quite a bit similar to

1121
00:38:26,640 --> 00:38:30,560
where the automotive industry was a

1122
00:38:28,320 --> 00:38:33,119
decade ago we had the start of the

1123
00:38:30,560 --> 00:38:35,520
automotive grade linux project in 2012

1124
00:38:33,119 --> 00:38:37,680
and it might be time for us to see an

1125
00:38:35,520 --> 00:38:39,839
equivalent in the space and aerospace

1126
00:38:37,680 --> 00:38:42,720
area we have a number of things around

1127
00:38:39,839 --> 00:38:44,320
the drone and the the aero in aerospace

1128
00:38:42,720 --> 00:38:47,440
but we don't really have a equivalent

1129
00:38:44,320 --> 00:38:49,280
for space um you know and and there's a

1130
00:38:47,440 --> 00:38:51,680
number of things that might be relevant

1131
00:38:49,280 --> 00:38:54,079
for us to do um

1132
00:38:51,680 --> 00:38:56,480
yeah so uh

1133
00:38:54,079 --> 00:38:56,480
questions

1134
00:38:57,599 --> 00:39:02,240
hello it's me again i'm here to ask

1135
00:39:00,079 --> 00:39:03,040
questions that was a great fun talk

1136
00:39:02,240 --> 00:39:04,640
uh

1137
00:39:03,040 --> 00:39:06,720
we've got a bunch of questions if people

1138
00:39:04,640 --> 00:39:08,079
want to vote them in the questions tab

1139
00:39:06,720 --> 00:39:09,680
so that we can prioritize the popular

1140
00:39:08,079 --> 00:39:11,040
ones and take the rest to the text chat

1141
00:39:09,680 --> 00:39:12,400
afterwards uh we've got about six

1142
00:39:11,040 --> 00:39:13,520
minutes for this

1143
00:39:12,400 --> 00:39:15,440
um

1144
00:39:13,520 --> 00:39:16,480
that was so good uh the first question

1145
00:39:15,440 --> 00:39:18,400
that we've got

1146
00:39:16,480 --> 00:39:20,800
is are security concerns a common

1147
00:39:18,400 --> 00:39:22,480
consideration for space platforms

1148
00:39:20,800 --> 00:39:24,720
especially since the systems are related

1149
00:39:22,480 --> 00:39:27,440
to human well-being

1150
00:39:24,720 --> 00:39:29,839
oh ab absolutely in in the uh diagram

1151
00:39:27,440 --> 00:39:31,200
there there was a it might be a little

1152
00:39:29,839 --> 00:39:33,200
bit hard to see but there's actually a

1153
00:39:31,200 --> 00:39:36,000
whole block there dedicated to security

1154
00:39:33,200 --> 00:39:38,079
uh things like encryption are called out

1155
00:39:36,000 --> 00:39:40,800
and and it's one of the primary systems

1156
00:39:38,079 --> 00:39:42,640
in you know in the actual control flow

1157
00:39:40,800 --> 00:39:44,079
um you know the

1158
00:39:42,640 --> 00:39:46,320
from the telecommand block on the left

1159
00:39:44,079 --> 00:39:48,160
side there straight down into the

1160
00:39:46,320 --> 00:39:50,480
authentication and the decryption and

1161
00:39:48,160 --> 00:39:51,520
the security before being passed on to

1162
00:39:50,480 --> 00:39:53,200
anything else and encrypting the

1163
00:39:51,520 --> 00:39:54,560
downlink as well so so encryption is

1164
00:39:53,200 --> 00:39:56,000
definitely something that is actually

1165
00:39:54,560 --> 00:39:58,880
considered an important part of these

1166
00:39:56,000 --> 00:40:00,560
systems absolutely

1167
00:39:58,880 --> 00:40:03,680
that makes a lot of sense

1168
00:40:00,560 --> 00:40:06,640
uh our next highest voted one is how do

1169
00:40:03,680 --> 00:40:09,280
these systems get tested on earth

1170
00:40:06,640 --> 00:40:11,520
uh that is a fun and interesting topic i

1171
00:40:09,280 --> 00:40:13,599
skipped over my little one

1172
00:40:11,520 --> 00:40:15,040
because i have been getting to grips

1173
00:40:13,599 --> 00:40:16,800
with that now on

1174
00:40:15,040 --> 00:40:17,760
a lot of the commercial projects it gets

1175
00:40:16,800 --> 00:40:19,280
built

1176
00:40:17,760 --> 00:40:21,200
custom for your project you'll build

1177
00:40:19,280 --> 00:40:22,079
your test harnesses you'll build your

1178
00:40:21,200 --> 00:40:24,640
own

1179
00:40:22,079 --> 00:40:26,800
uh testing equipment you'll wire up a

1180
00:40:24,640 --> 00:40:29,040
system to a test harness and you'll have

1181
00:40:26,800 --> 00:40:30,800
it hooked up to signal monitoring

1182
00:40:29,040 --> 00:40:32,000
equipment like a signal analyzer and

1183
00:40:30,800 --> 00:40:33,520
things like that and you'll guarantee

1184
00:40:32,000 --> 00:40:35,760
that your software is sending out your

1185
00:40:33,520 --> 00:40:37,440
signals with the exact right timing and

1186
00:40:35,760 --> 00:40:38,800
you'll run it into a simulator that

1187
00:40:37,440 --> 00:40:39,839
determines whether it's doing things

1188
00:40:38,800 --> 00:40:41,520
like that so

1189
00:40:39,839 --> 00:40:43,440
you'll effectively like using something

1190
00:40:41,520 --> 00:40:45,119
like the dragon capsule as an example

1191
00:40:43,440 --> 00:40:48,400
they would have the computers hooked up

1192
00:40:45,119 --> 00:40:50,240
to a flight simulator and the software

1193
00:40:48,400 --> 00:40:52,640
running on the computers would fly the

1194
00:40:50,240 --> 00:40:54,720
simulator instead of a person to test

1195
00:40:52,640 --> 00:40:56,240
that the simulator

1196
00:40:54,720 --> 00:40:58,400
flies the way the computers are supposed

1197
00:40:56,240 --> 00:41:01,359
to fly it and you sort of build these

1198
00:40:58,400 --> 00:41:03,119
scenarios up in order to do testing um

1199
00:41:01,359 --> 00:41:04,240
that's the large end on the smaller end

1200
00:41:03,119 --> 00:41:06,560
with things like these open source

1201
00:41:04,240 --> 00:41:08,720
projects and and where we really need to

1202
00:41:06,560 --> 00:41:10,480
start seeing more things is is similar

1203
00:41:08,720 --> 00:41:12,720
to the regular embedded space you you

1204
00:41:10,480 --> 00:41:14,319
need things like reconfigurable micro sd

1205
00:41:12,720 --> 00:41:16,240
cards in order to

1206
00:41:14,319 --> 00:41:18,800
flash an os image onto a piece of

1207
00:41:16,240 --> 00:41:19,599
hardware run it through a test cycle and

1208
00:41:18,800 --> 00:41:21,520
then

1209
00:41:19,599 --> 00:41:23,599
critically test that it upgrades

1210
00:41:21,520 --> 00:41:25,280
correctly because

1211
00:41:23,599 --> 00:41:26,560
what you need to be able to do is you

1212
00:41:25,280 --> 00:41:28,480
need to be able to send up a whole bunch

1213
00:41:26,560 --> 00:41:30,400
of data and then have it do the update

1214
00:41:28,480 --> 00:41:32,480
while you're not looking and if it fails

1215
00:41:30,400 --> 00:41:34,800
it has to fall back uh there's been a

1216
00:41:32,480 --> 00:41:36,000
number of instances over the last few

1217
00:41:34,800 --> 00:41:38,720
years of the

1218
00:41:36,000 --> 00:41:40,800
mars rovers needing to fall back more uh

1219
00:41:38,720 --> 00:41:42,720
engine yeah more ingenuity than

1220
00:41:40,800 --> 00:41:44,720
perseverance um

1221
00:41:42,720 --> 00:41:46,640
sorry curiosity instead of perseverance

1222
00:41:44,720 --> 00:41:48,880
and and it has had to fall back to its

1223
00:41:46,640 --> 00:41:50,400
alternative computer a number of times

1224
00:41:48,880 --> 00:41:52,240
but this is routine they build them with

1225
00:41:50,400 --> 00:41:54,400
two computers an a and a b

1226
00:41:52,240 --> 00:41:56,400
and they do this naturally in order to

1227
00:41:54,400 --> 00:41:57,680
have the level of robustness in that

1228
00:41:56,400 --> 00:41:59,920
fault tolerance stuff we mentioned

1229
00:41:57,680 --> 00:42:02,079
earlier but to do that on cheaper

1230
00:41:59,920 --> 00:42:04,400
hardware where you don't have a billion

1231
00:42:02,079 --> 00:42:06,160
dollar budget you you do that in

1232
00:42:04,400 --> 00:42:08,319
software you have things like how on an

1233
00:42:06,160 --> 00:42:10,640
android phone if your update is broken

1234
00:42:08,319 --> 00:42:12,319
you fall back to the old version and and

1235
00:42:10,640 --> 00:42:13,599
we need to be in a position to test that

1236
00:42:12,319 --> 00:42:15,680
sort of thing on

1237
00:42:13,599 --> 00:42:17,440
regular old linux and and you test that

1238
00:42:15,680 --> 00:42:20,000
with things like a reconfigurable micro

1239
00:42:17,440 --> 00:42:20,000
sd card

1240
00:42:20,880 --> 00:42:23,040
that makes a lot of sense that's really

1241
00:42:22,240 --> 00:42:25,920
cool

1242
00:42:23,040 --> 00:42:27,520
uh our next question is given how much

1243
00:42:25,920 --> 00:42:29,520
of linux has been historically based

1244
00:42:27,520 --> 00:42:31,200
around community and that linux in space

1245
00:42:29,520 --> 00:42:33,520
is entirely deopolized by the two

1246
00:42:31,200 --> 00:42:35,119
largest satellite operators how do we

1247
00:42:33,520 --> 00:42:37,839
encourage sharing their learnings to

1248
00:42:35,119 --> 00:42:40,319
enable more small operators to leverage

1249
00:42:37,839 --> 00:42:43,200
this for small smaller missions i'll put

1250
00:42:40,319 --> 00:42:43,200
that in the text chat

1251
00:42:43,839 --> 00:42:47,440
this slide right here um i'm i'm

1252
00:42:45,839 --> 00:42:49,119
wondering if that question was asked it

1253
00:42:47,440 --> 00:42:51,359
was earlier on before i

1254
00:42:49,119 --> 00:42:53,440
yeah yeah no that that is actually

1255
00:42:51,359 --> 00:42:55,280
something i'm quite concerned about um

1256
00:42:53,440 --> 00:42:56,800
i'm i'm sure that the people at spacex

1257
00:42:55,280 --> 00:42:58,640
are doing an absolutely

1258
00:42:56,800 --> 00:42:59,839
tremendous job um they are running a

1259
00:42:58,640 --> 00:43:01,200
custom kernel so i'm sure they're

1260
00:42:59,839 --> 00:43:03,200
putting on all the security fixes they

1261
00:43:01,200 --> 00:43:04,800
find but it's 3-2

1262
00:43:03,200 --> 00:43:06,960
so

1263
00:43:04,800 --> 00:43:09,680
you know that's that's getting kind of

1264
00:43:06,960 --> 00:43:12,880
long in the tooth um

1265
00:43:09,680 --> 00:43:14,960
maybe in a situation where it's being

1266
00:43:12,880 --> 00:43:16,560
talked to by other equipment that might

1267
00:43:14,960 --> 00:43:18,240
not be good i mean they're not obviously

1268
00:43:16,560 --> 00:43:20,240
having any random computer connected to

1269
00:43:18,240 --> 00:43:21,520
the into the rocket or the space capsule

1270
00:43:20,240 --> 00:43:23,040
they're in control of all that so

1271
00:43:21,520 --> 00:43:24,079
they're not really at risk there but

1272
00:43:23,040 --> 00:43:25,680
it's still

1273
00:43:24,079 --> 00:43:28,319
the sort of thing that if your satellite

1274
00:43:25,680 --> 00:43:30,240
is talking you know as part of a network

1275
00:43:28,319 --> 00:43:32,240
you need to know about and so we do need

1276
00:43:30,240 --> 00:43:34,400
a bigger community we need to to start

1277
00:43:32,240 --> 00:43:37,280
looking seriously at starting a broader

1278
00:43:34,400 --> 00:43:37,280
community around this

1279
00:43:37,760 --> 00:43:43,200
that's really useful um

1280
00:43:40,560 --> 00:43:43,200
i lost track

1281
00:43:46,000 --> 00:43:48,960
the problem with doing this out of water

1282
00:43:47,280 --> 00:43:50,960
is that now it's out of shape

1283
00:43:48,960 --> 00:43:52,560
uh i'll go from the bottom what's the

1284
00:43:50,960 --> 00:43:55,920
market share of linux and space these

1285
00:43:52,560 --> 00:43:57,599
days compared to traditional embedded os

1286
00:43:55,920 --> 00:43:59,599
says this is an early question as well

1287
00:43:57,599 --> 00:44:02,319
so you've probably answered this one yep

1288
00:43:59,599 --> 00:44:03,599
definitely covered it on uh

1289
00:44:02,319 --> 00:44:07,319
it was uh

1290
00:44:03,599 --> 00:44:07,319
back to here 40.5

1291
00:44:07,359 --> 00:44:11,920
that was a very early question

1292
00:44:09,119 --> 00:44:13,520
uh what sort of code encoding methods

1293
00:44:11,920 --> 00:44:15,440
are used for these platforms also is the

1294
00:44:13,520 --> 00:44:17,200
linux networking used locally or for the

1295
00:44:15,440 --> 00:44:19,119
up down link

1296
00:44:17,200 --> 00:44:20,640
uh interesting example considering i

1297
00:44:19,119 --> 00:44:22,480
stopped right on the correct slide here

1298
00:44:20,640 --> 00:44:24,800
the linux networking is used internally

1299
00:44:22,480 --> 00:44:27,520
for cube os uh so it's actually using

1300
00:44:24,800 --> 00:44:29,440
http with regular on on the loopback so

1301
00:44:27,520 --> 00:44:31,119
these services are all popped into ports

1302
00:44:29,440 --> 00:44:33,119
on the loopback ip address and they will

1303
00:44:31,119 --> 00:44:34,880
talk to each other on the loopback so

1304
00:44:33,119 --> 00:44:37,040
you see it's actually using the linux

1305
00:44:34,880 --> 00:44:40,160
native stack internally but for

1306
00:44:37,040 --> 00:44:41,599
communication up and down uh barring the

1307
00:44:40,160 --> 00:44:44,000
instances

1308
00:44:41,599 --> 00:44:45,359
where there's someone who's using uh

1309
00:44:44,000 --> 00:44:47,040
like like i mentioned earlier there's

1310
00:44:45,359 --> 00:44:47,839
these companies that are developing sort

1311
00:44:47,040 --> 00:44:49,760
of

1312
00:44:47,839 --> 00:44:51,040
satellite to satellite communication so

1313
00:44:49,760 --> 00:44:53,200
that you get the equivalent of a

1314
00:44:51,040 --> 00:44:54,640
satellite internet connection but for

1315
00:44:53,200 --> 00:44:55,920
your satellite

1316
00:44:54,640 --> 00:44:57,440
other than that

1317
00:44:55,920 --> 00:44:59,839
no because

1318
00:44:57,440 --> 00:45:02,000
the space to ground and ground to space

1319
00:44:59,839 --> 00:45:04,079
is normally done over radio protocols

1320
00:45:02,000 --> 00:45:05,599
sort of more more akin to like frame

1321
00:45:04,079 --> 00:45:08,319
relay where you'll just build a big

1322
00:45:05,599 --> 00:45:09,599
buffer of data broadcast it up with the

1323
00:45:08,319 --> 00:45:11,440
radio on the other end giving you

1324
00:45:09,599 --> 00:45:12,800
minimal acknowledgement and then you get

1325
00:45:11,440 --> 00:45:14,800
an acknowledgement at the end of your

1326
00:45:12,800 --> 00:45:16,000
broadcast and then

1327
00:45:14,800 --> 00:45:17,200
it comes back

1328
00:45:16,000 --> 00:45:18,960
it's a little bit more sophisticated

1329
00:45:17,200 --> 00:45:20,480
with optical stuff it tends to be a lot

1330
00:45:18,960 --> 00:45:22,240
more of a continuous acknowledgement of

1331
00:45:20,480 --> 00:45:25,040
the data transmission but it's still not

1332
00:45:22,240 --> 00:45:26,560
a proper tcp sort of native networking

1333
00:45:25,040 --> 00:45:28,000
stack but

1334
00:45:26,560 --> 00:45:29,920
there are definitely a number of

1335
00:45:28,000 --> 00:45:31,359
projects that use that internally

1336
00:45:29,920 --> 00:45:33,520
because it's quite a valuable way to

1337
00:45:31,359 --> 00:45:35,359
break up a system so if you want that

1338
00:45:33,520 --> 00:45:37,599
robustness in terms of having things

1339
00:45:35,359 --> 00:45:39,599
split into multiple segments

1340
00:45:37,599 --> 00:45:41,200
you will often have those two segments

1341
00:45:39,599 --> 00:45:42,079
talk over a network stack so you might

1342
00:45:41,200 --> 00:45:44,160
have

1343
00:45:42,079 --> 00:45:46,960
something like a

1344
00:45:44,160 --> 00:45:48,640
like a network switch done in a you know

1345
00:45:46,960 --> 00:45:50,400
brad hardened fpga

1346
00:45:48,640 --> 00:45:51,520
and uh you might split the two computers

1347
00:45:50,400 --> 00:45:53,760
in half

1348
00:45:51,520 --> 00:45:55,200
i will cut us off there uh we are out of

1349
00:45:53,760 --> 00:45:56,480
time and i have missed an important

1350
00:45:55,200 --> 00:45:57,760
question which i'll put into the text

1351
00:45:56,480 --> 00:45:59,200
chat there are a few other questions as

1352
00:45:57,760 --> 00:46:01,040
well cats sniffing i'll definitely be

1353
00:45:59,200 --> 00:46:02,079
sticking around to uh answer the

1354
00:46:01,040 --> 00:46:04,240
questions

1355
00:46:02,079 --> 00:46:06,960
i head into the post talk chat for kia

1356
00:46:04,240 --> 00:46:09,200
ora theater and then um

1357
00:46:06,960 --> 00:46:10,800
next up we've got ryan verna with

1358
00:46:09,200 --> 00:46:13,599
virtual events behind the scenes of an

1359
00:46:10,800 --> 00:46:15,119
engaging community conference and

1360
00:46:13,599 --> 00:46:17,280
for people as well if you're a

1361
00:46:15,119 --> 00:46:19,119
professional or a contributor uh ticket

1362
00:46:17,280 --> 00:46:21,680
holder remember to join us from 6 30

1363
00:46:19,119 --> 00:46:22,960
aedt in venulis for the professionals

1364
00:46:21,680 --> 00:46:24,560
delegates

1365
00:46:22,960 --> 00:46:26,240
uh networking session and a really

1366
00:46:24,560 --> 00:46:28,319
interesting presentation from anthony

1367
00:46:26,240 --> 00:46:29,839
green on election analysis thank you so

1368
00:46:28,319 --> 00:46:34,040
much sam this has been really great i

1369
00:46:29,839 --> 00:46:34,040
hope you have a great rest of your day

