WEBVTT 00:00:00.000 --> 00:00:19.760 Preroll 36C3 Music 00:00:19.760 --> 00:00:28.410 Herald: Good evening and welcome to day two of the Congress. Our next speaker, 00:00:28.410 --> 00:00:37.270 Paul Gardner-Stephen is fighting for a free, secure and resilient communications. 00:00:37.270 --> 00:00:43.320 He's known as the leader of the cerebral projects, building cell phone mesh 00:00:43.320 --> 00:00:49.720 networks and also as the creator of the mega 65 computer, that you can see right 00:00:49.720 --> 00:01:01.110 here. Some Applause And. So he's going to tell us about his next project right 00:01:01.110 --> 00:01:07.780 now and also explore some issues that we face about, building networks and keeping 00:01:07.780 --> 00:01:13.970 them secure and resilient. So please welcome Paul Gardner-Stephen "Creating 00:01:13.970 --> 00:01:18.240 Resilient and Sustainable mobile networks". A round of applause. 00:01:18.240 --> 00:01:21.360 applause 00:01:21.360 --> 00:01:24.360 Paul Gardner-Stephen: OK. Thanks for coming along, everyone. Tonight is getting a 00:01:24.360 --> 00:01:28.560 little bit late in the night , Sidney, for me it is past my normal bedtime, so 00:01:28.560 --> 00:01:32.550 apologies if I yawn. It's not that I'm bored or disengaged. It's just I flew in 00:01:32.550 --> 00:01:37.600 from Australia yesterday and still haven't really had enough sleep. But we should be 00:01:37.600 --> 00:01:46.450 fine. So cool. So what we can see here we have the mega 65 prototype and we have a 00:01:46.450 --> 00:01:52.400 prototype of the megaphone and I'll talk about those two in a minute. So the entire 00:01:52.400 --> 00:01:56.729 presentation is actually going to be delivered with the technology that we're 00:01:56.729 --> 00:02:00.810 creating. So a bit of a dog food eating session for this kind of thing is a bit of 00:02:00.810 --> 00:02:05.940 proof by example that we can actually do useful things with 8-bit systems because a 00:02:05.940 --> 00:02:09.220 whole pile of advantages when it comes to the security and digital sovereignty with 00:02:09.220 --> 00:02:15.510 that. So we'll switch the screen to the screen. Super excellent. So we can have a 00:02:15.510 --> 00:02:20.140 look and make sure I've got the correct disk in there. Yes, we do. We will drop to 00:02:20.140 --> 00:02:37.819 see 64 mode. And we'll load the wrong one. For sure, we don't have to wait the long 00:02:37.819 --> 00:02:42.569 time if I press and hold down the caps lock key. The CPU runs at the full speed 00:02:42.569 --> 00:02:51.320 instead of normal speed. And so now it will light up. Its Commodore 64 software, 00:02:51.320 --> 00:02:56.540 right. So of course it has to be cracked. Even if I had to supply the originals to 00:02:56.540 --> 00:03:02.069 the cracking crew because in 2019. So we'll let that go for the year. The 00:03:02.069 --> 00:03:07.700 graphic change a little bit as we go along and let the grease roll out there. So all 00:03:07.700 --> 00:03:13.019 of this has been created in FPGA. So we have complete sovereignty in that sense 00:03:13.019 --> 00:03:16.590 over the architecture so that we can really start trying to, you know, to make 00:03:16.590 --> 00:03:22.099 systems that we have full control over from that full hardware layer and that are 00:03:22.099 --> 00:03:26.550 simple enough that we don't need to have a huge, massive team of people to actually 00:03:26.550 --> 00:03:29.970 work on these things. A lot of what we are talking about here has been created in 00:03:29.970 --> 00:03:37.250 maybe three or four person years over the last few years. So it is quite possible to 00:03:37.250 --> 00:03:41.030 do a lot with these systems without needing to have the huge resources of a 00:03:41.030 --> 00:03:51.119 multinational company or something, which is kind of key. Okay, so we'll do. Mega. 00:03:51.119 --> 00:04:02.760 Oh. 36C3. Okay. I'll press a five for presentation mode, which really just hides 00:04:02.760 --> 00:04:09.159 the cursor. And then I can use my clicker. So we have to switch, the camera here for 00:04:09.159 --> 00:04:15.849 a moment applause we switch the camera. So it's a genuine homemade 00:04:15.849 --> 00:04:20.180 Commodore 64 compatible joystick. And it makes the most satisfying click noise when 00:04:20.180 --> 00:04:29.930 we use it. So if we switch back to the slides, that will be great. But they are 00:04:29.930 --> 00:04:36.330 super, cool. So I am indeed going to be talking about creating resilient and 00:04:36.330 --> 00:04:38.630 sustainable mobile phones and hopefully that link when we already have the the 00:04:38.630 --> 00:04:46.120 artifact there of the megaphone prototype, that will become clearer as we go through. 00:04:46.120 --> 00:04:51.000 So really, the last talk, was it kind of interesting talking about this whole a 00:04:51.000 --> 00:04:54.340 different angle, this whole thing, that communications has actually become really 00:04:54.340 --> 00:05:00.360 weaponized over the last decade or two in particular that, you know, we're seeing 00:05:00.360 --> 00:05:03.180 that, you know, where it used to be natural disasters, that are the main 00:05:03.180 --> 00:05:06.840 problem, that now there is this whole problem of manmade disaster, which is a 00:05:06.840 --> 00:05:11.840 major problem for us. And so we see Internet shut communication shutdowns. We 00:05:11.840 --> 00:05:15.810 have surveillance happening in different places where it really ought not be 00:05:15.810 --> 00:05:19.900 happening. You know, this state level actors that are very well resourced, able 00:05:19.900 --> 00:05:23.690 to find zero day exploits. And the attack surface, as we know in modern 00:05:23.690 --> 00:05:30.520 communications devices is simply huge. And so this is this is very asymmetric in the 00:05:30.520 --> 00:05:34.949 power equation between, you know, the forces that seek to oppress people and, 00:05:34.949 --> 00:05:38.490 you know, the vulnerable people at the coalface who are just trying to get on 00:05:38.490 --> 00:05:42.720 with their lives and believe good decent lives and need communications to help 00:05:42.720 --> 00:05:46.960 protect themselves and enable that to happen. And that we're seeing that the 00:05:46.960 --> 00:05:53.000 value of communications is so well understood by these pressing forces that 00:05:53.000 --> 00:05:56.260 it really has become quite a you know, it's quite high up their list of things to 00:05:56.260 --> 00:05:59.680 do. You know, you don't send the army in first to quiet people down. You cut off 00:05:59.680 --> 00:06:06.580 their Internet as the first thing. So this is part of the backdrop of what we see. 00:06:06.580 --> 00:06:11.780 And so what I would say is that the digital summer has actually finished. 00:06:11.780 --> 00:06:18.050 We're now in the digital autumn. We can see in that, you know, with the with farms 00:06:18.050 --> 00:06:20.639 and trees and things that, you know, there's still plenty of fruit to see in 00:06:20.639 --> 00:06:25.680 the early autumn. Right? And there's lots on the ground. It feels like this time of 00:06:25.680 --> 00:06:30.919 plenty will continue. And, you know, we can all eat as we need that there is 00:06:30.919 --> 00:06:36.490 enough more or less to go around. But the risk that we have is from this parable of 00:06:36.490 --> 00:06:39.850 the grasshopper and the yet. Who here knows the parable of the grasshopper and 00:06:39.850 --> 00:06:43.350 the ant? Hands right up. Is it really hard for me to see up here? Okay. We'll stop 00:06:43.350 --> 00:06:49.330 and say who doesn't know? Okay, cool. So I thought actually it was originally a 00:06:49.330 --> 00:06:52.740 German kind of problem. This is the story of where the grashoper, you know, the 00:06:52.740 --> 00:06:56.569 grasshopper is kind of lounging around and enjoying the summer. While ant aren't busy 00:06:56.569 --> 00:07:00.530 carrying all the seeds back into the nest. And the ant's telling the grasshopper, 00:07:00.530 --> 00:07:03.370 hey, you need to get some food and stuff and put away for the winter so that you 00:07:03.370 --> 00:07:07.610 can actually survive the winter. And the grasshopper is basically in denial about 00:07:07.610 --> 00:07:11.650 the fact that, you know, the season will change. And then, of course, the season 00:07:11.650 --> 00:07:14.630 changes. It snows and gets cold. And then the grasshopper kind of goes knocking on 00:07:14.630 --> 00:07:17.680 the door of the antholl, not the lake, kind of really have doors, but that's 00:07:17.680 --> 00:07:21.870 fine. It's like, oh, I'm starving and cold out here. And and ant is kind of like, 00:07:21.870 --> 00:07:23.940 well, I've told you so kind of thing. And I think actually in the end, it kind of 00:07:23.940 --> 00:07:28.271 lets it into we that want to scare children too much with their stories. And 00:07:28.271 --> 00:07:34.090 so this is actually the challenge that we have that we, I love every time I come to 00:07:34.090 --> 00:07:38.730 these events or the creativity that we see. You know, we're enjoying the digital 00:07:38.730 --> 00:07:41.870 summer and all of the things that is letting us create and, you know, the great 00:07:41.870 --> 00:07:45.400 open source software and tools and everything that's going on, it's 00:07:45.400 --> 00:07:50.630 absolutely fantastic. And we want that to be to continue indefinitely. But we know 00:07:50.630 --> 00:07:55.199 that, as we said, that, you know, the you know, the chilling winds are beginning to 00:07:55.199 --> 00:08:00.630 to come that tell us that unless we actually do something about it, that this 00:08:00.630 --> 00:08:05.710 isn't actually going to continue indefinitely. And just a statement that I 00:08:05.710 --> 00:08:09.400 really want to make here is this last point that I've got. The freedoms of the 00:08:09.400 --> 00:08:14.460 second half of the 20th century, post- World War 2. If you look at history, they 00:08:14.460 --> 00:08:22.890 are an aberration. To my knowledge, never before and I fear perhaps never again will 00:08:22.890 --> 00:08:27.810 we have that degree of personal liberty, focus on, you know, individual freedom and 00:08:27.810 --> 00:08:32.130 agency and everything that was in this post-World War era and is now starting to 00:08:32.130 --> 00:08:38.900 unwind and starting to unwind back to the normal totally asymmetric, you know. Well, 00:08:38.900 --> 00:08:43.500 to say sharing of power is the wrong word. It's the greedy collection of power and 00:08:43.500 --> 00:08:49.200 depravation of the mass population from having any thing resembling a fair share 00:08:49.200 --> 00:08:54.650 of what's going on. And so we have to act if we want for the, you know, the digital 00:08:54.650 --> 00:08:59.200 summer to continue or at worst for the digital winter to be as short and shallow 00:08:59.200 --> 00:09:06.790 as we can have it, so that the you know, we can come back to a new digital summer. 00:09:06.790 --> 00:09:13.160 Because once we hit the digital winter, it will actually be too late. Because if we 00:09:13.160 --> 00:09:16.020 push this analogy, you know that the digital winter is the time when there is 00:09:16.020 --> 00:09:22.060 no food on the train or it isn't any longer possible or at least practical to 00:09:22.060 --> 00:09:27.860 create new technologies to enable us to, you know, to feed our digital needs. And 00:09:27.860 --> 00:09:31.930 we can't plant any new crop, so to speak, until the digital spring comes again after 00:09:31.930 --> 00:09:36.910 that. And so the opportunity, like with the grasshopper is now before the winter 00:09:36.910 --> 00:09:42.879 comes to say, right, what do we need to have in our store of technology, the store 00:09:42.879 --> 00:09:46.290 of protocols, all of these different things, so that when the digital winter 00:09:46.290 --> 00:09:51.580 comes, we don't starve. And fortunately, you know, we can actually change the 00:09:51.580 --> 00:09:57.160 length of the digital winter. We can empower people so that, you know, the 00:09:57.160 --> 00:10:02.590 bitter cold of the digital winter is moderated and the spring can come as soon 00:10:02.590 --> 00:10:08.540 as it can. And the trouble that we have with this, we actually don't know when the 00:10:08.540 --> 00:10:13.279 digital winter will come exactly. We see these challenges around in the way that 00:10:13.279 --> 00:10:18.740 different governments and non-state actors as well, you know, working you in 00:10:18.740 --> 00:10:23.950 propaganda and all all of these things that are becoming sadly more intense and 00:10:23.950 --> 00:10:28.890 acute around us. We don't know when that tipping point will happen. But given the 00:10:28.890 --> 00:10:32.240 complexity of supply chains and things that are necessary in this, I think Bunny 00:10:32.240 --> 00:10:37.410 was talking about that earlier today, that this is actually quite easy for it to 00:10:37.410 --> 00:10:43.260 actually quite quickly flip into the digital winter mode. And then as with the 00:10:43.260 --> 00:10:45.750 real winter, at the very beginning of winter, there might still be enough to 00:10:45.750 --> 00:10:50.110 eat, but it gets harder and harder very rapidly. And, you know, if the winter gets 00:10:50.110 --> 00:10:55.250 too deep, then it's just not going to be possible to continue with these things. 00:10:55.250 --> 00:11:00.931 And so we've tried to think about what's needed to actually overcome this. What do 00:11:00.931 --> 00:11:04.661 we need focusing on mobile communications as a key piece of that? And there's a 00:11:04.661 --> 00:11:10.170 reason for that in that it's the way that we can communicate, organize, you know, 00:11:10.170 --> 00:11:14.680 collectively protect communities against the threats that come in. If we look at 00:11:14.680 --> 00:11:19.080 things like that great Haiti earthquake just back in 2010, the breakdown of 00:11:19.080 --> 00:11:23.029 communications and law and order meant that they were quite horrible things going 00:11:23.029 --> 00:11:28.459 on. We don't know about three days, actually, of the earthquake there. So 00:11:28.459 --> 00:11:32.970 there were militias that were basically robbing medical teams, trying to transport 00:11:32.970 --> 00:11:37.120 people between different hospitals. And there were much nastier things with, you 00:11:37.120 --> 00:11:40.160 know, gangs of people going around from village to village, basically doing 00:11:40.160 --> 00:11:45.300 whatever they want to, whoever they want. It was really not cool. And so we want to 00:11:45.300 --> 00:11:51.529 avoid that kind of problem that comes, when people are not able to to collectively 00:11:51.529 --> 00:11:57.180 work together effectively as a community. And so the GPO four freedoms that we know 00:11:57.180 --> 00:12:00.970 from software, they're a great starting point. But I think actually we've seen 00:12:00.970 --> 00:12:05.140 enough things like with TiVoization and all these sorts of other challenges, that 00:12:05.140 --> 00:12:10.410 this is not sufficient, when it comes to hardware. And there's actually some even 00:12:10.410 --> 00:12:14.830 more complicated things. You start talking about mobile phone kind of hardware, as to 00:12:14.830 --> 00:12:20.180 how we can do that, which I'll talk about in a moment. But these are a starting 00:12:20.180 --> 00:12:23.940 point of what I've come up with as things that I see as being necessary. There's 00:12:23.940 --> 00:12:27.880 ample room for improvement. And in fact, with any of what we're trying to do in 00:12:27.880 --> 00:12:32.829 this space, we need folks to come along and help us. We can't do it alone. We need 00:12:32.829 --> 00:12:39.180 to work together so that we can help one another when the digital winter comes. 00:12:39.180 --> 00:12:44.899 So the first freedom is simply the freedom from energy infrastructure. We know 00:12:44.899 --> 00:12:48.320 critical infrastructure is disturbingly vulnerable, that the security of it is 00:12:48.320 --> 00:12:52.170 quite bad. But also you have these like large centralized places that produce the 00:12:52.170 --> 00:12:56.700 energy that we need. And, you know, we see power cut offs in Venezuela and all of 00:12:56.700 --> 00:12:58.389 these sorts of things, regardless 00:12:58.389 --> 00:12:59.389 of who's actually doing it, whether it's sabotage or whether 00:12:59.389 --> 00:13:02.320 it was purposeful from the government, I don't know. It actually 00:13:02.320 --> 00:13:06.339 doesn't matter. The fact is, it happens. But also, of course, a natural disaster. 00:13:06.339 --> 00:13:10.310 Power goes out. Fortunately, this is actually one of the easiest things to 00:13:10.310 --> 00:13:15.430 solve. We just need to include some kind of alternative energy supply into the kind 00:13:15.430 --> 00:13:18.890 of devices that we're creating. So that could be solar panel on the back. Or you 00:13:18.890 --> 00:13:23.000 could have the you know, the Faraday, you know, you shake it like a martini kind of 00:13:23.000 --> 00:13:27.089 thing to generate power or both, whatever you feel like. Or if you can find a good 00:13:27.089 --> 00:13:31.470 supply of NASA radio, I hope then with generators, that would also be fantastic. 00:13:31.470 --> 00:13:35.490 And we'll keep you warm through the winter as well. But, you know, if anyone has a 00:13:35.490 --> 00:13:40.630 supply of those, let me know. I'd love to hear. So then the second freedom is 00:13:40.630 --> 00:13:43.760 actually quite similar to the first. It's the realization that we need energy to 00:13:43.760 --> 00:13:49.300 communicate in communications, to organize ourselves and be effective. And again, the 00:13:49.300 --> 00:13:53.660 communications infrastructure is in many ways that she even more fragile than the 00:13:53.660 --> 00:13:58.430 energy production. Infrastructure is much easier to guard a couple of power stations 00:13:58.430 --> 00:14:01.880 in a country than it is to guard every phone tower and all of the interconnecting 00:14:01.880 --> 00:14:06.050 links and all these sorts of things between them. As we said, communications 00:14:06.050 --> 00:14:11.779 depravation is already being weaponized against the vulnerable around us. Again, 00:14:11.779 --> 00:14:13.889 fortunate there's been a whole pile of work in the space of the previous work 00:14:13.889 --> 00:14:19.730 I've done with the serval mesh and freifunk. And a whole bunch of groups 00:14:19.730 --> 00:14:23.529 working on a whole bunch of different things in this kind of space for peer to 00:14:23.529 --> 00:14:28.620 peer secure, authenticated communications. So, yes, there's work to be done, but this 00:14:28.620 --> 00:14:32.240 is an area where there's actually already like the energy one. There's been quite a 00:14:32.240 --> 00:14:39.730 lot of work done that makes that quite feasible to work on. So then we start 00:14:39.730 --> 00:14:43.600 going into some of the the harder ones, we need to make sure that we are not 00:14:43.600 --> 00:14:50.380 dependent on, you know, the major vendors of our devices, when it comes to the 00:14:50.380 --> 00:14:53.800 security of our devices. So this starts with simple things like that the GPL 00:14:53.800 --> 00:14:58.680 provides. So, you know, full source code has to be available. But more than that, 00:14:58.680 --> 00:15:04.520 we actually have to make sure that we can actually exercise those rights in 00:15:04.520 --> 00:15:09.350 practice. So it needs to be simple enough that we can actually, you know, go right. 00:15:09.350 --> 00:15:13.310 Okay. There's a security vulnerability in such and such like you now. Yes. You were 00:15:13.310 --> 00:15:16.820 talking about earlier today with some of the bluetooth things. And then to actually 00:15:16.820 --> 00:15:21.790 be out to patch it yourself, it's quite obvious that this is not the case for 00:15:21.790 --> 00:15:26.130 whether it's firmware or whether it's the regular operating system on modern mobile 00:15:26.130 --> 00:15:30.970 phones. So who here is actually built Android from source themselves? Excellent. 00:15:30.970 --> 00:15:36.950 Expected to see a few folks here. Who has tried and gave up in disgust. Right. More 00:15:36.950 --> 00:15:41.529 hands? Yes. I myself was all like, you know, I work on the civil project and we 00:15:41.529 --> 00:15:45.100 do a whole pile of things and basically just know after spending a number of hours 00:15:45.100 --> 00:15:48.310 on, it just went like, you know, this is actually this is a lot of work for 00:15:48.310 --> 00:15:52.669 something that ought to be straightforward if we want to be out to make rapid 00:15:52.669 --> 00:15:58.290 progress. And so we want to have systems that are simple enough, we can patch. But 00:15:58.290 --> 00:16:01.290 in fact, there's another really key advantage, the simplicity that I'll 00:16:01.290 --> 00:16:05.920 probably come over a few times in this talk, and that is that simplicity reduces 00:16:05.920 --> 00:16:10.821 the attack surface. If we are in an asymmetric power environment, where there 00:16:10.821 --> 00:16:15.500 are whether they are state or non-state actors seeking to deprive vulnerable 00:16:15.500 --> 00:16:19.820 people of communications, they're going to have potentially the ability to put whole 00:16:19.820 --> 00:16:24.280 teams looking for vulnerabilities in software. In contrast, we might be lucky 00:16:24.280 --> 00:16:28.130 to have someone who's going to try and madly find when things are being exploited 00:16:28.130 --> 00:16:35.410 and to patch them. So we need to have ways around this kind of thing. And to my mind, 00:16:35.410 --> 00:16:38.460 reducing the attack surface is the only way that we can actually have any real 00:16:38.460 --> 00:16:47.880 hope of, you know, being at a keep up in that arms race of security. So Freedom #4 00:16:47.880 --> 00:16:50.940 is related to this previous one. Is actually saying not only do we want to be 00:16:50.940 --> 00:16:54.350 at a patch, where she wants to be at a change, enhance doing these things. And 00:16:54.350 --> 00:16:58.649 again, it comes back to the same basic need that the software is actually able to 00:16:58.649 --> 00:17:03.020 be compiled. And the hardware designs are simple enough that we can actually, you 00:17:03.020 --> 00:17:10.659 know, to work on these things so that we get not merely in theory have permission 00:17:10.659 --> 00:17:17.089 to innovate, but that it is in practice feasible to do so. And again, the simpler 00:17:17.089 --> 00:17:21.169 the system, the the the more probable it is that we can actually succeed in this 00:17:21.169 --> 00:17:28.830 kind of space. And then again, there's a lot of these are quite interrelated, 00:17:28.830 --> 00:17:30.112 that's part of why I say it would actually be 00:17:30.112 --> 00:17:32.120 great to get feedback on how we might 00:17:32.120 --> 00:17:34.870 restructure these to make the boundaries really clear 00:17:34.870 --> 00:17:37.508 between these freedoms that we need. 00:17:37.508 --> 00:17:41.789 So we need the freedom to maintain the devices for the long run. So 00:17:41.789 --> 00:17:47.710 who here has or has had a fair phone, for example? I love the fair phone by the way. 00:17:47.710 --> 00:17:53.750 A number of us. I've had one as well. And, you know, if you talk to the people at 00:17:53.750 --> 00:17:58.620 Faith, I think they have a team of a bunch of people just trying to maintain Android 00:17:58.620 --> 00:18:02.520 on the faire phone 2, for example. And also now on the faire phone 3 as it comes 00:18:02.520 --> 00:18:07.380 out. And this is actually really hard work. But again, the complexity and the 00:18:07.380 --> 00:18:11.660 barriers that are there, make it really difficult to be able to just keep the 00:18:11.660 --> 00:18:14.980 thing running with the same hardware little and each time you want to target 00:18:14.980 --> 00:18:19.710 new hardware with new capabilities. This is just going to be, you know, as a 00:18:19.710 --> 00:18:23.090 community, we can probably do one or two devices if we kind of all collected our 00:18:23.090 --> 00:18:27.790 effort. But to actually do it for, you know, devices that meet individual needs 00:18:27.790 --> 00:18:31.169 or, you know, appropriate for a particular area might have, as we say, a different 00:18:31.169 --> 00:18:34.980 energy source. So I might want to try putting, you know, some thermal electric 00:18:34.980 --> 00:18:39.809 thing or whatever that at the moment to do that with mobile phone hardware is just 00:18:39.809 --> 00:18:44.309 prohibitive in the complexity and the, you know, the resourcing and effort that it 00:18:44.309 --> 00:18:51.130 would require. So we need to find solutions around this. And then again, 00:18:51.130 --> 00:18:55.470 related to that, overall, we have this problem of scale dependency. I think this 00:18:55.470 --> 00:18:59.950 is one of the really key things at the moment to make a mobile phone. You need to 00:18:59.950 --> 00:19:03.539 have a big enough market and you'd have a big enough enterprise and enough capital 00:19:03.539 --> 00:19:07.340 and all of the rest of it to actually be had to go through the very expensive 00:19:07.340 --> 00:19:13.270 process of designing the thing, getting injection molding, tooling and all of that 00:19:13.270 --> 00:19:18.580 kind of thing made. That, you know, to do that for a modern phone. I suspect it's a 00:19:18.580 --> 00:19:23.809 few million euros to do it reasonably well. And if you did it on the cheap and 00:19:23.809 --> 00:19:30.270 skinny is probably still maybe something like a million euros to achieve. So we 00:19:30.270 --> 00:19:39.100 have to somehow break this down, to make it feasible to do. And as I said earlier, 00:19:39.100 --> 00:19:43.530 simplicity is a key theme to my mind, and it is the only way I think that we can 00:19:43.530 --> 00:19:46.490 actually do it. So we've already talked about the challenges of distributing an 00:19:46.490 --> 00:19:51.010 Android ROM, let alone modifying it to do new things in any kind of sophisticated 00:19:51.010 --> 00:19:54.870 way. And even if you do, the hardware is actually too complicated. And there's a 00:19:54.870 --> 00:19:58.490 whole pile of trust issues around the complicated hardware. If you can't 00:19:58.490 --> 00:20:02.130 understand something, by definition, it's a black box. And if it's a black box, by 00:20:02.130 --> 00:20:06.510 definition, you can't trust it. Because you don't know what's inside. So, you 00:20:06.510 --> 00:20:10.520 know, we we have this point again, the digital winter. You don't want any black 00:20:10.520 --> 00:20:15.970 boxes or if you do, you want them very carefully monitored and managed. And so 00:20:15.970 --> 00:20:19.799 the system has to be not simple enough to make once. It is simple enough that we can 00:20:19.799 --> 00:20:24.660 actually remake it again and again and again, as we have need. It's a bit like 00:20:24.660 --> 00:20:27.390 the difference between a chainsaw or an ax, right? If you want to be in a remote 00:20:27.390 --> 00:20:32.490 area and have to be self-sufficient. Much better to depend on ax to chop your wood, 00:20:32.490 --> 00:20:36.100 because if you need two, you can make a new handle for your ax. And you know, with 00:20:36.100 --> 00:20:39.951 a bit more effort, you could do some very simple metallurgy and, you know, metal 00:20:39.951 --> 00:20:43.919 smelting with iron ore. If you happen to be lucky enough to have an area or copper 00:20:43.919 --> 00:20:47.770 or whatever, it's going to be a much easier proposition than having to do that 00:20:47.770 --> 00:20:50.780 and then somehow make a fine machine tooling and making you chain parts and 00:20:50.780 --> 00:20:55.620 motor parts and all of this kind of thing. So it has to be if it is going to be 00:20:55.620 --> 00:20:59.640 resilient and survivable, it has to be simple enough that you actually can build 00:20:59.640 --> 00:21:03.180 it with relatively simple tools going forward. Electronics is going to be a big 00:21:03.180 --> 00:21:07.100 challenge in this area because, you know, you need to be PCV fabrication, you need 00:21:07.100 --> 00:21:11.059 to get components and things. But we have to try and reduce the barriers as much as 00:21:11.059 --> 00:21:14.650 we can, so that at least, for example, component scavenging, for example, might 00:21:14.650 --> 00:21:19.200 be an option. Or devices that will be available, because they're still needed by 00:21:19.200 --> 00:21:24.100 other industries that have more protection as we head into a digital winter 00:21:24.100 --> 00:21:31.450 environment that we can take and repurpose that kind of hardware. So that this kind 00:21:31.450 --> 00:21:36.470 of leads into this tension then of saying, okay, if we make something which is simple 00:21:36.470 --> 00:21:41.040 enough, we know we as a community, we only have limited resources available to us, to 00:21:41.040 --> 00:21:45.120 make this kind of resilient device. Do we make one or do we all kind of like run off 00:21:45.120 --> 00:21:52.659 and make different kind of things? And I think the you know, this is a tension. I'm 00:21:52.659 --> 00:21:57.370 not going to claim that. I know the absolute best setting for this. I think we 00:21:57.370 --> 00:22:02.000 need to have, as I say, kind of multiple germ lines so that if one system gets 00:22:02.000 --> 00:22:05.722 chronically critically broken or proves to be ineffective and that, you know, there 00:22:05.722 --> 00:22:09.500 are others kind of in the wing that can kind of fill that niche in the 00:22:09.500 --> 00:22:14.570 environment. But we don't have so many, that if you don't get anywhere. And so 00:22:14.570 --> 00:22:19.000 this is a bit tricky. My gut feeling is, you know, making a an initial device that 00:22:19.000 --> 00:22:22.020 can kind of demonstrate some of these kind of positive properties. And then so other 00:22:22.020 --> 00:22:23.980 people will look at and go like, well, that's really great. That's got us 00:22:23.980 --> 00:22:26.659 forward. But, you know, that was a really stupid design. I think this is a way 00:22:26.659 --> 00:22:30.450 better way to do it in the way, that we have that freedom in the open source 00:22:30.450 --> 00:22:36.440 community to do, is probably a pretty good way to do things. And I would say, we're 00:22:36.440 --> 00:22:41.220 not yet at the end point of that proof of concept, but we're trying to move things 00:22:41.220 --> 00:22:47.420 forward to that and that point. So, come actual to the the megaphone that we're 00:22:47.420 --> 00:22:53.659 trying to create. And so in terms of what we've actually set out to do for the goals 00:22:53.659 --> 00:22:57.521 and kind of the methodology, we want something, which is simple, secure, self- 00:22:57.521 --> 00:23:03.329 sufficient and survivable. A lot of the work that I do is, for example, with, you 00:23:03.329 --> 00:23:06.460 know, NGOs. We've worked with folks from Red Cross. We work with folks from 00:23:06.460 --> 00:23:11.490 the UN World Food Program, who part of the interestingly, are the distributors of 00:23:11.490 --> 00:23:15.990 communications in the UN cluster system for disasters. Because they kind of like 00:23:15.990 --> 00:23:19.210 hand out blankets and they hand out rice and things. Someone basically say to them, 00:23:19.210 --> 00:23:23.440 well, you should also be handing out the communications. And so that's just kind of 00:23:23.440 --> 00:23:28.799 how it's fell. And so, you know, in an easy way I do smartphony kind of things 00:23:28.799 --> 00:23:32.429 like would be great to have some navigation, it would be great to have in a 00:23:32.429 --> 00:23:35.610 disaster context, the ability to fill in forms on the screen with a touch screen 00:23:35.610 --> 00:23:40.390 and the rest of it and have the uplink through. So if you think, you know, an 00:23:40.390 --> 00:23:45.480 Ebola outbreak in Africa, for example, to be out a collect, you know that case 00:23:45.480 --> 00:23:48.690 information to track down the you know, the case zeros and. Kind of thing, you 00:23:48.690 --> 00:23:55.020 need communications that can work. Often these outbreaks happen in places where law 00:23:55.020 --> 00:23:58.850 and order and civil society is not really working. Because if it was, then they 00:23:58.850 --> 00:24:01.581 wouldn't have had the outbreak there, it would have been managed more effectively. 00:24:01.581 --> 00:24:07.070 And so you need this kind of, you know, dependable device that can work 00:24:07.070 --> 00:24:10.730 independent of everything else that's going on. And that might have to do 00:24:10.730 --> 00:24:14.120 software updates, for example, over a really expensive narrowband satellite link 00:24:14.120 --> 00:24:19.000 that might be, you know, tens of bytes per second or less. So that was kind of some 00:24:19.000 --> 00:24:26.159 of the, you know, the motivation around this to create it. And it separately have 00:24:26.159 --> 00:24:32.250 been working on the Mega 65 project for a couple of years at that point. And it just 00:24:32.250 --> 00:24:36.150 kind of dawned on me that actually this simple 8 bit architecture is 00:24:36.150 --> 00:24:40.610 powerful enough to actually be useful to do some things. Math kind of, you know, 00:24:40.610 --> 00:24:44.830 well, you're doing this. You know, the fun proof of, you know, proof by example, 00:24:44.830 --> 00:24:49.770 really, of delivering the slides with this machine to show. that you can do useful 00:24:49.770 --> 00:24:53.380 things if you write the code carefully and carefully written code is more likely 00:24:53.380 --> 00:24:59.700 to be verifiable and secure. And it's probably I don't think you can get any 00:24:59.700 --> 00:25:03.440 simpler than an eight bit system and still be useful like I don't think we want to be 00:25:03.440 --> 00:25:09.659 trying to use an Intel 4004 derived 4 Bit CPU to do things. Boeing's if 00:25:09.659 --> 00:25:13.010 someone can find a way to do something with a system that's that simple and they 00:25:13.010 --> 00:25:17.210 can still do everything we need and it makes it even easier to verify. Fantastic. 00:25:17.210 --> 00:25:21.169 My gut feeling is it would actually be worse on every point, because the amount 00:25:21.169 --> 00:25:24.900 of work that you would have to do to do each useful thing, you end up with code 00:25:24.900 --> 00:25:29.799 which is actually larger in size. That I think, my feeling is that the 8 Bit 00:25:29.799 --> 00:25:33.133 architecture is about that sweet point. And so anyway, so as a result of the 00:25:33.133 --> 00:25:40.256 Mega 65 work, it's based directly on that. So the the phone actually is a Mega 65 00:25:40.256 --> 00:25:48.600 importable form and will show that in a little bit. And so we're getting towards 00:25:48.600 --> 00:25:52.309 that kind of proof of concept stage. So we had the first phone calls back in Linuxconf. 00:25:52.309 --> 00:25:55.741 So if you kind of dig back through this, the the video of that talk where with a 00:25:55.741 --> 00:26:00.809 much earlier prototype, we actually had people calling the machine, which is quite 00:26:00.809 --> 00:26:06.580 fun. And I took a little bit later as well about the some of the audio part kind of 00:26:06.580 --> 00:26:10.570 issues around that. So let's look at those six freedoms again now, and what we're 00:26:10.570 --> 00:26:14.809 trying to do with the megaphone. So energy independence. The first thing is we've got 00:26:14.809 --> 00:26:18.760 a filthy, great big battery. I hate it when phones go flat. And when you're in a 00:26:18.760 --> 00:26:21.670 disaster zone or these kind of vulnerable situations, you really don't want it going 00:26:21.670 --> 00:26:26.520 flat at the wrong time. So we've put a 32 watt our lithium ion phosphate battery 00:26:26.520 --> 00:26:31.679 that should have 2000 full charge cycles in there. The device is about the size of 00:26:31.679 --> 00:26:35.790 an intended switch in terms of surface area. So putting high performance solar 00:26:35.790 --> 00:26:39.400 cells like you would put on the solar racing car or on your roof, we can 00:26:39.400 --> 00:26:44.220 probably get about seven watts with that. And if you do the kind of math that's, you 00:26:44.220 --> 00:26:52.130 know, four or so hours of charge time, but we know in reality that the, you know, the 00:26:52.130 --> 00:26:55.830 solar environment will often be much worse than that. It might be only 10 percent of 00:26:55.830 --> 00:26:59.620 what it to be 1 percent of that if you're talking about these kinds of latitudes 00:26:59.620 --> 00:27:04.210 under cloudy conditions. And so you really want to have the big battery and as big a 00:27:04.210 --> 00:27:07.720 solar panel as you can and you want the power consumption to be as low as 00:27:07.720 --> 00:27:12.890 possible. So we've got CPO data to candlelight little teeny tiny FPGAs, 00:27:12.890 --> 00:27:16.050 that are managing the whole power environment and wake up the main FPGA only 00:27:16.050 --> 00:27:20.419 when something important needs to happen. So we believe with 32 watt hours, we 00:27:20.419 --> 00:27:25.860 should be out to get about a thousand hours standby with a 4G off the shelf 00:27:25.860 --> 00:27:29.990 cellular modem. And that's, you know, assuming the solar panel was actually, you 00:27:29.990 --> 00:27:35.330 know, like, you know, in a black box, even the light here, if we had the solar, the 00:27:35.330 --> 00:27:40.020 seven watt solar panel would have a sunny side up and we would be able to maintain 00:27:40.020 --> 00:27:43.560 charge indefinitely on the device, because we only need to have about 8 Milli 00:27:43.560 --> 00:27:49.880 Watts coming in. So we're talking about one one thousandth of the capacity of the 00:27:49.880 --> 00:27:56.590 solar panel. OK. So if a communications for independence, we really want as many 00:27:56.590 --> 00:28:00.600 possible ways to communicate as we can and the naughty little things that we can't 00:28:00.600 --> 00:28:05.480 trust, in particular the cellular modem, we want to have a sandbox and quarantined 00:28:05.480 --> 00:28:09.450 so that it can't spread its naughty plague of whatever vulnerabilities it has in 00:28:09.450 --> 00:28:13.360 there. Again, there are black box. We can't trust them. They're too hard for us 00:28:13.360 --> 00:28:16.960 to implement. So this is kind of a decision that we've taken. We'd much 00:28:16.960 --> 00:28:21.200 rather have a fully open 4G modem and if someone makes one fantastic, 00:28:21.200 --> 00:28:22.740 will incorporate it straight in. 00:28:22.740 --> 00:28:24.870 Right. because the systemis designed to be 00:28:24.870 --> 00:28:26.760 easy to change. But in the meantime, 00:28:26.760 --> 00:28:29.250 we have to kind of deal with what there is. The great thing is that 00:28:29.250 --> 00:28:34.039 these m.2 cellular modems are used in vending machines, in cars, in all sorts 00:28:34.039 --> 00:28:37.360 of things. So they're just the common eyes. Again, if he had to scavenge them in 00:28:37.360 --> 00:28:41.850 the future. This would be quite feasible and also means, we can upgrade. So we have 00:28:41.850 --> 00:28:47.049 two of these slots, so we could actually have a dual 5G Commodore 64 so that, you 00:28:47.049 --> 00:28:49.640 know, because he wants to light weight extra time 00:28:49.640 --> 00:28:51.050 when you're downloading your games, right? 00:28:51.050 --> 00:28:54.000 And 40 kilobytes can take a long time to download. I've only got one 00:28:54.000 --> 00:28:58.600 5G link, right? We have two of them so we can do it in parallel. Because he was to 00:28:58.600 --> 00:29:02.690 more than about, you know, four milliseconds to download new software and 00:29:02.690 --> 00:29:07.970 again, limited communications availability in these kind of oppressive environments. 00:29:07.970 --> 00:29:12.190 This is actually key. You might only have short communications window. So while it 00:29:12.190 --> 00:29:16.450 is a little bit tongue in cheek, it's not entirely. And of course, with several 00:29:16.450 --> 00:29:20.770 mesh, we've been doing, you know, UHF? packet radio. So we've put in try band 00:29:20.770 --> 00:29:25.882 Laura compatible radios in there. Not Laura when we're doing it fully. We're 00:29:25.882 --> 00:29:29.779 just sending out radio packets and listening in with the modules. We've also 00:29:29.779 --> 00:29:34.800 got ESP 1, 266 Wi-Fi and some Bluetooth in there. So that's some other potential 00:29:34.800 --> 00:29:38.210 options. Acoustic networking. So we've got 4 microphones that are directly 00:29:38.210 --> 00:29:42.140 connected to our FPGA so we can do crazy signal processing on that. And we've got a 00:29:42.140 --> 00:29:46.950 nice loud speaker that should work up into the ultrasonic range so we could even have 00:29:46.950 --> 00:29:51.370 quite decent communications over, you know, 10 or so meters in the acoustic 00:29:51.370 --> 00:29:55.289 band. And there's a crazy bunch. And I've forgotten the name of the research group 00:29:55.289 --> 00:30:02.170 that do air gap jumping. And they've done some quite crazy things with acoustics 00:30:02.170 --> 00:30:06.200 with the live your headphones plugged into your computer on your desk in a headphone 00:30:06.200 --> 00:30:10.059 jack. You can software reconfigure that and make that that's a speaker and 00:30:10.059 --> 00:30:14.980 microphone. There's anyone that's interested in a hall after. And we can 00:30:14.980 --> 00:30:19.080 have a look and try and find the link for you. We've also got infrared LED. And so 00:30:19.080 --> 00:30:24.340 the idea with all of these kind of things and whatever else you can kind of do, is 00:30:24.340 --> 00:30:28.870 that it should be really hard for an adversary to actually jam all of these 00:30:28.870 --> 00:30:33.830 things at the same time. You know, you might be able to do broadband RF jamming, 00:30:33.830 --> 00:30:38.270 but that's not going to stop the acoustics or the LED. And even if you can kind of 00:30:38.270 --> 00:30:41.690 make a lot of noise, it's gonna be really hard to block the LED, if people are kind 00:30:41.690 --> 00:30:47.750 of holding the devices near one another to do delay tolerant transfer. And of course, 00:30:47.750 --> 00:30:51.289 any other crazy things that people come up with. Again, a simple system design that 00:30:51.289 --> 00:30:57.679 you can extend it easily yourself. OK. Security independence. So the operating 00:30:57.679 --> 00:31:01.380 system runs in a little bit CPU, which is basically a slightly enhanced version of 00:31:01.380 --> 00:31:07.409 the Commodore 64 CPU. It has a a bit hypervisor, which is 16 kilobytes inside 00:31:07.409 --> 00:31:12.700 hardware limitation, because we don't want it getting bigger. If it gets 16K then 00:31:12.700 --> 00:31:15.230 you have to throw some other things out and right. What does it actually really 00:31:15.230 --> 00:31:18.720 need to do so, that you still have a system which is actually much more 00:31:18.720 --> 00:31:22.940 verifiable. And this kind of small software, it should be quite possible on 00:31:22.940 --> 00:31:26.840 this machine to run a simple C compiler, for example, to we had to compile the 00:31:26.840 --> 00:31:30.409 software that is actually running the core operating system, so we can have 00:31:30.409 --> 00:31:34.720 that whole complete offgrid operation. We've really talked a little bit about having 00:31:34.720 --> 00:31:39.780 the untrusted components fully sandboxed. So for example, cellular modems only have 00:31:39.780 --> 00:31:45.320 a 80 command serial interface to the rest of the system. And so this is going to 00:31:45.320 --> 00:31:47.110 make it much harder for an adversary to work 00:31:47.110 --> 00:31:48.570 out how with a fully compromised cellular 00:31:48.570 --> 00:31:52.049 modem, you can compromise the rest of the system by giving presumably 00:31:52.049 --> 00:31:56.250 bogus responses to 80 command requests. And because we know that's where the 00:31:56.250 --> 00:32:00.160 vulnerable point is, we can put a lot of effort in our software to really 00:32:00.160 --> 00:32:04.289 interrogate the command response to the coming back and no look for any QIT 00:32:04.289 --> 00:32:08.160 command responses within a semicolon, drop tables and all the rest of it in there. It 00:32:08.160 --> 00:32:13.220 should be pretty straightforward to pick up. So we also have an integrated hardware 00:32:13.220 --> 00:32:17.970 in sufferance inspectors, so that you can real time verify. It is a little bit fun. 00:32:17.970 --> 00:32:22.720 So I can hit mega tab and we call it matrix mode for good reason. So the system 00:32:22.720 --> 00:32:26.060 is still running in the background. So the slides are still there. So I can go back 00:32:26.060 --> 00:32:35.769 to the previous slow, I begin to say, it was a joystick actually when I'm in there. 00:32:35.769 --> 00:32:43.300 Yes, they you go. Or file a bug for that, but we can, if I go back into it, we can 00:32:43.300 --> 00:32:49.510 look at all of memory in real time. So if you are truly paranoid and you are about 00:32:49.510 --> 00:32:53.364 to, for example, do some encrypted email on your, you know, digitally sovereign 00:32:53.364 --> 00:32:57.960 device. You could actually go into this, stop the CPU and then inspect every byte 00:32:57.960 --> 00:33:02.650 of memory and compare it to your physical printout of the, you know, 30 or 40 00:33:02.650 --> 00:33:06.919 kilobytes of your software. Or you might every time he might do, you know, half a 00:33:06.919 --> 00:33:10.970 kilobyte or something, right?! And verify it so that progressively over time, you've 00:33:10.970 --> 00:33:15.380 actually verified that the system is always byte identical. At that point in 00:33:15.380 --> 00:33:18.659 time to what it should be doing. And again, the simplicity, we only have one 00:33:18.659 --> 00:33:23.919 program running at a time. So, you know, you know exactly what the system is doing. 00:33:23.919 --> 00:33:27.929 And we can tasks which we got a built in phrase constantly if I press the restore 00:33:27.929 --> 00:33:32.809 key. Anyone who's used a Commodore 64 and with an action replay will probably 00:33:32.809 --> 00:33:36.850 recognize the inspired format. And so that's our program. They're running with 00:33:36.850 --> 00:33:39.620 hardware, thumbnail, generation of colors, a bit wrong. We need to fix that. But, you 00:33:39.620 --> 00:33:44.779 know, we've got other software that we've had running on it. And so if we wanted to, 00:33:44.779 --> 00:33:52.211 you know, break up the presentation with a quick game of Gyruss, for example. We can 00:33:52.211 --> 00:33:56.300 do that. I need to switch the joystick. What I can do that in here as well. Jay. 00:33:56.300 --> 00:33:58.770 silence 00:33:58.770 --> 00:34:00.000 retro music 00:34:00.000 --> 00:34:05.519 You know, if we wanted to, we can do that. And then we can go back and, you know, 00:34:05.519 --> 00:34:09.330 pretend that we weren't doing anything naughty at all. And of course, I forgot to 00:34:09.330 --> 00:34:12.569 save what I was doing first, right. So I have to load the program again. So that's 00:34:12.569 --> 00:34:17.909 my bad. That's right. Because reboot time is about two seconds. 00:34:17.909 --> 00:34:36.879 typing commands 00:34:36.879 --> 00:34:39.960 So the worst part now is that we actually we haven't got a command to jumped through 00:34:39.960 --> 00:34:44.129 the slides and so it actually takes a little bit of time to render each slide as 00:34:44.129 --> 00:34:50.800 we go through. So that that's my punishment for not saving first. 00:34:50.800 --> 00:34:55.669 But see what we might do. We'll skip that for the moment. And I'm kind of at the right point 00:34:55.669 --> 00:35:01.480 anyway to talk about it, which is the audio powers and a mobile phone. This is a 00:35:01.480 --> 00:35:07.920 really important area to protect. So, so important, that is the only diagram that 00:35:07.920 --> 00:35:13.690 I've put an entire presentation. So at the top we have a normal mobile phone. So 00:35:13.690 --> 00:35:17.050 basically what we see is that the untrustable cellular modem is not merely 00:35:17.050 --> 00:35:21.190 on trustable. It's like an evil squid that has tentacles at reach into every part of 00:35:21.190 --> 00:35:25.280 your mobile phone that you really don't want it getting into. So it has the direct 00:35:25.280 --> 00:35:29.421 connection to your microphone and speaker. The normal CPU in your mobile phone 00:35:29.421 --> 00:35:34.200 usually has to say pretty please, oh untrustable, completely untrustworthy 00:35:34.200 --> 00:35:37.760 cellular modem. May I please have something which you're going to tell me is 00:35:37.760 --> 00:35:41.510 the audio that's coming in through the microphone? Whether or not it's actually 00:35:41.510 --> 00:35:44.160 the audio or not, there's a whole separate thing. It might be doing all manner of 00:35:44.160 --> 00:35:46.930 crazy things first, because you can't tell because it's a big fat black box in the 00:35:46.930 --> 00:35:51.340 way. And then just to make sure that the you know, it can fully compromise, what 00:35:51.340 --> 00:35:54.750 you're doing often is on the same memory bus. And so, you know, you might go, oh, 00:35:54.750 --> 00:35:58.270 I'm being all secret squirrel from the cellular modem and asking you anything. 00:35:58.270 --> 00:36:01.190 And it's just quietly lifting the covers and looking at what you got under there 00:36:01.190 --> 00:36:04.596 going like, oh, no, no, that bites wrong. You really want that value in that bite. 00:36:04.596 --> 00:36:08.250 And likewise, the RAM and the storage. So, you know, the cellular modem can totally 00:36:08.250 --> 00:36:12.966 compromise your bootloader and all of that kind of stuff along the way. Let's just 00:36:12.966 --> 00:36:17.570 say that that's not really a very survivable model or a very resilient model 00:36:17.570 --> 00:36:21.430 or a very secure model for a phone. So we have instead is that we've 00:36:21.430 --> 00:36:26.540 basically put the fully untranslatable thing completely out in its own little tiny 00:36:26.540 --> 00:36:30.250 shed. We've got the tin can and string between us and it with a very controlled 00:36:30.250 --> 00:36:33.490 interface and the microphone and speaker, thank you very much, are directly 00:36:33.490 --> 00:36:37.930 connected to our FPGA. So we can do encryption at the microphone and 00:36:37.930 --> 00:36:42.380 decryption at the speaker. The storage is secure, so we could even have massive one 00:36:42.380 --> 00:36:48.370 time pad. So we could actually do sig sally style provably secure communications 00:36:48.370 --> 00:36:55.800 over distance. If you can set up the key material beforehand for one time pad. So 00:36:55.800 --> 00:37:01.280 it's a radically different approach to what we see with devices out there at the 00:37:01.280 --> 00:37:29.050 moment. So we'll just get the the last few slides up in. Oh, no, for CONAN. Whoops. So 00:37:29.050 --> 00:37:34.466 even simple software can have bugs. This is why we need many eyes. Think of a load. 00:37:34.466 --> 00:37:38.609 This one first. Yep. And now I can load the other one because it just hadn't 00:37:38.609 --> 00:37:53.490 loaded the fonts in. Yeah. Cool. It's coming. Yeah. You could even use the 00:37:53.490 --> 00:38:03.079 joystick to move read and the text if you want to. Okay, so if we think then about 00:38:03.079 --> 00:38:09.450 this whole, you know, like what are we actually trying to achieve around this and 00:38:09.450 --> 00:38:14.400 what are some of the things that we need in the, in the. The Commodore derived 8 bit 00:38:14.400 --> 00:38:17.670 platform to us has a whole pile of advantages as the basis for doing this. 00:38:17.670 --> 00:38:20.119 Now, we could have done it with a completely different platform. You'll like 00:38:20.119 --> 00:38:23.980 some would think like RISC-V, for example, is a nice open platform. Could be an idea. 00:38:23.980 --> 00:38:27.450 Might it be that the RISC-V CPU was actually still too complicated to actually 00:38:27.450 --> 00:38:30.700 verify and trust yourself is my kind of view, but I'm really happy that other 00:38:30.700 --> 00:38:33.970 people might disagree with me. Again, multiple germ lines, totally different 00:38:33.970 --> 00:38:38.500 ways of doing things, and at least one of them keeps working at any point in time 00:38:38.500 --> 00:38:42.950 would be really, really good. You're kind of combination things as well. So one of 00:38:42.950 --> 00:38:45.839 the things that we're looking at is having, for example, a Raspberry Pi 00:38:45.839 --> 00:38:49.041 running the PI port of Android that somebody else maintains. I don't have to 00:38:49.041 --> 00:38:53.890 do it. And then having the 8 bit layer actually visualizing all of the IO around 00:38:53.890 --> 00:38:57.750 that, including access to the SD card storage, including access to the screen. 00:38:57.750 --> 00:39:00.890 And as that, she also makes it possible for us to work to make custom mobile 00:39:00.890 --> 00:39:05.210 devices for people living with disability. And actually some of the Android again is 00:39:05.210 --> 00:39:07.970 easy to maintain because we don't even have to recompile it. We can just get the 00:39:07.970 --> 00:39:11.260 standard version and then make it think it's got a normal touchscreen when in 00:39:11.260 --> 00:39:15.650 actual fact it might have some completely different input method going on. So 00:39:15.650 --> 00:39:19.590 there's a bunch of advantages. I've run out of the official time that have a lot 00:39:19.590 --> 00:39:24.990 of so I quickly go through and it will go into the questions. So the platform is 00:39:24.990 --> 00:39:28.630 really well documented. So there's another whole pile of tools and everything 00:39:28.630 --> 00:39:32.950 programing languages. So this is pretty straightforward to go through. We've 00:39:32.950 --> 00:39:36.440 already talked about capability maintenance again. So that is actually 00:39:36.440 --> 00:39:40.080 another key point: Making the hardware big actually is a massive advantage because 00:39:40.080 --> 00:39:44.869 then we can do normal PCP fabrication. We don't have to be any BGA parts placement, 00:39:44.869 --> 00:39:47.500 which is a real pain to do in your home oven, it is possible, but you don't want 00:39:47.500 --> 00:39:52.550 to have to work to learn how to do it in digital winter. And yet it's largely this 00:39:52.550 --> 00:39:57.200 kind of similar size to existing kind of devices out there. There's a bunch of 00:39:57.200 --> 00:40:01.520 advantages with that. There's a whole pile of different things that we really would 00:40:01.520 --> 00:40:06.240 like some folks to help us with to try and get this finished and out there for people 00:40:06.240 --> 00:40:10.970 to try out and to, you know, we had a mature it and make it work. So it doesn't 00:40:10.970 --> 00:40:14.430 matter whether you have a programmable 8 bit computer I've ever done any FPGA work or 00:40:14.430 --> 00:40:20.900 PCB work or whatever. You know, there's lots of space for people to join in what 00:40:20.900 --> 00:40:24.270 is quite, we think is actually both an important and actually a really fun and 00:40:24.270 --> 00:40:29.750 enjoyable project to work on. And so really just want to finish. But she said 00:40:29.750 --> 00:40:34.420 that I think it is a thinking about this talk and preparing for it. I think 00:40:34.420 --> 00:40:38.830 actually, it is a call to action. You know, the digital autumn has begun. 00:40:38.830 --> 00:40:42.270 Digital winter is on its way. We don't know when it's going to come. And it might 00:40:42.270 --> 00:40:47.140 come a lot quicker, than we would really like it to come, you know? Myself and the 00:40:47.140 --> 00:40:49.869 people who are already working on the project, we can't do everything alone. 00:40:49.869 --> 00:40:54.760 We're doing what we can. We going to try to organize another event in early April 00:40:54.760 --> 00:40:59.680 up in Berlin. But there's no need to wait for that to get involved. You know, we'll 00:40:59.680 --> 00:41:04.530 be around at the vintage computer area. If anyone wants to come and have a look or 00:41:04.530 --> 00:41:08.240 ask anything about how you might get involved or just play around with the 00:41:08.240 --> 00:41:16.300 platform, it's quite fun to use. Oups. And yeah, we'll leave it at that point. So any 00:41:16.300 --> 00:41:18.650 questions would be really welcome. 00:41:18.650 --> 00:41:24.270 applause 00:41:24.270 --> 00:41:29.800 Herald: That was incredible. You have the best present and set up that I've ever 00:41:29.800 --> 00:41:31.980 seen. PGS: Laughing Thank you. 00:41:31.980 --> 00:41:35.410 Herald: That joistick is amazing. Applause 00:41:35.410 --> 00:41:38.200 PGS: The joystick is also open source hardware. I can give you the plans to make 00:41:38.200 --> 00:41:41.970 one of those you sell from from parts. It's the spare joystick part through 00:41:41.970 --> 00:41:45.910 arcade games basically. Herald: Yes, please. OK. We're 00:41:45.910 --> 00:41:51.010 taking questions. I remind you, we have six microphones in the audience. We also 00:41:51.010 --> 00:41:56.050 have the amazing signal angel that's going to relay questions from the Internet. And 00:41:56.050 --> 00:42:00.230 we're going to take one right now. Signal-angel: Okay. So you already talked 00:42:00.230 --> 00:42:06.660 about some events, but maybe can you bit more elaborate on how you're planning to 00:42:06.660 --> 00:42:10.410 involve the community? PGS: Okay. So how we gonna involve the 00:42:10.410 --> 00:42:14.620 community? Basically, anyway, the community would like to be involved. The 00:42:14.620 --> 00:42:17.732 moment in terms of with the phone as myself and kind of the work at a 00:42:17.732 --> 00:42:22.829 university and we have kind of a couple of part time students working on things. So 00:42:22.829 --> 00:42:27.579 the bus number is disturbingly near one at the moment. So there's ample scope to 00:42:27.579 --> 00:42:32.160 help. We've got a few other people who are helping with the Mega 65 project itself. 00:42:32.160 --> 00:42:36.440 And so there is obviously this crossover in that. But what would be really great 00:42:36.440 --> 00:42:39.100 would be to find, for example, a couple of people who are willing to work on 00:42:39.100 --> 00:42:42.960 software, primarily coding and C. You don't even have to know any 65 to 00:42:42.960 --> 00:42:46.370 assembler to begin with, to do things like, you know, finishing off the dialer 00:42:46.370 --> 00:42:50.090 software and things that we demonstrated back in January and get it all working, so 00:42:50.090 --> 00:42:54.070 we can actually walk around with a pair of large plastic bricks by our heads, talking 00:42:54.070 --> 00:42:58.410 on the phones that we've actually created. That would be a really great way to work, 00:42:58.410 --> 00:43:02.550 to get some initial forward movement. And then things like case design, there's a 00:43:02.550 --> 00:43:06.240 whole bunch of stuff that, you know, we'd welcome involvement on. 00:43:06.240 --> 00:43:12.329 Herald: Thank you. Do we have more from the Signal Angels? Yes, we do. 00:43:12.329 --> 00:43:18.690 Signal-Angel: So, okay, um, there's a question when a prototype will be 00:43:18.690 --> 00:43:21.880 available. PGS: Okay. When a prototype would be 00:43:21.880 --> 00:43:27.530 available, I'm happy to give out blank PCBs or post them to people. I've 00:43:27.530 --> 00:43:30.710 got actually packed them with me. We've got looking at the next prototype is 00:43:30.710 --> 00:43:36.780 actually being built at the moment. So, you know, these can be built for about 400 00:43:36.780 --> 00:43:41.140 euros at the moment. So you can buy like five of these instead of an iPhone. Right? 00:43:41.140 --> 00:43:45.960 So it's already it's it's economically survivable as well in comparison. 00:43:45.960 --> 00:43:48.920 Essentially, it's one of the really quite funny things that we kind of making isn't 00:43:48.920 --> 00:43:53.810 going like a few person years of effort. And we can already make a mobile phone 00:43:53.810 --> 00:43:57.500 case, not a small and ch'mic, but it's got a joystick port. Right. Does your iPhone 00:43:57.500 --> 00:44:02.660 have a joystick port? So, you know, it's it's amazing. We've actually been able to 00:44:02.660 --> 00:44:07.220 do quite quickly. So, it's the kind of project where we do have people kind of 00:44:07.220 --> 00:44:11.420 come in to help us. You know, I think like, you know, by next Congress, we ought 00:44:11.420 --> 00:44:15.630 to have people running around with megaphones and being able to communicate 00:44:15.630 --> 00:44:19.800 in fun an independent kind of ways. So, yeah. 00:44:19.800 --> 00:44:25.700 Herald: Thank you. Microphone one, please. Mic 1: Thanks for a cool talk. And I have 00:44:25.700 --> 00:44:29.840 another question because you want to reduce black boxes. But what about 00:44:29.840 --> 00:44:34.710 encryption? Because it's really complex. And how do you plan to reduce this black 00:44:34.710 --> 00:44:38.329 box? PGS: Ah okay. So an excellent question. So 00:44:38.329 --> 00:44:42.670 the best encryption there is, is actually the simplest. It's called one time pad. So 00:44:42.670 --> 00:44:46.290 if you can actually meet with people. So again, we're talking about focusing on 00:44:46.290 --> 00:44:49.730 supporting local communities in one another. If you get your megaphone on the 00:44:49.730 --> 00:44:52.530 other person's megaphone and you come in infrared range, for example, and then you 00:44:52.530 --> 00:44:55.510 shake them like martinis to generate some random data and you do that 00:44:55.510 --> 00:44:59.280 until you've decided you've got enough one time pad and that one time pad is secure 00:44:59.280 --> 00:45:04.540 enough in your device, then actually like xor is pretty easy to debug. Right? 00:45:04.540 --> 00:45:07.910 Herald: Thank you. Microphone number three. 00:45:07.910 --> 00:45:14.660 Mic 3: So you talked about the form factor right now being Nintendo's switch. 00:45:14.660 --> 00:45:17.140 PGS: Yeah. Mic 3:Do you have plans on going smaller 00:45:17.140 --> 00:45:19.866 than that? More like a classic mobile phone? 00:45:19.866 --> 00:45:22.150 PGS: Yeah, I think it's actually quite possible. So the. 00:45:22.150 --> 00:45:26.120 So this is if you like, that the first version is this one. You 00:45:26.120 --> 00:45:30.420 can see it's about five centimeters thick. The second one, we think we can get down 00:45:30.420 --> 00:45:34.900 to about four centimeters thick, but it's otherwise the same size as PCB. We've got 00:45:34.900 --> 00:45:37.480 a student amount is going to try and work on making one that's about the size of 00:45:37.480 --> 00:45:42.331 only the screen, still probably about four centimeters thick. And we think that 00:45:42.331 --> 00:45:46.191 that's going to be quiet. It's the PCB layout. He's basically been cursing me for 00:45:46.191 --> 00:45:49.270 the last three months to try and get all the trucks routing without it needing to 00:45:49.270 --> 00:45:55.490 be a 15 layer sponge torte kind of PCB, but that should be quite possible to do it 00:45:55.490 --> 00:45:58.410 again. That's the kind of thing. Once you've got a working prototype, then the 00:45:58.410 --> 00:46:02.581 people, you're like, okay, we're going to be on the miniaturization team, too. And 00:46:02.581 --> 00:46:06.869 part of me try and make something which is even smaller. But, you know, there's 00:46:06.869 --> 00:46:09.560 always tradeoffs in these things. Again, the smaller you make it, the less solar 00:46:09.560 --> 00:46:12.800 panel you can have on the back. So that's kind of these things. It's only trying to 00:46:12.800 --> 00:46:15.920 make it as thin as we can. I think it makes a whole pile of sense. 00:46:15.920 --> 00:46:20.329 Herald: Honestly, you can make it smaller, but I don't think you should. Because when 00:46:20.329 --> 00:46:24.430 the zombie apocalypse happens, it's a communication to the weapon. 00:46:24.430 --> 00:46:29.609 PGS: Yeah. And it's less. Right. It's kind of, you know. Exactly. We can use a full 00:46:29.609 --> 00:46:32.550 sized one as well. Right. I've kind of got, you know, quite a nice solid metal 00:46:32.550 --> 00:46:38.390 keyboard in there as well. Herald: A question from the Internet, 00:46:38.390 --> 00:46:45.750 please show. Signal-Angel: So what do you think about 00:46:45.750 --> 00:46:48.630 the open moko phone? PGS: The Openmoko phone? I'll try. 00:46:48.630 --> 00:46:53.900 Remember the details about those and the whole again. Everything that's being done 00:46:53.900 --> 00:47:00.010 on all of these fronts to make fully open devices with a few black boxes as possible 00:47:00.010 --> 00:47:05.530 is fantastic. So as I say, open moko can make an M.2 form factor cellular 00:47:05.530 --> 00:47:10.540 modem that we can put in the megaphone. I would be so, so happy. But we can do a 00:47:10.540 --> 00:47:13.709 whole pile of stuff, while we are waiting for that to happen? 00:47:13.709 --> 00:47:18.900 Herald: Thank you. We actually had a talk yesterday about from one of the people 00:47:18.900 --> 00:47:26.069 behind the Openmoko. So you can watch the recording if you want. Next question, 00:47:26.069 --> 00:47:29.300 microphone one. Mic 1: Sure. Thank you for the great talk. 00:47:29.300 --> 00:47:35.000 I was interested in the Mega 65 itself. Is that available? Can can, is it sold? 00:47:35.000 --> 00:47:38.580 PGS: Yes, it's all okay. So the two most common questions, We have about the mega 00:47:38.580 --> 00:47:44.670 65 is can I buy one now and how much does it cost? Unfortunately, the answer to both 00:47:44.670 --> 00:47:48.540 of those is we don't yet know exactly. It'll be a three digit number in euros for 00:47:48.540 --> 00:47:54.750 the price. This is pretty certain. But at the moment, our big challenge is we. This 00:47:54.750 --> 00:47:59.819 one is it's a prototype made with the vacuum for molding. So each case cost 00:47:59.819 --> 00:48:05.510 upwards of 500 euros for the case. This is not really sustainable. So we know we need 00:48:05.510 --> 00:48:11.930 to make injection molding tooling for that. And so the guys from the German part 00:48:11.930 --> 00:48:16.620 of the mega 65 team are running a fund raiser, just a little bit careful that 00:48:16.620 --> 00:48:21.350 Australian law for fundraising is a bit weird. So I am not doing any fund raising. 00:48:21.350 --> 00:48:25.020 Some people here in Germany are doing some fund raising to try and raise the money 00:48:25.020 --> 00:48:28.080 for the mall. If you look at mega65.org, you can find out what they're doing in 00:48:28.080 --> 00:48:35.950 that space and and have a look at that. Herald: Thank you. Do we have more 00:48:35.950 --> 00:48:43.580 Internet questions? Nope. Cool, cool. I think that's it. So thank you again for 00:48:43.580 --> 00:48:46.590 the wonderful talk. My pleasure. Thank you. 00:48:46.590 --> 00:48:47.930 Applause 00:48:47.930 --> 00:48:53.052 Postroll music 00:48:53.052 --> 00:49:14.000 Subtitles created by c3subtitles.de in the year 2020. Join, and help us!