1 00:00:05,239 --> 00:00:07,259 [music] 2 00:00:09,825 --> 00:00:11,845 [music] 3 00:00:15,360 --> 00:00:18,000 on deck. We've got Paul, but for right 4 00:00:18,000 --> 00:00:21,615 now, we've got Phoebe. 5 00:00:21,615 --> 00:00:22,880 [applause] 6 00:00:22,880 --> 00:00:25,279 Okay. So, I am very excited to be here 7 00:00:25,279 --> 00:00:27,199 to tell you about my very special 8 00:00:27,199 --> 00:00:30,560 journey into cyber decks. Okay, very 9 00:00:30,560 --> 00:00:32,320 cool. But I want to first start by 10 00:00:32,320 --> 00:00:35,440 telling you right away that I don't get 11 00:00:35,440 --> 00:00:37,200 electronics. I don't vibe it. I don't 12 00:00:37,200 --> 00:00:40,559 understand it. It's scary. Right? Wrong. 13 00:00:40,559 --> 00:00:43,120 Okay. So, it all changed when I learned 14 00:00:43,120 --> 00:00:45,520 about these magical things called cyber 15 00:00:45,520 --> 00:00:47,680 decks, which were invented by this guy 16 00:00:47,680 --> 00:00:50,079 called William Gibson, who wrote a book 17 00:00:50,079 --> 00:00:53,680 in a decade that I didn't live in where 18 00:00:53,680 --> 00:00:55,680 where people use these magical things 19 00:00:55,680 --> 00:00:57,840 called cybex to get into the matrix and 20 00:00:57,840 --> 00:00:59,840 like do heists and stuff. And 21 00:00:59,840 --> 00:01:01,760 apparently, this is what they look like. 22 00:01:01,760 --> 00:01:03,760 Um, but we don't really know because 23 00:01:03,760 --> 00:01:05,680 apparently he wasn't very descriptive. 24 00:01:05,680 --> 00:01:07,520 And so what that means is that people 25 00:01:07,520 --> 00:01:09,520 have been building their own cyber decks 26 00:01:09,520 --> 00:01:11,760 and really going crazy and getting very 27 00:01:11,760 --> 00:01:15,680 creative and it's been very very cool. 28 00:01:15,680 --> 00:01:18,799 But why would anyone build a cyber deck? 29 00:01:18,799 --> 00:01:21,520 Well, here's my answer. Does anyone 30 00:01:21,520 --> 00:01:23,040 remember when technology used to look 31 00:01:23,040 --> 00:01:24,640 like this? 32 00:01:24,640 --> 00:01:28,000 Right. So cool. Let's bring it back. 33 00:01:28,000 --> 00:01:30,240 Okay. There is color. There is 34 00:01:30,240 --> 00:01:34,000 bedazzlement and creativity and lots of 35 00:01:34,000 --> 00:01:36,880 devices that do very specific things 36 00:01:36,880 --> 00:01:39,360 like that thing where you can like watch 37 00:01:39,360 --> 00:01:42,960 a DVD in the car without Wi-Fi. Wow. 38 00:01:42,960 --> 00:01:46,240 Okay. And uh look, so cool, so colorful, 39 00:01:46,240 --> 00:01:49,040 so exciting. And then guys, what's going 40 00:01:49,040 --> 00:01:51,200 on? 41 00:01:51,200 --> 00:01:53,360 This is so upsetting. And I see now why 42 00:01:53,360 --> 00:01:55,680 everyone keeps collecting stickers this 43 00:01:55,680 --> 00:01:58,079 entire time is to avoid this life, 44 00:01:58,079 --> 00:02:00,719 right? And we also have this other thing 45 00:02:00,719 --> 00:02:02,799 that I don't really want to get into, 46 00:02:02,799 --> 00:02:04,479 but basically there's a lot of 47 00:02:04,479 --> 00:02:06,320 automation happening right now and 48 00:02:06,320 --> 00:02:08,239 technology just feels really easy, 49 00:02:08,239 --> 00:02:09,520 right? Maybe a little too easy 50 00:02:09,520 --> 00:02:11,520 sometimes, especially for the consumer, 51 00:02:11,520 --> 00:02:13,120 not just, you know, developers and tech 52 00:02:13,120 --> 00:02:16,560 people. And so we now have this whole 53 00:02:16,560 --> 00:02:20,826 movement of cyber decks. Wow. 54 00:02:20,826 --> 00:02:21,520 [laughter] 55 00:02:21,520 --> 00:02:23,680 Uh so this is a space that has been 56 00:02:23,680 --> 00:02:26,239 taken up in Tik Tok mostly and you'll 57 00:02:26,239 --> 00:02:28,319 see like it's primarily by women really 58 00:02:28,319 --> 00:02:30,239 getting into technology sometimes for 59 00:02:30,239 --> 00:02:32,160 the first time a lot of hardware 60 00:02:32,160 --> 00:02:35,040 electronics. Yes. Um getting very 61 00:02:35,040 --> 00:02:38,000 creative and recycling a lot of weird 62 00:02:38,000 --> 00:02:39,920 materials that you find around the house 63 00:02:39,920 --> 00:02:41,599 and uh yeah trying things with like 64 00:02:41,599 --> 00:02:44,000 Raspberry Pies which is awesome. And so 65 00:02:44,000 --> 00:02:46,160 I wanted to do this too because I am 66 00:02:46,160 --> 00:02:48,879 also a newbie in electronics. And so I 67 00:02:48,879 --> 00:02:52,560 got a Raspberry Pi. Wow. And then I got 68 00:02:52,560 --> 00:02:56,879 a screen. Very cool. I got the 3.5 RPI 69 00:02:56,879 --> 00:03:00,000 LCD display. And then I Googled how to 70 00:03:00,000 --> 00:03:02,080 attach it to my Raspberry Pi and I found 71 00:03:02,080 --> 00:03:04,480 that. [laughter] 72 00:03:04,480 --> 00:03:07,840 Wow, that's scary. 73 00:03:07,840 --> 00:03:10,879 But after 8 hours, I managed to get it 74 00:03:10,879 --> 00:03:13,519 working. Yes. [cheering] 75 00:03:13,519 --> 00:03:15,599 at 3:00 in the morning and I had to take 76 00:03:15,599 --> 00:03:17,812 a selfie cuz it was very very exciting. 77 00:03:17,812 --> 00:03:18,800 [laughter] 78 00:03:18,800 --> 00:03:20,879 And then I started getting it into the 79 00:03:20,879 --> 00:03:24,400 case. Wow. And then I didn't like the 80 00:03:24,400 --> 00:03:26,720 case. I couldn't like attach my uh 81 00:03:26,720 --> 00:03:28,159 PowerPoint to it. I didn't have a 82 00:03:28,159 --> 00:03:30,879 battery or anything, so I ripped open a 83 00:03:30,879 --> 00:03:32,879 notebook and like glued all the pages 84 00:03:32,879 --> 00:03:34,720 together and [laughter] 85 00:03:34,720 --> 00:03:38,319 I got it in. Yay. [applause] 86 00:03:38,319 --> 00:03:41,519 Wow. And a keyboard. And it has a stylus 87 00:03:41,519 --> 00:03:43,360 and it's just awesome. And that's what 88 00:03:43,360 --> 00:03:46,480 it looks like currently. Hello world. 89 00:03:46,480 --> 00:03:49,120 It's alive. Um and now I can store 90 00:03:49,120 --> 00:03:53,120 photos of my cats and very very cool. Um 91 00:03:53,120 --> 00:03:55,280 yeah, that's mostly my journey into 92 00:03:55,280 --> 00:03:57,760 making a cyber deck. I want to keep 93 00:03:57,760 --> 00:03:59,360 expanding upon this. So I want to try a 94 00:03:59,360 --> 00:04:02,159 3D printer and uh make a custom shell 95 00:04:02,159 --> 00:04:04,400 and try batteries and like keep going 96 00:04:04,400 --> 00:04:06,560 and journey into electronics. Very 97 00:04:06,560 --> 00:04:09,280 exciting for me, maybe for you. I don't 98 00:04:09,280 --> 00:04:11,519 know. Um, I [clears throat] have a quick 99 00:04:11,519 --> 00:04:13,360 demo video of all the things that I've 100 00:04:13,360 --> 00:04:15,920 been able to do so far, like download a 101 00:04:15,920 --> 00:04:18,727 book and read half a sentence at a time. 102 00:04:18,727 --> 00:04:19,919 [laughter] 103 00:04:19,919 --> 00:04:24,080 Wow. Um, I also can program in Python. 104 00:04:24,080 --> 00:04:26,080 Wow. 105 00:04:26,080 --> 00:04:29,040 Shout out to Pyon. And, um, I can also 106 00:04:29,040 --> 00:04:31,040 just type and take notes and, you know, 107 00:04:31,040 --> 00:04:32,880 write my own book inside another book 108 00:04:32,880 --> 00:04:35,199 and do it digitally. And it's very, very 109 00:04:35,199 --> 00:04:37,280 exciting. And, uh, yeah, that's pretty 110 00:04:37,280 --> 00:04:39,680 much it. Now I pack it up and then I go 111 00:04:39,680 --> 00:04:42,800 on my journey uh stronger in electronics 112 00:04:42,800 --> 00:04:45,583 and uh super excited. 113 00:04:45,583 --> 00:04:47,548 [cheering] 114 00:04:47,548 --> 00:04:49,568 [applause] 115 00:04:50,160 --> 00:04:52,160 So [cheering] 116 00:04:52,160 --> 00:04:53,759 thank you so much Phoebe for bringing 117 00:04:53,759 --> 00:04:55,520 some joy and whimsy to our electronics. 118 00:04:55,520 --> 00:04:59,759 On deck we have Renee but up next Paul. 119 00:04:59,759 --> 00:05:01,440 All right. Thank you. All right. So I'm 120 00:05:01,440 --> 00:05:02,720 going to talk about uh underwater 121 00:05:02,720 --> 00:05:03,919 communication and avoiding 122 00:05:03,919 --> 00:05:07,919 miscommunication. So why as B George 123 00:05:07,919 --> 00:05:09,919 Bernard Shaw said the single biggest 124 00:05:09,919 --> 00:05:11,680 problem in communication is the illusion 125 00:05:11,680 --> 00:05:14,000 that has taken place and in diving this 126 00:05:14,000 --> 00:05:17,280 can be life and death. Right? So I was 127 00:05:17,280 --> 00:05:20,240 doing a dive at one point and I turn to 128 00:05:20,240 --> 00:05:21,919 the other divers and I do this which is 129 00:05:21,919 --> 00:05:23,840 the signal for how much gas do you have 130 00:05:23,840 --> 00:05:25,199 and I get back an okay from one of the 131 00:05:25,199 --> 00:05:27,840 divers. Very confident. Okay. And this 132 00:05:27,840 --> 00:05:30,000 diver continues this throughout the dive 133 00:05:30,000 --> 00:05:31,919 and towards the end of the dive. How 134 00:05:31,919 --> 00:05:34,560 much gas do you have? Okay. followed 135 00:05:34,560 --> 00:05:37,759 closely by this, which if you're a diver 136 00:05:37,759 --> 00:05:39,440 is probably causing your heart to really 137 00:05:39,440 --> 00:05:41,680 palpitate right now because it means I'm 138 00:05:41,680 --> 00:05:44,880 out of gas and we now have an emergency, 139 00:05:44,880 --> 00:05:46,960 right? So, what's the problem? Well, 140 00:05:46,960 --> 00:05:49,280 we're underwater, right? Can't speak 141 00:05:49,280 --> 00:05:51,600 really well and it's a hostile 142 00:05:51,600 --> 00:05:54,160 environment, not known for being 143 00:05:54,160 --> 00:05:56,080 breathable, right? So, how do we solve 144 00:05:56,080 --> 00:05:57,199 this problem? Well, as you might have 145 00:05:57,199 --> 00:05:58,639 noticed, hand signals is the most 146 00:05:58,639 --> 00:06:01,680 common. We also have torches like this 147 00:06:01,680 --> 00:06:04,240 and wet notes. So a piece of plastic you 148 00:06:04,240 --> 00:06:07,440 can write on underwater, right? So uh 149 00:06:07,440 --> 00:06:09,840 but problems persist and standards are 150 00:06:09,840 --> 00:06:12,400 always one of them and you might create 151 00:06:12,400 --> 00:06:14,240 a standard to solve the problem but then 152 00:06:14,240 --> 00:06:16,639 as we all know you end up with a 10001 153 00:06:16,639 --> 00:06:19,840 standards. So are we diving in bar or 154 00:06:19,840 --> 00:06:22,720 PSI meters or feet? It would be nice if 155 00:06:22,720 --> 00:06:24,639 the US got on board with a program but 156 00:06:24,639 --> 00:06:27,360 they're not yet. And um you know then we 157 00:06:27,360 --> 00:06:28,720 have internal standards like what does 158 00:06:28,720 --> 00:06:30,639 this mean? If you're a recreational 159 00:06:30,639 --> 00:06:33,520 diver sorry 160 00:06:33,520 --> 00:06:35,120 If you're a recreational diver, this 161 00:06:35,120 --> 00:06:37,840 means go up. But how far? We don't know. 162 00:06:37,840 --> 00:06:39,360 Uh if you're a technical diver, this is 163 00:06:39,360 --> 00:06:41,039 very clear. This means we are ending the 164 00:06:41,039 --> 00:06:42,479 dive and we are going to go to the 165 00:06:42,479 --> 00:06:45,919 surface using the plan we pre-agreed on, 166 00:06:45,919 --> 00:06:48,639 right? Uh but hands are also a problem. 167 00:06:48,639 --> 00:06:50,160 Do I have one hand free or two? If I 168 00:06:50,160 --> 00:06:52,000 have a torch in my hand, I might not 169 00:06:52,000 --> 00:06:53,440 have one hand. I might only have one 170 00:06:53,440 --> 00:06:55,199 hand free. And if I'm trying to do this 171 00:06:55,199 --> 00:06:57,199 kind of signal, then that doesn't work 172 00:06:57,199 --> 00:06:59,759 if my torch is pointing the other way. 173 00:06:59,759 --> 00:07:04,960 Right? So, have we communicated? Well, 174 00:07:04,960 --> 00:07:07,039 can you communicate? Right? Can you 175 00:07:07,039 --> 00:07:08,560 actually physically do it? Again, if I 176 00:07:08,560 --> 00:07:09,759 have a torch in my hand, I might not be 177 00:07:09,759 --> 00:07:11,919 able to use a two-handed signal, right? 178 00:07:11,919 --> 00:07:14,880 Did they see it? Right? Do you even know 179 00:07:14,880 --> 00:07:16,800 if they saw it? How would you know if 180 00:07:16,800 --> 00:07:19,440 they saw it? Even if they saw it, did 181 00:07:19,440 --> 00:07:22,639 they understand it? And then, if they 182 00:07:22,639 --> 00:07:24,479 understood it, how do you as the person 183 00:07:24,479 --> 00:07:26,080 trying to communicate know that they 184 00:07:26,080 --> 00:07:29,039 understood it? Right? And then diving is 185 00:07:29,039 --> 00:07:30,720 a team sport. Even if there's only two 186 00:07:30,720 --> 00:07:34,319 of you, you are a team. And the how do 187 00:07:34,319 --> 00:07:35,599 you know that the rest of the team 188 00:07:35,599 --> 00:07:37,680 knows? Right? Making sure that the team 189 00:07:37,680 --> 00:07:39,039 knows is important for everyone's 190 00:07:39,039 --> 00:07:41,120 safety. 191 00:07:41,120 --> 00:07:43,120 It's no good that only one person knows 192 00:07:43,120 --> 00:07:44,720 that you're out of gas. Everyone has to 193 00:07:44,720 --> 00:07:48,240 know, right? But with communication, we 194 00:07:48,240 --> 00:07:50,400 also come to all communication with our 195 00:07:50,400 --> 00:07:54,080 own histories. Right? Now, if you uh 196 00:07:54,080 --> 00:07:56,160 learned a long time ago or with some 197 00:07:56,160 --> 00:07:57,599 agencies that aren't up to scatch, you 198 00:07:57,599 --> 00:07:58,879 might have learned like the group on the 199 00:07:58,879 --> 00:08:02,080 left with your knees in the sand. And um 200 00:08:02,080 --> 00:08:03,520 you know, if you're a tech diver, you 201 00:08:03,520 --> 00:08:05,759 will know that touching the environment 202 00:08:05,759 --> 00:08:08,400 is bad, right? So, we never kneel in the 203 00:08:08,400 --> 00:08:10,080 sand. We don't touch anything in the 204 00:08:10,080 --> 00:08:13,360 ocean, right? But uh I had a diver at 205 00:08:13,360 --> 00:08:14,720 one point where I asked her how much gas 206 00:08:14,720 --> 00:08:16,479 she had and she immediately dropped down 207 00:08:16,479 --> 00:08:18,639 to the sand into on her knees and then 208 00:08:18,639 --> 00:08:21,520 looked at her SPG, right? And I asked 209 00:08:21,520 --> 00:08:22,960 her afterwards, why did she do this? 210 00:08:22,960 --> 00:08:26,080 Well, she learn recently learned and had 211 00:08:26,080 --> 00:08:28,720 drilled all of her drills on her knees 212 00:08:28,720 --> 00:08:31,840 in the sand. So, it was natural for her 213 00:08:31,840 --> 00:08:33,360 to do this. So, she's coming to this 214 00:08:33,360 --> 00:08:35,279 communication with something that as a 215 00:08:35,279 --> 00:08:36,800 tech diver and an instructor, it looked 216 00:08:36,800 --> 00:08:40,880 to be really not good at all. Um, but 217 00:08:40,880 --> 00:08:42,560 you know, we're we're coming with our 218 00:08:42,560 --> 00:08:45,440 histories, right? So, what is effective 219 00:08:45,440 --> 00:08:47,839 communication underwater, right? And in 220 00:08:47,839 --> 00:08:49,839 general, so it's pre-agreed, right? 221 00:08:49,839 --> 00:08:51,360 things we have discussed beforehand. 222 00:08:51,360 --> 00:08:52,800 What are signals mean? Which signal 223 00:08:52,800 --> 00:08:54,480 settings are we using? Right? Are we 224 00:08:54,480 --> 00:08:55,920 going to say, you know, this is half a 225 00:08:55,920 --> 00:08:57,120 tank or are we going to actually tell 226 00:08:57,120 --> 00:09:01,600 you how much gas we have? Right? Uh it's 227 00:09:01,600 --> 00:09:03,519 team oriented. Everyone in the team has 228 00:09:03,519 --> 00:09:07,360 to know. It's slow and clear. Right? If 229 00:09:07,360 --> 00:09:10,480 I do this, it's very hard to catch. If I 230 00:09:10,480 --> 00:09:12,640 say I have 231 00:09:12,640 --> 00:09:16,800 180 bar, it's very clear, right? And 232 00:09:16,800 --> 00:09:18,480 then people can signal back to me, 233 00:09:18,480 --> 00:09:21,680 right? and it's repeated back. So if you 234 00:09:21,680 --> 00:09:23,760 see something, you say it back to the 235 00:09:23,760 --> 00:09:25,600 person who signaled it to you so that 236 00:09:25,600 --> 00:09:27,519 they know that you saw it. I had a diver 237 00:09:27,519 --> 00:09:29,040 at one point where I signaled him and I 238 00:09:29,040 --> 00:09:31,120 said, "I've got 170 bar." And he said to 239 00:09:31,120 --> 00:09:33,120 me back and he go, "I've got 190." I'm 240 00:09:33,120 --> 00:09:35,279 like, "No, no, no, no, no, 170." And we 241 00:09:35,279 --> 00:09:36,720 back and forth until it was clear that 242 00:09:36,720 --> 00:09:38,800 they understood. And we have an 243 00:09:38,800 --> 00:09:40,399 alternative. So a good diver always 244 00:09:40,399 --> 00:09:42,560 carries wet notes. So if signals aren't 245 00:09:42,560 --> 00:09:43,760 working, you can pull out the piece of 246 00:09:43,760 --> 00:09:46,080 plastic and write on it. 247 00:09:46,080 --> 00:09:48,240 Um, 248 00:09:48,240 --> 00:09:51,279 oops. Oh, yes. Sorry. Yes, there there 249 00:09:51,279 --> 00:09:55,040 is a a lovely eel there. Uh, and then so 250 00:09:55,040 --> 00:09:57,279 if you are here for the weekend, I have 251 00:09:57,279 --> 00:09:59,839 some lovely diving suggestions. Rays at 252 00:09:59,839 --> 00:10:03,261 North Freddy and thank you. 253 00:10:03,261 --> 00:10:04,800 [cheering and applause] 254 00:10:04,800 --> 00:10:06,959 Ah, 255 00:10:06,959 --> 00:10:09,279 we have just demonstrated effective 256 00:10:09,279 --> 00:10:12,279 communication. 257 00:10:14,480 --> 00:10:18,399 On deck we have uh Dr. Frames White. Uh 258 00:10:18,399 --> 00:10:21,440 wait, that doesn't seem right. Yeah. No, 259 00:10:21,440 --> 00:10:23,279 that is right. Uh but right now we have 260 00:10:23,279 --> 00:10:24,560 Renee Noble. 261 00:10:24,560 --> 00:10:26,880 Big Dick. 262 00:10:26,880 --> 00:10:30,480 Hello. This is my talk titled No. Uh uh 263 00:10:30,480 --> 00:10:32,399 as many of you know, I'm not good at 264 00:10:32,399 --> 00:10:35,519 saying no necessarily. I am a yesaholic. 265 00:10:35,519 --> 00:10:37,120 I thought that maybe that was like a 266 00:10:37,120 --> 00:10:38,880 concerning be like I don't know if I can 267 00:10:38,880 --> 00:10:40,560 say I'm something aholic. It's a bit 268 00:10:40,560 --> 00:10:41,760 like there's real problems out there. 269 00:10:41,760 --> 00:10:43,440 So, I looked up the definition and it 270 00:10:43,440 --> 00:10:45,600 involves behavior that has rewarding 271 00:10:45,600 --> 00:10:47,279 effects providing a compelling incentive 272 00:10:47,279 --> 00:10:48,959 to repeat those activities. And that's 273 00:10:48,959 --> 00:10:51,120 definitely true. I love doing rewarding 274 00:10:51,120 --> 00:10:53,200 activities despite their detrimental 275 00:10:53,200 --> 00:10:56,320 consequences. Yes. Uh so I guess I am 276 00:10:56,320 --> 00:10:59,200 addicted to saying yes. Um there are 277 00:10:59,200 --> 00:11:01,360 substances involved. I make them in 278 00:11:01,360 --> 00:11:02,640 they're coming from inside the house. 279 00:11:02,640 --> 00:11:04,240 They're adrenaline and dopamine and I 280 00:11:04,240 --> 00:11:07,360 love them. Uh so I have built a life on 281 00:11:07,360 --> 00:11:09,360 yes and it's been great. I do a talk 282 00:11:09,360 --> 00:11:11,839 every semester at USID for on leadership 283 00:11:11,839 --> 00:11:13,519 and here are some of my slides about how 284 00:11:13,519 --> 00:11:14,720 many different cool things I've done 285 00:11:14,720 --> 00:11:16,160 along the way that helped me become the 286 00:11:16,160 --> 00:11:17,360 person I am today and learn all these 287 00:11:17,360 --> 00:11:18,560 cool stuff that mean I can do all these 288 00:11:18,560 --> 00:11:20,240 cool opportunities and I love doing it 289 00:11:20,240 --> 00:11:21,600 and one of the best things I got to do 290 00:11:21,600 --> 00:11:23,040 is GP and if you've seen all the green 291 00:11:23,040 --> 00:11:26,320 around yes we love it uh it is built on 292 00:11:26,320 --> 00:11:28,959 my compulsion to say yes which is great 293 00:11:28,959 --> 00:11:31,360 um but uh and I do love my life I love 294 00:11:31,360 --> 00:11:33,200 GP I love all the things I do I do love 295 00:11:33,200 --> 00:11:37,360 it I love my life now uh because uh yeah 296 00:11:37,360 --> 00:11:38,959 for many times Sometimes it's been like 297 00:11:38,959 --> 00:11:40,480 the way I've got here. But it hasn't 298 00:11:40,480 --> 00:11:42,640 necessarily been healthy. Um, it has 299 00:11:42,640 --> 00:11:44,240 helped me with a lot of things along the 300 00:11:44,240 --> 00:11:45,440 way though that have been the things 301 00:11:45,440 --> 00:11:46,880 that were the thing I needed at the 302 00:11:46,880 --> 00:11:49,200 time. So, I got to overcome shyness. As 303 00:11:49,200 --> 00:11:51,519 you can tell, I'm a really shy person. 304 00:11:51,519 --> 00:11:53,279 Um, no, I be doing all these cool 305 00:11:53,279 --> 00:11:54,800 things. I got to meet cool people and 306 00:11:54,800 --> 00:11:56,560 really come out of my shell by finding 307 00:11:56,560 --> 00:11:58,320 purpose. Once you say yes, I'll be your 308 00:11:58,320 --> 00:12:00,880 choir administrator or run the netball 309 00:12:00,880 --> 00:12:02,560 team or do whatever. You have a purpose 310 00:12:02,560 --> 00:12:04,079 to go and re go to people and be like, 311 00:12:04,079 --> 00:12:05,519 "Hello, are you coming to choir tonight? 312 00:12:05,519 --> 00:12:06,399 You doing this tonight? You doing that 313 00:12:06,399 --> 00:12:07,440 tonight? You doing this thing?" And now 314 00:12:07,440 --> 00:12:09,360 you've got all these friendlike people 315 00:12:09,360 --> 00:12:10,880 that you get to talk to all the time. 316 00:12:10,880 --> 00:12:12,880 You gain skills and self-reliance and 317 00:12:12,880 --> 00:12:14,079 you're like, I could do anything by 318 00:12:14,079 --> 00:12:15,760 myself. I don't need anybody. I can do 319 00:12:15,760 --> 00:12:17,200 everything. It's great. You meet people, 320 00:12:17,200 --> 00:12:19,040 you help people, that feels good. And 321 00:12:19,040 --> 00:12:21,279 create potential future opportunities, 322 00:12:21,279 --> 00:12:23,839 maybe. We'll see. Uh so overcoming 323 00:12:23,839 --> 00:12:25,920 shyness, that's good. Uh finding purpose 324 00:12:25,920 --> 00:12:27,760 in place, that's good. Um until it's 325 00:12:27,760 --> 00:12:29,040 actually you put purpose before a 326 00:12:29,040 --> 00:12:30,800 person, that's yeah, that's not so 327 00:12:30,800 --> 00:12:33,839 great. Uh then uh we are so 328 00:12:33,839 --> 00:12:35,040 self-reliant. We do everything by 329 00:12:35,040 --> 00:12:37,440 ourselves which isn't that fun actually. 330 00:12:37,440 --> 00:12:39,600 Um and then we help all these people but 331 00:12:39,600 --> 00:12:41,040 now you have expectations and not 332 00:12:41,040 --> 00:12:42,480 friendships. So that's a bit sad 333 00:12:42,480 --> 00:12:44,399 actually. And then we've created these 334 00:12:44,399 --> 00:12:45,920 maybe opportunities that might actually 335 00:12:45,920 --> 00:12:48,079 not be very useful things that we did 336 00:12:48,079 --> 00:12:49,760 all this work to make possibly happen in 337 00:12:49,760 --> 00:12:51,440 the future. Oh no, that's not the best. 338 00:12:51,440 --> 00:12:53,680 We said yes to so many things. Uh and 339 00:12:53,680 --> 00:12:55,440 every yes it's actually a no at the same 340 00:12:55,440 --> 00:12:57,680 time which is like oh what am I saying 341 00:12:57,680 --> 00:12:59,440 no to? Well a lot of the time it's um 342 00:12:59,440 --> 00:13:01,440 I'm going to say sleep. uh we don't do a 343 00:13:01,440 --> 00:13:02,959 lot of that. It's also not hanging out 344 00:13:02,959 --> 00:13:05,200 with your cats in your bed at the same 345 00:13:05,200 --> 00:13:06,880 time. It's your friends. It's your 346 00:13:06,880 --> 00:13:09,040 hobbies. It's making a cake. Um all 347 00:13:09,040 --> 00:13:10,959 these fun things. And you're like, "Oh, 348 00:13:10,959 --> 00:13:12,639 and you most of you just forget what 349 00:13:12,639 --> 00:13:14,079 hobbies you have. If you have any spare 350 00:13:14,079 --> 00:13:16,160 time, you're like, "What do I like to do 351 00:13:16,160 --> 00:13:19,440 when I'm not doing Yes. Um I don't know. 352 00:13:19,440 --> 00:13:21,279 Uh I do yes, and that's my favorite 353 00:13:21,279 --> 00:13:23,760 activity." So, I had to kind of relearn 354 00:13:23,760 --> 00:13:27,440 how to uh have a better life with no as 355 00:13:27,440 --> 00:13:29,120 well. Yes. It's better with no like that 356 00:13:29,120 --> 00:13:30,959 yin-yang kind of idea. You got to have a 357 00:13:30,959 --> 00:13:34,160 bit of everything in your life. Uh so if 358 00:13:34,160 --> 00:13:36,639 you also consider no, it's an 359 00:13:36,639 --> 00:13:38,639 opportunity for a yes for somebody else 360 00:13:38,639 --> 00:13:40,399 because everything I don't do mean 361 00:13:40,399 --> 00:13:41,920 someone else gets to do. And that's 362 00:13:41,920 --> 00:13:43,760 something that GPN is really built on 363 00:13:43,760 --> 00:13:45,120 cuz like if something is like a thing 364 00:13:45,120 --> 00:13:46,560 I've done a million times, I don't need 365 00:13:46,560 --> 00:13:48,880 to do it. I have got a lot of value out 366 00:13:48,880 --> 00:13:50,240 of like whether it's doing a social 367 00:13:50,240 --> 00:13:51,600 media post or sending emails or 368 00:13:51,600 --> 00:13:53,120 corelling these volunteers or this that 369 00:13:53,120 --> 00:13:54,639 the other and I've done it a thousand 370 00:13:54,639 --> 00:13:56,320 times. It's not valuable for me. It's a 371 00:13:56,320 --> 00:13:57,839 chore. But if I give it to somebody 372 00:13:57,839 --> 00:13:59,839 else, they too get to be built up and do 373 00:13:59,839 --> 00:14:01,519 the thing that helped me to get to where 374 00:14:01,519 --> 00:14:03,120 I am today. And then they'll pass it 375 00:14:03,120 --> 00:14:04,320 along and everyone will come up 376 00:14:04,320 --> 00:14:06,320 together. And how good is that? So we 377 00:14:06,320 --> 00:14:08,000 get to have fun together. Now we're not 378 00:14:08,000 --> 00:14:09,600 doing it alone and we're not being sad 379 00:14:09,600 --> 00:14:11,920 and lonely. And uh we don't just do 380 00:14:11,920 --> 00:14:13,120 everything for everyone else. They're 381 00:14:13,120 --> 00:14:14,480 like actually we're part of a team. 382 00:14:14,480 --> 00:14:16,480 Teamwork is good. There was a great talk 383 00:14:16,480 --> 00:14:18,399 about teamwork and horses earlier in the 384 00:14:18,399 --> 00:14:20,560 conference. That was great. Um and we 385 00:14:20,560 --> 00:14:23,120 have a saying at GPN, one is done, two 386 00:14:23,120 --> 00:14:25,760 is one, but I've added more is fun. cuz 387 00:14:25,760 --> 00:14:27,600 how many great people are here today? 388 00:14:27,600 --> 00:14:30,000 We'd love to do everything together. So, 389 00:14:30,000 --> 00:14:32,000 uh I don't have a flowchart on how to 390 00:14:32,000 --> 00:14:33,760 make decisions on when to say yes or 391 00:14:33,760 --> 00:14:35,279 when to say no. I was like that would be 392 00:14:35,279 --> 00:14:36,399 great, but I'm not going to be able to 393 00:14:36,399 --> 00:14:38,800 make one. I have a pile of vibes uh 394 00:14:38,800 --> 00:14:41,519 which you need to like use literally 395 00:14:41,519 --> 00:14:43,519 like on any given occasion like is it 396 00:14:43,519 --> 00:14:45,120 going to like is it does it need to get 397 00:14:45,120 --> 00:14:47,040 done? Is it really important? Is it fun? 398 00:14:47,040 --> 00:14:49,360 Will it get done without me? Like maybe 399 00:14:49,360 --> 00:14:51,760 maybe not. Um if I do it now, will I 400 00:14:51,760 --> 00:14:53,680 never have to do it again? Um and that 401 00:14:53,680 --> 00:14:56,639 would be good. Uh, do I have I slept 402 00:14:56,639 --> 00:14:59,360 recently? That'd be good to know. Um, 403 00:14:59,360 --> 00:15:00,800 does it give does it challenge me? Is it 404 00:15:00,800 --> 00:15:02,320 give me a new skill that I actually want 405 00:15:02,320 --> 00:15:03,519 to be able to do? Cuz sometimes you get 406 00:15:03,519 --> 00:15:04,560 skills and you're like, "Oh, great. Now 407 00:15:04,560 --> 00:15:06,399 you know this." Like whatever. You can 408 00:15:06,399 --> 00:15:07,839 do all of my stuff forever. That'd be 409 00:15:07,839 --> 00:15:10,079 great. Uh, so if you have those things, 410 00:15:10,079 --> 00:15:11,440 they're good. If you haven't like 411 00:15:11,440 --> 00:15:13,760 satisfy your hierarchy of needs, then 412 00:15:13,760 --> 00:15:15,680 that's bad. Uh, there's a bunch of bad 413 00:15:15,680 --> 00:15:18,880 vibes. Um, and being lonely is one of 414 00:15:18,880 --> 00:15:21,120 them. So, why did I do this talk? Well, 415 00:15:21,120 --> 00:15:23,040 I love doing talks. Only one woman did a 416 00:15:23,040 --> 00:15:24,800 talk on Thursday, so I thought let's get 417 00:15:24,800 --> 00:15:26,835 some more women up there. Yes. 418 00:15:26,835 --> 00:15:27,920 [cheering] 419 00:15:27,920 --> 00:15:30,000 And one thing to announce the GPN raffle 420 00:15:30,000 --> 00:15:30,399 winners. 421 00:15:30,399 --> 00:15:31,360 Stop. 422 00:15:31,360 --> 00:15:33,040 So, so close. Well, the raffle winners 423 00:15:33,040 --> 00:15:34,079 have to find out later who they were. 424 00:15:34,079 --> 00:15:37,370 Thank you, Renee. [laughter] 425 00:15:38,880 --> 00:15:42,000 I as a former two-time chair of this 426 00:15:42,000 --> 00:15:45,199 conference, uh, who 427 00:15:45,199 --> 00:15:48,399 found that in the month after Pyonu 428 00:15:48,399 --> 00:15:50,560 2023, I had totally forgotten who I am. 429 00:15:50,560 --> 00:15:52,639 I feel deeply called out and I'm not 430 00:15:52,639 --> 00:15:56,000 okay with it. So, thanks Renee. Uh on 431 00:15:56,000 --> 00:15:58,480 deck we have Sam. Uh but up next, Frames 432 00:15:58,480 --> 00:16:00,240 White. 433 00:16:00,240 --> 00:16:00,896 [cheering] 434 00:16:00,896 --> 00:16:01,600 [applause] 435 00:16:01,600 --> 00:16:05,279 Okay. Um hi. Uh yeah, I'm Frames. Um I'm 436 00:16:05,279 --> 00:16:07,040 at Oxin in a box basically everywhere on 437 00:16:07,040 --> 00:16:09,040 the internet. Um and you'll see a Julia 438 00:16:09,040 --> 00:16:10,560 logo up there and you're like, is Frames 439 00:16:10,560 --> 00:16:12,000 here giving a talk about Julia at a 440 00:16:12,000 --> 00:16:14,720 Python conference? No, I have done that 441 00:16:14,720 --> 00:16:16,480 before. I will do that again. I'm not 442 00:16:16,480 --> 00:16:17,839 doing that today. In fact, today is 443 00:16:17,839 --> 00:16:19,600 almost an anti- Julia talk. See, Julia 444 00:16:19,600 --> 00:16:20,880 is a proing language built around 445 00:16:20,880 --> 00:16:23,920 multiple dispatch. And my thesis of this 446 00:16:23,920 --> 00:16:25,920 talk is there's only one operation for 447 00:16:25,920 --> 00:16:27,519 which humans care about enough to 448 00:16:27,519 --> 00:16:30,399 implement quintapple dispatch. 449 00:16:30,399 --> 00:16:32,639 Uh what's dispatch? 450 00:16:32,639 --> 00:16:34,560 Choosing what code to run based on the 451 00:16:34,560 --> 00:16:36,639 types of the arguments you give. So 452 00:16:36,639 --> 00:16:37,759 we're very familiar with single 453 00:16:37,759 --> 00:16:39,759 dispatch. So we've got a class fu. It 454 00:16:39,759 --> 00:16:42,160 implements a method quarks. We've got a 455 00:16:42,160 --> 00:16:44,240 class bar. It also implements quarks. We 456 00:16:44,240 --> 00:16:45,920 can think of that as also being the same 457 00:16:45,920 --> 00:16:48,720 as quarks has two methods. one for foo 458 00:16:48,720 --> 00:16:51,519 and one for bar. Uh this is useful. It 459 00:16:51,519 --> 00:16:53,839 lets us write stuff like a loop over a 460 00:16:53,839 --> 00:16:55,519 list containing a mixture of foos and 461 00:16:55,519 --> 00:16:57,440 bars and we can call quarks on all of 462 00:16:57,440 --> 00:16:59,600 them. That's great. Uh this is 463 00:16:59,600 --> 00:17:01,199 ubiquitous. It's needful. It's the basis 464 00:17:01,199 --> 00:17:03,440 of basically most modern uh 465 00:17:03,440 --> 00:17:06,240 object-oriented programming. Cool. 466 00:17:06,240 --> 00:17:08,640 Double dispatch. So double dispatch is 467 00:17:08,640 --> 00:17:10,400 kind of useful. It's super good for 468 00:17:10,400 --> 00:17:12,319 matrix multiplication. So if you've done 469 00:17:12,319 --> 00:17:16,160 year 12ish math, uh you do the matrix 470 00:17:16,160 --> 00:17:17,679 multiply and you multiply the rows by 471 00:17:17,679 --> 00:17:21,199 the columns. You row column add them up. 472 00:17:21,199 --> 00:17:22,799 Uh anyway, it's this order to end the 473 00:17:22,799 --> 00:17:25,679 three algorithm. Uh if you're normal, if 474 00:17:25,679 --> 00:17:27,199 you're very smart, it's auto end to the 475 00:17:27,199 --> 00:17:30,480 2.8. If you are very very smart and your 476 00:17:30,480 --> 00:17:32,160 matrixes are actually too big to be 477 00:17:32,160 --> 00:17:33,760 expressed in this universe because we do 478 00:17:33,760 --> 00:17:35,200 not have enough electrons in this 479 00:17:35,200 --> 00:17:36,960 universe to represent matrixes this 480 00:17:36,960 --> 00:17:38,480 large, you can actually do it much 481 00:17:38,480 --> 00:17:42,400 faster than that. Um 482 00:17:42,400 --> 00:17:43,919 so 483 00:17:43,919 --> 00:17:46,000 uh yeah but we can do better than that 484 00:17:46,000 --> 00:17:47,600 if we know things about the structure of 485 00:17:47,600 --> 00:17:50,000 the uh matrices which we can encode into 486 00:17:50,000 --> 00:17:52,000 their type. So if we have a dense matrix 487 00:17:52,000 --> 00:17:53,520 and we have a diagonal matrix that's 488 00:17:53,520 --> 00:17:54,880 zeros everywhere except for on the 489 00:17:54,880 --> 00:17:57,440 diagonal we just need to do columnwise 490 00:17:57,440 --> 00:17:59,039 or row wise scaling. So that's only 491 00:17:59,039 --> 00:18:01,360 order n squ much faster. If we have a 492 00:18:01,360 --> 00:18:04,000 one hot matrix that's zeros everywhere 493 00:18:04,000 --> 00:18:05,760 except for one element which would be 494 00:18:05,760 --> 00:18:08,880 one. Uh well that's either columnwise or 495 00:18:08,880 --> 00:18:11,520 row wise slicing which is order end time 496 00:18:11,520 --> 00:18:13,840 much faster. If we have the identity 497 00:18:13,840 --> 00:18:15,600 matrix which is just ones down all the 498 00:18:15,600 --> 00:18:18,880 diagonal um then if we're doing that 499 00:18:18,880 --> 00:18:20,799 multiply well that's no change at all. 500 00:18:20,799 --> 00:18:22,240 We're just doing a copy operation. We 501 00:18:22,240 --> 00:18:25,360 can say it's all one. Um 502 00:18:25,360 --> 00:18:27,039 so that's double dispatch. And people 503 00:18:27,039 --> 00:18:29,919 invent a lot of these like a lot. Uh 504 00:18:29,919 --> 00:18:31,520 these are the ones that are in blast 505 00:18:31,520 --> 00:18:33,600 which is basic linear algebra system. 506 00:18:33,600 --> 00:18:35,280 It's not so basic cuz that's a complex 507 00:18:35,280 --> 00:18:37,840 herian banded matrix vector multiply. 508 00:18:37,840 --> 00:18:39,520 Um, and like this goes to the ones the 509 00:18:39,520 --> 00:18:41,200 Julia ecosystem has which goes all the 510 00:18:41,200 --> 00:18:43,760 way to the banded block banded matrixes 511 00:18:43,760 --> 00:18:46,160 which is a band of block matrixes each 512 00:18:46,160 --> 00:18:48,480 of which is banded of blocks. Anyway, 513 00:18:48,480 --> 00:18:49,919 people in a lot of these and turns out 514 00:18:49,919 --> 00:18:51,360 that's super fast makes some things very 515 00:18:51,360 --> 00:18:53,280 important very fast. It's great double 516 00:18:53,280 --> 00:18:54,400 dispatch wonderful for matrix 517 00:18:54,400 --> 00:18:56,080 multiplication. Is it good for anything 518 00:18:56,080 --> 00:19:00,000 else? I'm actually not sure. Um so like 519 00:19:00,000 --> 00:19:02,080 the only other I've come up with is like 520 00:19:02,080 --> 00:19:04,799 maybe displaying things um like we can 521 00:19:04,799 --> 00:19:06,080 plain text display and markdown display 522 00:19:06,080 --> 00:19:08,480 and we could maybe plain text markdown 523 00:19:08,480 --> 00:19:10,400 falls down to plain text and different 524 00:19:10,400 --> 00:19:12,799 objects display differently. Um triple 525 00:19:12,799 --> 00:19:15,840 dispatch nobody needs this 526 00:19:15,840 --> 00:19:19,919 quintuple dispatch. So uh generalized 527 00:19:19,919 --> 00:19:21,679 matrix multiplication or as I like to 528 00:19:21,679 --> 00:19:24,000 call it generalized mull add. It does 529 00:19:24,000 --> 00:19:27,840 that thing. Um, blast level 3 implements 530 00:19:27,840 --> 00:19:29,760 this for dense matrices, for herian 531 00:19:29,760 --> 00:19:31,840 matrices, for symmetric matrices, for 532 00:19:31,840 --> 00:19:33,600 transposes of each of those, for 533 00:19:33,600 --> 00:19:36,000 conjugate transposes each of those also 534 00:19:36,000 --> 00:19:38,559 vectors. Uh, and for different levels of 535 00:19:38,559 --> 00:19:42,640 precision. Um, so useful and yes, some 536 00:19:42,640 --> 00:19:44,559 of the uses if you just set the alpha as 537 00:19:44,559 --> 00:19:46,960 zero, this is just scaling. And if you 538 00:19:46,960 --> 00:19:48,480 set the beta is zero, this is just 539 00:19:48,480 --> 00:19:50,400 matrix multiply, also optionally 540 00:19:50,400 --> 00:19:52,880 scaling. If you set beta to the identity 541 00:19:52,880 --> 00:19:55,039 matrix, this is just addition. So by 542 00:19:55,039 --> 00:19:56,240 implementing this one thing you can get 543 00:19:56,240 --> 00:19:58,640 a whole pile of things for free. 544 00:19:58,640 --> 00:20:03,440 Um yeah so gem very general and yeah 545 00:20:03,440 --> 00:20:05,679 that's the only thing I've ever found 546 00:20:05,679 --> 00:20:09,120 that requires uh quintuple dispatch and 547 00:20:09,120 --> 00:20:11,919 so should you be using multiple dispatch 548 00:20:11,919 --> 00:20:14,160 in your language. Um people say like 549 00:20:14,160 --> 00:20:17,840 programming it's like 0 one many. So 550 00:20:17,840 --> 00:20:23,440 because this is 0 1 well two five maybe 551 00:20:23,440 --> 00:20:25,120 two and five count as many and you 552 00:20:25,120 --> 00:20:26,320 should put model despect in your 553 00:20:26,320 --> 00:20:29,919 language. Um yeah cool. Uh yeah I'm 554 00:20:29,919 --> 00:20:32,640 frames. Um I'm on the internet. I'm ox 555 00:20:32,640 --> 00:20:35,999 in a box. Uh poke me. 556 00:20:35,999 --> 00:20:38,019 [applause] 557 00:20:38,559 --> 00:20:42,039 Thank you frames. 558 00:20:44,720 --> 00:20:46,400 I 559 00:20:46,400 --> 00:20:48,480 want to make a joke about uh multiple 560 00:20:48,480 --> 00:20:50,240 dispatching lightning talk uh 561 00:20:50,240 --> 00:20:51,520 presenters, but there's only one of me 562 00:20:51,520 --> 00:20:54,339 on stage. Uh 563 00:20:54,339 --> 00:20:56,359 [laughter] 564 00:20:58,080 --> 00:20:59,440 now there's another professor on stage. 565 00:20:59,440 --> 00:21:00,559 Make the joke. 566 00:21:00,559 --> 00:21:01,919 Lightning talk dispensers. 567 00:21:01,919 --> 00:21:04,720 What? I didn't hear it. [laughter] 568 00:21:04,720 --> 00:21:06,720 I said we did it. We multiple dispatch 569 00:21:06,720 --> 00:21:07,840 lightning talk presenters. 570 00:21:07,840 --> 00:21:10,840 Yay. 571 00:21:11,360 --> 00:21:14,320 Uh on deck we have Katie McLolin. Uh but 572 00:21:14,320 --> 00:21:16,880 right now we have Sam Hayes. 573 00:21:16,880 --> 00:21:20,880 Hello, I'm Sam. I'm a researcher. Don't 574 00:21:20,880 --> 00:21:22,480 hold it against me. I work on 575 00:21:22,480 --> 00:21:24,799 computational methods mostly in Python. 576 00:21:24,799 --> 00:21:26,400 And importantly, I spend a lot of time 577 00:21:26,400 --> 00:21:27,840 working with humanities academics 578 00:21:27,840 --> 00:21:29,280 because that's where I really am despite 579 00:21:29,280 --> 00:21:31,280 the computational stuff. 580 00:21:31,280 --> 00:21:32,640 So, I'm here today to talk about a 581 00:21:32,640 --> 00:21:34,320 problem that keeps coming up when I talk 582 00:21:34,320 --> 00:21:35,919 to humanities researchers in all kinds 583 00:21:35,919 --> 00:21:37,840 of disciplines 584 00:21:37,840 --> 00:21:40,159 and in ways that keep surprising me and 585 00:21:40,159 --> 00:21:41,360 that's the difference between 586 00:21:41,360 --> 00:21:43,120 technically making something available 587 00:21:43,120 --> 00:21:45,200 and making it meaningfully accessible 588 00:21:45,200 --> 00:21:47,520 and findable for people. And this is 589 00:21:47,520 --> 00:21:49,520 something that governments not for 590 00:21:49,520 --> 00:21:51,679 necessarily malicious reasons but 591 00:21:51,679 --> 00:21:53,120 something governments are very good at 592 00:21:53,120 --> 00:21:54,480 repeating this pattern over and over 593 00:21:54,480 --> 00:21:56,559 again. 594 00:21:56,559 --> 00:21:58,559 So when I say technically available, 595 00:21:58,559 --> 00:22:00,240 governments love to publish lots of 596 00:22:00,240 --> 00:22:02,559 important documents as a link to a PDF 597 00:22:02,559 --> 00:22:05,039 on a website, which is fine. It's a 598 00:22:05,039 --> 00:22:07,200 really good starting point, like a 599 00:22:07,200 --> 00:22:08,640 policy document is a great thing to have 600 00:22:08,640 --> 00:22:10,880 as a PDF somewhere on a website. It 601 00:22:10,880 --> 00:22:12,080 becomes a problem when you don't do 602 00:22:12,080 --> 00:22:15,360 anything more with it than that. 603 00:22:15,360 --> 00:22:17,679 So for example, federal parliament has a 604 00:22:17,679 --> 00:22:19,840 whole bunch of inurren committees and 605 00:22:19,840 --> 00:22:21,039 inquiries that have a whole bunch of 606 00:22:21,039 --> 00:22:24,000 activity. there 109 public inquiries and 607 00:22:24,000 --> 00:22:28,080 27 open public submissions. Uh, and you 608 00:22:28,080 --> 00:22:29,520 think, oh, there's a there's a search 609 00:22:29,520 --> 00:22:30,799 bar here. So, we'll just click search 610 00:22:30,799 --> 00:22:34,480 and we'll go, oh, there's 5,939. 611 00:22:34,480 --> 00:22:35,840 Here are the things you can search. So, 612 00:22:35,840 --> 00:22:37,520 there's a bunch of things about dates 613 00:22:37,520 --> 00:22:38,880 and times and what kind of thing it is, 614 00:22:38,880 --> 00:22:40,559 but you can search the title or you can 615 00:22:40,559 --> 00:22:43,200 search the summary. 616 00:22:43,200 --> 00:22:45,120 That's it. 617 00:22:45,120 --> 00:22:47,280 Uh 618 00:22:47,280 --> 00:22:50,159 so if we look at I'm just going to 619 00:22:50,159 --> 00:22:54,240 filter by status and look at a completed 620 00:22:54,240 --> 00:22:56,880 ones. 621 00:22:56,880 --> 00:22:59,840 Uh 622 00:22:59,840 --> 00:23:02,320 so we have an inquiry into a bill and we 623 00:23:02,320 --> 00:23:04,799 click into it and we can see that 624 00:23:04,799 --> 00:23:08,400 there's a bunch of public submissions. 625 00:23:08,400 --> 00:23:09,840 I'm glad this is slowing down during a 626 00:23:09,840 --> 00:23:13,600 demo for a change. Um, look, it's a list 627 00:23:13,600 --> 00:23:16,080 of PDFs linked from a page. So, if you 628 00:23:16,080 --> 00:23:17,679 want to do anything like, do you suspect 629 00:23:17,679 --> 00:23:20,080 an industry may not be in Australia's 630 00:23:20,080 --> 00:23:21,600 best interests and keeps making 631 00:23:21,600 --> 00:23:23,039 submissions that represent their 632 00:23:23,039 --> 00:23:24,400 interest and not anyone else? You want 633 00:23:24,400 --> 00:23:28,159 to check, you can do a lot of clicking. 634 00:23:28,159 --> 00:23:30,640 Can you do anything systematic? No. And 635 00:23:30,640 --> 00:23:32,080 for researchers, this is a problem 636 00:23:32,080 --> 00:23:33,679 because, 637 00:23:33,679 --> 00:23:36,159 well, there's a few thousand of these, 638 00:23:36,159 --> 00:23:37,919 so some of them might be relevant, but 639 00:23:37,919 --> 00:23:40,080 good luck. 640 00:23:40,080 --> 00:23:41,440 And this is the good case where it's 641 00:23:41,440 --> 00:23:42,880 systematically and there's a whole bunch 642 00:23:42,880 --> 00:23:44,799 of things happening. There are things 643 00:23:44,799 --> 00:23:46,480 like a new national cultural policy 644 00:23:46,480 --> 00:23:48,880 inquiry which had opened for submissions 645 00:23:48,880 --> 00:23:50,159 earlier this year and closed for 646 00:23:50,159 --> 00:23:51,760 submissions. And then you scroll down 647 00:23:51,760 --> 00:23:54,240 the bottom and you get at least a search 648 00:23:54,240 --> 00:23:56,320 by name of the submission. But you keep 649 00:23:56,320 --> 00:24:01,726 going and then you see this and [sighs] 650 00:24:03,919 --> 00:24:06,000 this is a problem because I do think 651 00:24:06,000 --> 00:24:07,679 researchers should be doing systematic 652 00:24:07,679 --> 00:24:08,880 stuff and it's really important to have 653 00:24:08,880 --> 00:24:11,760 researchers reading things and most of 654 00:24:11,760 --> 00:24:12,880 them will give up at this point because 655 00:24:12,880 --> 00:24:13,840 they're not going to click through on 656 00:24:13,840 --> 00:24:15,120 all of these links unless they're 657 00:24:15,120 --> 00:24:16,720 extremely motivated and I know one 658 00:24:16,720 --> 00:24:18,880 person who's has clicked through a bunch 659 00:24:18,880 --> 00:24:21,440 of stuff to get a few thousand 660 00:24:21,440 --> 00:24:24,080 submissions and I think maybe maybe we 661 00:24:24,080 --> 00:24:25,760 shouldn't do that. Maybe we can do a 662 00:24:25,760 --> 00:24:28,840 little better. 663 00:24:32,159 --> 00:24:34,640 And this is just inquiries. I mentioned 664 00:24:34,640 --> 00:24:36,080 policy documents. There's lots of 665 00:24:36,080 --> 00:24:37,440 documents. Governments do a lot of 666 00:24:37,440 --> 00:24:38,640 documents. We should probably make them 667 00:24:38,640 --> 00:24:40,240 more findable and readable. And we 668 00:24:40,240 --> 00:24:42,720 should make them more easily accessible 669 00:24:42,720 --> 00:24:44,640 for everybody to find and do more 670 00:24:44,640 --> 00:24:47,679 interesting things with than just a PDF 671 00:24:47,679 --> 00:24:49,760 on a website. 672 00:24:49,760 --> 00:24:52,799 Uh I can complain about this at length. 673 00:24:52,799 --> 00:24:55,120 Uh I will move to plugging the 674 00:24:55,120 --> 00:24:57,200 everything open conference which if you 675 00:24:57,200 --> 00:24:58,720 would like an excuse to come back to 676 00:24:58,720 --> 00:25:01,360 Brisbane I am running in opening the 677 00:25:01,360 --> 00:25:02,960 public sector specialist track as part 678 00:25:02,960 --> 00:25:04,880 of that submission called for papers are 679 00:25:04,880 --> 00:25:06,960 open now they close next week unless we 680 00:25:06,960 --> 00:25:09,200 extend it. If you would like to complain 681 00:25:09,200 --> 00:25:11,440 about working with public documents 682 00:25:11,440 --> 00:25:13,919 public systems open data things 683 00:25:13,919 --> 00:25:15,200 governments are doing that aren't 684 00:25:15,200 --> 00:25:18,880 actually uh very useful. I would love 685 00:25:18,880 --> 00:25:20,559 for you to put something in. I really 686 00:25:20,559 --> 00:25:22,559 want to see if you want to complain. I 687 00:25:22,559 --> 00:25:24,000 would especially love that because I 688 00:25:24,000 --> 00:25:25,600 think complaining is a good place for 689 00:25:25,600 --> 00:25:27,760 starting and as the basis for critique 690 00:25:27,760 --> 00:25:31,120 and thinking about how we can do better. 691 00:25:31,120 --> 00:25:32,240 And I know a lot of you are 692 00:25:32,240 --> 00:25:34,720 technologists and thinking I can solve 693 00:25:34,720 --> 00:25:37,600 that. And you probably can. I believe 694 00:25:37,600 --> 00:25:41,120 you. You can do great things. 695 00:25:41,120 --> 00:25:43,279 But how do you keep it going? You can 696 00:25:43,279 --> 00:25:45,120 probably throw something really cool 697 00:25:45,120 --> 00:25:46,559 together really quick. But can you 698 00:25:46,559 --> 00:25:49,440 maintain it for years? or even better, 699 00:25:49,440 --> 00:25:51,039 how do we build the conditions in which 700 00:25:51,039 --> 00:25:54,159 governments do better in the first place 701 00:25:54,159 --> 00:25:58,520 so we don't have to work around 702 00:25:58,880 --> 00:26:02,640 and ultimately I want to make all of 703 00:26:02,640 --> 00:26:04,480 this stuff more accessible to everybody 704 00:26:04,480 --> 00:26:07,433 and long into the future. Thank you. 705 00:26:07,433 --> 00:26:09,453 [applause] 706 00:26:13,840 --> 00:26:16,720 Thank you so much Sam. On deck we have 707 00:26:16,720 --> 00:26:19,039 Michael Farrell but up next Katie 708 00:26:19,039 --> 00:26:21,188 McLolin 709 00:26:21,188 --> 00:26:23,208 [applause] 710 00:26:24,000 --> 00:26:25,760 Kiora. 711 00:26:25,760 --> 00:26:28,559 The paper on the dangers of stoastic 712 00:26:28,559 --> 00:26:31,039 parrots can large language models be too 713 00:26:31,039 --> 00:26:34,240 big by Bender Gerbu at al is arguably 714 00:26:34,240 --> 00:26:36,320 one of the most impactful scientific 715 00:26:36,320 --> 00:26:39,120 articles published this decade. It has 716 00:26:39,120 --> 00:26:41,279 brought around a reconsideration of some 717 00:26:41,279 --> 00:26:43,039 of the fundamental elements in our 718 00:26:43,039 --> 00:26:45,679 industry and has caused much friction 719 00:26:45,679 --> 00:26:48,559 amongst various vendors and platforms. 720 00:26:48,559 --> 00:26:50,400 Oh, and the LLM stuff. I guess that's 721 00:26:50,400 --> 00:26:51,600 probably important as well. But the 722 00:26:51,600 --> 00:26:53,760 thing I'm interested in just is just 723 00:26:53,760 --> 00:26:57,039 part of this paper. Not the colon in the 724 00:26:57,039 --> 00:26:59,200 title. A perfectly crumbulent part of 725 00:26:59,200 --> 00:27:01,120 any paper or presentation title. Thank 726 00:27:01,120 --> 00:27:04,480 you very much. But I'm interested in the 727 00:27:04,480 --> 00:27:08,320 end of this paper's title in this bit. 728 00:27:08,320 --> 00:27:10,480 this parrot. 729 00:27:10,480 --> 00:27:12,559 Now, this might be an unfamiliar parrot 730 00:27:12,559 --> 00:27:14,400 to you because this is the version of 731 00:27:14,400 --> 00:27:16,960 the parrot emoji available on Android 9 732 00:27:16,960 --> 00:27:19,600 in 2018. If your phone still uses this 733 00:27:19,600 --> 00:27:23,200 as its system default, please update. 734 00:27:23,200 --> 00:27:24,640 Depending on what platform you're 735 00:27:24,640 --> 00:27:26,720 viewing the original emoji on, it will 736 00:27:26,720 --> 00:27:29,440 look very different. A cursory aven 737 00:27:29,440 --> 00:27:31,039 identification of some of the options 738 00:27:31,039 --> 00:27:33,440 available results in birds from most all 739 00:27:33,440 --> 00:27:36,640 tropical climates on every continent. 740 00:27:36,640 --> 00:27:40,159 Most however are not representative of 741 00:27:40,159 --> 00:27:42,880 the actual original subject of this 742 00:27:42,880 --> 00:27:45,679 emoji. The closest rendering is the 743 00:27:45,679 --> 00:27:47,919 telegram telly emoji seem to act more 744 00:27:47,919 --> 00:27:49,919 like the original parrot the emoji is 745 00:27:49,919 --> 00:27:52,640 based on. We know this because we can 746 00:27:52,640 --> 00:27:55,200 read the and the original submission to 747 00:27:55,200 --> 00:27:57,360 the unicode consortium and see the 748 00:27:57,360 --> 00:27:59,840 justification for addition. From the 749 00:27:59,840 --> 00:28:01,360 original submission, the inclusion of 750 00:28:01,360 --> 00:28:03,279 tropical bird in the Unicode standard 751 00:28:03,279 --> 00:28:05,679 would assist with platform compatibility 752 00:28:05,679 --> 00:28:09,039 with the popular emoticon party parrot. 753 00:28:09,039 --> 00:28:11,760 This is party parrot. 754 00:28:11,760 --> 00:28:13,919 This parrot is based on a very specific 755 00:28:13,919 --> 00:28:17,520 parrot based on Sorocco the Kakapo, a 756 00:28:17,520 --> 00:28:20,240 native parrot of Aaroa. This bird 757 00:28:20,240 --> 00:28:23,640 belongs here. 758 00:28:24,329 --> 00:28:25,919 [applause] 759 00:28:25,919 --> 00:28:27,919 An island that is missing on the free 760 00:28:27,919 --> 00:28:29,679 SVG silhouette vector graphic of the 761 00:28:29,679 --> 00:28:32,559 political world map. But who is to blame 762 00:28:32,559 --> 00:28:34,880 for all this? Why is there a parrot in 763 00:28:34,880 --> 00:28:38,739 emoji anyway? Hi, 764 00:28:38,739 --> 00:28:39,840 [laughter] 765 00:28:39,840 --> 00:28:41,360 I'm the original author of the proposal 766 00:28:41,360 --> 00:28:42,720 for the party parrot emoji. You're 767 00:28:42,720 --> 00:28:44,634 welcome. 768 00:28:44,634 --> 00:28:46,599 [cheering] 769 00:28:46,599 --> 00:28:47,200 [applause] 770 00:28:47,200 --> 00:28:50,000 Well, okay. I was the original proposer 771 00:28:50,000 --> 00:28:52,559 for tropical bird even though I know now 772 00:28:52,559 --> 00:28:55,520 after many um arguments with Kiwis that 773 00:28:55,520 --> 00:28:58,399 Kakapoa decidedly not tropical 774 00:28:58,399 --> 00:28:59,919 but it's okay because a further 775 00:28:59,919 --> 00:29:01,440 submission to the consortium corrected 776 00:29:01,440 --> 00:29:04,559 me on this as well. 777 00:29:04,559 --> 00:29:06,399 However, even with the stream the screen 778 00:29:06,399 --> 00:29:08,480 duplication in the room right now, this 779 00:29:08,480 --> 00:29:10,880 arrow is correct. Pyon AU is partially 780 00:29:10,880 --> 00:29:13,679 to blame. 781 00:29:13,679 --> 00:29:15,520 It was a hallway conversation the last 782 00:29:15,520 --> 00:29:17,840 time Pyon was in Australia. my first 783 00:29:17,840 --> 00:29:20,559 pyon ever that led me to give a talk on 784 00:29:20,559 --> 00:29:22,720 emoji. It was a hallway conversation the 785 00:29:22,720 --> 00:29:24,559 first time I ever gave that talk that 786 00:29:24,559 --> 00:29:27,200 the idea to submit the party parrot was 787 00:29:27,200 --> 00:29:30,080 first made. So in a way Pyon AU has had 788 00:29:30,080 --> 00:29:32,399 a not insignificant indirect impact into 789 00:29:32,399 --> 00:29:36,080 the AI industry. You're welcome. 790 00:29:36,080 --> 00:29:38,559 And by impact 791 00:29:38,559 --> 00:29:40,799 Bender's paper has been cited more than 792 00:29:40,799 --> 00:29:43,360 16,000 times. 793 00:29:43,360 --> 00:29:46,000 And so it has made its way into a lot of 794 00:29:46,000 --> 00:29:49,200 esoteric scientific systems, some of 795 00:29:49,200 --> 00:29:51,840 which are older than me. There are so 796 00:29:51,840 --> 00:29:53,600 many examples where the paper has been 797 00:29:53,600 --> 00:29:56,080 cited incorrectly because systems still 798 00:29:56,080 --> 00:29:58,080 in the year of our Lord 2020 whatever 799 00:29:58,080 --> 00:30:01,120 cannot handle uni code. I was able to 800 00:30:01,120 --> 00:30:02,720 personally speak with Dr. Bender about 801 00:30:02,720 --> 00:30:04,080 this when she was in Melbourne last 802 00:30:04,080 --> 00:30:06,000 year. She spoke about the issues her 803 00:30:06,000 --> 00:30:07,919 submission had caused particularly in 804 00:30:07,919 --> 00:30:10,720 ACM's paper systems and when type 805 00:30:10,720 --> 00:30:12,880 setting her book the AION which cites 806 00:30:12,880 --> 00:30:15,039 the paper correctly. But that's not the 807 00:30:15,039 --> 00:30:17,679 only impact. The Kakapo recovery program 808 00:30:17,679 --> 00:30:19,520 has been running for 30 years working to 809 00:30:19,520 --> 00:30:21,120 protect the critically endangered 810 00:30:21,120 --> 00:30:25,200 cockapo. As of 2022, there were 174 811 00:30:25,200 --> 00:30:28,320 cockapo total. 812 00:30:28,320 --> 00:30:30,720 But in this last breeding season in 813 00:30:30,720 --> 00:30:36,600 2026, a whopping 95 chicks were born. 814 00:30:36,960 --> 00:30:40,080 Since the parrot emoji was created, the 815 00:30:40,080 --> 00:30:42,480 amount of cockao in the world has 816 00:30:42,480 --> 00:30:45,156 doubled. 817 00:30:45,156 --> 00:30:46,960 [applause] 818 00:30:46,960 --> 00:30:48,880 Unless somebody can prove otherwise, you 819 00:30:48,880 --> 00:30:51,440 all helped with this. 820 00:30:51,440 --> 00:30:53,200 It's been 10 years since the emoji was 821 00:30:53,200 --> 00:30:54,960 submitted and 5 years since this paper, 822 00:30:54,960 --> 00:30:57,039 and this much has happened so far. What 823 00:30:57,039 --> 00:30:58,399 more could we do together as a 824 00:30:58,399 --> 00:31:00,240 community? How many of those things have 825 00:31:00,240 --> 00:31:01,679 already started out in the hallway at 826 00:31:01,679 --> 00:31:03,600 this conference? And how much more can 827 00:31:03,600 --> 00:31:08,081 we do together? Thank you very much. 828 00:31:08,081 --> 00:31:10,101 [applause] 829 00:31:13,279 --> 00:31:15,760 Thank you, Katie. And I'm really looking 830 00:31:15,760 --> 00:31:17,600 forward to finding out what comes out of 831 00:31:17,600 --> 00:31:19,520 this conference in five and 10 years 832 00:31:19,520 --> 00:31:22,399 time. Um, as Nick square, square square 833 00:31:22,399 --> 00:31:25,111 square 834 00:31:25,111 --> 00:31:26,480 [laughter] 835 00:31:26,480 --> 00:31:27,440 on deck. 836 00:31:27,440 --> 00:31:28,720 What? 837 00:31:28,720 --> 00:31:30,480 You haven't seen my You haven't seen my 838 00:31:30,480 --> 00:31:33,120 name badge. My name badge says Nick. 839 00:31:33,120 --> 00:31:36,520 Square square square. 840 00:31:38,211 --> 00:31:40,080 [laughter] 841 00:31:40,080 --> 00:31:42,720 On deck, we have Betsy. Uh, but right 842 00:31:42,720 --> 00:31:45,039 now we've got Michael. 843 00:31:45,039 --> 00:31:48,000 Sorry. Hi, I'm Michael. And do I have 844 00:31:48,000 --> 00:31:50,559 audio? Yes, I do. Excellent. I am uh 845 00:31:50,559 --> 00:31:51,600 going to talk to you about how to 846 00:31:51,600 --> 00:31:53,200 securely authenticate your users without 847 00:31:53,200 --> 00:31:54,559 breaking their authenticators. I 848 00:31:54,559 --> 00:31:56,960 co-maintain web authents 849 00:31:56,960 --> 00:31:58,960 web authen toolkit. I also do some 850 00:31:58,960 --> 00:32:00,159 consulting on the side but I'm engaged 851 00:32:00,159 --> 00:32:02,799 at the end of the year and uh I am a 852 00:32:02,799 --> 00:32:05,279 recurring member of the Pyon AU uh AB 853 00:32:05,279 --> 00:32:07,519 team. So show of hands who knows what 854 00:32:07,519 --> 00:32:10,799 web orn is we have about less than a 855 00:32:10,799 --> 00:32:12,080 third of the room. Uh who knows what 856 00:32:12,080 --> 00:32:14,480 pass keys are? We have more than a third 857 00:32:14,480 --> 00:32:16,240 of the room. Um now let me tell you a 858 00:32:16,240 --> 00:32:18,480 little secret. Apple uh just rebranded 859 00:32:18,480 --> 00:32:20,159 web authen and called it pass keys for 860 00:32:20,159 --> 00:32:21,679 use with their keychain. And I'll 861 00:32:21,679 --> 00:32:22,880 explain a little bit more about what 862 00:32:22,880 --> 00:32:24,480 that means later. But first, the key 863 00:32:24,480 --> 00:32:26,080 point up front is I want you to stop 864 00:32:26,080 --> 00:32:27,919 using resonant keys. They will 865 00:32:27,919 --> 00:32:29,039 eventually brick your users 866 00:32:29,039 --> 00:32:31,200 authenticators and that's not cool. And 867 00:32:31,200 --> 00:32:33,039 because I like tempting the demo gods, 868 00:32:33,039 --> 00:32:34,320 I'm going to do a live demo in the 869 00:32:34,320 --> 00:32:37,440 middle of a lightning talk. So, and I'm 870 00:32:37,440 --> 00:32:38,799 going to run my code from the main 871 00:32:38,799 --> 00:32:40,960 branch because that's cool. So, this is 872 00:32:40,960 --> 00:32:44,080 using web NRS and I am Oh no, we're 873 00:32:44,080 --> 00:32:46,159 already tempting. We're already tempting 874 00:32:46,159 --> 00:32:48,399 the demo gods because I put my laptop to 875 00:32:48,399 --> 00:32:51,200 sleep, which is cool and I actually need 876 00:32:51,200 --> 00:32:53,279 that to work. Excellent. Second time. No 877 00:32:53,279 --> 00:32:54,960 one saw anything. Okay, so I have a 878 00:32:54,960 --> 00:32:56,480 demo. I am enrolling an authenticator. 879 00:32:56,480 --> 00:32:58,080 I'm using Touch ID because this is an 880 00:32:58,080 --> 00:33:00,080 Apple device. What I have done is uh 881 00:33:00,080 --> 00:33:01,840 what this doing is it's generating uh 882 00:33:01,840 --> 00:33:03,840 some key material uh and sharing it with 883 00:33:03,840 --> 00:33:05,519 the website with a public key. Now I've 884 00:33:05,519 --> 00:33:06,960 enrolled my authenticator. I can now go 885 00:33:06,960 --> 00:33:08,640 and log into it. This is a demo site, so 886 00:33:08,640 --> 00:33:09,440 you know, everything's a little bit 887 00:33:09,440 --> 00:33:11,039 weird, but you know, in reality, you do 888 00:33:11,039 --> 00:33:13,039 some other things like, you know, accept 889 00:33:13,039 --> 00:33:15,039 GDPR policies and privacy policies and 890 00:33:15,039 --> 00:33:16,640 stuff. And now we're logged in. Oh, 891 00:33:16,640 --> 00:33:19,039 awesome. Excellent. Easy. Done. Uh, the 892 00:33:19,039 --> 00:33:21,039 joys of running from local host. Um, 893 00:33:21,039 --> 00:33:22,559 while that's all in Rust, web with NRS 894 00:33:22,559 --> 00:33:24,240 has a tender library that can be called 895 00:33:24,240 --> 00:33:26,799 from non Rust applications. Now, 896 00:33:26,799 --> 00:33:28,720 authenticators come in many shapes and 897 00:33:28,720 --> 00:33:30,240 sizes. There are a bunch of them on the 898 00:33:30,240 --> 00:33:32,799 screen. Um they are generally built 899 00:33:32,799 --> 00:33:34,720 around a hardened cryptographic module 900 00:33:34,720 --> 00:33:36,159 and a small amount of storage normally 901 00:33:36,159 --> 00:33:39,600 about 100 kilobytes. Um and an example 902 00:33:39,600 --> 00:33:42,320 of this uh Windows can use its TPM as 903 00:33:42,320 --> 00:33:44,320 authenticator and key stay on a device 904 00:33:44,320 --> 00:33:45,760 and every single machine that runs 905 00:33:45,760 --> 00:33:48,159 Windows 11 has one of these. Um and 906 00:33:48,159 --> 00:33:50,320 yeah, they're pretty cool. Um so now we 907 00:33:50,320 --> 00:33:52,480 have some of the basics. I can uh talk 908 00:33:52,480 --> 00:33:54,000 about some of the common concepts and 909 00:33:54,000 --> 00:33:56,720 where everyone trips up. Uh, resident 910 00:33:56,720 --> 00:33:58,480 keys or otherwise now rebranded as 911 00:33:58,480 --> 00:34:00,320 discoverable credentials control how 912 00:34:00,320 --> 00:34:02,320 that key material is stored. A resident 913 00:34:02,320 --> 00:34:04,080 key is stored on your device which 914 00:34:04,080 --> 00:34:05,760 allows a website to ask what are all the 915 00:34:05,760 --> 00:34:08,159 credentials you have for example.com. A 916 00:34:08,159 --> 00:34:09,919 non-resident key um doesn't store any 917 00:34:09,919 --> 00:34:11,520 key material on the device which 918 00:34:11,520 --> 00:34:12,960 requires the website to send a list of 919 00:34:12,960 --> 00:34:15,040 credential IDs are accepted. There is 920 00:34:15,040 --> 00:34:17,119 absolutely no impact on security at all 921 00:34:17,119 --> 00:34:18,720 if you implement things properly and the 922 00:34:18,720 --> 00:34:20,480 website gets to choose how to do that. 923 00:34:20,480 --> 00:34:22,320 Um, and it's also just a suggestion. And 924 00:34:22,320 --> 00:34:23,919 iCloud will always make resident keys 925 00:34:23,919 --> 00:34:25,440 even if you say no and it all works 926 00:34:25,440 --> 00:34:28,079 fine. Uh now non-resident keys otherwise 927 00:34:28,079 --> 00:34:29,520 known as server size credentials is how 928 00:34:29,520 --> 00:34:31,679 you get unlimited storage space from a 929 00:34:31,679 --> 00:34:34,480 100 kilob EPROM. Um so requests for 930 00:34:34,480 --> 00:34:35,919 non-resident keys require a credential 931 00:34:35,919 --> 00:34:38,079 ID that's an arbitrary binary blob set 932 00:34:38,079 --> 00:34:39,760 by the authenticator. That private key 933 00:34:39,760 --> 00:34:41,359 is then encrypted and stored in the 934 00:34:41,359 --> 00:34:43,119 credential ID which is a key right key. 935 00:34:43,119 --> 00:34:44,560 This is absolutely secure. That private 936 00:34:44,560 --> 00:34:45,760 key is only decryptible by the 937 00:34:45,760 --> 00:34:46,879 authenticator itself using a 938 00:34:46,879 --> 00:34:49,119 hardwarebound key and that authenticator 939 00:34:49,119 --> 00:34:50,240 can't be traced between different 940 00:34:50,240 --> 00:34:52,879 websites. with privacy. Now, many 941 00:34:52,879 --> 00:34:54,720 portable authenticators use old protocol 942 00:34:54,720 --> 00:34:56,240 versions that have no way to manage 943 00:34:56,240 --> 00:34:58,560 resident keys, except by doing a factory 944 00:34:58,560 --> 00:35:00,160 reset and deleting everything, and that 945 00:35:00,160 --> 00:35:02,480 sucks. And this isn't an only an old 946 00:35:02,480 --> 00:35:04,320 keys problem. The latest Google Titan 947 00:35:04,320 --> 00:35:06,240 key, which was released in 2023, still 948 00:35:06,240 --> 00:35:10,240 only support CAP 2.0, which sucks. So, 949 00:35:10,240 --> 00:35:11,920 resident keys are a big problem for 950 00:35:11,920 --> 00:35:13,359 authenticators that don't support CAP 951 00:35:13,359 --> 00:35:15,119 2.1. They have very little storage, no 952 00:35:15,119 --> 00:35:16,880 way to monitor it, no way to manage it. 953 00:35:16,880 --> 00:35:18,640 it's easy to fill your users's keys and 954 00:35:18,640 --> 00:35:20,400 there's no way for the users to limit it 955 00:35:20,400 --> 00:35:23,520 until it's too late. Now, a website can 956 00:35:23,520 --> 00:35:26,800 also say it prefers resident keys. Um, 957 00:35:26,800 --> 00:35:28,480 and that basically says use it where 958 00:35:28,480 --> 00:35:30,000 possible. 959 00:35:30,000 --> 00:35:33,200 Um, and there was an issue raised with a 960 00:35:33,200 --> 00:35:34,400 web and thin walking group because 961 00:35:34,400 --> 00:35:36,160 there's obviously storage management and 962 00:35:36,160 --> 00:35:39,280 capacity issues. And they're like, yeah, 963 00:35:39,280 --> 00:35:41,119 unfortunately, but and all browsers 964 00:35:41,119 --> 00:35:42,800 currently create resident keys where 965 00:35:42,800 --> 00:35:44,240 it's when it's preferred and generally 966 00:35:44,240 --> 00:35:45,599 fall back to a resident key only when 967 00:35:45,599 --> 00:35:47,440 it's full. There's no user control, no 968 00:35:47,440 --> 00:35:49,520 benefits, only problems. And there are, 969 00:35:49,520 --> 00:35:51,040 this is also a problem when you require 970 00:35:51,040 --> 00:35:53,520 resident keys and uh most things don't 971 00:35:53,520 --> 00:35:54,560 need it. There's only a very small 972 00:35:54,560 --> 00:35:56,000 amount of use cases that actually need 973 00:35:56,000 --> 00:35:57,760 this stuff. Um I would also talk about 974 00:35:57,760 --> 00:35:59,040 bound credentials, but I'm running low 975 00:35:59,040 --> 00:36:00,960 on time. This is about where your things 976 00:36:00,960 --> 00:36:02,960 are stored. Um and when you have a bound 977 00:36:02,960 --> 00:36:04,320 credential, it's only in one place. It 978 00:36:04,320 --> 00:36:05,680 can't be copied or whatever. When you 979 00:36:05,680 --> 00:36:06,960 have a nonbound credential, like in a 980 00:36:06,960 --> 00:36:08,960 password manager, uh it can be copied. 981 00:36:08,960 --> 00:36:10,560 Uh the benefit of that is you only have 982 00:36:10,560 --> 00:36:12,480 to run all it once, but you know, also 983 00:36:12,480 --> 00:36:14,400 it goes everywhere. Uh and user 984 00:36:14,400 --> 00:36:15,760 verification, very important. you should 985 00:36:15,760 --> 00:36:17,119 use it. It's the something you know for 986 00:36:17,119 --> 00:36:19,040 the something you have. Um and it's what 987 00:36:19,040 --> 00:36:20,800 makes uh replacing your pass key 988 00:36:20,800 --> 00:36:22,880 possible. This is only scratching the 989 00:36:22,880 --> 00:36:25,359 surface of what webin can do and some of 990 00:36:25,359 --> 00:36:27,119 the issues there. So if you are 991 00:36:27,119 --> 00:36:28,960 implementing a service that uses pass 992 00:36:28,960 --> 00:36:33,359 keys or or uh web authents 993 00:36:33,359 --> 00:36:34,880 they don't do anything helpful. They're 994 00:36:34,880 --> 00:36:36,400 just problems. If you're replacing 995 00:36:36,400 --> 00:36:38,400 passwords require you user verification 996 00:36:38,400 --> 00:36:39,920 and isolate your authentication service 997 00:36:39,920 --> 00:36:41,599 to its own top level domain. Thanks very 998 00:36:41,599 --> 00:36:43,445 much. 999 00:36:43,445 --> 00:36:44,100 [cheering] 1000 00:36:44,100 --> 00:36:46,120 [applause] 1001 00:36:47,839 --> 00:36:49,520 Thank you so much, Michael, for tempting 1002 00:36:49,520 --> 00:36:51,599 the de demo gods and somehow having it 1003 00:36:51,599 --> 00:36:53,839 work. That's incredible. Um, up on deck 1004 00:36:53,839 --> 00:36:58,359 we have Katney. But next, Betsy. 1005 00:37:00,079 --> 00:37:02,079 Hi, I'm Betsy. I thought of this talk on 1006 00:37:02,079 --> 00:37:03,440 the bus this morning while I was 1007 00:37:03,440 --> 00:37:05,040 thinking about why I never wear this 1008 00:37:05,040 --> 00:37:06,480 dress even though I love it. It's 1009 00:37:06,480 --> 00:37:08,160 because it's polyester and I live in 1010 00:37:08,160 --> 00:37:09,680 Brisbane. 1011 00:37:09,680 --> 00:37:11,359 I've done a few different things in the 1012 00:37:11,359 --> 00:37:13,040 world of software over the years. These 1013 00:37:13,040 --> 00:37:14,800 days I work in research infrastructure 1014 00:37:14,800 --> 00:37:16,480 and research support. One of my favorite 1015 00:37:16,480 --> 00:37:18,079 things about that is that I get to help 1016 00:37:18,079 --> 00:37:20,560 researchers collect, process and use the 1017 00:37:20,560 --> 00:37:22,079 best data we can manage for their 1018 00:37:22,079 --> 00:37:24,800 research question and research methods. 1019 00:37:24,800 --> 00:37:26,960 I also do a lot of crafty things, mostly 1020 00:37:26,960 --> 00:37:29,440 fiber crafts. Uh I do not do graphic 1021 00:37:29,440 --> 00:37:31,599 design. Uh 1022 00:37:31,599 --> 00:37:33,599 uh 1023 00:37:33,599 --> 00:37:36,079 uh side note in the knitting groups I'm 1024 00:37:36,079 --> 00:37:37,680 in, we often have conversations 1025 00:37:37,680 --> 00:37:39,359 splitting each other and categorizing 1026 00:37:39,359 --> 00:37:41,359 ourselves into product knitts and 1027 00:37:41,359 --> 00:37:43,760 process knitts. So, a product owner is 1028 00:37:43,760 --> 00:37:46,079 someone whose goal is a finished item. 1029 00:37:46,079 --> 00:37:47,599 They have a specific thing they want to 1030 00:37:47,599 --> 00:37:49,040 make. They make it and then they're 1031 00:37:49,040 --> 00:37:52,079 happy. I sometimes finish a thing and 1032 00:37:52,079 --> 00:37:54,480 then I am happy, but I don't often 1033 00:37:54,480 --> 00:37:56,720 finish a thing. I'm a process knitter. 1034 00:37:56,720 --> 00:37:59,200 Um, I just I knit because I like moving 1035 00:37:59,200 --> 00:38:00,640 the needles and doing the things and 1036 00:38:00,640 --> 00:38:02,960 learning the things. Um, and groups need 1037 00:38:02,960 --> 00:38:05,119 all kinds of people. And that idea might 1038 00:38:05,119 --> 00:38:07,680 be useful for software, too. But that 1039 00:38:07,680 --> 00:38:10,000 was a side note. So, where do clothes 1040 00:38:10,000 --> 00:38:11,839 come from? There are a lot of steps in 1041 00:38:11,839 --> 00:38:13,760 making clothes. We have base materials 1042 00:38:13,760 --> 00:38:16,160 and lots and lots of different processes 1043 00:38:16,160 --> 00:38:18,480 that those base materials can go to 1044 00:38:18,480 --> 00:38:21,119 before they become fabric or clothes. 1045 00:38:21,119 --> 00:38:23,200 So, uh I could talk about this a lot. 1046 00:38:23,200 --> 00:38:24,880 This is not exhaustive. I've forgotten 1047 00:38:24,880 --> 00:38:26,160 many terms because I wrote this at 1048 00:38:26,160 --> 00:38:29,359 lunchtime. Note here that I there I 1049 00:38:29,359 --> 00:38:32,400 haven't put a synthetic versus natural 1050 00:38:32,400 --> 00:38:35,040 division. Um that's because those terms 1051 00:38:35,040 --> 00:38:38,240 are both complex and weird to use. So 1052 00:38:38,240 --> 00:38:40,640 when things are described as natural, 1053 00:38:40,640 --> 00:38:43,680 which steps in the process are natural? 1054 00:38:43,680 --> 00:38:47,440 All of them? That's unlikely. Um, and 1055 00:38:47,440 --> 00:38:49,440 when things are described as synthetic, 1056 00:38:49,440 --> 00:38:51,119 usually when people use that term, they 1057 00:38:51,119 --> 00:38:54,320 mean plastic, which you know, plastic 1058 00:38:54,320 --> 00:38:56,960 fabric, not great generally, hence you 1059 00:38:56,960 --> 00:39:00,480 know, Brisbane polyester. Um but uh 1060 00:39:00,480 --> 00:39:03,200 synthetic fibers also include um 1061 00:39:03,200 --> 00:39:05,760 cellulose fabrics that are made out of 1062 00:39:05,760 --> 00:39:07,920 you know chemical soup made out of 1063 00:39:07,920 --> 00:39:10,800 plants. Uh so synthetic versus natural 1064 00:39:10,800 --> 00:39:12,720 is not a useful distinction here. So the 1065 00:39:12,720 --> 00:39:15,359 properties of the materials end up 1066 00:39:15,359 --> 00:39:16,880 influencing the properties of the 1067 00:39:16,880 --> 00:39:19,440 fabrics. Polyester clothes Brisbane 1068 00:39:19,440 --> 00:39:23,119 subtropics not great properties. Um 1069 00:39:23,119 --> 00:39:24,800 whereas something like cotton more 1070 00:39:24,800 --> 00:39:26,960 breathable. Let's if you may have seen 1071 00:39:26,960 --> 00:39:30,160 in the past um microscopic kind of 1072 00:39:30,160 --> 00:39:33,760 images of wool fibers. So wool is a a 1073 00:39:33,760 --> 00:39:35,520 fleece fiber that's shorn off of a 1074 00:39:35,520 --> 00:39:37,760 sheep. Um if you look at it closely 1075 00:39:37,760 --> 00:39:40,079 under a microscope, it is hollow. The 1076 00:39:40,079 --> 00:39:42,320 hollowess makes it incredibly 1077 00:39:42,320 --> 00:39:44,000 insulating. It also makes it very 1078 00:39:44,000 --> 00:39:47,040 elastic. So you know wool fabric, wool 1079 00:39:47,040 --> 00:39:49,599 clothing is very stretchy, very 1080 00:39:49,599 --> 00:39:52,400 resilient, very insulating. will also if 1081 00:39:52,400 --> 00:39:54,640 you look under microscope is covered in 1082 00:39:54,640 --> 00:39:57,200 scales on the outside. These scales also 1083 00:39:57,200 --> 00:39:59,520 add to the elasticity. They make they 1084 00:39:59,520 --> 00:40:02,240 grab on to each other. Fibers attach to 1085 00:40:02,240 --> 00:40:04,480 each other. Um which makes it easier to 1086 00:40:04,480 --> 00:40:06,400 spin, easier to make really strong 1087 00:40:06,400 --> 00:40:08,640 threads. Um so it's both strong and 1088 00:40:08,640 --> 00:40:10,079 elastic, which is an unusual 1089 00:40:10,079 --> 00:40:12,560 combination. Um, but those scales are 1090 00:40:12,560 --> 00:40:14,800 also why uh if you throw your jumper 1091 00:40:14,800 --> 00:40:16,240 into the washing machine with the wrong 1092 00:40:16,240 --> 00:40:18,000 settings, you'll end up with a tiny 1093 00:40:18,000 --> 00:40:20,320 felted mess that is impossible to 1094 00:40:20,320 --> 00:40:22,480 reverse that process. 1095 00:40:22,480 --> 00:40:25,680 Um, there's a lot so the I won't talk 1096 00:40:25,680 --> 00:40:28,800 about the in intermediate processes, but 1097 00:40:28,800 --> 00:40:31,280 every decision you make as you go across 1098 00:40:31,280 --> 00:40:34,640 and you take your source material, you 1099 00:40:34,640 --> 00:40:36,000 turn it into thread, you turn it into 1100 00:40:36,000 --> 00:40:37,839 fabric, that will also affect the 1101 00:40:37,839 --> 00:40:41,280 properties of your finished item. 1102 00:40:41,280 --> 00:40:43,200 There are a lot also as well as the 1103 00:40:43,200 --> 00:40:44,800 effects on the finished item there are a 1104 00:40:44,800 --> 00:40:46,160 lot of hidden effects of fiber 1105 00:40:46,160 --> 00:40:48,960 production. So water use in farming um 1106 00:40:48,960 --> 00:40:50,560 the effects of monocultural crops 1107 00:40:50,560 --> 00:40:53,280 large-scale animal husbandry labor. Um 1108 00:40:53,280 --> 00:40:55,520 we all many of us know the industrial 1109 00:40:55,520 --> 00:40:57,119 revolution was driven by trying to 1110 00:40:57,119 --> 00:40:58,880 produce textiles faster and cheaper. The 1111 00:40:58,880 --> 00:41:00,400 industrial revolution has had a lot of 1112 00:41:00,400 --> 00:41:02,800 significant effects on the world. Um 1113 00:41:02,800 --> 00:41:04,880 cotton cotton has had some interesting 1114 00:41:04,880 --> 00:41:06,960 effects. Cotton is an incredible plant. 1115 00:41:06,960 --> 00:41:09,440 You can just pluck the fiber bowl off 1116 00:41:09,440 --> 00:41:11,599 and spin it right off the seed. Super 1117 00:41:11,599 --> 00:41:14,319 easy. It's that easy because humans have 1118 00:41:14,319 --> 00:41:17,359 been breeding that plant and developing 1119 00:41:17,359 --> 00:41:20,560 methods to process it over millennia in 1120 00:41:20,560 --> 00:41:23,040 South Asia. And that's a big reason why 1121 00:41:23,040 --> 00:41:25,200 the British went, "Hey, India, we're in 1122 00:41:25,200 --> 00:41:30,079 charge now." Um, so and we nowhere in 1123 00:41:30,079 --> 00:41:33,040 here do we see the waste. Textile waste 1124 00:41:33,040 --> 00:41:36,079 is a huge problem. So, I've run out of 1125 00:41:36,079 --> 00:41:39,200 time for my talk. Uh, what is your 1126 00:41:39,200 --> 00:41:41,040 software or data made of and why does it 1127 00:41:41,040 --> 00:41:43,440 matter? I'm going to leave this as an 1128 00:41:43,440 --> 00:41:46,000 exercise for the listener. But in 1129 00:41:46,000 --> 00:41:48,240 software, what we do may be largely 1130 00:41:48,240 --> 00:41:50,240 intangible, which makes it difficult to 1131 00:41:50,240 --> 00:41:52,640 think through, but it is made out of 1132 00:41:52,640 --> 00:41:56,000 real materials in a real environment by 1133 00:41:56,000 --> 00:41:59,159 real people. Thank you. 1134 00:41:59,159 --> 00:41:59,814 [cheering] 1135 00:41:59,814 --> 00:42:01,834 [applause] 1136 00:42:06,240 --> 00:42:09,920 This is a stitch job. 1137 00:42:09,920 --> 00:42:12,560 Thank you, Betsy. Uh on deck we have 1138 00:42:12,560 --> 00:42:15,599 Ashley Lamont. Uh but right now we have 1139 00:42:15,599 --> 00:42:18,599 Katney. 1140 00:42:20,000 --> 00:42:22,560 All right, show of hands. Who is having 1141 00:42:22,560 --> 00:42:27,200 an existential crisis about AI usage? 1142 00:42:27,200 --> 00:42:29,280 Okay, now who is concerned about climate 1143 00:42:29,280 --> 00:42:31,920 change? 1144 00:42:31,920 --> 00:42:33,599 Who's concerned about the amount of 1145 00:42:33,599 --> 00:42:38,079 water being consumed by AI data centers? 1146 00:42:38,079 --> 00:42:41,440 Okay, let's talk about plants. 1147 00:42:41,440 --> 00:42:44,720 I have a plant problem. This is one of 1148 00:42:44,720 --> 00:42:46,880 four terraria in my house, all equally 1149 00:42:46,880 --> 00:42:50,319 full of tancia. Tencia is a genus of 650 1150 00:42:50,319 --> 00:42:52,560 species of evergreen perennial flowering 1151 00:42:52,560 --> 00:42:55,040 plants in the bromeilad family. 1152 00:42:55,040 --> 00:42:56,960 Pineapples are also bromeilads, but that 1153 00:42:56,960 --> 00:43:00,074 is entirely irrelevant. 1154 00:43:00,074 --> 00:43:00,160 [snorts] 1155 00:43:00,160 --> 00:43:02,319 Tencia are native to tropical and 1156 00:43:02,319 --> 00:43:04,480 subtropical America, inhabiting diverse 1157 00:43:04,480 --> 00:43:06,240 environments ranging from equatorial 1158 00:43:06,240 --> 00:43:08,319 tropical rainforests, high elevation 1159 00:43:08,319 --> 00:43:11,200 mountains, rocky terrain, and swamps. 1160 00:43:11,200 --> 00:43:14,240 They're also known as airplants. They're 1161 00:43:14,240 --> 00:43:15,839 called airplants because they don't 1162 00:43:15,839 --> 00:43:18,079 require soil to the point that they 1163 00:43:18,079 --> 00:43:20,160 can't survive in any substrate that 1164 00:43:20,160 --> 00:43:22,640 remains uh saturated with water for any 1165 00:43:22,640 --> 00:43:24,800 period of time. 1166 00:43:24,800 --> 00:43:26,720 They photosynthesize like typical 1167 00:43:26,720 --> 00:43:28,880 plants, but any root systems they grow 1168 00:43:28,880 --> 00:43:31,040 are entirely structural and exist for 1169 00:43:31,040 --> 00:43:32,720 the purpose of gripping the surface on 1170 00:43:32,720 --> 00:43:35,280 which they grow. They're not parasitic. 1171 00:43:35,280 --> 00:43:36,960 While most grow on trees and other 1172 00:43:36,960 --> 00:43:38,880 plants, they're independent organisms 1173 00:43:38,880 --> 00:43:40,720 that are only using the other plant as a 1174 00:43:40,720 --> 00:43:43,359 base. They also grow on rocks and in 1175 00:43:43,359 --> 00:43:46,800 desert sand. So, how do they survive? 1176 00:43:46,800 --> 00:43:48,960 They absorb water from the rain, dew, 1177 00:43:48,960 --> 00:43:51,359 and fog and nutrient from dust and other 1178 00:43:51,359 --> 00:43:53,440 debris in the air via small structures 1179 00:43:53,440 --> 00:43:56,000 on their leaves called tricoms. On some 1180 00:43:56,000 --> 00:43:58,079 plants, tricoms are nearly invisible. On 1181 00:43:58,079 --> 00:43:59,839 others, they typically appear as a light 1182 00:43:59,839 --> 00:44:02,319 dusting, and in extreme cases, they look 1183 00:44:02,319 --> 00:44:04,800 like tribles. 1184 00:44:04,800 --> 00:44:06,640 Tencia can range in size from a 1185 00:44:06,640 --> 00:44:08,640 centimeter to a meter and a half tall. 1186 00:44:08,640 --> 00:44:10,560 They're flowering plants pollinated by 1187 00:44:10,560 --> 00:44:12,960 moths, hummingbirds, and bats. They can 1188 00:44:12,960 --> 00:44:14,800 take anywhere from months to years to 1189 00:44:14,800 --> 00:44:16,720 flower and do so only once in their 1190 00:44:16,720 --> 00:44:19,200 lifespan. Flowering is followed by the 1191 00:44:19,200 --> 00:44:21,440 production of offsets called pups, 1192 00:44:21,440 --> 00:44:23,280 usually formed at the base of the plant, 1193 00:44:23,280 --> 00:44:26,240 followed by death. Okay, show of hands. 1194 00:44:26,240 --> 00:44:27,599 How many of you failed to keep house 1195 00:44:27,599 --> 00:44:30,400 plants alive? Okay, keep your hands up 1196 00:44:30,400 --> 00:44:31,760 if it's because you forget to water 1197 00:44:31,760 --> 00:44:33,359 them. 1198 00:44:33,359 --> 00:44:35,680 Okay, so due to the lack of roots and 1199 00:44:35,680 --> 00:44:37,680 the nature of tricoms, tancia require 1200 00:44:37,680 --> 00:44:39,200 less frequent waterings than other types 1201 00:44:39,200 --> 00:44:41,760 of plants. There are two camps on this. 1202 00:44:41,760 --> 00:44:44,720 There is team mist and team soak. I'm on 1203 00:44:44,720 --> 00:44:47,440 team mist because I'm lazy. Team soak 1204 00:44:47,440 --> 00:44:49,040 requires a bucket of water and a lot of 1205 00:44:49,040 --> 00:44:50,720 space to put them upside down to dry. 1206 00:44:50,720 --> 00:44:52,640 And in my case, remembering what order 1207 00:44:52,640 --> 00:44:55,440 to put them back. Team mist is really 1208 00:44:55,440 --> 00:44:57,599 supposed to involve misting them daily, 1209 00:44:57,599 --> 00:44:59,760 but I remember a few times a week at 1210 00:44:59,760 --> 00:45:01,760 most, and most of them are surviving 1211 00:45:01,760 --> 00:45:04,000 happily. 1212 00:45:04,000 --> 00:45:05,680 Uh, lighting needs differ based on 1213 00:45:05,680 --> 00:45:07,839 species, ranging from shade to full sun, 1214 00:45:07,839 --> 00:45:09,839 and various cheap LEDs are the proper 1215 00:45:09,839 --> 00:45:12,079 wavelength for growing them. Temperature 1216 00:45:12,079 --> 00:45:14,160 needs range from 10 to 32 degrees, 1217 00:45:14,160 --> 00:45:15,760 though for most of them the ideal range 1218 00:45:15,760 --> 00:45:18,880 is 20 to 25. For those following along 1219 00:45:18,880 --> 00:45:21,839 at home, that's Celsius, not Fahrenheit. 1220 00:45:21,839 --> 00:45:23,359 Even though the original plant dies 1221 00:45:23,359 --> 00:45:25,359 after flowering, pups will continue to 1222 00:45:25,359 --> 00:45:27,280 grow and can be removed when they reach 1223 00:45:27,280 --> 00:45:28,560 at least a third of the size of the 1224 00:45:28,560 --> 00:45:30,560 parent, giving you a theoretically 1225 00:45:30,560 --> 00:45:33,520 neverending supply of plants. 1226 00:45:33,520 --> 00:45:35,440 So, what does this have to do with AI? 1227 00:45:35,440 --> 00:45:37,280 Nothing. 1228 00:45:37,280 --> 00:45:38,800 But it does go to show that you don't 1229 00:45:38,800 --> 00:45:40,560 have to have a resource inensive water 1230 00:45:40,560 --> 00:45:42,960 consuming behemoth involving massive 1231 00:45:42,960 --> 00:45:44,800 massive land use to build something 1232 00:45:44,800 --> 00:45:47,200 amazing. You can choose instead to 1233 00:45:47,200 --> 00:45:49,440 cultivate something small, meaningful, 1234 00:45:49,440 --> 00:45:52,240 and self- sustaining. Will it solve your 1235 00:45:52,240 --> 00:45:55,760 existential crisis? No. But it'll give 1236 00:45:55,760 --> 00:45:57,440 you something beautiful to focus on when 1237 00:45:57,440 --> 00:46:00,720 you need a distraction from 1238 00:46:00,720 --> 00:46:04,186 Thank you. [applause] 1239 00:46:08,240 --> 00:46:10,800 Thank you so so much, Katney. I my 1240 00:46:10,800 --> 00:46:13,599 existential crisis remains, but I am 1241 00:46:13,599 --> 00:46:15,599 very glad to have a solution for the 1242 00:46:15,599 --> 00:46:18,800 fact that I am a terrible partner. Uh on 1243 00:46:18,800 --> 00:46:24,400 deck is Ash. Uh but up next is Ashley. 1244 00:46:24,400 --> 00:46:26,800 Awesome. Hey everyone. Uh I'm going to 1245 00:46:26,800 --> 00:46:27,760 get everyone to lock the doors. We're 1246 00:46:27,760 --> 00:46:29,520 talking about maths today. Uh good day. 1247 00:46:29,520 --> 00:46:30,880 I'm Ashley again. I spoke earlier. I was 1248 00:46:30,880 --> 00:46:32,160 speaking again. Uh you can't get rid of 1249 00:46:32,160 --> 00:46:33,680 me. So, we're going to talk about the 1250 00:46:33,680 --> 00:46:34,880 girls square network. Uh, shout out to 1251 00:46:34,880 --> 00:46:35,760 the girls square network. They're 1252 00:46:35,760 --> 00:46:36,880 awesome. We run free coding workshops 1253 00:46:36,880 --> 00:46:39,839 for kids. Woo. Uh, I do t allocations. 1254 00:46:39,839 --> 00:46:41,520 This means in one workshop I need to 1255 00:46:41,520 --> 00:46:42,640 work out how to put dozens of tutors 1256 00:46:42,640 --> 00:46:44,000 into classrooms plus lectures plus all 1257 00:46:44,000 --> 00:46:45,920 the jobs. It's a big mess. Uh, and it 1258 00:46:45,920 --> 00:46:47,200 looks like spreadsheet TED. It looks 1259 00:46:47,200 --> 00:46:48,319 like that. We're doing all these things 1260 00:46:48,319 --> 00:46:49,920 at once and it's a mess. We got all 1261 00:46:49,920 --> 00:46:51,040 these rooms. We got people. We got to do 1262 00:46:51,040 --> 00:46:53,200 jobs like pizza and it's a whole thing. 1263 00:46:53,200 --> 00:46:55,440 Uh, and so yeah, surely there's one 1264 00:46:55,440 --> 00:46:57,599 perfect allocation for this. Uh, what 1265 00:46:57,599 --> 00:46:59,040 does it look like, right? Uh, every 1266 00:46:59,040 --> 00:47:01,440 tutor gets one room. Uh, leads stay in 1267 00:47:01,440 --> 00:47:02,960 their rooms. So, we all have leaves for 1268 00:47:02,960 --> 00:47:04,160 rooms to like run the room, make sure it 1269 00:47:04,160 --> 00:47:05,520 works. Uh, lecture to the tutor. 1270 00:47:05,520 --> 00:47:07,359 Someone's got to like teach the content. 1271 00:47:07,359 --> 00:47:08,560 Uh, we also have to enforce that like 1272 00:47:08,560 --> 00:47:10,079 time is linear. We can't put two people 1273 00:47:10,079 --> 00:47:11,680 in or one person in two rooms at once, 1274 00:47:11,680 --> 00:47:12,880 unfortunately. Uh, this would have 1275 00:47:12,880 --> 00:47:14,319 helped us a lot of times, but doesn't 1276 00:47:14,319 --> 00:47:16,880 work. Uh, also like we got to do jobs 1277 00:47:16,880 --> 00:47:18,400 like pizza. Pizza makes us harder. Uh, 1278 00:47:18,400 --> 00:47:19,520 we got to pull people out of rooms 1279 00:47:19,520 --> 00:47:21,200 halfway through the day for that. So, we 1280 00:47:21,200 --> 00:47:23,119 got all these things going on. Uh, also 1281 00:47:23,119 --> 00:47:24,400 like buddies. We don't want to split the 1282 00:47:24,400 --> 00:47:25,440 buddies up. People have friends and they 1283 00:47:25,440 --> 00:47:27,200 want to be with their friends. Uh, and 1284 00:47:27,200 --> 00:47:29,040 so, yeah, also people have opinions 1285 00:47:29,040 --> 00:47:31,040 unfortunately. uh people want to be like 1286 00:47:31,040 --> 00:47:32,480 beginners or advanced and that's also a 1287 00:47:32,480 --> 00:47:33,440 whole thing or they want to do this 1288 00:47:33,440 --> 00:47:34,720 lecture and that lecture or this job and 1289 00:47:34,720 --> 00:47:37,200 that job. We got all that. It's a mess. 1290 00:47:37,200 --> 00:47:38,880 Uh and so we have this problem where we 1291 00:47:38,880 --> 00:47:40,240 move one tutor and then all these other 1292 00:47:40,240 --> 00:47:42,560 constraints fall over and everything's 1293 00:47:42,560 --> 00:47:45,040 bad. So we need to make this work 1294 00:47:45,040 --> 00:47:46,640 somehow and if you do it manually it's a 1295 00:47:46,640 --> 00:47:48,319 mess. So I made a computer do it. 1296 00:47:48,319 --> 00:47:49,280 Computers are great at this stuff. They 1297 00:47:49,280 --> 00:47:50,720 can crunch all the numbers and do it. 1298 00:47:50,720 --> 00:47:52,000 But how do you actually like encode all 1299 00:47:52,000 --> 00:47:53,119 this information that's complex 1300 00:47:53,119 --> 00:47:54,880 decision-m into something a computer can 1301 00:47:54,880 --> 00:47:57,680 do? Uh so we'll start simple. We'll turn 1302 00:47:57,680 --> 00:47:58,800 every choice into a yes or no. For 1303 00:47:58,800 --> 00:48:00,160 example, we can represent if a tutor is 1304 00:48:00,160 --> 00:48:03,760 in a room uh for some tutor and our room 1305 00:48:03,760 --> 00:48:05,680 as 0 or one. Either they are in the room 1306 00:48:05,680 --> 00:48:09,040 or they are not in the room. So we put 1307 00:48:09,040 --> 00:48:10,480 in the matrix looks like that. We've got 1308 00:48:10,480 --> 00:48:12,400 our rooms, we got our tutors. Uh and we 1309 00:48:12,400 --> 00:48:14,160 can define constraints mathematically. 1310 00:48:14,160 --> 00:48:16,720 We got back to the maths uh like this. 1311 00:48:16,720 --> 00:48:19,280 We say for some room, we sum that room 1312 00:48:19,280 --> 00:48:22,160 for all tutors that must add to one uh 1313 00:48:22,160 --> 00:48:24,319 sorry for some tutor uh for all rooms 1314 00:48:24,319 --> 00:48:25,839 that must sum to one. Which means that 1315 00:48:25,839 --> 00:48:28,400 tutor is in exactly one room. 1316 00:48:28,400 --> 00:48:30,240 Uh we can also pin things like a lead. 1317 00:48:30,240 --> 00:48:33,839 So we say we lock that that lead is one. 1318 00:48:33,839 --> 00:48:36,079 Uh which is really good. Um we can also 1319 00:48:36,079 --> 00:48:37,200 do things like there's one tutor per 1320 00:48:37,200 --> 00:48:38,880 lecture slot. And all of our constraints 1321 00:48:38,880 --> 00:48:40,400 actually become mathematical. We can 1322 00:48:40,400 --> 00:48:41,839 also define more complex constraints 1323 00:48:41,839 --> 00:48:43,680 like keeping the student numbers roughly 1324 00:48:43,680 --> 00:48:45,599 even. So we say that the the delta 1325 00:48:45,599 --> 00:48:47,440 between any two rooms of the sum of the 1326 00:48:47,440 --> 00:48:49,680 tutors in that room is within about two 1327 00:48:49,680 --> 00:48:51,440 of each other. So that we can't say that 1328 00:48:51,440 --> 00:48:53,200 like one room has like four tutors, one 1329 00:48:53,200 --> 00:48:55,920 room has like 11 tutors cuz that's bad. 1330 00:48:55,920 --> 00:48:58,160 Um, and so through this we can throw out 1331 00:48:58,160 --> 00:49:00,319 all the like impossible solutions for 1332 00:49:00,319 --> 00:49:02,720 how we put in rooms. Uh, which is great, 1333 00:49:02,720 --> 00:49:04,480 but also this is not like a clean cut 1334 00:49:04,480 --> 00:49:05,920 problem where there is like one exactly 1335 00:49:05,920 --> 00:49:07,520 correct solution and then no other 1336 00:49:07,520 --> 00:49:08,559 solution is correct. It's actually a lot 1337 00:49:08,559 --> 00:49:10,480 of correct solutions and some of them 1338 00:49:10,480 --> 00:49:13,359 suck. Uh, so yeah, some rules are rules 1339 00:49:13,359 --> 00:49:15,280 and some rules are vibes. Uh, so how do 1340 00:49:15,280 --> 00:49:16,960 we how do we do vibes, right? Like a 1341 00:49:16,960 --> 00:49:18,400 lecture slot, no one teaches the 1342 00:49:18,400 --> 00:49:19,440 lecture. That's that's bad. That's a 1343 00:49:19,440 --> 00:49:21,359 rule. We don't want to do that. But a 1344 00:49:21,359 --> 00:49:22,640 buddy pair being split, that's that's 1345 00:49:22,640 --> 00:49:24,400 kind of vibe space, right? like maybe 1346 00:49:24,400 --> 00:49:25,680 they can be split if like there's no 1347 00:49:25,680 --> 00:49:27,839 other option. So we start giving the 1348 00:49:27,839 --> 00:49:30,240 vise points. We say hey uh preferred 1349 00:49:30,240 --> 00:49:31,440 level that's really important. Uh 1350 00:49:31,440 --> 00:49:32,400 buddies together that's kind of 1351 00:49:32,400 --> 00:49:34,160 important. Preferred morning job that's 1352 00:49:34,160 --> 00:49:35,200 less important. They can go wherever 1353 00:49:35,200 --> 00:49:36,319 they need if we're like leading someone 1354 00:49:36,319 --> 00:49:39,040 on a different job. And we wait up how 1355 00:49:39,040 --> 00:49:40,559 many of these we satisfy we get a number 1356 00:49:40,559 --> 00:49:42,160 and this is like how good our solution 1357 00:49:42,160 --> 00:49:43,520 is. That's great. We have a number. We 1358 00:49:43,520 --> 00:49:44,559 can find the highest number. But 1359 00:49:44,559 --> 00:49:46,640 actually no that's also bad. Uh because 1360 00:49:46,640 --> 00:49:48,000 maybe we have like one really important 1361 00:49:48,000 --> 00:49:48,960 thing and then a couple of like 1362 00:49:48,960 --> 00:49:51,040 unimportant things that are slightly 1363 00:49:51,040 --> 00:49:52,079 better because there's a whole bunch of 1364 00:49:52,079 --> 00:49:53,119 them. And wait, something's going to 1365 00:49:53,119 --> 00:49:54,559 pick that because it's it's just picking 1366 00:49:54,559 --> 00:49:55,599 the highest number and that's a bigger 1367 00:49:55,599 --> 00:49:57,359 number. So here's the question. What 1368 00:49:57,359 --> 00:49:59,040 does perfect actually mean? Right? 1369 00:49:59,040 --> 00:50:00,240 Because I can look at that and say, "Ah, 1370 00:50:00,240 --> 00:50:01,520 no, like intuitively I know that's 1371 00:50:01,520 --> 00:50:02,720 wrong, but I told the computer that's 1372 00:50:02,720 --> 00:50:03,760 right. The computer says that's right. 1373 00:50:03,760 --> 00:50:06,880 So we've got them wrong." So uh actually 1374 00:50:06,880 --> 00:50:08,400 we have an order. We we have an order 1375 00:50:08,400 --> 00:50:09,440 for the things we want to solve, which 1376 00:50:09,440 --> 00:50:10,720 is roughly that like don't bend the 1377 00:50:10,720 --> 00:50:11,920 rules. Don't put two people in one place 1378 00:50:11,920 --> 00:50:13,680 at the same time. Uh if we are like 1379 00:50:13,680 --> 00:50:14,960 moving things around after we've already 1380 00:50:14,960 --> 00:50:16,000 allocated, we don't want to move people 1381 00:50:16,000 --> 00:50:18,720 around to where they are. if we are 1382 00:50:18,720 --> 00:50:21,359 fixing up for people being away. Uh we 1383 00:50:21,359 --> 00:50:22,319 want to cover the important jobs. We 1384 00:50:22,319 --> 00:50:23,200 want to make sure like things are 1385 00:50:23,200 --> 00:50:25,200 staffed. We want to be fair. We want to 1386 00:50:25,200 --> 00:50:28,400 like give people um reasonable jobs and 1387 00:50:28,400 --> 00:50:29,440 things and we also want to honor 1388 00:50:29,440 --> 00:50:30,640 preferences. We want to like make sure 1389 00:50:30,640 --> 00:50:31,760 people who have friends can stay 1390 00:50:31,760 --> 00:50:34,160 together etc etc. Uh and so we actually 1391 00:50:34,160 --> 00:50:35,760 build a lexical graphic sorting system 1392 00:50:35,760 --> 00:50:37,680 where we do something like this where we 1393 00:50:37,680 --> 00:50:39,440 lock in constraints gradually as we go 1394 00:50:39,440 --> 00:50:41,359 down that sort of tier list of 1395 00:50:41,359 --> 00:50:42,880 constraints so that once we know that 1396 00:50:42,880 --> 00:50:45,440 like we can fit uh these requirements 1397 00:50:45,440 --> 00:50:47,200 for not moving people around, we lock 1398 00:50:47,200 --> 00:50:48,559 that in. We don't allow it to change 1399 00:50:48,559 --> 00:50:50,160 when we're optimizing. So we optimize 1400 00:50:50,160 --> 00:50:52,000 one step at a time and maximize as we 1401 00:50:52,000 --> 00:50:53,520 go. So we can converge on a best 1402 00:50:53,520 --> 00:50:56,240 solution by finding the best improvement 1403 00:50:56,240 --> 00:50:57,839 on the constraints we've already locked 1404 00:50:57,839 --> 00:50:59,760 in as a high requirement. uh which 1405 00:50:59,760 --> 00:51:00,880 technically is linear programming. It's 1406 00:51:00,880 --> 00:51:03,839 also uh a lesson graphics aing system. 1407 00:51:03,839 --> 00:51:06,480 It's fun words. Uh this is how we decide 1408 00:51:06,480 --> 00:51:08,000 not the perfect system but the least bad 1409 00:51:08,000 --> 00:51:10,000 option in the right order for the girls 1410 00:51:10,000 --> 00:51:13,950 programming network. There we go. 1411 00:51:13,950 --> 00:51:15,970 [applause] 1412 00:51:18,079 --> 00:51:21,440 Thank you Ashley for volunteering for 1413 00:51:21,440 --> 00:51:25,559 scheduling next year's Pyon AU. 1414 00:51:25,760 --> 00:51:28,559 Uh on deck we have Katie Bell. Uh but 1415 00:51:28,559 --> 00:51:32,680 for right now we have Ash. 1416 00:51:32,945 --> 00:51:33,839 [applause] 1417 00:51:33,839 --> 00:51:36,000 Hello. Uh cool. You can hear me. Um God, 1418 00:51:36,000 --> 00:51:38,160 trans women need to pick more uh 1419 00:51:38,160 --> 00:51:40,319 original names. Anyway, I'm here to give 1420 00:51:40,319 --> 00:51:41,839 another talk about pants for those of 1421 00:51:41,839 --> 00:51:44,960 you who were here last year at Pyon. So, 1422 00:51:44,960 --> 00:51:46,720 uh who here is wearing jeans? Show of 1423 00:51:46,720 --> 00:51:49,680 hands. Yeah, cool. Who has a favorite 1424 00:51:49,680 --> 00:51:52,000 pair of jeans? Keep showing your hands. 1425 00:51:52,000 --> 00:51:54,319 Um ask yourself why they're your 1426 00:51:54,319 --> 00:51:56,319 favorite pair. come tell me after the 1427 00:51:56,319 --> 00:51:57,520 talk or after all of the lightning 1428 00:51:57,520 --> 00:51:58,800 talks. I'm genuinely keen to hear. I 1429 00:51:58,800 --> 00:52:00,240 don't have time to hear it now. Anyway, 1430 00:52:00,240 --> 00:52:02,640 uh there is a jeans competition and last 1431 00:52:02,640 --> 00:52:04,559 year or last competition, this was the 1432 00:52:04,559 --> 00:52:05,760 coolest pair of jeans in the world. Uh 1433 00:52:05,760 --> 00:52:07,040 this is the same pair as last year cuz 1434 00:52:07,040 --> 00:52:09,520 the current competition hasn't finished. 1435 00:52:09,520 --> 00:52:12,480 How is this judged? It's judged by this 1436 00:52:12,480 --> 00:52:15,440 happy little Swedish man on the my left, 1437 00:52:15,440 --> 00:52:17,200 stage left, stage right. Uh his name is 1438 00:52:17,200 --> 00:52:20,559 Rudy Kra and he runs the Swiss Jeans 1439 00:52:20,559 --> 00:52:22,000 Museum and he's apparently the world's 1440 00:52:22,000 --> 00:52:23,920 foremost expert on jeans. And at the end 1441 00:52:23,920 --> 00:52:25,200 of this competition, because there's a 1442 00:52:25,200 --> 00:52:26,640 bunch of people that are nerdy about 1443 00:52:26,640 --> 00:52:28,880 jeans, I'm sure you're all uh acutely 1444 00:52:28,880 --> 00:52:31,040 aware and familiar with uh autistic 1445 00:52:31,040 --> 00:52:33,119 special interests. Um he will decide who 1446 00:52:33,119 --> 00:52:35,200 has the best jeans. Anyway, so last year 1447 00:52:35,200 --> 00:52:37,200 I entered the competition. Um and you're 1448 00:52:37,200 --> 00:52:39,760 probably wondering what they started 1449 00:52:39,760 --> 00:52:40,960 like. Here's what they started like. 1450 00:52:40,960 --> 00:52:41,920 They looked a little bit different when 1451 00:52:41,920 --> 00:52:43,920 they were on me and I was on stage then. 1452 00:52:43,920 --> 00:52:46,800 Here's what they look like now after 1453 00:52:46,800 --> 00:52:48,400 Yeah. Yeah. I'm wearing them now. So 1454 00:52:48,400 --> 00:52:50,559 cool. Yeah. Yep. Sure. Um, and you're 1455 00:52:50,559 --> 00:52:54,160 probably wondering, I didn't finish. 1456 00:52:54,160 --> 00:52:56,480 So, unfortunately, uh, changing your 1457 00:52:56,480 --> 00:52:58,240 medication and getting rapid weight 1458 00:52:58,240 --> 00:53:00,000 fluctuations as you enter a clothing 1459 00:53:00,000 --> 00:53:03,040 competition is not great cuz your pants 1460 00:53:03,040 --> 00:53:04,559 don't fit anymore. But I've had them 1461 00:53:04,559 --> 00:53:07,440 altered, so I can wear them here. But 1462 00:53:07,440 --> 00:53:09,040 because you're all nerds, we have some 1463 00:53:09,040 --> 00:53:11,280 statistics and normalized by roughly the 1464 00:53:11,280 --> 00:53:12,640 amount of time that I did wear the 1465 00:53:12,640 --> 00:53:16,240 pants. So, what do we have? We had 153 1466 00:53:16,240 --> 00:53:19,440 wear days and that equated to about 1467 00:53:19,440 --> 00:53:21,359 1,80. 1468 00:53:21,359 --> 00:53:24,160 A lot of steps. Yeah. Um 31 milligs of 1469 00:53:24,160 --> 00:53:25,606 estrogen injected. Yeah. Yeah. 1470 00:53:25,606 --> 00:53:27,440 [cheering] 1471 00:53:27,440 --> 00:53:29,536 I knew this was the right audience. 1472 00:53:29,536 --> 00:53:30,847 [laughter] 1473 00:53:30,847 --> 00:53:33,920 [snorts] Six cameras acquired in that 1474 00:53:33,920 --> 00:53:37,040 period of time. Uh 68 rolls of film 1475 00:53:37,040 --> 00:53:39,359 shot. So, 1476 00:53:39,359 --> 00:53:42,880 oh wait, wait, wait. Hey, 1477 00:53:42,880 --> 00:53:47,280 69. Thank you. 1478 00:53:47,280 --> 00:53:49,680 150 or more climbs falling off. I didn't 1479 00:53:49,680 --> 00:53:51,520 take a really good count of that, but 1480 00:53:51,520 --> 00:53:53,119 hey, you know, I like hitting the 1481 00:53:53,119 --> 00:53:56,000 ground. Uh, one bathroom demolished and 1482 00:53:56,000 --> 00:53:57,920 partially rebuilt. I swear it wasn't by 1483 00:53:57,920 --> 00:53:59,359 doing a massive [ __ ] at the time my 1484 00:53:59,359 --> 00:54:02,720 pipes burst. Um, again, the pipes burst, 1485 00:54:02,720 --> 00:54:06,272 not because of my poops. [laughter] 1486 00:54:06,800 --> 00:54:08,480 Unfortunately, the year has thrown some 1487 00:54:08,480 --> 00:54:10,960 curve balls, too. So, you'll probably 1488 00:54:10,960 --> 00:54:12,960 for those of you here last year um 1489 00:54:12,960 --> 00:54:14,800 unfortunately two of my grandparents 1490 00:54:14,800 --> 00:54:17,520 passed and I got the news while I was 1491 00:54:17,520 --> 00:54:19,280 for both of them while I was wearing 1492 00:54:19,280 --> 00:54:22,240 these pants. Um and two of my pets 1493 00:54:22,240 --> 00:54:24,319 passed away within about 2 weeks of each 1494 00:54:24,319 --> 00:54:26,800 other. So, um I'm not sure whether the 1495 00:54:26,800 --> 00:54:30,160 jeans or pyon is cursed. Um praying for 1496 00:54:30,160 --> 00:54:32,240 a better 12 months. Um but it hasn't 1497 00:54:32,240 --> 00:54:33,760 been all doom and gloom. I've made a 1498 00:54:33,760 --> 00:54:35,760 bunch of new friends, including one whom 1499 00:54:35,760 --> 00:54:38,880 I managed to drag to Pyon this year. Um, 1500 00:54:38,880 --> 00:54:41,280 yeah, literally the first interaction 1501 00:54:41,280 --> 00:54:43,200 was uh her giving me [ __ ] because I 1502 00:54:43,200 --> 00:54:44,559 flashed a climb while I was wearing 1503 00:54:44,559 --> 00:54:47,599 these. Um, yeah, I believe the words 1504 00:54:47,599 --> 00:54:50,757 were [ __ ] climbing in jeans. 1505 00:54:50,757 --> 00:54:51,920 [laughter] 1506 00:54:51,920 --> 00:54:54,319 Right. But the theme of the object, the 1507 00:54:54,319 --> 00:54:57,520 theme of the talk is that objects carry 1508 00:54:57,520 --> 00:54:59,440 memories and memories of their usage and 1509 00:54:59,440 --> 00:55:01,200 the events that occur as part of that 1510 00:55:01,200 --> 00:55:03,599 usage. Patina, fading, repairs are 1511 00:55:03,599 --> 00:55:05,359 unique to each object and the way we 1512 00:55:05,359 --> 00:55:06,880 interact with them and the way those 1513 00:55:06,880 --> 00:55:10,480 objects interact with the world. So on 1514 00:55:10,480 --> 00:55:12,079 the jeans, there's a couple of bleach 1515 00:55:12,079 --> 00:55:14,960 stains cuz I bleached my hair during 1516 00:55:14,960 --> 00:55:16,720 one, two, three, many mental breakdowns. 1517 00:55:16,720 --> 00:55:19,440 It's fine. [laughter and gasps] 1518 00:55:19,440 --> 00:55:21,920 I'm into photography. I wear the right 1519 00:55:21,920 --> 00:55:23,440 knee a little bit harder. I hope you can 1520 00:55:23,440 --> 00:55:24,559 see that on the screen. It's a little 1521 00:55:24,559 --> 00:55:25,920 bit more faded. So whenever I get down 1522 00:55:25,920 --> 00:55:27,440 and take a photo, it's usually on that 1523 00:55:27,440 --> 00:55:30,400 knee. Uh I have a hole in the back. It's 1524 00:55:30,400 --> 00:55:32,000 It looks like a band-aid, which is kind 1525 00:55:32,000 --> 00:55:33,359 of gross, but it's actually a patch that 1526 00:55:33,359 --> 00:55:34,800 looks like a band-aid. Um that says, 1527 00:55:34,800 --> 00:55:36,319 "Ouch." I thought it was really cute. Um 1528 00:55:36,319 --> 00:55:38,240 and I put my phone in my back pocket and 1529 00:55:38,240 --> 00:55:42,000 it wore a hole in it. So, I asked you to 1530 00:55:42,000 --> 00:55:43,040 come see me and tell me what your 1531 00:55:43,040 --> 00:55:45,200 favorite pants were at the end of this. 1532 00:55:45,200 --> 00:55:47,839 But think about the objects in your life 1533 00:55:47,839 --> 00:55:49,839 and the memories they carry and how 1534 00:55:49,839 --> 00:55:52,079 those memories are created and how you 1535 00:55:52,079 --> 00:55:53,680 interact with those objects and actually 1536 00:55:53,680 --> 00:55:57,568 tell me about that. Thank you. 1537 00:55:57,568 --> 00:55:58,223 [cheering] 1538 00:55:58,223 --> 00:56:00,243 [applause] 1539 00:56:04,480 --> 00:56:06,640 Thank you so much, Ash, for uh getting 1540 00:56:06,640 --> 00:56:09,040 on stage, making jokes about trans women 1541 00:56:09,040 --> 00:56:10,720 all choosing the same name, and then 1542 00:56:10,720 --> 00:56:12,480 talking about your film photography 1543 00:56:12,480 --> 00:56:14,160 hobby, which is also something that I've 1544 00:56:14,160 --> 00:56:17,440 gotten into recently. [laughter] 1545 00:56:17,440 --> 00:56:20,720 We're all the same person. 1546 00:56:20,720 --> 00:56:23,680 On deck is Jack Skinner uh who will be 1547 00:56:23,680 --> 00:56:26,960 doing the closing uh presentation. 1548 00:56:26,960 --> 00:56:30,480 Unfortunately, this must come to an end. 1549 00:56:30,480 --> 00:56:34,640 Uh but lucky last Katie Bell. 1550 00:56:34,640 --> 00:56:36,869 Yeah. Okay. [cheering] 1551 00:56:36,869 --> 00:56:39,119 [applause] Cool. All right. Who was here 1552 00:56:39,119 --> 00:56:40,720 two days ago and saw the lightning talk 1553 00:56:40,720 --> 00:56:42,160 that Kai did about that weird list 1554 00:56:42,160 --> 00:56:42,880 thing? 1555 00:56:42,880 --> 00:56:45,359 Yeah. Cool. So did I. But in case you 1556 00:56:45,359 --> 00:56:46,880 weren't here and you're like, "What the 1557 00:56:46,880 --> 00:56:49,119 hell are you talking about?" Uh it was 1558 00:56:49,119 --> 00:56:50,799 to do with this code. So this Python 1559 00:56:50,799 --> 00:56:54,880 code um it creates a list of integers uh 1560 00:56:54,880 --> 00:56:57,359 about 2 million of them. Uh and then it 1561 00:56:57,359 --> 00:57:00,400 iterates over that list and it's weirdly 1562 00:57:00,400 --> 00:57:03,440 a lot faster when you use the originally 1563 00:57:03,440 --> 00:57:05,520 created list but if you shuffle the list 1564 00:57:05,520 --> 00:57:08,000 it's somehow a lot slower. It's the same 1565 00:57:08,000 --> 00:57:09,839 amount of data. Why does it take so much 1566 00:57:09,839 --> 00:57:12,799 longer to iterate over this list? Okay, 1567 00:57:12,799 --> 00:57:13,920 so we're going to simplify it a little 1568 00:57:13,920 --> 00:57:15,920 bit. Like the actual details of like 1569 00:57:15,920 --> 00:57:17,200 what we're doing or the values of the 1570 00:57:17,200 --> 00:57:18,880 numbers don't really matter. uh we can 1571 00:57:18,880 --> 00:57:20,400 still see that like it's a lot slower 1572 00:57:20,400 --> 00:57:22,240 when we shuffle basically any list and 1573 00:57:22,240 --> 00:57:24,480 iterate over it. 1574 00:57:24,480 --> 00:57:26,799 Uh so we create an ordered list and we 1575 00:57:26,799 --> 00:57:28,400 iterate over it. That's fast. We shuffle 1576 00:57:28,400 --> 00:57:30,319 it, it's slow. If we sort it back to its 1577 00:57:30,319 --> 00:57:32,960 original order, it's fast again. Uh but 1578 00:57:32,960 --> 00:57:34,720 if we create a list of random values, as 1579 00:57:34,720 --> 00:57:37,040 Kai demonstrated, uh you can iterate 1580 00:57:37,040 --> 00:57:38,480 over that and that's fast. But if you 1581 00:57:38,480 --> 00:57:40,559 sort it, it's now slower. And then if 1582 00:57:40,559 --> 00:57:42,160 you shuffle that list, it's still slow 1583 00:57:42,160 --> 00:57:43,359 because it's not in the original order 1584 00:57:43,359 --> 00:57:46,400 that it was in before. Uh, and this was 1585 00:57:46,400 --> 00:57:48,480 the question. Why? Why does why does 1586 00:57:48,480 --> 00:57:50,640 this happen? And I thought I knew the 1587 00:57:50,640 --> 00:57:52,799 answer. [laughter] 1588 00:57:52,799 --> 00:57:54,640 Um, 1589 00:57:54,640 --> 00:57:56,160 as did many people in this room and I 1590 00:57:56,160 --> 00:57:58,400 talked to a lot of you. Um, I'm less 1591 00:57:58,400 --> 00:57:59,839 sure now. It's more that it's one of 1592 00:57:59,839 --> 00:58:01,119 those things the more you know about it, 1593 00:58:01,119 --> 00:58:02,640 the more questions it raises and the 1594 00:58:02,640 --> 00:58:04,079 more you realize just how much you don't 1595 00:58:04,079 --> 00:58:06,480 know. Uh so this is my view of the 1596 00:58:06,480 --> 00:58:08,559 problem originally like Python allocates 1597 00:58:08,559 --> 00:58:10,079 the integers mostly sequentially in 1598 00:58:10,079 --> 00:58:12,880 memory and then uh when we go through 1599 00:58:12,880 --> 00:58:14,640 that in the order that they're in memory 1600 00:58:14,640 --> 00:58:15,839 it's faster than if you're like 1601 00:58:15,839 --> 00:58:18,559 accessing it randomly. Okay. Uh so if we 1602 00:58:18,559 --> 00:58:20,880 imagine the memory of your computer to 1603 00:58:20,880 --> 00:58:23,599 be like a rough grid uh you might think 1604 00:58:23,599 --> 00:58:26,079 of a Python list to be like this. It's 1605 00:58:26,079 --> 00:58:27,599 like oh yeah it's like I'm list in 1606 00:58:27,599 --> 00:58:29,440 memory and like these are the numbers. 1607 00:58:29,440 --> 00:58:31,359 It's not really like this because in 1608 00:58:31,359 --> 00:58:33,119 Python everything's an object. And so 1609 00:58:33,119 --> 00:58:35,760 your list is actually like a list of 1610 00:58:35,760 --> 00:58:38,240 like references to the Python objects, 1611 00:58:38,240 --> 00:58:40,000 the actual integer objects that might be 1612 00:58:40,000 --> 00:58:41,440 anywhere else in memory. They could be 1613 00:58:41,440 --> 00:58:42,640 anywhere. There's no particular 1614 00:58:42,640 --> 00:58:44,000 guarantee that they're all in the same 1615 00:58:44,000 --> 00:58:47,440 place. Um, and so maybe your list looks 1616 00:58:47,440 --> 00:58:49,920 like this, right? And you iterated over 1617 00:58:49,920 --> 00:58:51,200 over it sequentially and you're pulling 1618 00:58:51,200 --> 00:58:53,440 integers from anywhere in memory. Uh but 1619 00:58:53,440 --> 00:58:56,240 when you're creating this whole like 1620 00:58:56,240 --> 00:58:59,119 list of integers from scratch and you're 1621 00:58:59,119 --> 00:59:01,680 creating them in a particular order as 1622 00:59:01,680 --> 00:59:04,079 Python is allocating those integers in 1623 00:59:04,079 --> 00:59:06,319 memory it's mostly putting them in 1624 00:59:06,319 --> 00:59:07,839 order. It's not guaranteed to be in 1625 00:59:07,839 --> 00:59:09,599 order but it tends to kind of end up in 1626 00:59:09,599 --> 00:59:12,960 order. Um and when you shuffle that list 1627 00:59:12,960 --> 00:59:15,280 what you're really shuffling is which 1628 00:59:15,280 --> 00:59:16,799 integer you're pointing to at any one 1629 00:59:16,799 --> 00:59:19,119 time. And so as you iterate through that 1630 00:59:19,119 --> 00:59:20,319 list, you're kind of pulling out 1631 00:59:20,319 --> 00:59:23,280 different integers from memory. How can 1632 00:59:23,280 --> 00:59:25,680 we test this? Well, we can have a look 1633 00:59:25,680 --> 00:59:27,680 at what Python's actually doing because 1634 00:59:27,680 --> 00:59:29,119 there's this handy little ID function 1635 00:59:29,119 --> 00:59:31,200 that gives us a memory address for a 1636 00:59:31,200 --> 00:59:34,000 given Python object. And so I can see 1637 00:59:34,000 --> 00:59:36,480 where it's not the real physical memory 1638 00:59:36,480 --> 00:59:37,760 address. There's some caveats to that, 1639 00:59:37,760 --> 00:59:38,960 but it's close enough for what we want 1640 00:59:38,960 --> 00:59:41,839 to do. So for an integer in Python, I'm 1641 00:59:41,839 --> 00:59:42,799 going to ask you the question. Think 1642 00:59:42,799 --> 00:59:44,319 about what you think the answer is. In 1643 00:59:44,319 --> 00:59:46,000 Python, how much memory is used to store 1644 00:59:46,000 --> 00:59:48,480 an integer? Uh the answer is of course 1645 00:59:48,480 --> 00:59:50,640 it depends. Uh but I'm going to make it 1646 00:59:50,640 --> 00:59:52,640 a bit more specific on C Python 1647 00:59:52,640 --> 00:59:54,000 specifically. Other implementations of 1648 00:59:54,000 --> 00:59:55,440 Python could be completely different. 1649 00:59:55,440 --> 00:59:57,599 64-bit machine and the value is not a 1650 00:59:57,599 --> 01:00:00,240 particularly big value. Uh all right, 1651 01:00:00,240 --> 01:00:06,319 hands up if you think it's a B C D. Oh, 1652 01:00:06,319 --> 01:00:08,720 that's quite a mix. It's actually D 1653 01:00:08,720 --> 01:00:10,160 because it's not just storing the value 1654 01:00:10,160 --> 01:00:11,680 of the integer. It's storing like the 1655 01:00:11,680 --> 01:00:13,040 whole object with like the reference 1656 01:00:13,040 --> 01:00:14,880 counting and everything else as well. 1657 01:00:14,880 --> 01:00:17,280 Um, so we see in our list of big list of 1658 01:00:17,280 --> 01:00:20,240 numbers that the sequential numbers are 1659 01:00:20,240 --> 01:00:23,920 usually like 32 bytes apart in their 1660 01:00:23,920 --> 01:00:25,839 memory addresses. Anyway, we're going to 1661 01:00:25,839 --> 01:00:28,640 use these memory addresses to visualize 1662 01:00:28,640 --> 01:00:30,319 what our memory looks like. And this is 1663 01:00:30,319 --> 01:00:31,680 what I've spent like the entire 1664 01:00:31,680 --> 01:00:34,640 conference building. Um, so if we run 1665 01:00:34,640 --> 01:00:37,599 this, I've generated a list. So I've 1666 01:00:37,599 --> 01:00:41,119 only, this is only 2,000 integers. Um, 1667 01:00:41,119 --> 01:00:44,000 and there's 401 here when the rest of 1668 01:00:44,000 --> 01:00:45,599 them, if we scroll down, are like some 1669 01:00:45,599 --> 01:00:47,920 of them are here. 1670 01:00:47,920 --> 01:00:49,680 There's a bunch of them here and then 1671 01:00:49,680 --> 01:00:51,520 like 1672 01:00:51,520 --> 01:00:53,760 all of the rest of them down here. I 1673 01:00:53,760 --> 01:00:55,760 don't know. I'm running out of time. Um, 1674 01:00:55,760 --> 01:00:57,760 so to make it a bit easier to see, we 1675 01:00:57,760 --> 01:00:59,920 can see that like I've separated it into 1676 01:00:59,920 --> 01:01:01,119 pages and removed some of the empty 1677 01:01:01,119 --> 01:01:02,880 space. Uh but if we iterate through this 1678 01:01:02,880 --> 01:01:05,839 list in order, it's mostly kind of going 1679 01:01:05,839 --> 01:01:09,200 through the um the the integers in 1680 01:01:09,200 --> 01:01:12,000 order. But if I were to change this to 1681 01:01:12,000 --> 01:01:15,599 be a shuffled list and run that and 1682 01:01:15,599 --> 01:01:17,839 animate that, it's like jumping around 1683 01:01:17,839 --> 01:01:19,520 all over the place and it takes takes 1684 01:01:19,520 --> 01:01:22,240 longer generally. Okay, so I'm going to 1685 01:01:22,240 --> 01:01:25,359 stop that back to the slides. Okay, so 1686 01:01:25,359 --> 01:01:27,599 we find our original list in the order 1687 01:01:27,599 --> 01:01:28,720 that it was created. It's mostly 1688 01:01:28,720 --> 01:01:30,079 sequential. It's faster. We randomize 1689 01:01:30,079 --> 01:01:31,920 it. It's like, how do we test that? 1690 01:01:31,920 --> 01:01:33,920 Like, oh man, that was way too short. 1691 01:01:33,920 --> 01:01:35,440 Okay. 1692 01:01:35,440 --> 01:01:37,517 Uh, [laughter] 1693 01:01:37,517 --> 01:01:39,920 [applause and cheering] yeah. Anyway, 1694 01:01:39,920 --> 01:01:43,412 I didn't practice this enough. 1695 01:01:43,412 --> 01:01:45,432 [applause] 1696 01:01:47,359 --> 01:01:50,960 Thank you so much, Katie. 1697 01:01:50,960 --> 01:01:54,240 And sadly, that is it for Lightning 1698 01:01:54,240 --> 01:01:57,200 Talks. Thank you so much to all 12 of 1699 01:01:57,200 --> 01:02:00,319 our speakers today. That was a really 1700 01:02:00,319 --> 01:02:01,839 fun and and interesting slate of 1701 01:02:01,839 --> 01:02:03,280 lightning talks. Let's have a round of 1702 01:02:03,280 --> 01:02:06,839 applause for our speakers. 1703 01:02:06,992 --> 01:02:09,012 [applause]