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