1 00:00:00,000 --> 00:00:02,700 All right, the sound is good? The camera's good? All right, thanks a lot, guys. 2 00:00:02,820 --> 00:00:09,320 Okay, so I'm Joe. My handle's, that can be Hardware Hacker or Heavyweight Hacker, 3 00:00:09,400 --> 00:00:13,040 if you're worried about 400-pound hackers. A little small for that. 4 00:00:13,800 --> 00:00:21,620 And, all right, so I put this talk together for kind of two opposite reasons, 5 00:00:21,760 --> 00:00:25,360 and that is because all of us either fall into two categories. 6 00:00:25,360 --> 00:00:30,580 We're either interested in hardware hacking and want to do it, or we already do it and we like it 7 00:00:30,580 --> 00:00:33,580 and we're excited about it, or we want to teach it to someone else, right? 8 00:00:33,660 --> 00:00:37,780 Like, we want to get other people excited about it and get our friends doing it or other people, right? 9 00:00:37,840 --> 00:00:42,200 So whichever end of that spectrum you're on, I figured it was kind of good to talk about, you know, 10 00:00:42,920 --> 00:00:48,000 what has hardware hacking been, what might it be, and where it's going, how it evolves, 11 00:00:48,580 --> 00:00:54,160 you know, where it is now, and what we need to be doing as, like, a call to action as hardware hackers, right? 12 00:00:54,220 --> 00:00:55,340 So, yeah. 13 00:00:55,820 --> 00:01:00,580 So it's kind of a basic talk, although it is also directed in a philosophical sense to those of us 14 00:01:00,580 --> 00:01:01,860 that are a little more advanced hardware hackers. 15 00:01:02,220 --> 00:01:08,560 And then I also wanted to leave a bunch of time for Q&A or also kind of spitting out idea type of things 16 00:01:08,560 --> 00:01:13,260 because, you know, as I pointed out here, I'm the founder of HackerBoxes, 17 00:01:13,260 --> 00:01:15,900 which I know a lot of you have probably stopped by and talked to us in the vendor area, 18 00:01:16,020 --> 00:01:19,820 but we make kits for hardware hackers, a new kit every month, 19 00:01:19,940 --> 00:01:25,340 and I think that that, you know, can give an opportunity here for us to have a little bit of a Q&A, 20 00:01:25,360 --> 00:01:29,960 a conversation kind of thing because we want to hear from people that are interested in hardware hacking 21 00:01:29,960 --> 00:01:34,120 or are doing it or maybe even use our product, what type of things that you're interested in 22 00:01:34,120 --> 00:01:37,800 or want to work on in the future, and then also give you an opportunity to ask questions 23 00:01:37,800 --> 00:01:44,380 as to, you know, what we see being the cool new thing in DIY electronics and hardware hacking 24 00:01:44,380 --> 00:01:49,100 and what we like about that and how we see our hobby field kind of evolving. 25 00:01:52,280 --> 00:01:52,780 All right. 26 00:01:52,800 --> 00:01:55,280 So at the core of all hacking, really, 27 00:01:55,360 --> 00:01:58,780 but I think hardware hacking particularly is this literary notion. 28 00:01:59,060 --> 00:02:05,640 I mean, it's a notion that's founded and bound in literary field of the competent man. 29 00:02:05,760 --> 00:02:07,660 It can also be a competent woman, of course, 30 00:02:07,720 --> 00:02:11,560 but so this notion of a competent man is someone who can do things, right? 31 00:02:11,700 --> 00:02:15,920 So, like, we all have that friend who, you know, he gets a flat tire and he's got to call AAA, 32 00:02:16,080 --> 00:02:19,260 not because he doesn't want to get his suit dirty, but because he does not know what a lug wrench is, right? 33 00:02:19,500 --> 00:02:20,820 We are not those people, right? 34 00:02:20,860 --> 00:02:24,720 Like, we, you know, I have little boys and I tell them, you know, when they break something, 35 00:02:24,800 --> 00:02:25,340 I'm like, we're not. 36 00:02:25,360 --> 00:02:25,800 We're not breakers. 37 00:02:25,800 --> 00:02:26,760 We're the fixers, right? 38 00:02:26,980 --> 00:02:30,440 So a competent person should be able to do things and should be able to make things 39 00:02:30,440 --> 00:02:33,540 and understand how things work and fix them and understand them at a level 40 00:02:33,540 --> 00:02:37,600 so that we can make new things out of them and not just use them, right? 41 00:02:37,720 --> 00:02:41,380 So, you know, anyone can use a smartphone, let's say. 42 00:02:41,460 --> 00:02:42,220 I see some smartphones here. 43 00:02:42,320 --> 00:02:46,460 But, you know, not many people can write an app or interface with a smartphone over Bluetooth 44 00:02:46,460 --> 00:02:50,700 or things like that and to really kind of embrace how do I do things and how do I change things 45 00:02:50,700 --> 00:02:54,640 and how do I, you know, engage with the world instead of just being a passive consumer it is. 46 00:02:54,640 --> 00:02:56,520 It is really what the hacker ethos is all about. 47 00:02:56,700 --> 00:02:59,820 And hardware hackers take that to a whole new level because we grab the stuff, 48 00:03:00,000 --> 00:03:01,720 the actual physical stuff and change it, right? 49 00:03:05,120 --> 00:03:08,700 So I want to start by talking about the good old days of hardware hacking 50 00:03:08,700 --> 00:03:09,880 because I think it's really important. 51 00:03:10,060 --> 00:03:14,820 And the theme of this DEF CON 25 was old school, new school, right? 52 00:03:14,900 --> 00:03:20,460 So I want to have a look at what, you know, what has been sort of the history of hardware hacking 53 00:03:20,460 --> 00:03:21,680 and the theme of it. 54 00:03:21,760 --> 00:03:24,500 You know, this could be nostalgic for some people or historic. 55 00:03:24,500 --> 00:03:25,740 It could be historically educational for the youngsters. 56 00:03:26,200 --> 00:03:33,700 So probably some of the first areas of or a fundamental area of hardware hacking 57 00:03:33,700 --> 00:03:37,420 are people that are involved in amateur radio, right? 58 00:03:37,580 --> 00:03:41,320 In the very old days, there wasn't Facebook and there wasn't the web 59 00:03:41,320 --> 00:03:42,620 and people weren't hacking Java. 60 00:03:42,900 --> 00:03:46,840 If you were interested in technology, what you were probably doing is making your own radio receiver 61 00:03:46,840 --> 00:03:48,200 and then your own radio transmitter. 62 00:03:48,600 --> 00:03:51,560 And, you know, you were putting up your own antenna 63 00:03:51,560 --> 00:03:54,240 and figuring out how different antennas work and communicating with other people. 64 00:03:54,500 --> 00:03:56,580 And, you know, and there was this whole amazing hobby, 65 00:03:56,660 --> 00:04:00,540 which has actually started becoming a little more popular again because of hardware hackers 66 00:04:00,540 --> 00:04:03,420 and because of the maker movement. 67 00:04:04,460 --> 00:04:08,920 You know, this hobby of, like, actually making communications equipment and using it. 68 00:04:09,100 --> 00:04:12,140 And so, you know, one could say this is like the original hardware hacking 69 00:04:12,140 --> 00:04:14,700 was making your own antennas, making your own transmitters, right? 70 00:04:15,040 --> 00:04:16,580 So anyone in here a ham? 71 00:04:17,820 --> 00:04:18,400 All right. 72 00:04:18,520 --> 00:04:19,440 Good job here. 73 00:04:19,520 --> 00:04:19,900 That's good. 74 00:04:20,280 --> 00:04:20,820 All right. 75 00:04:20,860 --> 00:04:24,140 And then, you know, and then we moved into a phase where there were companies, 76 00:04:24,140 --> 00:04:25,840 like Heathkit and then later RadioShack. 77 00:04:25,960 --> 00:04:28,780 And there are some really great Australian companies that aren't coming to mind 78 00:04:29,260 --> 00:04:32,960 that I've heard about that just make really cool kits and get people involved in building things 79 00:04:32,960 --> 00:04:37,360 and really, like, bring the hardware technology right into people's hands 80 00:04:37,360 --> 00:04:39,980 and let them make things and work on things. 81 00:04:40,120 --> 00:04:43,260 So has anyone ever worked on a Heathkit or knows about a Heathkit? 82 00:04:43,600 --> 00:04:47,760 So these are, like, back, you can see it's kind of like in the 60s and 70s looking thing. 83 00:04:47,820 --> 00:04:50,580 But I know there were still some Heathkits around when I was a kid, too. 84 00:04:52,780 --> 00:04:53,460 All right. 85 00:04:53,580 --> 00:04:53,860 And then. 86 00:04:54,140 --> 00:04:58,360 Coming into, like, the computer era, the very first personal computers, 87 00:04:58,480 --> 00:05:02,400 so the very first computers that everyday people got to play with in their homes 88 00:05:02,400 --> 00:05:05,380 or to actually own themselves, you had to actually build them. 89 00:05:05,500 --> 00:05:09,300 Like, they were not a, it was not something you went to, you know, Walmart and bought, you know, 90 00:05:09,300 --> 00:05:10,100 bought a computer. 91 00:05:10,200 --> 00:05:11,400 That didn't come around until a little later. 92 00:05:11,480 --> 00:05:14,640 But, you know, so, like, this was a very early computer that was an Altair. 93 00:05:14,880 --> 00:05:20,520 And we worked with these types of computers by getting right into the nitty-gritty of how the processing worked. 94 00:05:20,600 --> 00:05:23,700 You would actually input a byte, which would be like hitting, you know, 95 00:05:23,700 --> 00:05:26,860 a key on your keyboard by setting the bits of that byte and then hitting store. 96 00:05:27,040 --> 00:05:28,960 And it would go into it, put it into memory location. 97 00:05:29,280 --> 00:05:32,320 So you're dealing with a computer right down at the hardware level, right? 98 00:05:32,600 --> 00:05:37,300 You know, and then even the very earliest Apple computers, the Apple one was a kit and you had to build it. 99 00:05:37,340 --> 00:05:41,880 This is an Apple two, which, of course, these came pre-built, but they still had all these slots. 100 00:05:42,000 --> 00:05:45,680 You could, you know, make boards and jam them in there and actually interface with the equipment. 101 00:05:45,820 --> 00:05:53,060 You know, I know, you know, back in the early 80s, we were still hooking things up to the joystick ports on these, on these things. 102 00:05:53,080 --> 00:05:53,660 Even though it was a. 103 00:05:53,700 --> 00:05:58,380 Pre-made computer, there was still kind of this idea of, you know, the hardware is mine and I get to work on it. 104 00:05:59,640 --> 00:06:05,940 So, you know, and of course, just to keep it real hacker friendly, this is a, does anyone know what this is? 105 00:06:07,040 --> 00:06:12,280 Yeah, this is a, this is a blue box and this is actually one that's featured in a museum and people use these for phone freaking. 106 00:06:12,400 --> 00:06:19,340 They would actually hardware hackers would make these and actually take over the phone network using the tones they could create with them on them. 107 00:06:19,480 --> 00:06:21,800 And I have heard the argument. 108 00:06:21,960 --> 00:06:23,340 I don't know how true it is. 109 00:06:23,400 --> 00:06:23,600 But I. 110 00:06:23,700 --> 00:06:36,900 I don't know why anyone would lie about this, that, that the Apple computer company actually owes its existence to blue boxes because the, the, the Steve's were making these and selling them and that's how they got the money to kind of bootstrap their early Apple computer. 111 00:06:37,080 --> 00:06:53,400 So, so this is an illegal device that would let you hack the telephone systems and, you know, so, so, so I, you know, I showed these kind of few examples to just remind us that we, that we, we have always as computer enthusiasts, technology people like there have always been that cutting edge. 112 00:06:53,700 --> 00:07:08,540 They all fall in this category of, of those people that are, fall into that category of the description I explained of the competent man who does not, again, man or a woman who isn't just satisfied with, like, using something as a surface or superficial manner but actually wants to get into something and understand it. 113 00:07:08,580 --> 00:07:10,000 They, they don't want to make a phone call. 114 00:07:10,060 --> 00:07:11,220 They want to control the phone system. 115 00:07:11,300 --> 00:07:11,460 Right? 116 00:07:11,540 --> 00:07:19,280 They don't want to just know that the ah, social security system is or the census system is using some big computer somewhere to count them. 117 00:07:19,420 --> 00:07:21,900 They want their own computer at home that they can play with. 118 00:07:21,980 --> 00:07:22,120 Right? 119 00:07:22,260 --> 00:07:23,080 So that's us. 120 00:07:23,140 --> 00:07:23,680 And we're the modernians. 121 00:07:23,680 --> 00:07:28,960 version of that so so you know we got to think about what what that means for us 122 00:07:28,960 --> 00:07:34,760 you know if if 40 years someone might be in some hall like this looking at some 123 00:07:34,760 --> 00:07:37,440 things that we're doing what did what you know what what should they be saying 124 00:07:37,440 --> 00:07:43,140 about us like what's our what is our role in all this right so um you know I 125 00:07:43,140 --> 00:07:49,600 did want to make this a little bit more of almost like a sociological talk here 126 00:07:49,600 --> 00:07:54,920 so what you know just speaking generically this the evolution over time 127 00:07:54,920 --> 00:08:00,320 of DIY electronics and hardware hacking and electronics in general if you think 128 00:08:00,320 --> 00:08:05,660 about it is really all about abstraction so we don't have to hit the or even with 129 00:08:05,660 --> 00:08:08,860 that Apple to computer you didn't have to flip the switches of what bit you 130 00:08:08,860 --> 00:08:12,300 wanted what bite you wanted to load flip set the bits and then hit store you could 131 00:08:12,300 --> 00:08:16,660 just hit a key and load it in because they abstracted away from what the what 132 00:08:16,660 --> 00:08:19,520 what a bite going into the computer was they abstracted that into 133 00:08:19,520 --> 00:08:22,900 a keyboard controller right and then that was later abstracted into a GUI and 134 00:08:22,900 --> 00:08:26,620 to bring it back down to electronics things you know we don't we would never 135 00:08:27,020 --> 00:08:30,020 make even if we were people who work with like an AND gate we would never 136 00:08:30,020 --> 00:08:33,280 make an AND gate out of transistors anymore right unless you're like an ASIC 137 00:08:33,280 --> 00:08:36,540 designer but even worse than that like we probably wouldn't even be using an 138 00:08:36,540 --> 00:08:40,440 AND gate we'd be using an FPGA or even worse than that nowadays we just code 139 00:08:40,440 --> 00:08:42,760 everything if you want to make some little control or something you just use 140 00:08:42,760 --> 00:08:46,640 an Arduino because it's just cheap and easy and it's there right so so we've 141 00:08:46,640 --> 00:08:49,380 abstracted all of these things you know and then you know and 142 00:08:49,380 --> 00:08:49,500 and and and and and and and and and and and and and and and and and and and 143 00:08:49,500 --> 00:08:52,420 and the abstraction goes all the way up the chain I mean now we've got things 144 00:08:52,420 --> 00:08:55,620 like the Raspberry Pi that's basically a computer it's completely abstracted you 145 00:08:55,620 --> 00:08:59,040 just write you know a little program like it's on your desktop computer so so 146 00:08:59,040 --> 00:09:01,820 abstraction is really great because you know we're standing on the shoulders of 147 00:09:01,820 --> 00:09:04,760 giants we you know we don't have to worry about setting the bits in 148 00:09:04,760 --> 00:09:08,300 something or worry about what types of transistors are being used in an AND 149 00:09:08,300 --> 00:09:11,900 gate or whatever like we're we're abstracted away and we can just hook 150 00:09:11,900 --> 00:09:14,740 things up with jumper wires or type things on a keyboard and we're able to 151 00:09:14,740 --> 00:09:19,480 do great things so so what are the pros of 152 00:09:19,480 --> 00:09:23,780 this type of abstraction well you know the pro is the one one first obvious 153 00:09:23,780 --> 00:09:29,300 benefit of abstraction is that it gives us a lot of simplicity right so has 154 00:09:29,300 --> 00:09:33,280 anyone here using Arduino before probably probably everyone that it's 155 00:09:33,280 --> 00:09:38,000 really simple I know you know I've been doing embedded work you know since way 156 00:09:38,000 --> 00:09:40,960 back when we had to like you know you get a processor and you have to figure 157 00:09:40,960 --> 00:09:43,660 out how to hook up the crystal oscillator to it and then it's like three 158 00:09:43,660 --> 00:09:47,440 weeks later you're finally getting to load some code on it but even with all 159 00:09:47,440 --> 00:09:49,280 of that knowledge and experience I still just use Arduino 160 00:09:49,280 --> 00:09:52,700 all the time because I can just grab one and hook some wires up to it and it 161 00:09:52,700 --> 00:09:56,940 just automatically works so that type of simplicity is great right obviously a 162 00:09:56,940 --> 00:10:03,380 benefit and then another pro if you will of abstraction and computer 163 00:10:03,380 --> 00:10:07,280 technology in general but specifically with hardware is just rapid advancement 164 00:10:07,280 --> 00:10:10,880 if we can all do this standing on the shoulders of giants we can take things 165 00:10:10,880 --> 00:10:15,320 something like let's say for example an Arduino and we can quickly wire that up 166 00:10:15,320 --> 00:10:19,200 to do something like you know collect GPS information or you know 167 00:10:20,720 --> 00:10:24,700 use a Wi-Fi chip to get something on the Internet or to pull some data off the 168 00:10:24,700 --> 00:10:27,940 Internet which is something which would have been unheard of you know like even 169 00:10:27,940 --> 00:10:31,780 just 10 years ago in the embedded world that you would just wire up some stuff 170 00:10:31,780 --> 00:10:34,500 on something that a kid could use and be able to do some advanced embedded 171 00:10:34,500 --> 00:10:39,140 computing like that right so so there's simplicity and then and then rapid 172 00:10:39,140 --> 00:10:42,900 advancement that we can just do great things really quickly so you know so 173 00:10:42,900 --> 00:10:45,780 that's all well and good but what are the what are the problems with this type 174 00:10:45,780 --> 00:10:48,820 of abstraction well you know a real big 175 00:10:49,280 --> 00:10:54,260 is the loss of fundamentals that because someone just takes this arduino and plays with it you know 176 00:10:54,260 --> 00:10:59,400 one thing i've noticed is uh you know does that has anyone ever heard of that uh an avr micro 177 00:10:59,400 --> 00:11:05,740 controller see i see one hand but everyone raised their hand for have i used an arduino and arduino 178 00:11:05,740 --> 00:11:10,200 is just an avr microcontroller but you know back in the day when you were working on an embedded 179 00:11:10,200 --> 00:11:14,200 system you know you could tell me what microcontroller using how much memory it had what 180 00:11:14,200 --> 00:11:18,480 voltage levels it used but nowadays people just say i have the arduino they don't know that it's 181 00:11:18,480 --> 00:11:23,900 you know it's a it's an avr microcontroller they don't know you know what what interface it has 182 00:11:23,900 --> 00:11:27,820 on for the most part right so we're we're abstracting away from these fundamentals and 183 00:11:27,820 --> 00:11:32,520 no longer do people like know these very basic things right so that's not really that big of a 184 00:11:32,520 --> 00:11:36,900 problem in a day-to-day use until you have to actually do something a little trickier right 185 00:11:36,900 --> 00:11:42,920 you know like you see problems in the in the arduino ecosystem a lot where someone uh has a 186 00:11:42,920 --> 00:11:47,640 problem with a driver or a library to do you know to let's say to use a neopixel or something it's 187 00:11:47,640 --> 00:11:48,360 not working 188 00:11:48,360 --> 00:11:52,500 right it's probably uh interfering in some way with some other library they're using and you 189 00:11:52,500 --> 00:11:56,160 know back in the day someone would just go in and fix it but now they're like it's a library it's 190 00:11:56,160 --> 00:11:59,420 supposed to be a black box you know oh and they throw their hands in the air right i don't know 191 00:11:59,420 --> 00:12:04,640 what to do so that loss of fundamentals is not great it's also not great that even though we have 192 00:12:04,640 --> 00:12:09,220 more people working with things like embedded processors and you know uh and doing like 193 00:12:09,220 --> 00:12:14,340 hardware hacking things and trying to you know get into other systems and how they work using 194 00:12:14,340 --> 00:12:18,180 these type of technologies it's almost like they're often lacking like what are the basic 195 00:12:18,360 --> 00:12:22,460 electronics concepts behind them so um and then i would say a much bigger problem than that so 196 00:12:22,460 --> 00:12:26,040 that's just sort of like an educational philosophical problem right a much bigger problem 197 00:12:26,040 --> 00:12:30,980 is that as these systems become more abstracted especially since as they have more of these 198 00:12:30,980 --> 00:12:34,420 features now they're connecting to each other they're talking to each other you know i think 199 00:12:34,420 --> 00:12:38,640 they're i think i saw uh i think my refrigerator has a mime on it doing something very untoward 200 00:12:39,280 --> 00:12:43,160 all right that's a little bit of silicon valley joke there um anyway the uh 201 00:12:43,900 --> 00:12:47,700 that that now we've got a security issue right so like with the apple ii 202 00:12:48,360 --> 00:12:51,520 i don't think there was ever an apple ii virus right no one was ever no one ever was using their 203 00:12:51,520 --> 00:12:55,680 apple ii and going i hope no one hacks my apple ii because it wasn't really connected to anything 204 00:12:55,680 --> 00:13:00,040 and even if it was no one was trying to get into it you know and no one was trying to you know 205 00:13:00,040 --> 00:13:05,300 when i was using an hc11 to control some leds 30 years ago i was not worried about someone trying 206 00:13:05,300 --> 00:13:09,440 to hack it but now you have a raspberry pi in your living room hooked up to your tv doing whatever 207 00:13:09,900 --> 00:13:13,140 you have to worry that that thing's basically a unix box i mean you know are you 208 00:13:13,140 --> 00:13:18,340 is it behind a firewall like what you know and now now um you know that that's a that's kind 209 00:13:18,360 --> 00:13:21,900 of a simple example but uh whenever you're doing anything now where you're connecting something to 210 00:13:21,900 --> 00:13:25,820 something else which is where where our abstraction has reached right like we've 211 00:13:25,820 --> 00:13:29,440 we're now to the point where we're you know right right now we're going to talk about it a minute 212 00:13:29,440 --> 00:13:33,920 but the microcontroller that i love right now has a built-in wi-fi interface on it so it's on 213 00:13:33,920 --> 00:13:38,340 the network right so so who can access it what can they do with it what can they change with it right 214 00:13:38,340 --> 00:13:42,700 so that's something that we all have to uh start thinking a lot more about so that's kind of 215 00:13:43,080 --> 00:13:48,280 you know one of the cons is that you know as we we as we know less about what's under 216 00:13:48,360 --> 00:13:53,640 underneath the covers and i should say we like people that kind of use these type of things 217 00:13:53,640 --> 00:13:58,800 it almost falls upon more of the the people that really want to engage the capable man to know 218 00:13:59,260 --> 00:14:02,900 you know what could go wrong with this and how do i help that right sort of like the evolution 219 00:14:02,900 --> 00:14:07,260 we went through in the in the 90s with computers that like now you're going to get viruses you're 220 00:14:07,260 --> 00:14:11,580 going to get worms you plug it into the internet and dial up on aol you know you're going to have 221 00:14:11,580 --> 00:14:18,340 to listen to i've got mail right so um so this brings about you know uh you know 222 00:14:18,340 --> 00:14:22,580 what i want to make the big takeaway of this talk is the call to action is that 223 00:14:23,860 --> 00:14:29,940 um i want you know really what i wanted to say was that the um you know we need to go beyond 224 00:14:29,940 --> 00:14:33,440 like we work on electronics and we do hardware hacking because it's fun and we want to get into 225 00:14:33,440 --> 00:14:36,560 systems but that we have to do it because we want to we want to learn about how everything 226 00:14:36,560 --> 00:14:43,400 works right and we have to remember that there's almost uh um you know if i if i may engage in a 227 00:14:43,400 --> 00:14:48,080 bit of puffery for a moment there's almost a a heroic mission in understanding these systems is 228 00:14:48,340 --> 00:14:53,660 you know if all of a sudden all the i don't know whatever certain model of linksys router out 229 00:14:53,660 --> 00:14:58,140 there all start forming some kind of crazy botnet and cause some security breach those of us who 230 00:14:58,140 --> 00:15:02,000 make it our business to stick our nose into all of those routers as soon as we get them home and 231 00:15:02,000 --> 00:15:06,160 figure out why they work and look at the firmware we're going to know maybe before that happens why 232 00:15:06,160 --> 00:15:11,240 it happens and then when it happens we'll be able to fix it so so you know there's kind of a a um 233 00:15:11,240 --> 00:15:16,160 you know almost like a a duty or at least a an ability to help that comes with being a hardware 234 00:15:16,160 --> 00:15:18,320 hacker and understanding how things work especially if you're a hardware hacker and understanding how 235 00:15:18,340 --> 00:15:22,360 things work especially as they become more more abstracted and and with that i think comes the 236 00:15:22,360 --> 00:15:25,880 responsibility to teach more people about stuff right so most of us in here are probably told 237 00:15:25,880 --> 00:15:30,960 people like don't join random unsecured wi-fi right i mean even though most most lay people 238 00:15:30,960 --> 00:15:34,480 don't think about that but probably everyone in this room has like told someone maybe your aunt or 239 00:15:34,480 --> 00:15:38,740 mom or someone don't just go into starbucks and get on the wi-fi right because we're educating 240 00:15:38,740 --> 00:15:42,560 people about things that we know a little more detail about and that's going to become bigger 241 00:15:42,560 --> 00:15:46,220 and bigger when someone might hack into your refrigerator or take over your thermostat your 242 00:15:48,340 --> 00:15:54,740 so um uh so i i said i wanted to talk a little bit about um uh maybe kind of shift gears here 243 00:15:54,740 --> 00:15:59,200 and go into the future a little bit so um uh has anyone here used the esp32 processor 244 00:15:59,200 --> 00:16:07,180 a couple couple people so um oh you have your badge yeah so uh awesome the um this is a 245 00:16:07,180 --> 00:16:12,300 processor that uh a lot of people out there have like referred to this as the new hot processor so 246 00:16:12,740 --> 00:16:17,260 uh and i'm i'm extremely fond of it we've used it quite a bit in hacker boxes already we're going to 247 00:16:17,260 --> 00:16:17,920 use it even more 248 00:16:18,340 --> 00:16:24,520 um and uh and and this this processor is an example of some of the things that are 249 00:16:25,180 --> 00:16:30,260 like i said are the it it demonstrates some of the pros and cons of abstraction but 250 00:16:30,260 --> 00:16:34,380 that i've been talking about but it's a great example of abstraction because it's just the tiny 251 00:16:34,380 --> 00:16:38,600 little microcontroller you can use it through the arduino platform you can use it through other 252 00:16:38,600 --> 00:16:43,140 ide platforms too but you can treat it just like it's an arduino chip once you install the 253 00:16:43,140 --> 00:16:48,160 the board support for it in your arduino ide but it's basically a computer you know it's a 254 00:16:48,160 --> 00:16:52,920 dual core processor i think it can run it up to 180 megahertz in most cases depending on the 255 00:16:52,920 --> 00:16:58,920 implementation you can see that you know the crazy amount of ios it has it has built-in wi-fi and 256 00:16:58,920 --> 00:17:04,040 bluetooth and uh it's basically a small computer you can do amazing things with it and the actual 257 00:17:04,040 --> 00:17:08,660 chip itself i think is on is on the order of a few bucks and if you get them in like a module 258 00:17:08,660 --> 00:17:12,680 format they're like maybe nine bucks and they're just and they're readily available they're really 259 00:17:12,680 --> 00:17:17,800 amazing and it's just uh you know and so again the cons are in there that you can use something like 260 00:17:18,160 --> 00:17:26,800 And it's very easily, you can very easily get into a situation where you're treating all these black boxes that are inside of this thing. 261 00:17:26,920 --> 00:17:28,140 You have to treat them like black boxes. 262 00:17:28,220 --> 00:17:29,140 We can't know everything about them. 263 00:17:29,200 --> 00:17:36,300 But that you could end up with a situation that there's something going on with one of them that's causing a security breach or causing a, you know, something to not work correctly. 264 00:17:36,300 --> 00:17:52,200 But, you know, but the benefit is, you know, you can, within minutes, hook one of these up, load some code onto it, and do some really amazing things where you're, you know, connecting to the internet, collecting data, transmitting data, you know, doing IOs, you know, just like any other microcontroller thing. 265 00:17:52,280 --> 00:17:53,940 It has lots of general purpose IOs. 266 00:17:54,020 --> 00:17:56,120 So, you know, we really like these processors. 267 00:17:56,280 --> 00:18:06,280 And, you know, and I think this is an example of where this abstraction is leading us that, you know, that we're, you know, using processors like this or like this. 268 00:18:06,300 --> 00:18:07,180 Like those in the Raspberry Pi. 269 00:18:07,400 --> 00:18:16,560 They were basically getting to a place where our actual hardware, even at like a very, like, low-level, low-cost perspective is basically entire computer. 270 00:18:16,760 --> 00:18:18,580 They're basically tiny entire computer systems. 271 00:18:19,320 --> 00:18:22,700 And that's obviously just going to continue. 272 00:18:22,820 --> 00:18:36,200 Like if I could conjecture for a minute, I would say that, you know, an area where this is going to clearly continue is that as these type of things are connected to cloud services and are able to do things like interpret speed. 273 00:18:36,300 --> 00:18:37,620 And access AI things. 274 00:18:37,800 --> 00:18:48,780 And more importantly, you know, exfiltrate and collect and analyze data so that anything, any embedded system that you have running might be spying on some aspects of your life depending on what sensors it has attached to it. 275 00:18:49,040 --> 00:19:05,280 You know, that's, I think we're going to see more and more and more of that where this thing, these little devices, which could be, you know, ubiquitously deployed, are actually just gateways to other, you know, more advanced systems that do a lot of things that are going to require a lot of our attention to make sure we keep an eye on. 276 00:19:07,440 --> 00:19:09,240 And I just want to show an example real quick. 277 00:19:09,460 --> 00:19:16,100 I know we have at least one person wearing them, that this was the badge that we made for the hacker box from a couple months ago. 278 00:19:16,160 --> 00:19:17,100 And we sold a lot of them here. 279 00:19:17,180 --> 00:19:18,780 So a lot of people are wearing them around. 280 00:19:18,900 --> 00:19:21,120 But, you know, we use this ESP32 chip. 281 00:19:21,280 --> 00:19:29,340 And we were able to just basically, this is a very simple circuit that's implemented on the circuit board to just wire it up to a display and some neopixels and a buzzer. 282 00:19:29,360 --> 00:19:31,660 And, you know, it has some capacitive input keys. 283 00:19:31,800 --> 00:19:35,360 And we were able to make like a basically a platform that was a small computer system. 284 00:19:35,600 --> 00:19:36,280 And we put it on a computer. 285 00:19:36,300 --> 00:19:39,800 And we put it out there to our membership and to anyone we sold it to online. 286 00:19:40,360 --> 00:19:41,760 We made a couple thousand of these. 287 00:19:41,920 --> 00:19:45,020 And within like a week, someone ported an NES emulator to it. 288 00:19:46,320 --> 00:19:48,160 Someone implemented a packet sniffer on it. 289 00:19:48,300 --> 00:19:55,260 And that's what our, the people that are walking around with the badges are basically, it's listing out all the wireless networks it finds, what their power levels are. 290 00:19:55,580 --> 00:20:03,280 And then we add a little chunk of code that, without connecting to any infrastructure, passes messages between them so we can show each other's handles on them. 291 00:20:03,320 --> 00:20:05,560 I meant to be wearing mine, but the battery's worn out. 292 00:20:05,560 --> 00:20:11,340 So, you know, and this is a fairly simple design that just leverages this, this system on a chip, right? 293 00:20:11,420 --> 00:20:16,360 So that's the level of abstraction we're at right now is these type of things like the ESP32 are a system on a chip. 294 00:20:16,500 --> 00:20:18,820 They've got all of these systems on one chip. 295 00:20:19,540 --> 00:20:21,460 Super integrated, super low cost, so. 296 00:20:23,500 --> 00:20:27,180 Anyway, so we've been playing around a lot with this ESP32 chip. 297 00:20:27,220 --> 00:20:28,800 I think we're going to see some really great things with it. 298 00:20:28,900 --> 00:20:31,340 I had mentioned that you can access it from the Arduino IDE. 299 00:20:31,580 --> 00:20:34,980 Right now there are an increasing number of libraries. 300 00:20:35,040 --> 00:20:35,540 Like, okay. 301 00:20:35,540 --> 00:20:43,580 Almost any hardware you could want to attach to it, the Arduino library for it has now been ported to work with the ESP32 cross compiler as well. 302 00:20:43,780 --> 00:20:59,580 So, you know, that's really cool that, you know, you can, you know, even like this, this LCD display, we had to make very minimal changes to the, to the existing driver for those TFT LCD displays to communicate to it from the ESP32 and, you know, as opposed to the standard Arduino library. 303 00:20:59,820 --> 00:21:01,200 So, yeah. 304 00:21:03,820 --> 00:21:04,960 So, like I said. 305 00:21:04,960 --> 00:21:14,840 At this point, what I wanted to do is kind of not just our typical Q&A at the end of a talk where people are like, I want to ask you about this thing you said. 306 00:21:14,920 --> 00:21:20,560 But I wanted to make this more of an opportunity for people to share what their thoughts might be. 307 00:21:20,620 --> 00:21:30,600 Like I said, I want to give a little bit of conjecture when I said things are going more cloud based and using things that leverage the hardware to do lots of more advanced things that are either collective or data processing or whatever. 308 00:21:30,740 --> 00:21:34,520 But, you know, maybe we could share some of our thoughts on where we think hardware hacking is going. 309 00:21:34,960 --> 00:21:38,640 Where we would like it to go, where we hope it's going or any, anything like that. 310 00:21:38,680 --> 00:21:40,940 Like I'd love to hear other people's thoughts. 311 00:21:41,040 --> 00:21:44,920 And also in this Q&A, this is back to the more standard Q&A thing. 312 00:21:45,260 --> 00:21:53,220 You know, I'm happy to answer any questions about anything related to hardware hacking or electronics or anything like that. 313 00:21:53,320 --> 00:21:54,100 See if you can stump me. 314 00:21:55,100 --> 00:21:56,360 I'll give you a prize if you can. 315 00:21:56,580 --> 00:21:57,180 Just kidding. 316 00:21:57,340 --> 00:21:57,980 Don't stump me. 317 00:21:59,360 --> 00:22:00,000 So, yeah. 318 00:22:00,080 --> 00:22:04,760 So, oh, so when I was told because we're being filmed to, if you want, you can talk into that mic or else I'll just repeat. 319 00:22:04,760 --> 00:22:05,580 I'll repeat your question, so. 320 00:22:07,040 --> 00:22:07,700 You have something? 321 00:22:08,220 --> 00:22:18,120 Yeah, you can repeat this, but I guess my question is, like when I went to school, I always kind of thought, you know, hardware, double E, that kind of stuff was going to be the way of the future. 322 00:22:18,440 --> 00:22:29,120 And then kind of when I went to the job market, I kind of feel like the last 10 years or more, like software and software hacking and all these things kind of like sucked the air out of the room. 323 00:22:29,260 --> 00:22:34,000 And it's like even salary wise and all these things, you know, very software focused. 324 00:22:34,760 --> 00:22:45,600 Is it just going to be a reversal or do you think, you know, hardware is going to have more luster in the future or maybe it's going to be like something that I'll have to suffer for the rest of my life? 325 00:22:45,760 --> 00:22:46,320 Yeah, all right. 326 00:22:46,340 --> 00:22:47,580 So that's a really good question. 327 00:22:48,580 --> 00:23:04,740 Basically, the question was, let me see if I can just capture it really quickly in one statement, was that, you know, that we sort of have this division, especially you mentioned when you first go to school. 328 00:23:04,760 --> 00:23:07,200 Am I an electrical engineer or a software engineer, right? 329 00:23:07,280 --> 00:23:13,660 And that, you know, which of these is more important or which one is the, even from a career perspective, which one should I do? 330 00:23:13,900 --> 00:23:19,060 And then I think you mentioned that it seems like software is like sucking the air out of the electronics world. 331 00:23:19,320 --> 00:23:32,340 And, you know, I think another way to put that is that, you know, for any piece of electronics you make, especially if it's programmable, like even if it has a simple microcontroller or especially something like this, you make a piece of hardware, but you can put almost an infinite number of software on it. 332 00:23:32,480 --> 00:23:33,860 So I think that's kind of the... 333 00:23:34,760 --> 00:23:37,980 Or infinite different instances of types of software on it. 334 00:23:38,060 --> 00:23:54,760 So I think that's probably another way to look at that is that, you know, you make a piece of hardware, especially if it's a universal computing machine like a, you know, like the things that we all carry around and call computers or a microcontroller like this that, depending on what peripherals are attached to it, it can run all types of software and do all types of things. 335 00:23:55,060 --> 00:24:00,180 So, you know, of course there might be a lot more effort in the software, right? 336 00:24:00,240 --> 00:24:04,740 But I think that, you know, my feeling on it is, and I, you know, I've kind of done both hardware. 337 00:24:04,760 --> 00:24:12,260 I've done hardware and software development, but, and I consider myself an embedded engineer, which is someone who sort of does both and deals with software right where it touches the hardware. 338 00:24:13,820 --> 00:24:34,740 That, you know, I don't know that that's necessarily going to change, but I think probably what we're seeing is that as the little bubble that is, you know, whatever percentage hardware and software, you know, where by definition there's less hardware than software because you can have more software on each hardware, that as that bubble gets bigger, it appears that there's more and more software. 339 00:24:34,760 --> 00:24:36,520 But the hardware is getting bigger too. 340 00:24:36,660 --> 00:24:52,460 And I think that, that the accessibility to working with hardware, like through things like Arduino or like the ESP32 that we looked at, that really excites me because, you know, the fact that now we've got little kids doing stuff with an Arduino that like I didn't get to do until I was, you know, like a junior in college. 341 00:24:52,500 --> 00:25:00,180 And I, you know, and I actually understood what a cross compiler was and had a, you know, a circuit emulator for a microprocessor that now you see little kids. 342 00:25:00,240 --> 00:25:04,640 I mean, I teach a class for high school students where like in two day, within a two day period. 343 00:25:04,760 --> 00:25:11,820 I have them doing really cool stuff with an Arduino, like, you know, controlling all sorts of things, taking inputs, making processing decisions and giving outputs. 344 00:25:12,100 --> 00:25:17,120 And, you know, that, that really excites me because I think we're able to get into the hardware more easily now. 345 00:25:17,260 --> 00:25:20,580 You know, of course it does have that con of, you know, easy in, you're not paying the price. 346 00:25:20,660 --> 00:25:23,680 You might not know what you're doing when you're in there, but at least we're doing it. 347 00:25:23,880 --> 00:25:27,280 So that's a good concern, I guess. 348 00:25:27,440 --> 00:25:27,680 Yeah. 349 00:25:57,680 --> 00:26:03,400 Yeah, no, I agree with that. 350 00:26:03,460 --> 00:26:04,620 So the statement, 351 00:26:04,760 --> 00:26:08,920 was that the, the abstraction has actually encouraged more people to, to dig deeper on things. 352 00:26:08,980 --> 00:26:09,540 I think that's true. 353 00:26:09,680 --> 00:26:09,820 Yeah. 354 00:26:10,040 --> 00:26:16,360 So, and the number's probably higher, even if you say maybe the percentage is lower or something, but, but yeah, there are more people out there playing with hardware for sure. 355 00:26:16,480 --> 00:26:17,560 And that's, that's great. 356 00:26:17,620 --> 00:26:18,680 I mean, we're very excited about that. 357 00:26:18,740 --> 00:26:25,560 I mean, that's a, you know, I, I put, I put our logo up here to remind you guys that I work with hacker boxes and there's my email address there if you need to contact me. 358 00:26:26,620 --> 00:26:30,960 But, you know, at hacker boxes, our, our, our goal is to get more people playing with hardware, right? 359 00:26:31,020 --> 00:26:34,440 So we, you know, we encourage that and, you know, we're, we're really excited to see how, 360 00:26:34,760 --> 00:26:43,620 how enthusiastic people are about, you know, oh, I'm, you know, I think it's really cool how, you know, I was able to do this with my last kit and, and it's a, it's really, really refreshing. 361 00:26:43,720 --> 00:26:51,500 Cause I think, I think we went through a period there where being a computer enthusiast meant maybe you had a website or maybe you learned how to do JavaScript or something like that. 362 00:26:51,580 --> 00:26:59,300 And it seemed like, you know, I've noticed in every generation, people are like, when I was a kid, people were like, oh, these kids with their Apple two computers, they don't, none of them know how to build a radio receiver. 363 00:26:59,420 --> 00:26:59,740 Right. 364 00:27:00,000 --> 00:27:04,680 And then like, it seemed like when I was first working in industry, you know, my peers were like, oh, 365 00:27:04,760 --> 00:27:07,620 they didn't learn, you know, see programming language and assembly like we did. 366 00:27:07,660 --> 00:27:12,260 They're all playing with Java, you know, and, and then there went through a period where it was like, oh, they're just using web browsers. 367 00:27:12,320 --> 00:27:17,100 And it's like, I think whatever anyone's working on at that moment, it's like, they're at the edge of the bubble, expand, expanding the bubble. 368 00:27:17,400 --> 00:27:18,120 And that's great. 369 00:27:18,180 --> 00:27:34,660 You know, we just need to keep people excited and, you know, and remember these things we need to be aware of, like as we change paradigms, like as moving from the, you know, independent in individual hardware things, like a, like an old style microcontroller to moving to something that can be on the network and talk to other things that, that those jumps in paradigm. 370 00:27:34,760 --> 00:27:36,280 Create opportunities for sure. 371 00:27:36,860 --> 00:27:46,240 IoT is the big opportunity there, but then create responsibility and, you know, and, and potential threats like the fact that now our, our thermostats can get viruses. 372 00:27:46,480 --> 00:27:46,880 Right. 373 00:27:48,260 --> 00:27:48,660 Yeah. 374 00:27:51,800 --> 00:27:54,820 Are we, let's have, let's have some more ideas. 375 00:27:54,960 --> 00:27:57,060 You, I think we've got still like 20 minutes. 376 00:28:19,700 --> 00:28:20,500 All right. 377 00:28:20,520 --> 00:28:22,240 So that there was a two part question. 378 00:28:22,280 --> 00:28:23,900 The first one was in hacker boxes. 379 00:28:23,920 --> 00:28:25,340 Will we ever do software defined radio? 380 00:28:25,700 --> 00:28:33,600 And my answer to that, since I've worked in software defined radio before, is I would love to do that if we can figure out something that's, that's reasonably accessible to our typical customer. 381 00:28:33,920 --> 00:28:34,640 And, you know, 382 00:28:34,640 --> 00:28:36,380 and fits within the, the, the budget scale. 383 00:28:36,500 --> 00:28:38,700 So it's definitely something we'd be open to. 384 00:28:38,760 --> 00:28:43,760 I know one thing, you know, we, we try not to give too many spoilers in hacker box because it's a surprise box. 385 00:28:43,920 --> 00:28:51,120 But one thing that we've talked about doing is using some, some basic radio, basically available like ISM band radio technology. 386 00:28:51,340 --> 00:28:56,180 And then having the box focus on modulation techniques, like learning different modulation techniques in a DSP sense. 387 00:28:56,560 --> 00:29:02,100 That's a little bit of an advanced topic, but I think if we could make that, if we could figure out a way to make that nicely accessible, we would do that. 388 00:29:02,120 --> 00:29:03,040 Cause that, that'd be pretty cool. 389 00:29:03,040 --> 00:29:10,080 But, and then the other, the second question was, oh, where, where, where might we go with the ESP 32 or what the next step after that might be? 390 00:29:10,500 --> 00:29:11,640 I think that's a great question. 391 00:29:11,720 --> 00:29:12,660 I hadn't thought about that at all. 392 00:29:12,680 --> 00:29:14,800 Cause the, it's like the ESP 32 is so new and cool. 393 00:29:14,980 --> 00:29:16,540 I hadn't thought about what will it be next. 394 00:29:16,640 --> 00:29:21,260 I know if I could just like wave a wand at the ESP 32 and change something about it, I wish it had video. 395 00:29:21,920 --> 00:29:31,620 Like, you know, cause that's a, that's still kind of the difference between that thing still feels like a, a microcontroller and like the classic sense of like a, you know, the 8051 or HD11 or whatever. 396 00:29:31,620 --> 00:29:54,740 That versus the things that are more like the, the, uh, the system on a chip processors in the Raspberry Pi is that the chips you're seeing in like the Raspberry Pi or the other Pi boards or, um, some other things like that is that they have video capabilities and you can plug them into HDMI and it, it, it, it changes the whole level of where you're operating because then you can, you know, run something like a Raspbian on it and then, you know, treat it more like it's a computer and just hook up a keyboard and start typing away. 397 00:29:54,840 --> 00:30:00,820 It's not, it doesn't feel like it's more of like a hardware target, like, like the, the ESP 32 does. 398 00:30:00,840 --> 00:30:01,060 So. 399 00:30:01,620 --> 00:30:12,940 I don't know if that really fits in with the model of what, of what Espressif is doing with these, but I mean, I think that would be really cool, but I mean, I, it also seems like that might be a different beast, but also maybe adding more communications. 400 00:30:14,340 --> 00:30:18,480 Uh, you know, I don't really even know what they'd add now that it has a BLE and, uh, wifi. 401 00:30:18,620 --> 00:30:24,460 I don't know what would come next, but, um, you know, I mean, obviously interconnecting things is really a key importance. 402 00:30:24,680 --> 00:30:25,000 So. 403 00:30:26,360 --> 00:30:26,680 Yeah. 404 00:30:28,460 --> 00:30:31,540 Like maybe something that was a little more like, so you could do a software defined radio. 405 00:30:32,600 --> 00:30:34,940 Yeah, turn it, turn it into a software defined radio. 406 00:30:35,040 --> 00:30:35,540 That might be, yeah. 407 00:30:36,580 --> 00:30:36,980 Yeah. 408 00:30:38,060 --> 00:30:44,760 Looking over the years, it's really increasing levels of integration in terms of just how much is on the chip. 409 00:30:45,040 --> 00:30:46,880 How much further can they take it? 410 00:30:47,040 --> 00:30:53,880 I mean, looking at the ESP, I mean, it's like a room, well, it used to be a whole room full of equipment. 411 00:30:54,000 --> 00:30:54,040 Right. 412 00:30:54,280 --> 00:30:55,660 Now it's unbelievable how much is on the chip. 413 00:30:56,300 --> 00:30:56,700 Yeah. 414 00:30:56,880 --> 00:30:57,100 Further. 415 00:30:57,320 --> 00:30:57,480 Further. 416 00:30:57,480 --> 00:31:01,540 I mean, I, you know, I, I, I probably, I probably shouldn't try to answer that. 417 00:31:01,620 --> 00:31:12,180 I mean, cause it's a, that's a tough question or, or you'd probably know the answer, but it's a, I mean, you know, Moore's law tells us that the device, uh, scales, meaning how big a transistor is, is getting smaller and smaller. 418 00:31:12,320 --> 00:31:14,360 And then technology is like being able to stack them. 419 00:31:14,400 --> 00:31:16,100 And then more importantly, getting the heat out of them. 420 00:31:16,260 --> 00:31:18,060 Those things just keep advancing and advancing. 421 00:31:18,340 --> 00:31:22,180 I'm not thinking in terms of, I was only talking physics, how small can you make it. 422 00:31:22,260 --> 00:31:25,700 I was thinking more in terms of the functionality, the modular functionality. 423 00:31:26,020 --> 00:31:28,180 I mean, after a certain point, it gets so specialized. 424 00:31:28,540 --> 00:31:28,900 Right. 425 00:31:29,040 --> 00:31:31,340 That it's no longer as useful. 426 00:31:31,620 --> 00:31:31,780 Right. 427 00:31:31,860 --> 00:31:41,500 So that, so that's a good point is the specialization issue is that, um, you know, once you have something that can actually compute, meaning you can do basic processing and load and store data, which is what a basic processor does. 428 00:31:41,620 --> 00:31:41,760 Right. 429 00:31:41,880 --> 00:31:42,900 Once you can do that. 430 00:31:42,900 --> 00:31:53,740 And then once you can interface it to other things, meaning that it has USB or it has wifi or it has serial ports or whatever, and then it can interface to, you know, sensors and actuators, meaning it has GPIO. 431 00:31:53,820 --> 00:31:54,680 What else is there really? 432 00:31:54,760 --> 00:31:55,040 Right. 433 00:31:55,300 --> 00:31:56,880 So that's why I said, you know, I don't know. 434 00:31:56,920 --> 00:31:59,860 Maybe things are things like video interfaces, camera interfaces. 435 00:31:59,980 --> 00:32:01,460 I mean, just cause you know. 436 00:32:02,420 --> 00:32:29,500 I guess maybe, maybe more to put it more plainly, what I was thinking in that is as these things become more capable, making them more able to deal with what we call natural data or natural signals, meaning voice, video, vision, things like that, like that might be the next step is that, you know, we, we need to have the, the, uh, uh, the capacity and the interfaces on these things to be able to get audio signals into them, video signals into them so that they can do, you know, the processing that we're doing right here. 437 00:32:29,540 --> 00:32:31,220 Like it's, that's just kind of an IO problem. 438 00:32:31,620 --> 00:32:31,700 Right. 439 00:32:31,840 --> 00:32:43,200 But I don't know if that's, uh, if that might be where we see things moving towards or, you know, any other comments or questions or. 440 00:32:44,900 --> 00:32:53,260 I think as we jump forward in hardware advances, there's a brief pause as people hope to see how much software advances we can get into it. 441 00:32:53,340 --> 00:33:00,340 I think as we, the last thing I've heard is that they're now putting MicroPipe on it and running that OS on it and seeing what they can do with that. 442 00:33:00,600 --> 00:33:01,000 Yeah. 443 00:33:06,620 --> 00:33:08,940 I think that's a really great point. 444 00:33:09,200 --> 00:33:21,500 Basically, uh, what, what, what, what was just stated was that there's, you know, it's sort of like a, uh, a, a fit install type of thing where like we make new hardware and then people do more and more with it from a software perspective and then we make new hardware. 445 00:33:21,680 --> 00:33:25,900 And this relates to an earlier question about, you know, why does it seem like there's always more software? 446 00:33:25,980 --> 00:33:28,540 Well, because we make some hardware and then we can do a lot of software with it. 447 00:33:28,620 --> 00:33:30,800 And then we make some new hardware, we can do a lot of software with it. 448 00:33:30,800 --> 00:33:32,280 So, so yeah, that's really cool. 449 00:33:32,380 --> 00:33:38,240 And I think what, you know, one neat thing we see, which is part of this abstraction is that, you know, we see the hardware start to move in lots of directions. 450 00:33:38,240 --> 00:33:43,520 So for a while we were just making faster processors, putting a little more memory on them, making the caches bigger, blah, blah, blah. 451 00:33:43,560 --> 00:33:45,460 And now we're like, we're dealing more with like interfaces. 452 00:33:45,680 --> 00:33:52,980 And I think it's going to be really interesting to see what happens with, uh, making the processors more capable of handling more real world things. 453 00:33:53,040 --> 00:33:57,460 So they're not just about, you know, packets and key presses and putting stuff on a screen. 454 00:33:57,560 --> 00:34:00,620 I think the, I think the next evolution in computing is going to be dealing. 455 00:34:00,620 --> 00:34:04,900 With natural data and, and, you know, I, I'm not, I'm not speaking out of school there. 456 00:34:04,960 --> 00:34:13,720 I think people have been saying this for like 20 years that, you know, I know, uh, uh, I think Intel had a big, like natural data processing research lab, like 20 years ago, or maybe 30 years ago. 457 00:34:13,800 --> 00:34:24,280 So I think that dealing with things like, uh, like motion and gesturing and speech and, you know, doing, like I said, doing all the things that our brains do that allow us to communicate very naturally and that that's going to be impressive. 458 00:34:24,440 --> 00:34:29,820 You know, there's definitely was a big jump that happened with smartphones when they became voice enabled, you know, that now you just pick your, your phone up. 459 00:34:29,860 --> 00:34:30,140 I mean, my. 460 00:34:30,620 --> 00:34:36,200 My three-year-old actually says, you know, okay, Google, when he has a question, like that's, so that, that, that's kind of crazy. 461 00:34:47,800 --> 00:34:48,440 Yeah, right. 462 00:34:49,240 --> 00:34:49,560 Yeah. 463 00:34:49,620 --> 00:34:50,420 Which is a little scary. 464 00:34:50,600 --> 00:34:57,520 And that's, and that's one of those things where like, we, you know, like I was saying earlier, like we, we, so, so the point here was that you can just say something like, okay, Google. 465 00:34:57,620 --> 00:35:00,600 And now sometimes things listen, you realize something's listening to you. 466 00:35:00,620 --> 00:35:06,180 And those of us that think a lot about computer systems and what that might mean, probably the first time that happened, we're like, I don't like that. 467 00:35:06,360 --> 00:35:06,540 Right. 468 00:35:06,580 --> 00:35:09,060 But lots of other people were like, oh, my phone's talking to me. 469 00:35:09,140 --> 00:35:09,280 Right. 470 00:35:09,340 --> 00:35:19,760 So, and you know, which is part of what I'm saying that we have this responsibility now to, you know, to, to, to make, to make sure that we keep being the thorn in the side of everyone else and say, maybe it's not so good that your phone's always talking, always listening to you. 471 00:35:19,880 --> 00:35:20,080 Right. 472 00:35:20,080 --> 00:35:22,520 So yeah. 473 00:35:23,420 --> 00:35:30,040 So, um, uh, in college, um, and like, I went to, um, I remember this one, like for maker. 474 00:35:30,620 --> 00:35:30,780 Right. 475 00:35:31,320 --> 00:35:45,380 Um, but when I got into the industry and started working, I felt like there was a big disparity and a big gap between the, the maker stuff that was working good and like the aftermarket, like manufactured hardware. 476 00:35:45,820 --> 00:35:50,420 It was just time and volume flex and harder for me to get my hands into. 477 00:35:50,780 --> 00:35:55,460 So I'm just wondering like what suggestions you have to like tap into that kind of stuff? 478 00:35:55,740 --> 00:35:56,160 Alright. 479 00:35:56,200 --> 00:35:57,040 So this is a great question. 480 00:35:57,100 --> 00:35:59,260 The question was, um, uh. 481 00:35:59,460 --> 00:35:59,940 Uh. 482 00:35:59,940 --> 00:36:04,320 the asker of the question commented that in college they worked with some maker things 483 00:36:04,320 --> 00:36:08,100 and that they were able to get into it and use it and it was very easy and fun 484 00:36:08,100 --> 00:36:11,440 and that in industry when we make things that they're much more complicated 485 00:36:11,440 --> 00:36:13,620 and you can't really get into the guts of them and things like that. 486 00:36:13,720 --> 00:36:17,320 And this is a little bit what I meant about the accessibility 487 00:36:17,760 --> 00:36:22,680 and the kind of like the missing the fundamentals and all that 488 00:36:22,680 --> 00:36:25,560 is that part of the problem with dealing with things like, 489 00:36:25,640 --> 00:36:26,960 let me just use the example of Arduino, 490 00:36:26,960 --> 00:36:31,480 is that it's completely abstracted away when you use an Arduino 491 00:36:31,480 --> 00:36:35,680 that many things are abstracted away but that there's a processor 492 00:36:35,680 --> 00:36:38,220 and that that processor when you originally have it, 493 00:36:38,240 --> 00:36:39,940 there's no code on there for it to run, right? 494 00:36:40,060 --> 00:36:44,600 Like part of the Arduino thing, what makes an Arduino Arduino is it has a bootloader in it. 495 00:36:44,620 --> 00:36:46,760 So it's always talking to the USB port. 496 00:36:46,820 --> 00:36:48,220 It's always waiting to get some more code. 497 00:36:48,500 --> 00:36:50,320 So there's always something on there, right? 498 00:36:50,360 --> 00:36:54,180 And so when you spin a circuit board and just put a, 499 00:36:54,220 --> 00:36:56,620 even if it's that same processor, the AVR microcontroller on there, 500 00:36:56,960 --> 00:36:58,020 it's not doing anything. 501 00:36:58,160 --> 00:36:59,940 It doesn't have anything to talk to, right? 502 00:37:00,000 --> 00:37:00,620 When you turn it on. 503 00:37:00,680 --> 00:37:03,460 So you have to have something that where you can code up the bootloader. 504 00:37:03,540 --> 00:37:05,740 And, you know, if it's an industry, let's say just for example, 505 00:37:05,820 --> 00:37:09,060 you're making a thermostat that goes on the wall for Honeywell controls or whatever. 506 00:37:09,220 --> 00:37:11,980 And it has that same processor on it that's in the, for example, 507 00:37:12,060 --> 00:37:14,240 it's in the Arduino, the AVR microcontroller. 508 00:37:14,340 --> 00:37:17,240 And you're going to need to write a bootloader. 509 00:37:17,260 --> 00:37:18,940 You're not going to use an Arduino bootloader 510 00:37:18,940 --> 00:37:20,740 because you don't want someone to try to reprogram it from Arduino. 511 00:37:20,820 --> 00:37:22,820 Plus you want your own bootloader, right? 512 00:37:22,880 --> 00:37:26,340 You want something that can manage your flash image areas and things like that. 513 00:37:26,420 --> 00:37:26,560 So. 514 00:37:26,960 --> 00:37:28,600 So that's still the problem is that, you know, 515 00:37:28,620 --> 00:37:30,860 we deal with this abstraction and it's easy and fun and everything. 516 00:37:30,960 --> 00:37:33,600 But then at some point you do have to step back and like, 517 00:37:34,860 --> 00:37:38,220 you know, and like get real again when you're making like a real commercial system. 518 00:37:38,420 --> 00:37:40,640 And there's a lot of complexity that comes with that, you know, like, 519 00:37:40,680 --> 00:37:43,700 because then you have to start dealing with things like spinning the circuit board and, 520 00:37:43,740 --> 00:37:47,280 you know, and, you know, managing clocks and things like that, 521 00:37:47,300 --> 00:37:48,640 that just aren't, they're just not an issue 522 00:37:48,980 --> 00:37:51,780 in the simplified abstracted one that we use in the maker field. 523 00:37:51,860 --> 00:37:55,600 But I would say, you know, on the flip side of your concern that like, it's not as, 524 00:37:55,660 --> 00:37:56,800 it's like, it's harder to get. 525 00:37:56,960 --> 00:37:59,680 And it's not as fun when you're doing it at the commercial level. 526 00:37:59,780 --> 00:38:02,320 You might not have done that if you hadn't done it on the fun one. 527 00:38:02,420 --> 00:38:06,760 So, you know, if you, if you didn't have the easy road in to see, oh, I do like electronics. 528 00:38:06,960 --> 00:38:07,840 I like playing with these things. 529 00:38:07,900 --> 00:38:11,440 You might not have pursued a job in doing systems development or, or, you know, 530 00:38:11,440 --> 00:38:14,840 uh, electronics designer, whatever it is where you've encountered that. 531 00:38:14,940 --> 00:38:18,940 So I don't know if that answers your question, but it's a, it's a complicated world. 532 00:38:19,020 --> 00:38:23,540 I mean, uh, electronics have become, has become so complicated that, you know, 533 00:38:23,540 --> 00:38:26,820 I, I know, uh, um, uh, I could probably ask you guys, 534 00:38:26,820 --> 00:38:29,760 how many TIGs are there in the, in the, in the EE department? 535 00:38:29,980 --> 00:38:31,680 There's like 10 or 12 or something like that. 536 00:38:31,760 --> 00:38:34,420 So it, uh, these fellows are also Georgia Tech alumni. 537 00:38:34,860 --> 00:38:37,440 Georgia Tech has the largest electrical engineering department in the world. 538 00:38:37,480 --> 00:38:40,480 And I think there's, there's 12 TIGs, which are like technical interest groups 539 00:38:40,480 --> 00:38:43,200 in the electrical engineering department, something like that. 540 00:38:43,240 --> 00:38:44,100 It's a very large number. 541 00:38:44,140 --> 00:38:45,160 It's a disturbingly large number. 542 00:38:45,280 --> 00:38:48,320 And you could almost look at it that each one of those is its own separate major, right? 543 00:38:48,380 --> 00:38:53,280 So there's like RF and optics and signal processing and communications and circuits and power, 544 00:38:53,340 --> 00:38:56,540 electricity and, uh, computer engineering. 545 00:38:56,560 --> 00:38:56,800 Right? 546 00:38:56,820 --> 00:38:57,720 There's just so many. 547 00:38:57,920 --> 00:39:00,120 And it's like each one is almost its own field now. 548 00:39:00,300 --> 00:39:04,140 And so if someone goes to school and studies computer engineering, they're not likely to 549 00:39:04,140 --> 00:39:05,080 know how to design an antenna. 550 00:39:05,340 --> 00:39:08,880 I mean, they're going to encounter little bits and pieces of it, but you know, and 551 00:39:08,880 --> 00:39:12,640 that's a disturbing thing about a field as it becomes so big and complex, it's very hard 552 00:39:12,640 --> 00:39:13,220 to know everything. 553 00:39:13,320 --> 00:39:17,200 But, but then that brings us back to almost this whole issue of the maker thing. 554 00:39:17,320 --> 00:39:20,980 If you're someone who actually sits down and makes stuff, you know, like I encounter people 555 00:39:20,980 --> 00:39:24,420 that, you know, through our work with hacker boxes where they've just been playing with 556 00:39:24,420 --> 00:39:25,180 the Arduino. 557 00:39:25,320 --> 00:39:26,720 But then we, we use them. 558 00:39:26,720 --> 00:39:30,560 We use some little, like, uh, maybe a radio radio communication board and all of a sudden 559 00:39:30,560 --> 00:39:32,980 they've got a concern themselves with how long should the antenna be? 560 00:39:33,100 --> 00:39:35,800 You know what, you know, well, what does it mean that it's a quarter of a wavelength? 561 00:39:35,920 --> 00:39:36,640 What's a wavelength, right? 562 00:39:36,680 --> 00:39:39,840 So all of a sudden they're thinking about RF stuff, you know, or they're trying to 563 00:39:39,840 --> 00:39:42,420 interface with something else, but it needs a different clock rate. 564 00:39:42,500 --> 00:39:44,620 And they're like, you know, Oh, you know, w w what do you mean? 565 00:39:44,680 --> 00:39:46,700 I have to have like a transmission line for my clock, right? 566 00:39:46,780 --> 00:39:51,000 So, you know, I, I think you can, you get exposure to these different fields when you've 567 00:39:51,000 --> 00:39:52,040 got to actually do it, right? 568 00:39:52,080 --> 00:39:56,340 When you do something, you feel like, I think a lot of electrical engineers first become, 569 00:39:56,340 --> 00:39:59,680 you know, a little more competent about mechanical engineering when they have to put something 570 00:39:59,680 --> 00:40:02,660 they've designed in a box, you know, cause all of a sudden now they have to know, like, 571 00:40:03,080 --> 00:40:04,240 where should I place the holes? 572 00:40:04,360 --> 00:40:05,080 What shape should they be? 573 00:40:05,140 --> 00:40:05,900 So they're easy to manufacture. 574 00:40:06,120 --> 00:40:07,040 How do I dissipate the heat? 575 00:40:07,160 --> 00:40:07,380 Right. 576 00:40:07,740 --> 00:40:11,480 And, and, and, and, and so, you know, the whole thing about the maker movement and being 577 00:40:11,480 --> 00:40:13,720 a hardware hacker is getting your hands into it and just doing it. 578 00:40:13,820 --> 00:40:16,680 And then when you do it, you know, you're going to bump, you're going to bump into these 579 00:40:16,680 --> 00:40:18,260 walls that are the other things you don't know. 580 00:40:18,420 --> 00:40:20,000 You're going to bump into the unknown, right? 581 00:40:24,780 --> 00:40:25,760 More comments and questions. 582 00:40:25,760 --> 00:40:26,940 How many tags are there? 583 00:40:31,220 --> 00:40:31,540 Cool. 584 00:40:31,680 --> 00:40:36,060 I mean, if there's nothing else, maybe we'll just wrap it up for the formality of the presentation, 585 00:40:36,220 --> 00:40:40,260 but feel free to hit me up with any other questions or comments or whatever. 586 00:40:40,400 --> 00:40:45,300 And I'm spending almost the entire con in the vendor space at the, at the hacker boxes 587 00:40:45,300 --> 00:40:46,300 and it all goes right there. 588 00:40:46,360 --> 00:40:47,200 I need to turn my shirt around. 589 00:40:47,340 --> 00:40:51,800 So stop by and say hi, or if you come up with any questions, let me know, or shoot any 590 00:40:52,540 --> 00:40:54,460 ideas or comments or questions to that email address. 591 00:40:54,680 --> 00:40:55,740 And thanks for, thanks for coming. 592 00:40:55,760 --> 00:40:57,220 Thanks for being a hardware hacker.