1 00:00:00,480 --> 00:00:03,480 foreign 2 00:00:10,219 --> 00:00:16,619 hey thank you okay it's lightning talks 3 00:00:13,620 --> 00:00:19,080 time uh you know the deal five minutes 4 00:00:16,619 --> 00:00:22,859 of talk uh when we get to the last 10 or 5 00:00:19,080 --> 00:00:24,900 so seconds finger claps can we practice 6 00:00:22,859 --> 00:00:26,880 and then as the time goes down to the 7 00:00:24,900 --> 00:00:29,820 last two or three seconds we turn it 8 00:00:26,880 --> 00:00:31,560 into hand Applause proper claps and then 9 00:00:29,820 --> 00:00:34,140 an outrageous noise completely 10 00:00:31,560 --> 00:00:35,170 uproarious as we welcome to the stage 11 00:00:34,140 --> 00:00:38,679 Tom Eastman 12 00:00:35,170 --> 00:00:38,679 [Applause] 13 00:00:42,500 --> 00:00:46,379 okay I've got five minutes to try to 14 00:00:45,059 --> 00:00:47,760 convince you that these little lumps of 15 00:00:46,379 --> 00:00:49,500 hexadecimal are actually secretly 16 00:00:47,760 --> 00:00:51,180 incredibly fascinating 17 00:00:49,500 --> 00:00:52,920 um you've all probably seen uuids before 18 00:00:51,180 --> 00:00:54,539 you may or may not use them a lot you 19 00:00:52,920 --> 00:00:55,920 probably just use one version you're 20 00:00:54,539 --> 00:00:58,860 probably wondering why there's five 21 00:00:55,920 --> 00:01:00,780 versions of uuids you're probably 22 00:00:58,860 --> 00:01:02,760 wondering why even though there's five 23 00:01:00,780 --> 00:01:05,339 versions every company invents their own 24 00:01:02,760 --> 00:01:07,439 thing and why we're making even more 25 00:01:05,339 --> 00:01:09,360 versions so 26 00:01:07,439 --> 00:01:11,100 this is a whole bunch of uuid version 27 00:01:09,360 --> 00:01:12,720 ones this is the original design they're 28 00:01:11,100 --> 00:01:14,820 supposed to sort of be a unique 29 00:01:12,720 --> 00:01:15,960 identifier that lasts forever and is 30 00:01:14,820 --> 00:01:18,360 never going to collide with anything 31 00:01:15,960 --> 00:01:19,979 else about half of it is a time stamp 32 00:01:18,360 --> 00:01:21,420 and about half of it is a node ID and 33 00:01:19,979 --> 00:01:22,860 the node ID is like the MAC address of 34 00:01:21,420 --> 00:01:25,200 your computer 35 00:01:22,860 --> 00:01:27,900 um and they decided to put the time 36 00:01:25,200 --> 00:01:30,840 stamp in like little Indian order so 37 00:01:27,900 --> 00:01:32,100 that these things would not like uh grow 38 00:01:30,840 --> 00:01:33,600 down the bottom they wouldn't get bigger 39 00:01:32,100 --> 00:01:35,340 over time 40 00:01:33,600 --> 00:01:37,380 um this is kind of what the schematic of 41 00:01:35,340 --> 00:01:38,640 them looks like so there's like a how 42 00:01:37,380 --> 00:01:40,979 about half of it is the time and about 43 00:01:38,640 --> 00:01:43,020 half of it is the node ID 44 00:01:40,979 --> 00:01:45,540 um they've been building them like this 45 00:01:43,020 --> 00:01:47,820 since the 1990s 46 00:01:45,540 --> 00:01:50,100 um uuid4 is the probably was probably 47 00:01:47,820 --> 00:01:51,720 the one that you've see used a lot these 48 00:01:50,100 --> 00:01:52,979 days it's the one that's entirely random 49 00:01:51,720 --> 00:01:56,520 it didn't bother with the timestamp and 50 00:01:52,979 --> 00:01:58,439 it didn't bother with um the node ID and 51 00:01:56,520 --> 00:02:00,360 so that's what these ones look like or 52 00:01:58,439 --> 00:02:02,399 these These are those ones so they're 53 00:02:00,360 --> 00:02:04,140 just completely random 54 00:02:02,399 --> 00:02:06,119 um very unguessable very sort of 55 00:02:04,140 --> 00:02:08,580 cryptographically secure quite you often 56 00:02:06,119 --> 00:02:10,380 used as like um session IDs and tokens 57 00:02:08,580 --> 00:02:12,300 like that um they still make pretty good 58 00:02:10,380 --> 00:02:14,220 primary keys for your database but 59 00:02:12,300 --> 00:02:16,379 they start falling over for reasons why 60 00:02:14,220 --> 00:02:18,739 which we'll get into 61 00:02:16,379 --> 00:02:21,480 um there's a couple other versions so um 62 00:02:18,739 --> 00:02:23,400 uuid 5 is a weird one that you can use 63 00:02:21,480 --> 00:02:25,140 for creating taking anything you've 64 00:02:23,400 --> 00:02:27,540 already got and turning it into a uuid 65 00:02:25,140 --> 00:02:29,520 so I create my own little namespace and 66 00:02:27,540 --> 00:02:31,379 in that namespace the string one becomes 67 00:02:29,520 --> 00:02:33,060 this uuid and the string two becomes 68 00:02:31,379 --> 00:02:34,860 this uuid 69 00:02:33,060 --> 00:02:36,840 um that can be really useful if you have 70 00:02:34,860 --> 00:02:38,400 like a uuid shaped hole and need to put 71 00:02:36,840 --> 00:02:39,840 your own kind of primary key or 72 00:02:38,400 --> 00:02:42,680 identifier into it and there's like 73 00:02:39,840 --> 00:02:44,580 well-defined namespaces for like DNS or 74 00:02:42,680 --> 00:02:45,840 x509 certificates whatever the hell 75 00:02:44,580 --> 00:02:48,060 those are 76 00:02:45,840 --> 00:02:49,440 um so in Python there's five versions 77 00:02:48,060 --> 00:02:51,180 version one is the one I just showed you 78 00:02:49,440 --> 00:02:52,319 version two doesn't exist don't use it 79 00:02:51,180 --> 00:02:53,940 it's a weird Microsoft thing version 80 00:02:52,319 --> 00:02:55,980 three is a bad version of version five 81 00:02:53,940 --> 00:02:57,120 version four is the random one that you 82 00:02:55,980 --> 00:03:00,300 probably see everywhere version five is 83 00:02:57,120 --> 00:03:02,700 the one I just showed you why 84 00:03:00,300 --> 00:03:04,920 do these why do why do these disappoint 85 00:03:02,700 --> 00:03:07,319 people why um whenever you get to a big 86 00:03:04,920 --> 00:03:09,780 company why did all of these guys you 87 00:03:07,319 --> 00:03:12,540 know Instagram Twitter uh Twitter like 88 00:03:09,780 --> 00:03:13,980 three times actually mongodb all of 89 00:03:12,540 --> 00:03:16,860 these people kind of invented their own 90 00:03:13,980 --> 00:03:19,260 versions of unique identifiers 91 00:03:16,860 --> 00:03:21,300 uh all of them looked at uuids and 92 00:03:19,260 --> 00:03:23,819 decided they just weren't any use 93 00:03:21,300 --> 00:03:25,920 and the reason for that is 94 00:03:23,819 --> 00:03:27,180 once you once you're talking about it a 95 00:03:25,920 --> 00:03:30,000 big scale 96 00:03:27,180 --> 00:03:32,700 databases don't really like primary keys 97 00:03:30,000 --> 00:03:34,620 that aren't sortable people actually 98 00:03:32,700 --> 00:03:36,659 want to be able to generate uids that 99 00:03:34,620 --> 00:03:37,980 don't Collide but they want them to sort 100 00:03:36,659 --> 00:03:40,500 of appear next to each other if they 101 00:03:37,980 --> 00:03:42,180 were generated roughly the same time 102 00:03:40,500 --> 00:03:44,879 um there was a few other weird decisions 103 00:03:42,180 --> 00:03:46,799 made like in uuid1 they use the 104 00:03:44,879 --> 00:03:48,299 Gregorian Epoch which is a bit annoying 105 00:03:46,799 --> 00:03:49,860 to calculate compared to a Unix 106 00:03:48,299 --> 00:03:51,180 timestamp people got Unix timestamps a 107 00:03:49,860 --> 00:03:53,640 lot more better 108 00:03:51,180 --> 00:03:55,620 um you have to parse the time sequence 109 00:03:53,640 --> 00:03:56,159 weirdly if you want to 110 00:03:55,620 --> 00:03:59,040 um 111 00:03:56,159 --> 00:04:00,299 and using the node ID was decided to be 112 00:03:59,040 --> 00:04:01,500 a bad idea because you were exposing the 113 00:04:00,299 --> 00:04:03,900 MAC address of whatever generated the 114 00:04:01,500 --> 00:04:05,640 uuids so the number one reason was 115 00:04:03,900 --> 00:04:07,560 everyone kind of abandoned these things 116 00:04:05,640 --> 00:04:10,260 because we wanted number to go up we 117 00:04:07,560 --> 00:04:11,580 have um the ietc or crypto Burrs in a 118 00:04:10,260 --> 00:04:14,340 way 119 00:04:11,580 --> 00:04:16,799 so they're inventing new ones and the 120 00:04:14,340 --> 00:04:18,479 new ones modeled after 121 00:04:16,799 --> 00:04:20,220 um all of those things that I just 122 00:04:18,479 --> 00:04:23,220 showed you all of those pretty much all 123 00:04:20,220 --> 00:04:25,139 of those alternative implementations 124 00:04:23,220 --> 00:04:27,060 basically had the Common Thread that 125 00:04:25,139 --> 00:04:28,919 they all went up over time they were all 126 00:04:27,060 --> 00:04:30,740 just orderable so the First new version 127 00:04:28,919 --> 00:04:34,080 uid V6 128 00:04:30,740 --> 00:04:36,780 is exactly the same as uuid1 but all the 129 00:04:34,080 --> 00:04:38,639 fields are kind of reorganized 130 00:04:36,780 --> 00:04:40,500 um they're just reshuffled so that you 131 00:04:38,639 --> 00:04:41,880 actually have the big end of the time at 132 00:04:40,500 --> 00:04:44,580 the start kind of like you know year 133 00:04:41,880 --> 00:04:45,780 month day instead of like seriously it 134 00:04:44,580 --> 00:04:47,639 was kind of like almost American style 135 00:04:45,780 --> 00:04:49,199 it's like Year Day month or some [ __ ] 136 00:04:47,639 --> 00:04:51,660 like that I don't know 137 00:04:49,199 --> 00:04:54,840 um and then uuid V7 is actually 138 00:04:51,660 --> 00:04:57,120 incredibly simple to implement and um 139 00:04:54,840 --> 00:04:58,259 is the stand the the standard that will 140 00:04:57,120 --> 00:04:59,940 probably be the one everyone expects you 141 00:04:58,259 --> 00:05:02,220 to use going forward where the first 142 00:04:59,940 --> 00:05:03,900 half of it is like the Unix timestamp in 143 00:05:02,220 --> 00:05:05,780 milliseconds with some sub millisecond 144 00:05:03,900 --> 00:05:07,979 Precision down to like four thousand uh 145 00:05:05,780 --> 00:05:09,600 nanoseconds on the python implementation 146 00:05:07,979 --> 00:05:11,160 and then the rest of it is just random 147 00:05:09,600 --> 00:05:12,120 data and there's a couple of things in 148 00:05:11,160 --> 00:05:14,699 there 149 00:05:12,120 --> 00:05:16,199 um the uui 87 is pretty cool and it's 150 00:05:14,699 --> 00:05:17,759 fun to play with and it was fun to 151 00:05:16,199 --> 00:05:19,680 implement and you should probably use it 152 00:05:17,759 --> 00:05:21,240 in database Keys going forward 153 00:05:19,680 --> 00:05:23,940 um and then finally they invented uuid 154 00:05:21,240 --> 00:05:25,080 V8 which is just screw it do it yourself 155 00:05:23,940 --> 00:05:26,460 um you can put your own version 156 00:05:25,080 --> 00:05:28,380 specifier in there and then you can fill 157 00:05:26,460 --> 00:05:30,360 it up with whatever information is 158 00:05:28,380 --> 00:05:32,460 useful for your application so long 159 00:05:30,360 --> 00:05:35,100 story short if you want good primary 160 00:05:32,460 --> 00:05:36,780 keys do you use the new uidv7 if you 161 00:05:35,100 --> 00:05:39,120 want utterly unguessable ones you use 162 00:05:36,780 --> 00:05:42,860 uuid4 if you're doing weird stuff you 163 00:05:39,120 --> 00:05:42,860 might want uuid5 thank you so much 164 00:05:43,320 --> 00:05:48,120 thanks Tom 165 00:05:46,139 --> 00:05:50,639 Tom was betting to me that he wouldn't 166 00:05:48,120 --> 00:05:52,560 uh he wouldn't finish in time so uh 167 00:05:50,639 --> 00:05:54,600 thanks Tom 168 00:05:52,560 --> 00:05:56,639 um so up on Deck we have uh Noah 169 00:05:54,600 --> 00:05:58,020 kantrowitz who I think has heard that 170 00:05:56,639 --> 00:06:01,440 he's busy taking a microphone off 171 00:05:58,020 --> 00:06:03,360 someone but first Alex Ware and Eleanor 172 00:06:01,440 --> 00:06:04,979 Williams awesome uh so we came up with 173 00:06:03,360 --> 00:06:07,740 this idea last night the slides did not 174 00:06:04,979 --> 00:06:10,020 exist two hours ago let's do this we had 175 00:06:07,740 --> 00:06:11,940 the uh Canberra python user organizers 176 00:06:10,020 --> 00:06:15,060 us and Andrew Hicks in the crowd shout 177 00:06:11,940 --> 00:06:17,160 out and also Jonah um so how did this 178 00:06:15,060 --> 00:06:20,340 all start it's like Perth python News 179 00:06:17,160 --> 00:06:21,180 Group many years ago uh the girls from a 180 00:06:20,340 --> 00:06:22,560 couple of girls from Europe were 181 00:06:21,180 --> 00:06:24,539 attaching of this event called Jenga 182 00:06:22,560 --> 00:06:26,100 girls that invented two pycon Europe EU 183 00:06:24,539 --> 00:06:28,199 we went we've got six weeks can we do 184 00:06:26,100 --> 00:06:30,780 one in Brisbane and we did 185 00:06:28,199 --> 00:06:32,460 um uh we went and did I went did a lot 186 00:06:30,780 --> 00:06:34,740 of familiar faces there by the way 187 00:06:32,460 --> 00:06:36,900 um uh did a bunch of them around the 188 00:06:34,740 --> 00:06:38,819 world uh there had it's been a 189 00:06:36,900 --> 00:06:40,800 tremendously successful initiative 190 00:06:38,819 --> 00:06:42,479 um like literally tens of thousands of 191 00:06:40,800 --> 00:06:44,639 people lots of events in uh the current 192 00:06:42,479 --> 00:06:46,919 president is from Zimbabwe more events 193 00:06:44,639 --> 00:06:48,780 in Africa than in America 194 00:06:46,919 --> 00:06:50,759 um and we're really proud to pay 195 00:06:48,780 --> 00:06:53,580 excellent resources really proud to be 196 00:06:50,759 --> 00:06:55,680 part of it but it is now 2023 I have an 197 00:06:53,580 --> 00:06:56,819 organizer and in a while because um I 198 00:06:55,680 --> 00:06:59,340 had a family 199 00:06:56,819 --> 00:07:01,199 um but uh we wanted to do some research 200 00:06:59,340 --> 00:07:03,479 and Outreach initiatives 201 00:07:01,199 --> 00:07:05,880 um and noticing that still like half the 202 00:07:03,479 --> 00:07:07,440 people here don't kind of look like us 203 00:07:05,880 --> 00:07:10,139 so there's this organization called 50 204 00:07:07,440 --> 00:07:12,660 50 at the Anu that we decided to do some 205 00:07:10,139 --> 00:07:14,340 stuff with uh yep and then from that 206 00:07:12,660 --> 00:07:16,979 discussion we came about of what we 207 00:07:14,340 --> 00:07:18,840 wanted to do next and uh there was yeah 208 00:07:16,979 --> 00:07:20,099 I've organized a bunch of these why 209 00:07:18,840 --> 00:07:22,380 don't we haven't done one in ages let's 210 00:07:20,099 --> 00:07:23,460 organize one of these in Canberra and 211 00:07:22,380 --> 00:07:25,020 one of the lovely things about the 212 00:07:23,460 --> 00:07:26,759 application process for Django girls was 213 00:07:25,020 --> 00:07:28,139 it was so fast that we had an event and 214 00:07:26,759 --> 00:07:29,460 like a website up and running before 215 00:07:28,139 --> 00:07:30,960 we'd actually thought through whether it 216 00:07:29,460 --> 00:07:32,160 was a good idea to plan one for eight 217 00:07:30,960 --> 00:07:33,780 weeks 218 00:07:32,160 --> 00:07:34,919 um but at this point it was real so we 219 00:07:33,780 --> 00:07:36,419 were doing it 220 00:07:34,919 --> 00:07:38,039 um luckily Canberra has a bunch of 221 00:07:36,419 --> 00:07:40,500 incredible organizations that we were 222 00:07:38,039 --> 00:07:42,840 able to just in a huge Panic email and 223 00:07:40,500 --> 00:07:44,639 ask for help and we got support uh 224 00:07:42,840 --> 00:07:45,780 involvement promotion from all of these 225 00:07:44,639 --> 00:07:47,340 different people if you are doing any 226 00:07:45,780 --> 00:07:48,900 kinds of Grassroots organizing 227 00:07:47,340 --> 00:07:50,460 definitely check who else in your 228 00:07:48,900 --> 00:07:51,960 community has already done stuff and 229 00:07:50,460 --> 00:07:53,280 shout it to Linux Australia if you 230 00:07:51,960 --> 00:07:55,020 aren't aware of the community grants 231 00:07:53,280 --> 00:07:56,479 program we had an absolutely incredible 232 00:07:55,020 --> 00:07:58,919 experience 233 00:07:56,479 --> 00:08:00,360 so lovely in supporting us through the 234 00:07:58,919 --> 00:08:01,800 process of applying for money and they 235 00:08:00,360 --> 00:08:03,720 allowed us to pay for Pizza on the day 236 00:08:01,800 --> 00:08:04,319 very important 237 00:08:03,720 --> 00:08:06,720 um 238 00:08:04,319 --> 00:08:08,639 as well in organizing something like 239 00:08:06,720 --> 00:08:11,460 this having a user group with a massive 240 00:08:08,639 --> 00:08:13,380 mailing list very handy uh one of the 241 00:08:11,460 --> 00:08:14,580 best experiences was when we sent out a 242 00:08:13,380 --> 00:08:17,340 big email to the mailing list going 243 00:08:14,580 --> 00:08:19,800 please help we promised there will be an 244 00:08:17,340 --> 00:08:21,240 event hopefully uh looking the next day 245 00:08:19,800 --> 00:08:22,740 at all of the different people who had 246 00:08:21,240 --> 00:08:24,780 signed up as mentors especially the 247 00:08:22,740 --> 00:08:26,160 people we didn't necessarily expect once 248 00:08:24,780 --> 00:08:27,780 we had all those people signed up we 249 00:08:26,160 --> 00:08:29,099 then had to pair them up into groups 250 00:08:27,780 --> 00:08:31,860 where we were looking at roughly a group 251 00:08:29,099 --> 00:08:33,360 of like three attendees to One Mentor so 252 00:08:31,860 --> 00:08:35,219 social engineering for good we were 253 00:08:33,360 --> 00:08:37,140 trying to match people on any kind of 254 00:08:35,219 --> 00:08:39,599 similar interests this experience 255 00:08:37,140 --> 00:08:41,760 greatly improved by being at a pub with 256 00:08:39,599 --> 00:08:44,940 beer and burgers as we're figuring out 257 00:08:41,760 --> 00:08:46,320 that problem uh also in terms of things 258 00:08:44,940 --> 00:08:47,880 you learn when organizing stuff we 259 00:08:46,320 --> 00:08:49,620 forgot to tell people what the end time 260 00:08:47,880 --> 00:08:52,200 of the event was turns out event 261 00:08:49,620 --> 00:08:54,839 schedules useful who knew 262 00:08:52,200 --> 00:08:56,010 um the other bit we almost stayed on 263 00:08:54,839 --> 00:08:59,260 budget 264 00:08:56,010 --> 00:08:59,260 [Music] 265 00:08:59,760 --> 00:09:03,959 sorry the event was a huge success like 266 00:09:01,920 --> 00:09:06,540 speaks for itself um we had a really 267 00:09:03,959 --> 00:09:08,100 great day we had like a 30 applicants of 268 00:09:06,540 --> 00:09:09,180 military applicants many people in the 269 00:09:08,100 --> 00:09:11,220 room and many people are off the photo 270 00:09:09,180 --> 00:09:13,680 here who didn't want to be part of it 271 00:09:11,220 --> 00:09:14,880 um we had a great time thanks to 272 00:09:13,680 --> 00:09:16,200 everyone who sponsored us but what are 273 00:09:14,880 --> 00:09:18,420 we doing next 274 00:09:16,200 --> 00:09:19,740 um I'm a web guy uh Alex is a data 275 00:09:18,420 --> 00:09:21,660 person I don't we want to alternate 276 00:09:19,740 --> 00:09:23,459 between a web and a data and science 277 00:09:21,660 --> 00:09:25,140 sort of thing so we want to do one in 278 00:09:23,459 --> 00:09:26,640 six months the software carpentry we'd 279 00:09:25,140 --> 00:09:28,440 never run one of them so if anyone here 280 00:09:26,640 --> 00:09:30,000 has done a software commentary Workshop 281 00:09:28,440 --> 00:09:31,500 please can you come talk to us we want 282 00:09:30,000 --> 00:09:35,100 to know how to do it 283 00:09:31,500 --> 00:09:37,380 um so we would love help yes secondly 284 00:09:35,100 --> 00:09:38,519 um oh so we created a meetup group so if 285 00:09:37,380 --> 00:09:39,660 you're in around Canberra and you would 286 00:09:38,519 --> 00:09:41,279 like to be involved in one of these 287 00:09:39,660 --> 00:09:42,959 events in future are we really looking 288 00:09:41,279 --> 00:09:44,880 to just try and improve gender diversity 289 00:09:42,959 --> 00:09:46,260 in Tech um so while we do use women in 290 00:09:44,880 --> 00:09:48,720 the name uh we are certainly not 291 00:09:46,260 --> 00:09:50,160 limiting and we want any capacity you've 292 00:09:48,720 --> 00:09:52,019 thought that there was a space for 293 00:09:50,160 --> 00:09:53,279 another thing in between like women in 294 00:09:52,019 --> 00:09:55,140 big data and all of those sorts of 295 00:09:53,279 --> 00:09:57,360 things and the python user group that 296 00:09:55,140 --> 00:09:58,380 there's just you know safety in numbers 297 00:09:57,360 --> 00:10:00,060 guys 298 00:09:58,380 --> 00:10:01,800 um and also I wanted to shout out hi 299 00:10:00,060 --> 00:10:03,899 ladies con I actually have no idea what 300 00:10:01,800 --> 00:10:05,279 this is but it looks really fun and I 301 00:10:03,899 --> 00:10:06,899 just it hadn't been chatted out so I'm 302 00:10:05,279 --> 00:10:11,580 doing that now 303 00:10:06,899 --> 00:10:13,320 um and finally uh yeah uh so the Django 304 00:10:11,580 --> 00:10:14,640 girls Adelaide is happening tomorrow uh 305 00:10:13,320 --> 00:10:16,320 we're not directly involved but we are 306 00:10:14,640 --> 00:10:17,880 highly supportive we're super excited to 307 00:10:16,320 --> 00:10:19,320 see what is going on 308 00:10:17,880 --> 00:10:21,360 um we believe that there will be some 309 00:10:19,320 --> 00:10:23,399 information through the Discord 310 00:10:21,360 --> 00:10:25,320 um but go look for row at the Kraken 311 00:10:23,399 --> 00:10:26,820 table they are still looking for some 312 00:10:25,320 --> 00:10:27,660 mentors so if this is the sort of thing 313 00:10:26,820 --> 00:10:28,800 you would like to help out with 314 00:10:27,660 --> 00:10:30,720 especially if you've got web dev 315 00:10:28,800 --> 00:10:32,760 experience but certainly not limited in 316 00:10:30,720 --> 00:10:34,260 any capacity or if you're interested in 317 00:10:32,760 --> 00:10:35,580 knowing how these kind of the Dynamics 318 00:10:34,260 --> 00:10:37,080 of these kind of events work because 319 00:10:35,580 --> 00:10:38,760 they're like really successful we should 320 00:10:37,080 --> 00:10:40,440 be doing more Outreach you know getting 321 00:10:38,760 --> 00:10:42,000 us all together 322 00:10:40,440 --> 00:10:43,980 um so go check that out tomorrow if 323 00:10:42,000 --> 00:10:47,120 you're here for the Sprints and we've 324 00:10:43,980 --> 00:10:47,120 got like time to spare 325 00:10:47,399 --> 00:10:50,399 amazing 326 00:10:52,320 --> 00:10:58,079 you have a choice Noah 327 00:10:55,019 --> 00:11:00,180 uh you either present without video or 328 00:10:58,079 --> 00:11:01,980 banno does interpretive dance for the 329 00:11:00,180 --> 00:11:04,820 three minutes while you take your laptop 330 00:11:01,980 --> 00:11:04,820 to get configured 331 00:11:05,399 --> 00:11:07,560 dance 332 00:11:06,600 --> 00:11:08,180 [Applause] 333 00:11:07,560 --> 00:11:11,180 dance 334 00:11:08,180 --> 00:11:11,180 okay 335 00:11:11,240 --> 00:11:16,560 if you can get set up on this side 336 00:11:13,560 --> 00:11:17,579 you're on deck and uh I'll start the 337 00:11:16,560 --> 00:11:19,800 clock 338 00:11:17,579 --> 00:11:20,940 now we're cutting whenever you're ready 339 00:11:19,800 --> 00:11:22,980 all right I'm going to give this one 340 00:11:20,940 --> 00:11:26,820 last shot and then we're just going to 341 00:11:22,980 --> 00:11:31,940 listen to my talk which will not be as 342 00:11:26,820 --> 00:11:31,940 interesting but Banner fill in the time 343 00:11:32,399 --> 00:11:42,970 nope doesn't like it 344 00:11:34,140 --> 00:11:46,090 [Applause] 345 00:11:42,970 --> 00:11:46,090 [Music] 346 00:11:46,339 --> 00:11:49,920 nope 347 00:11:48,180 --> 00:11:52,620 all right 348 00:11:49,920 --> 00:11:55,200 Noah all right 349 00:11:52,620 --> 00:11:56,760 so you can't see my slides but I'm going 350 00:11:55,200 --> 00:11:58,140 to talk about how to look at space and I 351 00:11:56,760 --> 00:11:59,760 guess I'm just going to read out some of 352 00:11:58,140 --> 00:12:03,839 the URLs and these will be posted onto 353 00:11:59,760 --> 00:12:06,540 Discord later uh all right uh so the 354 00:12:03,839 --> 00:12:07,800 first thing uh maybe I just turned my 355 00:12:06,540 --> 00:12:10,800 screen around 356 00:12:07,800 --> 00:12:13,019 let's do that 357 00:12:10,800 --> 00:12:15,000 [Applause] 358 00:12:13,019 --> 00:12:17,700 all right 359 00:12:15,000 --> 00:12:20,339 yeah well it's mostly black all right uh 360 00:12:17,700 --> 00:12:23,160 so things so the first one this is the 361 00:12:20,339 --> 00:12:24,779 NASA eyes orery uh this is a great way 362 00:12:23,160 --> 00:12:26,160 to see a 3D representation of everything 363 00:12:24,779 --> 00:12:28,860 that is currently in our solar system 364 00:12:26,160 --> 00:12:30,779 planets missions comets all the 3D 365 00:12:28,860 --> 00:12:34,140 representations of everything 366 00:12:30,779 --> 00:12:35,700 um it is at eyes.nasa.gov app slash Ori 367 00:12:34,140 --> 00:12:36,959 I'm not going to read all of these URLs 368 00:12:35,700 --> 00:12:39,360 out because some of them do get long and 369 00:12:36,959 --> 00:12:41,220 weird all right the next thing the NASA 370 00:12:39,360 --> 00:12:43,440 deep space Network so this is an array 371 00:12:41,220 --> 00:12:44,519 of multiple radio telescopes around the 372 00:12:43,440 --> 00:12:47,399 world one of which is actually in 373 00:12:44,519 --> 00:12:49,260 Canberra uh that gives a full coverage 374 00:12:47,399 --> 00:12:50,639 view of all deep space missions 375 00:12:49,260 --> 00:12:52,139 throughout the solar system and there is 376 00:12:50,639 --> 00:12:54,360 a real-time view of everything it is 377 00:12:52,139 --> 00:12:57,060 connected to including a fun thing if 378 00:12:54,360 --> 00:12:58,440 you go down to the extended view you can 379 00:12:57,060 --> 00:12:59,760 see the real-time data rates this was 380 00:12:58,440 --> 00:13:02,040 actually a couple days ago when it was 381 00:12:59,760 --> 00:13:03,660 talking to Juno outside Jupiter and you 382 00:13:02,040 --> 00:13:06,060 cannot see but if someone very close to 383 00:13:03,660 --> 00:13:08,040 uh maybe could it's getting 200 kilobits 384 00:13:06,060 --> 00:13:09,300 per second from Jupiter the fact that I 385 00:13:08,040 --> 00:13:12,420 cannot get that from my mobile phone 386 00:13:09,300 --> 00:13:14,339 very frequently is a very sad thing uh 387 00:13:12,420 --> 00:13:15,720 all right but that's just sort of the 388 00:13:14,339 --> 00:13:18,300 general idea of space so we want to look 389 00:13:15,720 --> 00:13:20,220 at actual space a service called Mast 390 00:13:18,300 --> 00:13:21,660 this is a database that contains 391 00:13:20,220 --> 00:13:24,060 information from most of our space 392 00:13:21,660 --> 00:13:27,320 telescopes so James Webb Hubble Spitzer 393 00:13:24,060 --> 00:13:31,860 Kepler all in this service called Mast 394 00:13:27,320 --> 00:13:32,820 also it has an API Astro query.mast so 395 00:13:31,860 --> 00:13:35,279 if you want to play with any of this 396 00:13:32,820 --> 00:13:37,980 data you can use that 397 00:13:35,279 --> 00:13:39,600 next up Helio viewer helioviewer.org 398 00:13:37,980 --> 00:13:41,639 this is a site that Aggregates a lot of 399 00:13:39,600 --> 00:13:43,380 information about solar observation 400 00:13:41,639 --> 00:13:44,880 satellites the one that's currently most 401 00:13:43,380 --> 00:13:46,980 interesting and still active is the 402 00:13:44,880 --> 00:13:49,200 Solar Dynamics Observatory but the old 403 00:13:46,980 --> 00:13:50,519 stereo a spacecraft is still there just 404 00:13:49,200 --> 00:13:53,040 most of its instruments are offline but 405 00:13:50,519 --> 00:13:55,200 still makes really pretty pictures 406 00:13:53,040 --> 00:13:56,880 uh all right the bomb if you want to 407 00:13:55,200 --> 00:13:58,920 figure out what weather is happening in 408 00:13:56,880 --> 00:14:02,519 Space the bomb has a space weather 409 00:13:58,920 --> 00:14:03,779 prediction center forecast Center this 410 00:14:02,519 --> 00:14:05,639 gives you information about incoming 411 00:14:03,779 --> 00:14:08,459 geometrical uh yeah that's my company 412 00:14:05,639 --> 00:14:10,560 name geomagnetic events 413 00:14:08,459 --> 00:14:12,779 and also a fun thing it has an aurora 414 00:14:10,560 --> 00:14:14,700 prediction map uh it's probably never 415 00:14:12,779 --> 00:14:16,079 going to get quite this far north but it 416 00:14:14,700 --> 00:14:17,459 happened to be in Tasmania and you want 417 00:14:16,079 --> 00:14:19,920 to see is there going to be an aurora 418 00:14:17,459 --> 00:14:22,800 visible they've got a prediction for you 419 00:14:19,920 --> 00:14:25,139 all right next up Mars so the best way I 420 00:14:22,800 --> 00:14:27,959 know if to get Mars vid Mars pictures is 421 00:14:25,139 --> 00:14:30,779 from the NASA Mission sites 422 00:14:27,959 --> 00:14:33,360 so these give you uh the sort of process 423 00:14:30,779 --> 00:14:35,700 jpegs these are not science quality but 424 00:14:33,360 --> 00:14:37,680 this is what Mars looked like about 12 425 00:14:35,700 --> 00:14:40,800 hours ago this is from the I believe 426 00:14:37,680 --> 00:14:43,139 left nav cam on perseverance and this is 427 00:14:40,800 --> 00:14:45,180 from the right nav cam on curiosity 428 00:14:43,139 --> 00:14:46,440 three days ago 429 00:14:45,180 --> 00:14:47,880 if you want to get the real science 430 00:14:46,440 --> 00:14:50,160 quality images there's a program called 431 00:14:47,880 --> 00:14:52,440 Mars viewer it is a really gnarly Java 432 00:14:50,160 --> 00:14:55,079 app but it will give you the raw data if 433 00:14:52,440 --> 00:14:56,820 you know what you're looking for 434 00:14:55,079 --> 00:14:59,220 if you want something that isn't or 435 00:14:56,820 --> 00:15:01,800 isn't the Sun or Mars the next step is 436 00:14:59,220 --> 00:15:03,540 the NASA PDS image Atlas so this gives 437 00:15:01,800 --> 00:15:05,699 you basically every other spacecraft 438 00:15:03,540 --> 00:15:07,380 that NASA is in charge of 439 00:15:05,699 --> 00:15:08,699 um fun ones include the Mars 440 00:15:07,380 --> 00:15:10,740 reconnaissance Orbiter they just have 441 00:15:08,699 --> 00:15:12,839 these giant track images they're all 442 00:15:10,740 --> 00:15:15,540 pngs relatively easy to work with that 443 00:15:12,839 --> 00:15:17,040 are just scans of the surface of Mars 444 00:15:15,540 --> 00:15:18,899 similarly there's the planetary science 445 00:15:17,040 --> 00:15:20,519 archive from the esa so this is for all 446 00:15:18,899 --> 00:15:22,320 spacecraft that the European Space 447 00:15:20,519 --> 00:15:23,399 Agency is in charge of such as beppy 448 00:15:22,320 --> 00:15:25,500 Colombo 449 00:15:23,399 --> 00:15:27,180 and if you want to actually like look at 450 00:15:25,500 --> 00:15:29,279 things with your face you'll need to 451 00:15:27,180 --> 00:15:31,440 know where they are uh now for big 452 00:15:29,279 --> 00:15:33,480 things like say Jupiter or stars or 453 00:15:31,440 --> 00:15:35,279 galaxies that don't move very often you 454 00:15:33,480 --> 00:15:37,019 can find those very easily online but if 455 00:15:35,279 --> 00:15:38,399 you want to look at say a satellite you 456 00:15:37,019 --> 00:15:39,720 need its orbital information and the 457 00:15:38,399 --> 00:15:41,820 place you get that is a website called 458 00:15:39,720 --> 00:15:43,560 sellustrack the story of this one's 459 00:15:41,820 --> 00:15:45,480 actually really funny uh it originally 460 00:15:43,560 --> 00:15:47,940 started with a guy who's running a BBS 461 00:15:45,480 --> 00:15:50,339 in the early 90s and he would call into 462 00:15:47,940 --> 00:15:52,320 the US military once a day and request 463 00:15:50,339 --> 00:15:55,380 military information and they would just 464 00:15:52,320 --> 00:15:57,300 give it to him and eventually just 465 00:15:55,380 --> 00:15:58,620 became so important that when the office 466 00:15:57,300 --> 00:16:00,779 that was giving the information was shut 467 00:15:58,620 --> 00:16:03,120 down no rad uh just started sending him 468 00:16:00,779 --> 00:16:06,120 the data directly because everyone was 469 00:16:03,120 --> 00:16:07,740 dependent on his website it also has a 470 00:16:06,120 --> 00:16:09,660 nice 3D viewer so if you want to do that 471 00:16:07,740 --> 00:16:12,300 you can see 3D positions of satellites 472 00:16:09,660 --> 00:16:13,860 and also it has a python API in a 473 00:16:12,300 --> 00:16:14,699 library called skyfield thank you very 474 00:16:13,860 --> 00:16:17,000 much 475 00:16:14,699 --> 00:16:17,000 foreign 476 00:16:19,440 --> 00:16:22,920 here in the python world we all like to 477 00:16:21,180 --> 00:16:26,420 think that space is significant so uh 478 00:16:22,920 --> 00:16:26,420 thank you Noah for giving us more space 479 00:16:28,560 --> 00:16:32,180 oh we gave Libby a mic did we 480 00:16:32,579 --> 00:16:38,339 hello 481 00:16:34,920 --> 00:16:40,440 the voice of Bob Libby Berry everyone uh 482 00:16:38,339 --> 00:16:44,840 up on Deck we have Matthew Perry but 483 00:16:40,440 --> 00:16:50,519 first a first-time speaker Anisha sarkar 484 00:16:44,840 --> 00:16:53,060 [Applause] 485 00:16:50,519 --> 00:16:53,060 ting 486 00:16:53,579 --> 00:16:58,139 um my name is Anisha sarkar and I'm a 487 00:16:55,740 --> 00:17:01,139 very passionate student about natural 488 00:16:58,139 --> 00:17:03,000 language processing but at this picon I 489 00:17:01,139 --> 00:17:04,799 learned about multiple tools especially 490 00:17:03,000 --> 00:17:07,020 about guis 491 00:17:04,799 --> 00:17:09,720 so I decided to implement it because 492 00:17:07,020 --> 00:17:11,400 there's no better way to test my 493 00:17:09,720 --> 00:17:14,819 understanding other than to do a 494 00:17:11,400 --> 00:17:16,980 practical project so ever since I came 495 00:17:14,819 --> 00:17:19,439 to Australia I was intrigued by the way 496 00:17:16,980 --> 00:17:22,980 pedestrian buttons worked and the very 497 00:17:19,439 --> 00:17:25,319 cool music that came along with it 498 00:17:22,980 --> 00:17:27,299 this form the basis of my project to 499 00:17:25,319 --> 00:17:30,000 simulate the traffic signals using Code 500 00:17:27,299 --> 00:17:32,220 so how do the traffic lights work we've 501 00:17:30,000 --> 00:17:34,380 got buttons we've got timer and we've 502 00:17:32,220 --> 00:17:36,240 got sound when you press the button if 503 00:17:34,380 --> 00:17:39,120 your luck is good the green line turns 504 00:17:36,240 --> 00:17:41,460 on right away and then you can cross and 505 00:17:39,120 --> 00:17:43,980 when in that process there's also sound 506 00:17:41,460 --> 00:17:45,660 so so that people can know like people 507 00:17:43,980 --> 00:17:48,419 can just hear and know that the lights 508 00:17:45,660 --> 00:17:50,760 on and now can I simulate this on 509 00:17:48,419 --> 00:17:53,039 computer of course I can at least a 510 00:17:50,760 --> 00:17:55,440 simple version I decided to start this 511 00:17:53,039 --> 00:18:00,679 project during pycon AU 512 00:17:55,440 --> 00:18:02,580 [Applause] 513 00:18:00,679 --> 00:18:04,080 because I know when I go back to 514 00:18:02,580 --> 00:18:06,480 University I probably wouldn't have the 515 00:18:04,080 --> 00:18:08,520 time my workflow I would have the scope 516 00:18:06,480 --> 00:18:10,260 and prerequisites uh then I would build 517 00:18:08,520 --> 00:18:12,660 a dual light system which is a red light 518 00:18:10,260 --> 00:18:15,360 and the green light add some timer build 519 00:18:12,660 --> 00:18:18,059 the Dual light system sound get some 520 00:18:15,360 --> 00:18:20,940 sound test it and fix it and also most 521 00:18:18,059 --> 00:18:24,419 importantly make the documentation 522 00:18:20,940 --> 00:18:27,480 so the tools I used were tikenter play 523 00:18:24,419 --> 00:18:29,400 sound to play the audio a timer and 524 00:18:27,480 --> 00:18:31,620 threading so that multiple processes 525 00:18:29,400 --> 00:18:33,120 could happen at the same time I'll show 526 00:18:31,620 --> 00:18:35,100 you the demo real soon but I wanted to 527 00:18:33,120 --> 00:18:36,660 go through my slides real quickly 528 00:18:35,100 --> 00:18:38,280 um in the future I would like to 529 00:18:36,660 --> 00:18:40,260 implement so during the springtime which 530 00:18:38,280 --> 00:18:42,299 I'll be here for uh have a mock 531 00:18:40,260 --> 00:18:44,400 implementation using the adult Greenman 532 00:18:42,299 --> 00:18:47,640 proposal which I could probably link to 533 00:18:44,400 --> 00:18:49,799 it in the GitHub uh sorry in the Discord 534 00:18:47,640 --> 00:18:51,900 um and finally I would also like to have 535 00:18:49,799 --> 00:18:53,940 some pedestrian lights turn green right 536 00:18:51,900 --> 00:18:55,559 away when the button is pressed so I 537 00:18:53,940 --> 00:18:57,980 would also like to randomize the process 538 00:18:55,559 --> 00:18:57,980 a bit 539 00:18:58,799 --> 00:19:03,919 um time for the demo it's not too long 540 00:19:01,620 --> 00:19:03,919 but 541 00:19:13,220 --> 00:19:29,910 [Applause] 542 00:19:27,010 --> 00:19:31,120 [Laughter] 543 00:19:29,910 --> 00:19:31,760 [Applause] 544 00:19:31,120 --> 00:19:35,490 [Music] 545 00:19:31,760 --> 00:19:35,490 [Applause] 546 00:19:42,420 --> 00:19:47,089 [Applause] 547 00:19:49,620 --> 00:19:55,679 I'm so grateful uh that it got to be 548 00:19:52,919 --> 00:19:58,740 here today at Phi Khan and learn so much 549 00:19:55,679 --> 00:20:01,140 through these talks and I hope I'll be 550 00:19:58,740 --> 00:20:04,080 able to come to more attend more pycons 551 00:20:01,140 --> 00:20:07,280 learn more and just try out new things 552 00:20:04,080 --> 00:20:07,280 thank you faicon 553 00:20:10,740 --> 00:20:15,900 thank you that was fantastic 554 00:20:12,679 --> 00:20:18,660 uh Tessa Bradbury you are up on Deck 555 00:20:15,900 --> 00:20:20,880 first it does look like this lectern is 556 00:20:18,660 --> 00:20:23,900 actually working oh so uh please welcome 557 00:20:20,880 --> 00:20:23,900 Matthew Perry 558 00:20:25,520 --> 00:20:29,039 cool hi everyone 559 00:20:27,600 --> 00:20:30,660 um so today I'm going to talk about how 560 00:20:29,039 --> 00:20:33,600 you can make your tests five times 561 00:20:30,660 --> 00:20:34,919 faster by parallelizing them so why 562 00:20:33,600 --> 00:20:36,900 would you want to do parallel testing 563 00:20:34,919 --> 00:20:38,880 well if you run on a single core then 564 00:20:36,900 --> 00:20:40,679 you have a single test queue and the 565 00:20:38,880 --> 00:20:43,080 test runs sequentially so you it's quite 566 00:20:40,679 --> 00:20:44,520 slow okay but if you have multiple calls 567 00:20:43,080 --> 00:20:46,559 on your computer which most do these 568 00:20:44,520 --> 00:20:48,539 days then you can have multiple test 569 00:20:46,559 --> 00:20:50,700 queues and split the tests to run across 570 00:20:48,539 --> 00:20:51,840 each core across your computer and make 571 00:20:50,700 --> 00:20:53,820 it faster 572 00:20:51,840 --> 00:20:56,340 so what are some of the issues doing 573 00:20:53,820 --> 00:20:58,500 this within Django So within Django 574 00:20:56,340 --> 00:21:00,240 there's no inbuilt cache isolation so 575 00:20:58,500 --> 00:21:02,400 you have this lovely class called the 576 00:21:00,240 --> 00:21:04,320 transaction test case within Django for 577 00:21:02,400 --> 00:21:06,539 testing which means that your database 578 00:21:04,320 --> 00:21:08,460 transactions are isolated so this means 579 00:21:06,539 --> 00:21:09,780 that if you don't have a cache within 580 00:21:08,460 --> 00:21:12,480 your application then you can probably 581 00:21:09,780 --> 00:21:14,100 just turn on Parallel testing and it's 582 00:21:12,480 --> 00:21:15,840 not going to have isolation issues there 583 00:21:14,100 --> 00:21:17,400 won't be bugs and it's going to be a lot 584 00:21:15,840 --> 00:21:20,039 quicker very quickly 585 00:21:17,400 --> 00:21:22,440 but in our case we had use a login 586 00:21:20,039 --> 00:21:24,419 session stored within the cache and then 587 00:21:22,440 --> 00:21:26,400 what that means is that because a lot of 588 00:21:24,419 --> 00:21:28,380 our tests would clear the cache at the 589 00:21:26,400 --> 00:21:30,000 start of every setup method that it 590 00:21:28,380 --> 00:21:32,580 would clear those login details those 591 00:21:30,000 --> 00:21:34,559 login session details from the cache and 592 00:21:32,580 --> 00:21:35,940 then the test would fail incorrectly so 593 00:21:34,559 --> 00:21:37,620 you might have 100 tests failing 594 00:21:35,940 --> 00:21:39,720 randomly at the same time 595 00:21:37,620 --> 00:21:42,659 you can also have issues with unisolated 596 00:21:39,720 --> 00:21:45,059 tests so for example tests relying on 597 00:21:42,659 --> 00:21:46,440 state outside of the test classes and 598 00:21:45,059 --> 00:21:48,299 tests relying on the order in which 599 00:21:46,440 --> 00:21:50,280 they're running 600 00:21:48,299 --> 00:21:52,620 um so another aspect which made it a bit 601 00:21:50,280 --> 00:21:55,080 more complex here is we were using 602 00:21:52,620 --> 00:21:56,700 features specific to the redis cache so 603 00:21:55,080 --> 00:21:58,860 for most use cases you would probably 604 00:21:56,700 --> 00:22:00,960 just want to mock the cache with a local 605 00:21:58,860 --> 00:22:03,360 memory cache because those are isolated 606 00:22:00,960 --> 00:22:05,100 automatically but the redest occasions 607 00:22:03,360 --> 00:22:06,840 are isolated you're working with an 608 00:22:05,100 --> 00:22:09,600 instance really so you need to build 609 00:22:06,840 --> 00:22:11,039 cache isolation into it 610 00:22:09,600 --> 00:22:13,080 um another aspect was I didn't want to 611 00:22:11,039 --> 00:22:15,179 just Mock and ignore the cache because 612 00:22:13,080 --> 00:22:16,860 we had about 3 200 tests and several 613 00:22:15,179 --> 00:22:19,080 hundred thousand lines of python code 614 00:22:16,860 --> 00:22:20,700 and I wanted to actually test the cages 615 00:22:19,080 --> 00:22:22,919 being used correctly 616 00:22:20,700 --> 00:22:25,440 so my solution was to have essentially a 617 00:22:22,919 --> 00:22:27,960 different case database uh per CPU 618 00:22:25,440 --> 00:22:30,179 that's running tests 619 00:22:27,960 --> 00:22:33,360 so you can you do this using a library 620 00:22:30,179 --> 00:22:36,659 called ply test exist so very easy to 621 00:22:33,360 --> 00:22:38,039 pip install and you specify the number 622 00:22:36,659 --> 00:22:39,600 of cores you're going to be using on 623 00:22:38,039 --> 00:22:42,000 your computer using the dash in argument 624 00:22:39,600 --> 00:22:43,500 so if you use the auto keyword that's 625 00:22:42,000 --> 00:22:45,780 going to use all the cores on your 626 00:22:43,500 --> 00:22:48,179 computer you can also specify the number 627 00:22:45,780 --> 00:22:50,400 of cores that you want to use in our 628 00:22:48,179 --> 00:22:52,919 case because there's a maximum of 16 629 00:22:50,400 --> 00:22:55,799 redis databases on a various instance by 630 00:22:52,919 --> 00:22:58,400 default we capped it to 16 and specified 631 00:22:55,799 --> 00:23:01,260 to use that number of cores 632 00:22:58,400 --> 00:23:03,419 so one of the main classes used in the 633 00:23:01,260 --> 00:23:05,640 implementation here was the redis 634 00:23:03,419 --> 00:23:07,740 manager which is essentially a class 635 00:23:05,640 --> 00:23:10,799 pretending or a Singleton pretending to 636 00:23:07,740 --> 00:23:12,480 be a redis cache but it's actually when 637 00:23:10,799 --> 00:23:15,020 when you run a method for the redis 638 00:23:12,480 --> 00:23:18,480 cache class it's acquiring a lock 639 00:23:15,020 --> 00:23:21,419 setting the database for the cache 640 00:23:18,480 --> 00:23:24,059 object according to the apply test Pi 641 00:23:21,419 --> 00:23:25,559 test Exodus worker ID so that means 642 00:23:24,059 --> 00:23:27,480 every 643 00:23:25,559 --> 00:23:28,919 test queue is going to be working with a 644 00:23:27,480 --> 00:23:30,900 different case database 645 00:23:28,919 --> 00:23:32,820 then we get the result from running the 646 00:23:30,900 --> 00:23:34,679 corresponding method release the lock 647 00:23:32,820 --> 00:23:36,120 and return that result 648 00:23:34,679 --> 00:23:38,159 um so one thing you might notice here is 649 00:23:36,120 --> 00:23:40,559 that this is pretty inefficient 650 00:23:38,159 --> 00:23:41,940 um so you every single time you run a 651 00:23:40,559 --> 00:23:45,600 redis method you're going to be running 652 00:23:41,940 --> 00:23:46,919 a method to change the database but you 653 00:23:45,600 --> 00:23:48,840 still get a very nice speed up 654 00:23:46,919 --> 00:23:50,520 regardless so if anyone that has done 655 00:23:48,840 --> 00:23:51,960 this before I'd be really Keen to know 656 00:23:50,520 --> 00:23:53,039 how you got around this if you've done 657 00:23:51,960 --> 00:23:55,260 so 658 00:23:53,039 --> 00:23:57,419 so this is essentially a picture of the 659 00:23:55,260 --> 00:23:59,940 architecture I settled with at the end 660 00:23:57,419 --> 00:24:01,799 you essentially have that single turn 661 00:23:59,940 --> 00:24:03,179 for a rediscation manager pretending to 662 00:24:01,799 --> 00:24:04,559 be a reddish cache but it's just 663 00:24:03,179 --> 00:24:06,659 redirecting the request to the 664 00:24:04,559 --> 00:24:09,600 corresponding database 665 00:24:06,659 --> 00:24:12,419 so additionally to this we also have a 666 00:24:09,600 --> 00:24:14,820 within conf test we set up load file 667 00:24:12,419 --> 00:24:17,039 scheduling using the pi test xdesmax 668 00:24:14,820 --> 00:24:18,120 scheduler you can also use load scope 669 00:24:17,039 --> 00:24:20,220 scheduling 670 00:24:18,120 --> 00:24:22,500 so load far scheduling means that every 671 00:24:20,220 --> 00:24:25,080 test file is going to be associated with 672 00:24:22,500 --> 00:24:27,120 just one CPU okay so this just made it 673 00:24:25,080 --> 00:24:28,679 simpler to set this all up but if you 674 00:24:27,120 --> 00:24:30,600 wanted to have a small speed up and get 675 00:24:28,679 --> 00:24:33,539 rid of any isolation issues you could 676 00:24:30,600 --> 00:24:35,039 move to large scope scheduling also I 677 00:24:33,539 --> 00:24:37,140 had to add a couple of fixtures to avoid 678 00:24:35,039 --> 00:24:41,280 breaking the coverage and we essentially 679 00:24:37,140 --> 00:24:43,100 inject the redis Singleton through the 680 00:24:41,280 --> 00:24:46,940 import system by replacing 681 00:24:43,100 --> 00:24:46,940 django.call.cash and django.com 682 00:24:47,220 --> 00:24:51,659 um so the eventual results was the tests 683 00:24:49,740 --> 00:24:54,179 became about five times faster to 684 00:24:51,659 --> 00:24:55,620 execute that's using eight cores 685 00:24:54,179 --> 00:24:57,360 um getting rid of that database 686 00:24:55,620 --> 00:24:59,880 switching aspect might make it a lot 687 00:24:57,360 --> 00:25:02,640 faster we also have the capacity to 688 00:24:59,880 --> 00:25:04,320 scale it up with a 72 core machine uh 689 00:25:02,640 --> 00:25:06,600 it's going to be easier to detect test 690 00:25:04,320 --> 00:25:08,039 isolation issues in future if we uh 691 00:25:06,600 --> 00:25:09,840 randomize the order in which they run 692 00:25:08,039 --> 00:25:11,280 more and we don't have as much of a test 693 00:25:09,840 --> 00:25:12,419 budget anymore which is really great we 694 00:25:11,280 --> 00:25:15,080 can test more 695 00:25:12,419 --> 00:25:15,080 thanks everyone 696 00:25:15,659 --> 00:25:18,840 thanks Matthew 697 00:25:17,340 --> 00:25:20,700 uh 698 00:25:18,840 --> 00:25:24,240 so now I'm going to try and say Pi test 699 00:25:20,700 --> 00:25:25,440 xdisk five times quickly 700 00:25:24,240 --> 00:25:28,799 or not 701 00:25:25,440 --> 00:25:31,380 um do it Lachlan Jacob is up on Deck but 702 00:25:28,799 --> 00:25:32,820 first uh Tessa Bradbury with a uh with a 703 00:25:31,380 --> 00:25:34,620 war story 704 00:25:32,820 --> 00:25:37,320 so hello everyone 705 00:25:34,620 --> 00:25:40,260 so I've been a web developer and an SRE 706 00:25:37,320 --> 00:25:41,700 for a decade and about a year ago I 707 00:25:40,260 --> 00:25:42,659 brought down production for the first 708 00:25:41,700 --> 00:25:44,000 time 709 00:25:42,659 --> 00:25:46,799 oh 710 00:25:44,000 --> 00:25:48,299 there's a bunch of technical details in 711 00:25:46,799 --> 00:25:50,100 the public postmodern we wrote up but 712 00:25:48,299 --> 00:25:52,320 behind every incident there are humans 713 00:25:50,100 --> 00:25:53,159 so this is my story of what that was 714 00:25:52,320 --> 00:25:55,020 like 715 00:25:53,159 --> 00:25:57,720 so I've had the power to break 716 00:25:55,020 --> 00:26:00,120 everything in so many ways for so many 717 00:25:57,720 --> 00:26:02,520 years and I've seen so many incidents 718 00:26:00,120 --> 00:26:05,100 unfold but this was the first time it's 719 00:26:02,520 --> 00:26:07,080 been me who clicked the button and it 720 00:26:05,100 --> 00:26:09,120 was surprisingly weird and complex thing 721 00:26:07,080 --> 00:26:11,580 to unpack like I've been around 722 00:26:09,120 --> 00:26:13,679 reliability and resilient circles for 723 00:26:11,580 --> 00:26:15,600 long enough not to blame the person who 724 00:26:13,679 --> 00:26:18,539 triggered the outage even when it was me 725 00:26:15,600 --> 00:26:20,820 but it's always far more useful to 726 00:26:18,539 --> 00:26:22,679 explore why it happened and not just the 727 00:26:20,820 --> 00:26:26,580 technical details but the human and 728 00:26:22,679 --> 00:26:29,039 organizational sites so that day it was 729 00:26:26,580 --> 00:26:30,900 a Monday I get into work and as always 730 00:26:29,039 --> 00:26:33,059 on a Monday there's a bunch of stuff to 731 00:26:30,900 --> 00:26:34,679 catch up on from the weekend and plus I 732 00:26:33,059 --> 00:26:36,900 was involved with two incidents last 733 00:26:34,679 --> 00:26:38,700 week that I need to follow up so I turn 734 00:26:36,900 --> 00:26:40,320 up and my goal is to tick off as much as 735 00:26:38,700 --> 00:26:41,340 possible so I can get back to the real 736 00:26:40,320 --> 00:26:43,620 work 737 00:26:41,340 --> 00:26:45,179 and one of my tasks was to check on a 738 00:26:43,620 --> 00:26:47,340 backfill that I'd been running that was 739 00:26:45,179 --> 00:26:49,260 tracking its progress in redis for those 740 00:26:47,340 --> 00:26:51,779 that don't know redis is a in-memory key 741 00:26:49,260 --> 00:26:53,400 value data store and the backfill it 742 00:26:51,779 --> 00:26:54,900 finished but it had some weird errors 743 00:26:53,400 --> 00:26:57,059 right toward the end complaining that 744 00:26:54,900 --> 00:26:58,559 redis had run out of memory but those 745 00:26:57,059 --> 00:27:01,200 errors had gone away and it had got 746 00:26:58,559 --> 00:27:03,240 better and so it had given the backfill 747 00:27:01,200 --> 00:27:05,760 it finished I figured the obvious thing 748 00:27:03,240 --> 00:27:07,860 was to just remove that tracking data 749 00:27:05,760 --> 00:27:09,360 because we didn't need it anymore and I 750 00:27:07,860 --> 00:27:10,500 kind of need to do this before the end 751 00:27:09,360 --> 00:27:12,720 of the day because a lot of our 752 00:27:10,500 --> 00:27:13,919 customers are us-based and so this is 753 00:27:12,720 --> 00:27:15,720 Monday and they're all going to come 754 00:27:13,919 --> 00:27:17,400 online overnight and I need to fix this 755 00:27:15,720 --> 00:27:19,559 before the load comes 756 00:27:17,400 --> 00:27:21,480 so how do I remove this temporary data 757 00:27:19,559 --> 00:27:24,120 well there's a command from redis it's 758 00:27:21,480 --> 00:27:26,520 called Dell delete stuff so I guess I'll 759 00:27:24,120 --> 00:27:28,260 log into prod and I'll just run it and 760 00:27:26,520 --> 00:27:30,480 like if it doesn't work or it takes too 761 00:27:28,260 --> 00:27:32,220 long it's going to time out 762 00:27:30,480 --> 00:27:33,240 um or I can just stop it and it'll be 763 00:27:32,220 --> 00:27:36,179 fine 764 00:27:33,240 --> 00:27:38,039 so I run my command and it times out but 765 00:27:36,179 --> 00:27:40,020 it's the client timing out waiting for 766 00:27:38,039 --> 00:27:43,200 the server to finish the recommend not 767 00:27:40,020 --> 00:27:45,960 actually the command timing out and this 768 00:27:43,200 --> 00:27:48,600 is when the Panic sets in you know that 769 00:27:45,960 --> 00:27:50,880 fight flight freeze thing well I was in 770 00:27:48,600 --> 00:27:54,240 full freeze mode my brain literally 771 00:27:50,880 --> 00:27:55,860 stopped working but I managed to open a 772 00:27:54,240 --> 00:27:58,080 dashboard to see if there were errors 773 00:27:55,860 --> 00:28:00,240 and everything was red 774 00:27:58,080 --> 00:28:03,059 um after the incident I learned that 775 00:28:00,240 --> 00:28:05,100 that Dell command if you run it on a 776 00:28:03,059 --> 00:28:07,799 data structure deletes each element one 777 00:28:05,100 --> 00:28:10,380 at a time and blocks all other requests 778 00:28:07,799 --> 00:28:12,360 from running while it's doing so I was 779 00:28:10,380 --> 00:28:15,299 deleting a set with approximately 200 780 00:28:12,360 --> 00:28:18,299 million entries in it 781 00:28:15,299 --> 00:28:20,880 um so but so what did I do with this 782 00:28:18,299 --> 00:28:22,740 back at a previous employer I did some 783 00:28:20,880 --> 00:28:25,200 SRE training and they told a story 784 00:28:22,740 --> 00:28:27,539 someone had made some changes and broke 785 00:28:25,200 --> 00:28:28,980 something very important and while the 786 00:28:27,539 --> 00:28:31,380 incident responders were digging around 787 00:28:28,980 --> 00:28:33,480 the person that made the change stuck 788 00:28:31,380 --> 00:28:35,340 his head around the corner and said I 789 00:28:33,480 --> 00:28:37,080 don't know if it's relevant but I did 790 00:28:35,340 --> 00:28:39,299 this thing 791 00:28:37,080 --> 00:28:41,520 um and the way they told the story that 792 00:28:39,299 --> 00:28:43,140 guy was the hero if he hadn't mentioned 793 00:28:41,520 --> 00:28:45,240 what had changed it would have taken 794 00:28:43,140 --> 00:28:47,400 much longer to bring everything back and 795 00:28:45,240 --> 00:28:49,200 this is why we don't cast blame when 796 00:28:47,400 --> 00:28:51,120 people feel safe they mention things 797 00:28:49,200 --> 00:28:52,799 they would never say otherwise and that 798 00:28:51,120 --> 00:28:54,900 knowledge is a superpower 799 00:28:52,799 --> 00:28:57,000 so I held on to that story with both 800 00:28:54,900 --> 00:28:59,220 hands and I managed to post something in 801 00:28:57,000 --> 00:29:01,679 the incident response Channel it was not 802 00:28:59,220 --> 00:29:03,600 good but I couldn't wait for the Panic 803 00:29:01,679 --> 00:29:05,700 to chill enough to come up with the 804 00:29:03,600 --> 00:29:07,140 right words I just had to post something 805 00:29:05,700 --> 00:29:10,140 and Hope 806 00:29:07,140 --> 00:29:12,360 and that moment is the moment I'm most 807 00:29:10,140 --> 00:29:13,500 proud of out of any incident I've been 808 00:29:12,360 --> 00:29:16,320 involved with 809 00:29:13,500 --> 00:29:18,360 in retrospect it wasn't a risk but in 810 00:29:16,320 --> 00:29:19,980 that moment when my brain was melting 811 00:29:18,360 --> 00:29:22,200 and I couldn't think through the 812 00:29:19,980 --> 00:29:24,320 consequences I still chose to call out 813 00:29:22,200 --> 00:29:27,000 my mistake so we could fix things faster 814 00:29:24,320 --> 00:29:29,279 and also I'm very proud of the company 815 00:29:27,000 --> 00:29:31,020 that I work for where that was the right 816 00:29:29,279 --> 00:29:32,760 call to make which is not true 817 00:29:31,020 --> 00:29:35,520 everywhere 818 00:29:32,760 --> 00:29:37,320 so what do I do with this story well I 819 00:29:35,520 --> 00:29:39,960 could have just kept it to myself but 820 00:29:37,320 --> 00:29:41,580 it's important I held on to a story in 821 00:29:39,960 --> 00:29:43,860 that moment and I wanted to be able to 822 00:29:41,580 --> 00:29:46,020 give that to other people so I wrote 823 00:29:43,860 --> 00:29:48,240 this out and this is basically a recap 824 00:29:46,020 --> 00:29:50,880 of a internal blog post that I made at 825 00:29:48,240 --> 00:29:52,380 the time and I made it and everyone was 826 00:29:50,880 --> 00:29:53,520 nice and said lovely things and it was 827 00:29:52,380 --> 00:29:55,260 great 828 00:29:53,520 --> 00:29:57,659 um but the real punchline of the story 829 00:29:55,260 --> 00:29:59,520 was months later it was someone else's 830 00:29:57,659 --> 00:30:01,980 turn to click the button and break 831 00:29:59,520 --> 00:30:03,899 everything and they also chose to post 832 00:30:01,980 --> 00:30:05,520 in the incident response Channel and 833 00:30:03,899 --> 00:30:08,700 their referenced my post when they did 834 00:30:05,520 --> 00:30:11,159 it and that is the power of our stories 835 00:30:08,700 --> 00:30:14,640 stories shape the culture of who we are 836 00:30:11,159 --> 00:30:17,039 together and who we choose to be and we 837 00:30:14,640 --> 00:30:18,720 all have the power of our stories and we 838 00:30:17,039 --> 00:30:21,179 all have the choice of when to speak 839 00:30:18,720 --> 00:30:23,220 those stories and when to listen and so 840 00:30:21,179 --> 00:30:25,559 I invite you to be bold and to be 841 00:30:23,220 --> 00:30:28,640 vulnerable and to build a culture of who 842 00:30:25,559 --> 00:30:28,640 we want to be together 843 00:30:30,179 --> 00:30:35,220 thanks Tessa 844 00:30:32,460 --> 00:30:36,899 had a uh a privileged position in the in 845 00:30:35,220 --> 00:30:40,380 the front of the room watching this wave 846 00:30:36,899 --> 00:30:42,720 of wints just uh wash over the entirety 847 00:30:40,380 --> 00:30:45,960 of the audience here hi Andrew 848 00:30:42,720 --> 00:30:48,240 uh up on Deck we have achinta but first 849 00:30:45,960 --> 00:30:50,340 uh Lachlan Jacob who's going to talk 850 00:30:48,240 --> 00:30:52,880 about something that may not have aged 851 00:30:50,340 --> 00:30:52,880 all that well 852 00:30:53,700 --> 00:30:58,140 I'm LG um and I'm today talking about 853 00:30:56,159 --> 00:31:00,120 the bless you Channel 854 00:30:58,140 --> 00:31:01,980 so what is the bless you Channel 855 00:31:00,120 --> 00:31:03,720 um we have a dedicated slack Channel at 856 00:31:01,980 --> 00:31:05,279 work for blessing colleagues when they 857 00:31:03,720 --> 00:31:08,460 sneeze 858 00:31:05,279 --> 00:31:10,020 um it started in 2017. um it was a bit 859 00:31:08,460 --> 00:31:11,880 of a joke you know it's funnier to type 860 00:31:10,020 --> 00:31:14,039 someone's name into slack than to 861 00:31:11,880 --> 00:31:15,120 actually use words to tell them bless 862 00:31:14,039 --> 00:31:18,480 you 863 00:31:15,120 --> 00:31:20,220 um but you know due to things in 2020 it 864 00:31:18,480 --> 00:31:23,480 died off a little bit despite probably 865 00:31:20,220 --> 00:31:23,480 more sneezes happening 866 00:31:23,520 --> 00:31:27,299 um coming out of 2020 there and as we 867 00:31:25,380 --> 00:31:29,100 started returning to the office 868 00:31:27,299 --> 00:31:32,580 um reports of bless you's death were 869 00:31:29,100 --> 00:31:34,380 greatly exaggerated and in 2022 of April 870 00:31:32,580 --> 00:31:35,760 it received an uptick in usage as people 871 00:31:34,380 --> 00:31:37,919 came back 872 00:31:35,760 --> 00:31:41,659 this uptick led to ultimately the 873 00:31:37,919 --> 00:31:41,659 creation of sneezebot 874 00:31:41,880 --> 00:31:47,940 sneezebot since it's been added to us 875 00:31:44,460 --> 00:31:49,919 slack it's um invoked a lot of fierce 876 00:31:47,940 --> 00:31:51,299 competition as people race to be the 877 00:31:49,919 --> 00:31:52,980 first to bless someone 878 00:31:51,299 --> 00:31:55,320 and it's made coming back to the office 879 00:31:52,980 --> 00:31:57,539 a little bit more fun 880 00:31:55,320 --> 00:31:59,760 um the way it works is pretty simple 881 00:31:57,539 --> 00:32:01,799 um firstly a sneeze occurs 882 00:31:59,760 --> 00:32:04,679 secondly you tag the user in the channel 883 00:32:01,799 --> 00:32:06,179 as fast as you can and third to sort of 884 00:32:04,679 --> 00:32:08,399 verify that that sneeze did in fact 885 00:32:06,179 --> 00:32:10,679 occur the user who was tagged has to 886 00:32:08,399 --> 00:32:12,779 react to the message 887 00:32:10,679 --> 00:32:14,820 and importantly only the first message 888 00:32:12,779 --> 00:32:18,419 counts 889 00:32:14,820 --> 00:32:21,240 so we also added a command to slack that 890 00:32:18,419 --> 00:32:22,380 would post a sneeze aboard of um you 891 00:32:21,240 --> 00:32:24,960 know how people are doing with their 892 00:32:22,380 --> 00:32:26,820 sneezing and blessing which was pretty 893 00:32:24,960 --> 00:32:29,279 exciting 894 00:32:26,820 --> 00:32:30,720 um and yeah taking a little bit of look 895 00:32:29,279 --> 00:32:33,179 under the hood the way the slackbot 896 00:32:30,720 --> 00:32:35,220 works it listens to messages it gets the 897 00:32:33,179 --> 00:32:38,580 text finds the tag in this case John 898 00:32:35,220 --> 00:32:41,100 shout out to him and adds the message to 899 00:32:38,580 --> 00:32:42,720 an unverified blesses map 900 00:32:41,100 --> 00:32:45,059 then on the flip side of that when he 901 00:32:42,720 --> 00:32:47,520 reacts we look at the we listen for 902 00:32:45,059 --> 00:32:49,799 reactions and when they occur if we find 903 00:32:47,520 --> 00:32:51,720 the message we add points to the 904 00:32:49,799 --> 00:32:53,640 scoreboards and remove the message so no 905 00:32:51,720 --> 00:32:58,140 one else can get points 906 00:32:53,640 --> 00:33:01,020 this code on to such an extent 907 00:32:58,140 --> 00:33:03,779 that trophies were created and some 908 00:33:01,020 --> 00:33:07,020 special emojis for people who did well 909 00:33:03,779 --> 00:33:08,640 in the various sneezins the sneezing's 910 00:33:07,020 --> 00:33:11,220 mapped Real World seasons so we have a 911 00:33:08,640 --> 00:33:12,470 summer sneeze and Autumn season and so 912 00:33:11,220 --> 00:33:14,760 on 913 00:33:12,470 --> 00:33:16,320 [Applause] 914 00:33:14,760 --> 00:33:18,419 um one of the things we noticed once 915 00:33:16,320 --> 00:33:19,980 people started using the tool was that 916 00:33:18,419 --> 00:33:22,320 one of the most exciting things that can 917 00:33:19,980 --> 00:33:24,240 happen is if there's a close call two 918 00:33:22,320 --> 00:33:26,940 people race to bless and someone just 919 00:33:24,240 --> 00:33:29,279 misses out and people tended to pile on 920 00:33:26,940 --> 00:33:32,419 a little bit and give them a letter L or 921 00:33:29,279 --> 00:33:32,419 indicating they lost 922 00:33:32,640 --> 00:33:35,760 um we wanted to encourage this sort of 923 00:33:34,380 --> 00:33:37,620 shaming so 924 00:33:35,760 --> 00:33:40,019 um 925 00:33:37,620 --> 00:33:43,380 one of the enhancements was to add an 926 00:33:40,019 --> 00:33:45,000 elder board for if you lose 927 00:33:43,380 --> 00:33:47,159 it was even the case that people would 928 00:33:45,000 --> 00:33:48,840 delete messages to delete messages to 929 00:33:47,159 --> 00:33:52,760 avoid the embarrassment 930 00:33:48,840 --> 00:33:52,760 and this is the elder board now 931 00:33:53,880 --> 00:33:59,820 um there's lots of potential future 932 00:33:56,580 --> 00:34:01,980 ideas for what we can do with this we're 933 00:33:59,820 --> 00:34:05,340 really only just getting started but 934 00:34:01,980 --> 00:34:07,320 um there's uh ideas of analytics API to 935 00:34:05,340 --> 00:34:08,820 get some information a sneeze graph so 936 00:34:07,320 --> 00:34:10,500 you can see who blesses who and maybe 937 00:34:08,820 --> 00:34:11,359 match that up with where people sit in 938 00:34:10,500 --> 00:34:14,040 the office 939 00:34:11,359 --> 00:34:15,419 stats commands achievements and many 940 00:34:14,040 --> 00:34:17,159 more things so there's plenty of 941 00:34:15,419 --> 00:34:19,040 exciting development still to come with 942 00:34:17,159 --> 00:34:22,200 snesbot 943 00:34:19,040 --> 00:34:25,020 and some quick stats um we've so far 944 00:34:22,200 --> 00:34:28,159 detected 809 sneezes in the office and 945 00:34:25,020 --> 00:34:31,560 145 of those belong to one person so 946 00:34:28,159 --> 00:34:33,599 good job to them we won't name them and 947 00:34:31,560 --> 00:34:35,040 all in all a great deal of wasted office 948 00:34:33,599 --> 00:34:37,820 productivity 949 00:34:35,040 --> 00:34:37,820 thank you 950 00:34:39,720 --> 00:34:43,339 uh because will that be available 951 00:34:43,460 --> 00:34:48,720 uh another first time speaker indeed uh 952 00:34:46,740 --> 00:34:51,720 I'm really looking forward to seeing you 953 00:34:48,720 --> 00:34:53,820 stop I'm looking forward to uh to seeing 954 00:34:51,720 --> 00:34:55,679 a proposal on that uh in next year's uh 955 00:34:53,820 --> 00:34:57,359 in next year's call for proposals will 956 00:34:55,679 --> 00:34:59,160 that project be available during the 957 00:34:57,359 --> 00:35:00,119 Sprints asking for a friend that friend 958 00:34:59,160 --> 00:35:02,180 is me 959 00:35:00,119 --> 00:35:05,160 okay 960 00:35:02,180 --> 00:35:09,180 uh right so up on Deck we have uh Jack 961 00:35:05,160 --> 00:35:11,700 reichelt but first achinta 962 00:35:09,180 --> 00:35:12,780 uh hello my name is achinta I'm an 963 00:35:11,700 --> 00:35:15,060 undergraduate student from the 964 00:35:12,780 --> 00:35:16,440 Australian National University and I 965 00:35:15,060 --> 00:35:20,520 haven't done a speech since year 12 966 00:35:16,440 --> 00:35:23,040 English so if this sucks I am so sorry 967 00:35:20,520 --> 00:35:24,900 uh okay machine learning everybody loves 968 00:35:23,040 --> 00:35:26,280 it it helps us derive meaning out of 969 00:35:24,900 --> 00:35:28,560 massive amounts of data and make 970 00:35:26,280 --> 00:35:30,720 predictions based on patterns most 971 00:35:28,560 --> 00:35:32,520 people have some interaction with it on 972 00:35:30,720 --> 00:35:34,680 a daily basis without even realizing it 973 00:35:32,520 --> 00:35:36,660 and machine learning now is progressing 974 00:35:34,680 --> 00:35:38,640 at an incredible rate with increasingly 975 00:35:36,660 --> 00:35:40,079 complex models all the way from your 976 00:35:38,640 --> 00:35:43,200 regression models and decision tree 977 00:35:40,079 --> 00:35:45,660 models uh to think deep neural networks 978 00:35:43,200 --> 00:35:48,540 cnns and the list goes on 979 00:35:45,660 --> 00:35:50,520 uh despite the ever ramping accuracy of 980 00:35:48,540 --> 00:35:52,260 these complex models and techniques one 981 00:35:50,520 --> 00:35:53,579 of the most significant drawbacks is the 982 00:35:52,260 --> 00:35:55,619 lack of transparency behind Model 983 00:35:53,579 --> 00:35:57,660 Behavior as these models get 984 00:35:55,619 --> 00:35:59,339 increasingly complex the nature of the 985 00:35:57,660 --> 00:36:01,380 model turns into somewhat of a black box 986 00:35:59,339 --> 00:36:03,420 this is actually quite detrimental 987 00:36:01,380 --> 00:36:05,339 because what it does is it starts to 988 00:36:03,420 --> 00:36:06,780 severely encumber their users in 989 00:36:05,339 --> 00:36:09,599 critical critical decision-making 990 00:36:06,780 --> 00:36:11,400 applications regardless of the accuracy 991 00:36:09,599 --> 00:36:13,740 of a model if you can't explain why it 992 00:36:11,400 --> 00:36:15,780 came to a decision that it did that is 993 00:36:13,740 --> 00:36:18,119 not good even conceptually you're 994 00:36:15,780 --> 00:36:19,980 putting your faith sometimes blindly in 995 00:36:18,119 --> 00:36:22,560 something you don't understand and and 996 00:36:19,980 --> 00:36:24,780 that is problematic uh you might be 997 00:36:22,560 --> 00:36:27,000 thinking if the model is accurate and is 998 00:36:24,780 --> 00:36:29,640 doing what I ask it to why should I care 999 00:36:27,000 --> 00:36:31,619 well as many of you would know our 1000 00:36:29,640 --> 00:36:33,900 machine learning models are really are 1001 00:36:31,619 --> 00:36:35,579 only as good as our data and making sure 1002 00:36:33,900 --> 00:36:37,740 you have good data is is bloody 1003 00:36:35,579 --> 00:36:39,540 difficult and because depend because 1004 00:36:37,740 --> 00:36:40,740 depending on what you're looking at data 1005 00:36:39,540 --> 00:36:43,020 can be filled with biases and 1006 00:36:40,740 --> 00:36:45,900 inaccuracies so making sure you have 1007 00:36:43,020 --> 00:36:47,280 good data is not enough uh you can 1008 00:36:45,900 --> 00:36:48,660 imagine that when you take machine 1009 00:36:47,280 --> 00:36:50,700 learning in the context of something 1010 00:36:48,660 --> 00:36:52,980 like healthcare it can be very difficult 1011 00:36:50,700 --> 00:36:55,859 to ensure our models uh are representing 1012 00:36:52,980 --> 00:36:57,480 people of all backgrounds equally when 1013 00:36:55,859 --> 00:36:59,579 we don't understand why it is making the 1014 00:36:57,480 --> 00:37:03,180 decision it did so what you end up with 1015 00:36:59,579 --> 00:37:04,980 are headlines like these and even more 1016 00:37:03,180 --> 00:37:07,200 marginalization of certain groups of 1017 00:37:04,980 --> 00:37:09,420 people and yes these articles were not 1018 00:37:07,200 --> 00:37:12,240 hard to find I'm sure you guys have come 1019 00:37:09,420 --> 00:37:15,240 across topics like these two and know it 1020 00:37:12,240 --> 00:37:17,460 is not just a data issue as Doshi Velez 1021 00:37:15,240 --> 00:37:19,079 and Kim have put it the problem is that 1022 00:37:17,460 --> 00:37:21,180 a single metric such as classification 1023 00:37:19,079 --> 00:37:23,520 accuracy or even a collection of metrics 1024 00:37:21,180 --> 00:37:25,200 is in incomplete description of most 1025 00:37:23,520 --> 00:37:26,700 real world tasks 1026 00:37:25,200 --> 00:37:28,700 this is where the concept of 1027 00:37:26,700 --> 00:37:31,260 interpretability comes in 1028 00:37:28,700 --> 00:37:32,520 as Christoph molnap would say it's hard 1029 00:37:31,260 --> 00:37:34,920 to mathematically Define what 1030 00:37:32,520 --> 00:37:37,200 interpretability is but intuitively it 1031 00:37:34,920 --> 00:37:38,820 is the same as explainability and we can 1032 00:37:37,200 --> 00:37:41,760 kind of think of it as equipping these 1033 00:37:38,820 --> 00:37:43,920 ml models with the tools display their 1034 00:37:41,760 --> 00:37:46,440 machinations to us in a manner that our 1035 00:37:43,920 --> 00:37:47,880 monkey human brains can understand so it 1036 00:37:46,440 --> 00:37:51,960 really is just placing a bit more 1037 00:37:47,880 --> 00:37:53,579 emphasis on why as opposed to the how 1038 00:37:51,960 --> 00:37:55,560 um yeah so as outlined by doing 1039 00:37:53,579 --> 00:37:57,060 colleagues in this great article there's 1040 00:37:55,560 --> 00:37:59,280 two classifications for the techniques 1041 00:37:57,060 --> 00:38:00,839 that achieve interpretability and those 1042 00:37:59,280 --> 00:38:03,180 are intrinsic intermability and 1043 00:38:00,839 --> 00:38:04,980 post-talk interpretability as the name 1044 00:38:03,180 --> 00:38:06,599 suggests intrinsic interpretability 1045 00:38:04,980 --> 00:38:08,460 involves having interpretability 1046 00:38:06,599 --> 00:38:10,859 constraints constructed into the model 1047 00:38:08,460 --> 00:38:13,380 structure itself uh on the other hand 1048 00:38:10,859 --> 00:38:15,599 post-talk interpretability techniques 1049 00:38:13,380 --> 00:38:18,180 involve examining the model after the 1050 00:38:15,599 --> 00:38:19,920 fact typically through creating a second 1051 00:38:18,180 --> 00:38:22,440 model in parallel to explain the 1052 00:38:19,920 --> 00:38:24,359 behaviors of the initial model so both 1053 00:38:22,440 --> 00:38:25,800 come with their own trade-offs and it's 1054 00:38:24,359 --> 00:38:29,099 typically between the performance of 1055 00:38:25,800 --> 00:38:32,040 your model and explanation Fidelity so 1056 00:38:29,099 --> 00:38:33,900 and intrinsically an interpretable model 1057 00:38:32,040 --> 00:38:36,000 may become more interpretable as you 1058 00:38:33,900 --> 00:38:38,220 stack on these constraints but then you 1059 00:38:36,000 --> 00:38:40,380 tend to uh 1060 00:38:38,220 --> 00:38:41,820 get a decrease in model performance as 1061 00:38:40,380 --> 00:38:44,339 you bottleneck the features used in 1062 00:38:41,820 --> 00:38:46,560 prediction in the post talk case it's 1063 00:38:44,339 --> 00:38:50,099 really just an approximation of the 1064 00:38:46,560 --> 00:38:52,619 Model Behavior and so the Fidelity 1065 00:38:50,099 --> 00:38:55,320 Fidelity of the explanation we receive 1066 00:38:52,619 --> 00:38:58,260 may not be as clear but you've retained 1067 00:38:55,320 --> 00:39:01,500 the underlying model performance so what 1068 00:38:58,260 --> 00:39:03,140 other end results of this a massive net 1069 00:39:01,500 --> 00:39:05,760 positive 1070 00:39:03,140 --> 00:39:07,619 uh sorry 1071 00:39:05,760 --> 00:39:09,660 uh yeah for the user they can have 1072 00:39:07,619 --> 00:39:11,220 confidence and trust in these models and 1073 00:39:09,660 --> 00:39:13,380 this is in turn encourages further 1074 00:39:11,220 --> 00:39:15,119 uptake for developers we get a better 1075 00:39:13,380 --> 00:39:17,700 understanding of why things go wrong 1076 00:39:15,119 --> 00:39:19,140 when they inevitably do and that makes 1077 00:39:17,700 --> 00:39:21,480 sure that there's less harm being put 1078 00:39:19,140 --> 00:39:22,560 out by this thing we create so I've just 1079 00:39:21,480 --> 00:39:24,180 scratched the surface of these 1080 00:39:22,560 --> 00:39:26,940 techniques and these categories are 1081 00:39:24,180 --> 00:39:28,200 actually broken down even further but I 1082 00:39:26,940 --> 00:39:29,640 literally just finished writing this 1083 00:39:28,200 --> 00:39:33,000 script and I have no idea how long I've 1084 00:39:29,640 --> 00:39:35,700 got left so I want to reiterate that we 1085 00:39:33,000 --> 00:39:37,260 absolutely do not hate complexity it is 1086 00:39:35,700 --> 00:39:39,000 amazing but my point is it's kind of 1087 00:39:37,260 --> 00:39:41,099 like hopping in an Uber and your Uber 1088 00:39:39,000 --> 00:39:43,260 driver goes yeah I'll take you home but 1089 00:39:41,099 --> 00:39:44,820 I want you to cover your eyes and ears 1090 00:39:43,260 --> 00:39:47,099 the whole way and you'll probably end up 1091 00:39:44,820 --> 00:39:49,140 on your front porch this goes beyond 1092 00:39:47,099 --> 00:39:51,000 just machine learning side of things and 1093 00:39:49,140 --> 00:39:53,579 it really relies on the expertise of 1094 00:39:51,000 --> 00:39:55,320 many different sectors from data 1095 00:39:53,579 --> 00:39:58,460 analytics to social science to ethics 1096 00:39:55,320 --> 00:39:58,460 and so on thank you 1097 00:40:01,200 --> 00:40:06,420 yet another first time presenter we uh 1098 00:40:03,780 --> 00:40:08,880 we had three times as many proposals as 1099 00:40:06,420 --> 00:40:10,859 we had space for today including more 1100 00:40:08,880 --> 00:40:13,020 first-time presenters who than people 1101 00:40:10,859 --> 00:40:15,720 who propose anything at all yesterday so 1102 00:40:13,020 --> 00:40:17,220 uh uh yeah thank you all for submitting 1103 00:40:15,720 --> 00:40:19,140 lightning talks especially all of our 1104 00:40:17,220 --> 00:40:20,280 first time proposers hopefully we'll see 1105 00:40:19,140 --> 00:40:24,240 some of the ones that we couldn't take 1106 00:40:20,280 --> 00:40:27,180 in this year uh at next year's uh tangdo 1107 00:40:24,240 --> 00:40:29,700 is up on this side but first Jack 1108 00:40:27,180 --> 00:40:31,200 reichelt who is 1109 00:40:29,700 --> 00:40:33,660 going to do a lot of things with the 1110 00:40:31,200 --> 00:40:35,280 next five minutes yeah so we're going to 1111 00:40:33,660 --> 00:40:36,960 form a techian we're going for an 80 1112 00:40:35,280 --> 00:40:39,060 Speed Run world record attempt 1113 00:40:36,960 --> 00:40:40,560 glitchless as in uh I don't want to 1114 00:40:39,060 --> 00:40:42,480 break the law I don't really know if I'm 1115 00:40:40,560 --> 00:40:44,040 going to and yes this is actually a real 1116 00:40:42,480 --> 00:40:46,200 attempt yes I'm actually studying Union 1117 00:40:44,040 --> 00:40:47,280 yes you can actually sign up so the 1118 00:40:46,200 --> 00:40:48,480 first thing that we need to do is we 1119 00:40:47,280 --> 00:40:50,579 need to have our form where people can 1120 00:40:48,480 --> 00:40:52,500 register input and so that's really good 1121 00:40:50,579 --> 00:40:56,040 here but this link is really put on your 1122 00:40:52,500 --> 00:40:59,460 screen is it not only it should be 1123 00:40:56,040 --> 00:41:01,520 um how do I mirror real quick oh Jesus 1124 00:40:59,460 --> 00:41:01,520 um 1125 00:41:02,579 --> 00:41:05,579 well 1126 00:41:07,800 --> 00:41:09,859 um 1127 00:41:16,520 --> 00:41:22,980 world record speed run attempt make a 1128 00:41:19,260 --> 00:41:23,579 mac oh boy this isn't good Okay cool so 1129 00:41:22,980 --> 00:41:25,800 um 1130 00:41:23,579 --> 00:41:26,880 we need a link uh but that's real long 1131 00:41:25,800 --> 00:41:28,800 that's really bad so I'm going to stick 1132 00:41:26,880 --> 00:41:31,260 this in the URL shorter so that you can 1133 00:41:28,800 --> 00:41:33,240 all get that real nice and quick 1134 00:41:31,260 --> 00:41:34,800 um and we're going to go over here and 1135 00:41:33,240 --> 00:41:36,480 I'm going to skip that because I lost it 1136 00:41:34,800 --> 00:41:38,280 this will go on the Discord later and so 1137 00:41:36,480 --> 00:41:39,900 you can also see that so here we have to 1138 00:41:38,280 --> 00:41:42,119 write a whole bunch of rules um these 1139 00:41:39,900 --> 00:41:46,020 are the rules that a union needs and so 1140 00:41:42,119 --> 00:41:49,200 uh I've written a bunch of them that 1141 00:41:46,020 --> 00:41:52,320 should autofill and aren't oh it's all 1142 00:41:49,200 --> 00:41:53,700 gone terribly wrong okay so in that case 1143 00:41:52,320 --> 00:41:55,680 I'll slow down and I'll talk about other 1144 00:41:53,700 --> 00:41:57,480 things and we're not going to do the 1145 00:41:55,680 --> 00:41:58,740 speed Runway record but 1146 00:41:57,480 --> 00:42:01,380 um I am actually going to start a union 1147 00:41:58,740 --> 00:42:04,200 I don't really know how I have a friend 1148 00:42:01,380 --> 00:42:06,000 of mine who has started a union for PhD 1149 00:42:04,200 --> 00:42:08,520 students or something similar I don't 1150 00:42:06,000 --> 00:42:12,180 know exactly sorry Jess 1151 00:42:08,520 --> 00:42:13,380 um but uh as I I've been saying we 1152 00:42:12,180 --> 00:42:14,280 should have eaten for years and then I 1153 00:42:13,380 --> 00:42:15,900 was kind of inspired by the talk 1154 00:42:14,280 --> 00:42:17,099 yesterday and I thought well if I've 1155 00:42:15,900 --> 00:42:18,900 been saying it for years and nobody's 1156 00:42:17,099 --> 00:42:21,839 done it maybe that just means that I 1157 00:42:18,900 --> 00:42:23,280 should do it and so I'm gonna do it and 1158 00:42:21,839 --> 00:42:25,980 um 1159 00:42:23,280 --> 00:42:27,060 stop and so a couple of things with that 1160 00:42:25,980 --> 00:42:27,720 is 1161 00:42:27,060 --> 00:42:30,119 um 1162 00:42:27,720 --> 00:42:33,180 I don't know if Australians of our Union 1163 00:42:30,119 --> 00:42:34,859 is the best name for it I just thought a 1164 00:42:33,180 --> 00:42:37,380 sue sounded fun 1165 00:42:34,859 --> 00:42:39,540 um so in this form here uh there's a 1166 00:42:37,380 --> 00:42:40,980 thing of uh what do you think the name 1167 00:42:39,540 --> 00:42:42,599 of the Union should be 1168 00:42:40,980 --> 00:42:43,500 um so fill that out and we'll work that 1169 00:42:42,599 --> 00:42:45,000 out 1170 00:42:43,500 --> 00:42:47,220 um in these rules there's a whole bunch 1171 00:42:45,000 --> 00:42:48,540 of stuff here including really 1172 00:42:47,220 --> 00:42:50,700 critically 1173 00:42:48,540 --> 00:42:51,839 um was there property and funds we don't 1174 00:42:50,700 --> 00:42:54,599 have any 1175 00:42:51,839 --> 00:42:56,099 um it's it's just now 1176 00:42:54,599 --> 00:42:58,079 um alteration of rules these are 1177 00:42:56,099 --> 00:43:00,119 probably bad rules I'm going to say that 1178 00:42:58,079 --> 00:43:01,859 right now these are definitely bad rules 1179 00:43:00,119 --> 00:43:03,900 because I wrote them starting at about 1180 00:43:01,859 --> 00:43:06,480 lunchtime yesterday 1181 00:43:03,900 --> 00:43:08,280 um and so these will all be posted 1182 00:43:06,480 --> 00:43:09,839 they're good enough to get started 1183 00:43:08,280 --> 00:43:11,280 because they're better than nothing but 1184 00:43:09,839 --> 00:43:13,020 I made sure to make it so that it's not 1185 00:43:11,280 --> 00:43:14,640 too hard to alter the rules 1186 00:43:13,020 --> 00:43:17,220 um the way that I got this list by the 1187 00:43:14,640 --> 00:43:19,260 way is that the government said the 1188 00:43:17,220 --> 00:43:22,200 government says that every the rules for 1189 00:43:19,260 --> 00:43:24,420 a union have to include these things and 1190 00:43:22,200 --> 00:43:25,319 so it includes these things 1191 00:43:24,420 --> 00:43:27,060 um 1192 00:43:25,319 --> 00:43:28,500 there is also a form that needs to be 1193 00:43:27,060 --> 00:43:29,579 filled out I haven't filled that out 1194 00:43:28,500 --> 00:43:31,740 because I didn't want to swipe across to 1195 00:43:29,579 --> 00:43:33,960 this end docs myself 1196 00:43:31,740 --> 00:43:36,300 um if it's in my notes do not dock 1197 00:43:33,960 --> 00:43:37,859 yourself also don't dox other people a 1198 00:43:36,300 --> 00:43:42,300 critical thing 1199 00:43:37,859 --> 00:43:43,740 um we need 50 responses to have the 1200 00:43:42,300 --> 00:43:45,599 union be made 1201 00:43:43,740 --> 00:43:47,940 um you can't submit to be a union unless 1202 00:43:45,599 --> 00:43:49,859 you have 50 members which seems kind of 1203 00:43:47,940 --> 00:43:52,380 um backwards to me how do you get 50 1204 00:43:49,859 --> 00:43:53,940 members if you're not a union anyway 1205 00:43:52,380 --> 00:43:55,500 um so that's why I've just called this 1206 00:43:53,940 --> 00:43:58,200 an expression of Interest form rather 1207 00:43:55,500 --> 00:43:58,859 than a sign up to the union form 1208 00:43:58,200 --> 00:44:01,619 um 1209 00:43:58,859 --> 00:44:03,480 oh my other big point I don't think that 1210 00:44:01,619 --> 00:44:04,859 software is actually the best title for 1211 00:44:03,480 --> 00:44:07,380 this because 1212 00:44:04,859 --> 00:44:08,640 um that feels like it kind of excludes a 1213 00:44:07,380 --> 00:44:09,720 lot of people and I didn't actually want 1214 00:44:08,640 --> 00:44:12,240 that 1215 00:44:09,720 --> 00:44:13,920 um in the purpose and the who it's for 1216 00:44:12,240 --> 00:44:17,040 and such the eligibility for membership 1217 00:44:13,920 --> 00:44:20,040 it basically I left it super open-ended 1218 00:44:17,040 --> 00:44:22,800 and it's uh do you now have you ever or 1219 00:44:20,040 --> 00:44:25,920 do you intend to work as like a software 1220 00:44:22,800 --> 00:44:28,319 developer or ux designer or a data 1221 00:44:25,920 --> 00:44:29,640 analyst or kind of anything in Tech at 1222 00:44:28,319 --> 00:44:31,500 all 1223 00:44:29,640 --> 00:44:33,599 um or are you a student of that I guess 1224 00:44:31,500 --> 00:44:36,660 that's in you intend to 1225 00:44:33,599 --> 00:44:38,400 um because I think that they're all very 1226 00:44:36,660 --> 00:44:40,800 related fields 1227 00:44:38,400 --> 00:44:43,500 um one thing I wanted to mention was the 1228 00:44:40,800 --> 00:44:45,060 professionals Australia group 1229 00:44:43,500 --> 00:44:47,339 um I think that's really good and they 1230 00:44:45,060 --> 00:44:50,400 they're very large there's uh and and 1231 00:44:47,339 --> 00:44:52,020 many of you may be signed up to them 1232 00:44:50,400 --> 00:44:53,819 um I think that's good but I also think 1233 00:44:52,020 --> 00:44:56,760 that Tech is a kind of a different field 1234 00:44:53,819 --> 00:44:58,800 in how we interact with it how he how it 1235 00:44:56,760 --> 00:45:01,440 evolves very quickly and how Paul 1236 00:44:58,800 --> 00:45:03,000 policies need to be made about that you 1237 00:45:01,440 --> 00:45:04,560 know things around Architects that 1238 00:45:03,000 --> 00:45:07,560 haven't changed as fast as things around 1239 00:45:04,560 --> 00:45:08,579 technology do so I thought a specific 1240 00:45:07,560 --> 00:45:10,200 Union was good rather than just 1241 00:45:08,579 --> 00:45:12,960 encouraging people to join professionals 1242 00:45:10,200 --> 00:45:15,660 Australia that's why I'm doing this I 1243 00:45:12,960 --> 00:45:17,640 will post this tiny URL I don't normally 1244 00:45:15,660 --> 00:45:18,900 trust those because you never know what 1245 00:45:17,640 --> 00:45:20,819 they're actually going to expand to but 1246 00:45:18,900 --> 00:45:22,020 you also may make it so I'm going to 1247 00:45:20,819 --> 00:45:26,339 post that in the Discord after this 1248 00:45:22,020 --> 00:45:27,359 please sign up and I will I'll keep 1249 00:45:26,339 --> 00:45:28,560 doing this I'll keep in touch with 1250 00:45:27,359 --> 00:45:29,520 everybody who signs up thank you very 1251 00:45:28,560 --> 00:45:32,480 much 1252 00:45:29,520 --> 00:45:32,480 thank you 1253 00:45:33,300 --> 00:45:38,640 I feel like this talk encapsulates all 1254 00:45:36,720 --> 00:45:42,180 of the energy of lightning talks which 1255 00:45:38,640 --> 00:45:44,819 is just severe chaotic good energy 1256 00:45:42,180 --> 00:45:47,099 getting up on stage everything going 1257 00:45:44,819 --> 00:45:49,380 wrong and flying by the city of pants to 1258 00:45:47,099 --> 00:45:52,740 convey a brilliant message at the end so 1259 00:45:49,380 --> 00:45:53,940 thank you also join your union yes 1260 00:45:52,740 --> 00:45:56,460 [Applause] 1261 00:45:53,940 --> 00:45:57,900 hawk Is On Deck and first they talk 1262 00:45:56,460 --> 00:45:59,940 about go 1263 00:45:57,900 --> 00:46:01,680 like g'day P icon 1264 00:45:59,940 --> 00:46:04,680 um I was inspired by yesterday lightning 1265 00:46:01,680 --> 00:46:06,599 round I was so inspired and Ben was talk 1266 00:46:04,680 --> 00:46:08,339 this morning so I decided I'm gonna 1267 00:46:06,599 --> 00:46:10,680 prepare something and get up here today 1268 00:46:08,339 --> 00:46:12,660 do my first lighting talk 1269 00:46:10,680 --> 00:46:16,079 oh thank you thank you 1270 00:46:12,660 --> 00:46:18,839 um so AI became a hot popular Topic in 1271 00:46:16,079 --> 00:46:21,660 recent years and this is my story of my 1272 00:46:18,839 --> 00:46:23,579 relationship with AI I started playing 1273 00:46:21,660 --> 00:46:24,960 go about like two years ago so pretty 1274 00:46:23,579 --> 00:46:27,599 new Noob 1275 00:46:24,960 --> 00:46:30,540 um it has since consumed most if not all 1276 00:46:27,599 --> 00:46:32,339 my free time I buy books I study games I 1277 00:46:30,540 --> 00:46:34,980 get lessons 1278 00:46:32,339 --> 00:46:37,319 all of that to be bang on average the 1279 00:46:34,980 --> 00:46:38,400 pig of the curve as they say it and I'm 1280 00:46:37,319 --> 00:46:40,740 proud of it 1281 00:46:38,400 --> 00:46:44,280 the game itself is phenomenal as 1282 00:46:40,740 --> 00:46:45,839 aesthetically pleasing every move feels 1283 00:46:44,280 --> 00:46:48,540 like a conversation between me and my 1284 00:46:45,839 --> 00:46:51,300 opponent my moves usually say that I 1285 00:46:48,540 --> 00:46:54,660 really want to win please make mistakes 1286 00:46:51,300 --> 00:46:57,180 thank you but it wasn't just the game 1287 00:46:54,660 --> 00:46:59,339 itself that kind of got me hooked 1288 00:46:57,180 --> 00:47:01,560 it was the documentary called Alpha girl 1289 00:46:59,339 --> 00:47:03,680 I'm sure some of you even if you don't 1290 00:47:01,560 --> 00:47:06,980 play the game have heard of it 1291 00:47:03,680 --> 00:47:09,720 developed by the team at Google did mine 1292 00:47:06,980 --> 00:47:12,300 AI opponents in games like this are new 1293 00:47:09,720 --> 00:47:14,700 but a strong opponent like Alpha girl 1294 00:47:12,300 --> 00:47:18,480 was just not a thing back then 1295 00:47:14,700 --> 00:47:19,980 the game girl came from China about 3000 1296 00:47:18,480 --> 00:47:22,380 years ago and it has always been 1297 00:47:19,980 --> 00:47:25,079 regarded as the most challenging 1298 00:47:22,380 --> 00:47:27,000 classical game for AI because of his 1299 00:47:25,079 --> 00:47:30,800 complexity 1300 00:47:27,000 --> 00:47:34,140 goal is profoundly complex there are an 1301 00:47:30,800 --> 00:47:37,920 astonishing 10 to the power of 170 1302 00:47:34,140 --> 00:47:40,980 possible board configurations from the 1303 00:47:37,920 --> 00:47:42,720 get-go this makes the game of girl far 1304 00:47:40,980 --> 00:47:45,000 more complex than the game of chess 10 1305 00:47:42,720 --> 00:47:46,859 to the power of 40. 1306 00:47:45,000 --> 00:47:49,859 I'll spell you the details but long 1307 00:47:46,859 --> 00:47:51,839 story short is used neural networks to 1308 00:47:49,859 --> 00:47:54,480 evaluate and pick the best move and play 1309 00:47:51,839 --> 00:47:57,240 them out and give you the best one on 1310 00:47:54,480 --> 00:47:58,500 the surface this isn't anything new or 1311 00:47:57,240 --> 00:48:03,240 mind-blowing 1312 00:47:58,500 --> 00:48:06,660 but in 2016 this program defeated the 1313 00:48:03,240 --> 00:48:09,619 Roger Federer the samka of the wolf girl 1314 00:48:06,660 --> 00:48:12,599 in a spectacular fashion this event 1315 00:48:09,619 --> 00:48:15,420 shocked the whole community 1316 00:48:12,599 --> 00:48:17,220 many fear that AI is going to come along 1317 00:48:15,420 --> 00:48:19,980 and sort of ruin the game 1318 00:48:17,220 --> 00:48:22,800 however in reality it actually led us 1319 00:48:19,980 --> 00:48:24,060 into the modern era of goal of the AI 1320 00:48:22,800 --> 00:48:26,940 era 1321 00:48:24,060 --> 00:48:29,940 change the game forever 1322 00:48:26,940 --> 00:48:32,520 this is an AI move AI would consider 1323 00:48:29,940 --> 00:48:35,400 this move to be this or that so these 1324 00:48:32,520 --> 00:48:38,099 phrases sort of crop up in professional 1325 00:48:35,400 --> 00:48:40,380 games a lot recently 1326 00:48:38,099 --> 00:48:43,200 there are countless of books written 1327 00:48:40,380 --> 00:48:46,680 about AI play style people started to 1328 00:48:43,200 --> 00:48:49,859 analyze games played by AI to find new 1329 00:48:46,680 --> 00:48:51,780 creative ways to play this 3000 years 1330 00:48:49,859 --> 00:48:54,300 old board game 1331 00:48:51,780 --> 00:48:57,300 as if these AI program was like some 1332 00:48:54,300 --> 00:48:58,680 legendary plays back in the past to be 1333 00:48:57,300 --> 00:49:01,859 admired 1334 00:48:58,680 --> 00:49:05,099 to alphago and other similar AI program 1335 00:49:01,859 --> 00:49:07,980 have now become the most influential 1336 00:49:05,099 --> 00:49:11,220 tool used in go 1337 00:49:07,980 --> 00:49:13,020 it is absolutely fascinating to me that 1338 00:49:11,220 --> 00:49:15,780 these programs learn how to play the 1339 00:49:13,020 --> 00:49:18,420 game by training on the data sets or 1340 00:49:15,780 --> 00:49:20,760 data sets of existing human games then 1341 00:49:18,420 --> 00:49:23,160 it played itself to get stronger 1342 00:49:20,760 --> 00:49:26,700 and then it became so strong that is now 1343 00:49:23,160 --> 00:49:29,220 teaching us how to play our own game 1344 00:49:26,700 --> 00:49:32,099 so we use tools like this one here to 1345 00:49:29,220 --> 00:49:35,940 discover new techno new strategies new 1346 00:49:32,099 --> 00:49:38,819 techniques to learn I use it a lot to 1347 00:49:35,940 --> 00:49:41,520 review my games where I lost 1348 00:49:38,819 --> 00:49:44,040 as a teacher it tells me the reason I 1349 00:49:41,520 --> 00:49:46,440 lost and simply because I suck 1350 00:49:44,040 --> 00:49:48,660 it tells me because it tells me where my 1351 00:49:46,440 --> 00:49:51,359 mistakes are it tells me what the 1352 00:49:48,660 --> 00:49:54,060 alternatives are by playing out X number 1353 00:49:51,359 --> 00:49:55,440 of players which is pretty cool as you 1354 00:49:54,060 --> 00:49:58,079 can see 1355 00:49:55,440 --> 00:50:01,740 does that mean AIS is a threat to All 1356 00:49:58,079 --> 00:50:05,640 Gold professionals or someone who teach 1357 00:50:01,740 --> 00:50:08,099 absolutely not right the Gap in strength 1358 00:50:05,640 --> 00:50:11,640 between AI programs like alphagow and 1359 00:50:08,099 --> 00:50:13,740 the average jokes like me it's like vast 1360 00:50:11,640 --> 00:50:15,720 so I still need someone to understand 1361 00:50:13,740 --> 00:50:18,780 the game better 1362 00:50:15,720 --> 00:50:20,940 to study these AI games extensively and 1363 00:50:18,780 --> 00:50:23,700 pass on the knowledge in their own ways 1364 00:50:20,940 --> 00:50:25,920 it's a tool it's a powerful tools gold 1365 00:50:23,700 --> 00:50:27,960 players have been wielding it expertly 1366 00:50:25,920 --> 00:50:29,940 in the last couple of years to further 1367 00:50:27,960 --> 00:50:31,800 Advance the fill and I would like to 1368 00:50:29,940 --> 00:50:35,280 believe that so have we 1369 00:50:31,800 --> 00:50:36,660 since the tools like chat GPT and all 1370 00:50:35,280 --> 00:50:40,079 that came along 1371 00:50:36,660 --> 00:50:43,940 so Skynet still fictions 1372 00:50:40,079 --> 00:50:43,940 um that's it for me thank you 1373 00:50:45,180 --> 00:50:50,099 thanks tongue 1374 00:50:47,339 --> 00:50:54,420 get another first time speaker 1375 00:50:50,099 --> 00:50:56,760 um fantastic uh jakov is on Deck 1376 00:50:54,420 --> 00:50:59,240 and now here's hockey with a talk about 1377 00:50:56,760 --> 00:50:59,240 go 1378 00:50:59,940 --> 00:51:03,480 hello 1379 00:51:01,020 --> 00:51:06,359 um I I don't have any I didn't have any 1380 00:51:03,480 --> 00:51:08,280 analog fancy slides like Tom or space 1381 00:51:06,359 --> 00:51:10,500 pictures or traffic lights or anything 1382 00:51:08,280 --> 00:51:13,500 cool but but I have a hat 1383 00:51:10,500 --> 00:51:15,480 um so that's how you know it's me 1384 00:51:13,500 --> 00:51:18,680 um you can find me on the internet in in 1385 00:51:15,480 --> 00:51:20,640 places I've got the dowel avatars anyway 1386 00:51:18,680 --> 00:51:24,200 ding dong 1387 00:51:20,640 --> 00:51:24,200 have you heard about Moon Acts 1388 00:51:24,780 --> 00:51:29,160 get on with it you might have but you've 1389 00:51:27,300 --> 00:51:30,119 probably heard of you know go right no 1390 00:51:29,160 --> 00:51:32,160 sorry 1391 00:51:30,119 --> 00:51:34,980 go 1392 00:51:32,160 --> 00:51:36,300 um sorry Elena that's still your joke 1393 00:51:34,980 --> 00:51:39,960 um 1394 00:51:36,300 --> 00:51:42,119 it's been a while since the whole we're 1395 00:51:39,960 --> 00:51:44,940 rewriting all of our Python and go thing 1396 00:51:42,119 --> 00:51:47,520 has been current it was a very uh 1397 00:51:44,940 --> 00:51:49,920 rounded in like 2013 2014 that sort of 1398 00:51:47,520 --> 00:51:51,420 thing it's been a running uh sort of 1399 00:51:49,920 --> 00:51:53,520 theme 1400 00:51:51,420 --> 00:51:55,619 and that's that's been forever so I 1401 00:51:53,520 --> 00:51:57,180 don't I don't expect everyone to keep up 1402 00:51:55,619 --> 00:51:59,940 to date with programming languages they 1403 00:51:57,180 --> 00:52:01,740 might not use so here's some things that 1404 00:51:59,940 --> 00:52:03,359 have changed and go since you probably 1405 00:52:01,740 --> 00:52:06,480 haven't looked 1406 00:52:03,359 --> 00:52:07,920 uh go modules now 1407 00:52:06,480 --> 00:52:09,900 the old way where you had to have 1408 00:52:07,920 --> 00:52:12,359 everything in a certain directory in a 1409 00:52:09,900 --> 00:52:13,740 certain place and you couldn't have 1410 00:52:12,359 --> 00:52:16,859 multiple versions of that in different 1411 00:52:13,740 --> 00:52:21,240 different areas it sucked a lot it was 1412 00:52:16,859 --> 00:52:24,720 very bad but there is new uh the new 1413 00:52:21,240 --> 00:52:28,520 bonus which is using uh go go modules 1414 00:52:24,720 --> 00:52:30,960 it's a lot closer to what you might open 1415 00:52:28,520 --> 00:52:32,700 uh what you might expect when you start 1416 00:52:30,960 --> 00:52:34,680 using a programming language instead of 1417 00:52:32,700 --> 00:52:35,760 trash 1418 00:52:34,680 --> 00:52:38,819 um 1419 00:52:35,760 --> 00:52:40,559 when you have a package such as some 1420 00:52:38,819 --> 00:52:42,599 some code and you've made a package and 1421 00:52:40,559 --> 00:52:45,720 you import something you can then tell 1422 00:52:42,599 --> 00:52:47,099 go hey just to tidy up the go mod and it 1423 00:52:45,720 --> 00:52:49,680 will look for the dependencies and work 1424 00:52:47,099 --> 00:52:52,319 it out and then make this nice file that 1425 00:52:49,680 --> 00:52:55,140 says what Go version it requires what 1426 00:52:52,319 --> 00:52:57,359 the module is uh what it requires 1427 00:52:55,140 --> 00:52:59,940 directly as well as what it requires 1428 00:52:57,359 --> 00:53:02,640 indirectly so it can work out the big 1429 00:52:59,940 --> 00:53:05,099 old tree of dependencies and work out 1430 00:53:02,640 --> 00:53:08,700 exactly what you need and the minimum 1431 00:53:05,099 --> 00:53:11,400 version specification for it 1432 00:53:08,700 --> 00:53:13,440 the other big thing is generics and this 1433 00:53:11,400 --> 00:53:16,680 is something that I have been wanting 1434 00:53:13,440 --> 00:53:18,900 for a very long time and now it's been 1435 00:53:16,680 --> 00:53:20,819 since go 118 which has been around for a 1436 00:53:18,900 --> 00:53:22,260 little a little while and there's been 1437 00:53:20,819 --> 00:53:27,000 some improvements in concurrent versions 1438 00:53:22,260 --> 00:53:29,040 we're up to go 121 and I found that it's 1439 00:53:27,000 --> 00:53:31,619 really helpful in even my own personal 1440 00:53:29,040 --> 00:53:34,079 stuff where I've been writing a thing 1441 00:53:31,619 --> 00:53:35,760 where I've been making a risk five CPU 1442 00:53:34,079 --> 00:53:38,280 interpreter because that's what I do 1443 00:53:35,760 --> 00:53:42,540 with my Christmas holidays 1444 00:53:38,280 --> 00:53:46,140 um so if you have a CPU that you want to 1445 00:53:42,540 --> 00:53:48,720 be 16-bit or 32-bit and but you want to 1446 00:53:46,140 --> 00:53:50,700 work in terms of say your bit width you 1447 00:53:48,720 --> 00:53:56,160 can just make a interface a type it face 1448 00:53:50,700 --> 00:53:59,520 which is in 16 or in 32. the squiggly 1449 00:53:56,160 --> 00:54:02,819 line means that it will accept things 1450 00:53:59,520 --> 00:54:06,960 that have that as the base instead so in 1451 00:54:02,819 --> 00:54:09,599 go for example times are often just an 1452 00:54:06,960 --> 00:54:12,540 INT that means seconds in some sort of 1453 00:54:09,599 --> 00:54:13,859 thing so it sort of subclasses but not 1454 00:54:12,540 --> 00:54:15,420 subclass because it's not classes 1455 00:54:13,859 --> 00:54:17,460 because they're not objects but it's 1456 00:54:15,420 --> 00:54:19,800 anyway 1457 00:54:17,460 --> 00:54:21,180 so when you're actually using this it 1458 00:54:19,800 --> 00:54:23,520 works similar to other programming 1459 00:54:21,180 --> 00:54:26,400 languages so you've got you know you 1460 00:54:23,520 --> 00:54:28,980 define it in terms of this W is my 1461 00:54:26,400 --> 00:54:31,500 register width type sort of thing and I 1462 00:54:28,980 --> 00:54:33,180 can Define things inside my structs that 1463 00:54:31,500 --> 00:54:36,059 are that type and it will map and 1464 00:54:33,180 --> 00:54:39,720 everything works and you just keep using 1465 00:54:36,059 --> 00:54:43,440 that as you go and you end up with 1466 00:54:39,720 --> 00:54:45,359 the code being able to understand at uh 1467 00:54:43,440 --> 00:54:47,280 runtime basically what type it is 1468 00:54:45,359 --> 00:54:48,599 without having to copy and paste for 1469 00:54:47,280 --> 00:54:52,500 every different type that you want to 1470 00:54:48,599 --> 00:54:55,140 accept which is massively better 1471 00:54:52,500 --> 00:54:57,780 there's also a bunch more platforms so 1472 00:54:55,140 --> 00:55:00,720 AMD 64 is finally optimizations windows 1473 00:54:57,780 --> 00:55:03,359 and arm 64. risk Clive has quite a few 1474 00:55:00,720 --> 00:55:05,400 implementations and updates now long 1475 00:55:03,359 --> 00:55:07,260 Arch uh wessie they're for targeting 1476 00:55:05,400 --> 00:55:08,880 webassembly 1477 00:55:07,260 --> 00:55:11,280 and a whole bunch of other small 1478 00:55:08,880 --> 00:55:12,540 features that just make life nice like 1479 00:55:11,280 --> 00:55:15,200 Min and Max 1480 00:55:12,540 --> 00:55:18,119 in 2023 1481 00:55:15,200 --> 00:55:20,220 a profile guided optimization is also a 1482 00:55:18,119 --> 00:55:23,660 big one that can be very good for things 1483 00:55:20,220 --> 00:55:28,380 like kubernetes that run using go 1484 00:55:23,660 --> 00:55:30,960 atomics for Atomic purposes compressor 1485 00:55:28,380 --> 00:55:32,460 bug symbols all sorts of things fuzzing 1486 00:55:30,960 --> 00:55:35,160 address sanitizers 1487 00:55:32,460 --> 00:55:37,140 all very nice to have and it has gone a 1488 00:55:35,160 --> 00:55:38,400 long way since you might have looked so 1489 00:55:37,140 --> 00:55:40,619 I recommend 1490 00:55:38,400 --> 00:55:42,660 checking it out seeing if your gripes 1491 00:55:40,619 --> 00:55:44,640 with it in the past are still current 1492 00:55:42,660 --> 00:55:45,440 and if there are keep complaining about 1493 00:55:44,640 --> 00:55:48,480 them 1494 00:55:45,440 --> 00:55:52,440 thank you very much 1495 00:55:48,480 --> 00:55:54,540 thanks thank you hockey I'm 1496 00:55:52,440 --> 00:55:57,300 I'm excited to hear the next go talk at 1497 00:55:54,540 --> 00:56:01,319 pycon AU in 2030. 1498 00:55:57,300 --> 00:56:04,680 on Deck Peter Hall but first a talk 1499 00:56:01,319 --> 00:56:06,780 about somewhere to go with yaakov 1500 00:56:04,680 --> 00:56:08,339 uh you're putting going to everything 1501 00:56:06,780 --> 00:56:09,480 aren't you hello everyone 1502 00:56:08,339 --> 00:56:10,680 um just as a prefer some different 1503 00:56:09,480 --> 00:56:12,300 websites have some slightly different 1504 00:56:10,680 --> 00:56:13,859 numbers and slightly different Tales but 1505 00:56:12,300 --> 00:56:16,859 I put the story together as best I can 1506 00:56:13,859 --> 00:56:18,000 so Hello friends pycon this year is my 1507 00:56:16,859 --> 00:56:19,619 first time to Adelaide and I've been 1508 00:56:18,000 --> 00:56:21,839 using this time to research something 1509 00:56:19,619 --> 00:56:23,339 I'd heard rumors and whispers about 1510 00:56:21,839 --> 00:56:24,660 so put your hands up if you like Jewish 1511 00:56:23,339 --> 00:56:26,339 history 1512 00:56:24,660 --> 00:56:28,980 that's more than I expected put your 1513 00:56:26,339 --> 00:56:30,480 hands up even like nightclubs and bars 1514 00:56:28,980 --> 00:56:31,559 that's more of what I expected so 1515 00:56:30,480 --> 00:56:34,819 hopefully there's something in here for 1516 00:56:31,559 --> 00:56:37,920 everyone so in 1836 just 1517 00:56:34,819 --> 00:56:39,660 187 years ago Adelaide was colonized by 1518 00:56:37,920 --> 00:56:40,920 Europeans and as with much of the 1519 00:56:39,660 --> 00:56:43,740 history of Australia there have been 1520 00:56:40,920 --> 00:56:45,540 Jews there since the beginning in 1844 1521 00:56:43,740 --> 00:56:47,339 though there were just 25 Jews in the 1522 00:56:45,540 --> 00:56:48,420 colony here in Adelaide and as that 1523 00:56:47,339 --> 00:56:50,400 number grew they built the first 1524 00:56:48,420 --> 00:56:52,920 synagogue here in Adelaide and the 1525 00:56:50,400 --> 00:56:54,480 community still kept growing so this I 1526 00:56:52,920 --> 00:56:56,579 believe is the original synagogue scene 1527 00:56:54,480 --> 00:56:58,079 a number of years later I don't actually 1528 00:56:56,579 --> 00:57:01,140 know when this particular photo was 1529 00:56:58,079 --> 00:57:03,420 taken and originally it was 35 feet by 1530 00:57:01,140 --> 00:57:05,280 25 feet which is about 10 meters by 1531 00:57:03,420 --> 00:57:07,200 seven and a half give or take and it 1532 00:57:05,280 --> 00:57:09,780 could fit 150 people but that wasn't big 1533 00:57:07,200 --> 00:57:11,819 enough and it needed to be extended by 1534 00:57:09,780 --> 00:57:15,480 1860 just 10 years later the community 1535 00:57:11,819 --> 00:57:17,400 had grown to 360 members and by 1871 the 1536 00:57:15,480 --> 00:57:19,680 community built a new larger synagogue 1537 00:57:17,400 --> 00:57:21,780 right next door 1538 00:57:19,680 --> 00:57:23,760 the new one on the left was apparently 1539 00:57:21,780 --> 00:57:25,500 built in Italian style the old one in 1540 00:57:23,760 --> 00:57:26,579 Egyptian style I'm not an expert in this 1541 00:57:25,500 --> 00:57:28,440 I have no idea if this is what the 1542 00:57:26,579 --> 00:57:31,140 internet said and according to some 1543 00:57:28,440 --> 00:57:33,059 sources had a capacity for 370 people 1544 00:57:31,140 --> 00:57:34,500 which doesn't sound like good capacity 1545 00:57:33,059 --> 00:57:37,260 planning to me 1546 00:57:34,500 --> 00:57:40,200 20 years later in 1891 the community had 1547 00:57:37,260 --> 00:57:41,339 grown to 1 840 people and it was 1548 00:57:40,200 --> 00:57:43,079 suggested that the synagogue should be 1549 00:57:41,339 --> 00:57:45,000 redeveloped to provide an income for the 1550 00:57:43,079 --> 00:57:46,619 community so to do this they developed 1551 00:57:45,000 --> 00:57:48,540 five shops on Rundle Street which I 1552 00:57:46,619 --> 00:57:50,460 believe are still there as the Rundle 1553 00:57:48,540 --> 00:57:52,500 buildings on the corner but I didn't 1554 00:57:50,460 --> 00:57:54,300 look too closely when I was there 1555 00:57:52,500 --> 00:57:56,520 but as part of this Redevelopment in 1556 00:57:54,300 --> 00:57:58,859 1896 they moved the synagogue entrance 1557 00:57:56,520 --> 00:58:00,839 around to the side street and that side 1558 00:57:58,859 --> 00:58:02,700 feed Bears the name synagogue place to 1559 00:58:00,839 --> 00:58:03,720 this very day which is quite confusing 1560 00:58:02,700 --> 00:58:04,859 when you're researching coming to 1561 00:58:03,720 --> 00:58:06,359 Adelaide you're like oh is there a 1562 00:58:04,859 --> 00:58:07,859 synagogue and Google gives you results 1563 00:58:06,359 --> 00:58:09,420 for a street 1564 00:58:07,859 --> 00:58:11,700 and so let's reach there along with some 1565 00:58:09,420 --> 00:58:13,920 street art there's some graffiti and 1566 00:58:11,700 --> 00:58:16,200 then in 1938 the buildings received a 1567 00:58:13,920 --> 00:58:17,460 new art deco cement facade which was 1568 00:58:16,200 --> 00:58:19,380 probably this photo that I found 1569 00:58:17,460 --> 00:58:21,180 courtesy of Heritage of the city of 1570 00:58:19,380 --> 00:58:23,460 Adelaide you can see them again David 1571 00:58:21,180 --> 00:58:25,559 the Star of David in a circle at the 1572 00:58:23,460 --> 00:58:27,720 very top of the building above the 1573 00:58:25,559 --> 00:58:29,700 balcony and the words bait filler 1574 00:58:27,720 --> 00:58:32,400 engraved on the balcony itself which is 1575 00:58:29,700 --> 00:58:34,319 Hebrew for House of Prayer what's above 1576 00:58:32,400 --> 00:58:36,180 the main entrance and on the 11th of 1577 00:58:34,319 --> 00:58:38,400 September in 1986 this building was 1578 00:58:36,180 --> 00:58:42,540 granted Heritage status and is listed as 1579 00:58:38,400 --> 00:58:44,280 sa Heritage Place number 1345. 1580 00:58:42,540 --> 00:58:47,400 but why is this relevant to most of you 1581 00:58:44,280 --> 00:58:49,559 here well in 1990 the committee moved to 1582 00:58:47,400 --> 00:58:51,780 a new facility in Glenside and sold the 1583 00:58:49,559 --> 00:58:53,640 old freshly Heritage listed building 1584 00:58:51,780 --> 00:58:56,880 and it became a nightclub known as the 1585 00:58:53,640 --> 00:58:58,920 synagogue or synagogue nightclub 1586 00:58:56,880 --> 00:59:02,460 or for some strange reason in 2000 1587 00:58:58,920 --> 00:59:03,780 Church nightclub 1588 00:59:02,460 --> 00:59:05,220 I actually found this picture on a 1589 00:59:03,780 --> 00:59:06,960 Facebook group back from when it was the 1590 00:59:05,220 --> 00:59:08,760 church 1591 00:59:06,960 --> 00:59:10,859 and you could see like this elevated 1592 00:59:08,760 --> 00:59:12,599 forward Central area there's on the 1593 00:59:10,859 --> 00:59:14,099 western side of the main hall this would 1594 00:59:12,599 --> 00:59:16,380 have been the Anna karesh The Arc in 1595 00:59:14,099 --> 00:59:18,240 which the Torah scrolls are kept and 1596 00:59:16,380 --> 00:59:21,000 this is now at least when the photo was 1597 00:59:18,240 --> 00:59:22,799 isn't the DJ desk now 1598 00:59:21,000 --> 00:59:24,839 after that it became the Apple bar in 1599 00:59:22,799 --> 00:59:26,280 about 2009 which was not a place where 1600 00:59:24,839 --> 00:59:28,500 you go to get your computers fixed by 1601 00:59:26,280 --> 00:59:30,900 Geniuses but another interior 1602 00:59:28,500 --> 00:59:32,579 Redevelopment of the same site you can 1603 00:59:30,900 --> 00:59:34,619 see in this photo again that elaborate 1604 00:59:32,579 --> 00:59:36,359 front area very pixelated because these 1605 00:59:34,619 --> 00:59:39,119 are old photos and there's also 1606 00:59:36,359 --> 00:59:40,799 mezzanine level in a ring above which 1607 00:59:39,119 --> 00:59:42,599 was likely the original women's Gallery 1608 00:59:40,799 --> 00:59:44,160 a fairly common layout for synagogues 1609 00:59:42,599 --> 00:59:46,859 like this 1610 00:59:44,160 --> 00:59:50,220 since 2016 however it is now the Mary's 1611 00:59:46,859 --> 00:59:52,380 pop and gay bar open three nights a week 1612 00:59:50,220 --> 00:59:54,420 to be fair it is a gay bar with a very 1613 00:59:52,380 --> 00:59:55,680 friendly and curious security guard who 1614 00:59:54,420 --> 00:59:57,660 is more than happy to answer some of my 1615 00:59:55,680 --> 00:59:59,339 questions earlier this week 1616 00:59:57,660 --> 01:00:01,440 but while the text above the entrance 1617 00:59:59,339 --> 01:00:03,000 that once read House of Prayer is now 1618 01:00:01,440 --> 01:00:05,880 completely gone 1619 01:00:03,000 --> 01:00:07,920 the original Star of David remains 1620 01:00:05,880 --> 01:00:09,599 it's obscured slightly by the paintwork 1621 01:00:07,920 --> 01:00:11,760 but if you know what you're looking for 1622 01:00:09,599 --> 01:00:14,640 the site still does have telltale signs 1623 01:00:11,760 --> 01:00:16,200 of its Origins as the Adelaide synagogue 1624 01:00:14,640 --> 01:00:18,059 so if any of you are going to go hit up 1625 01:00:16,200 --> 01:00:19,440 this queer bar after the con please be 1626 01:00:18,059 --> 01:00:21,240 at least a little respectful of its 1627 01:00:19,440 --> 01:00:22,619 Heritage and just in general I would 1628 01:00:21,240 --> 01:00:24,720 suggest try and keep in mind and 1629 01:00:22,619 --> 01:00:28,760 appreciate history and the value of 1630 01:00:24,720 --> 01:00:28,760 whatever place you're in thank you 1631 01:00:29,400 --> 01:00:39,960 thank you yaakov thank you 1632 01:00:33,480 --> 01:00:43,260 hey uh on Deck we have uh Daisy and Lily 1633 01:00:39,960 --> 01:00:46,079 one talk to go 1634 01:00:43,260 --> 01:00:48,240 how many go puns can I no more uh it's a 1635 01:00:46,079 --> 01:00:50,180 Peter Hall 1636 01:00:48,240 --> 01:00:54,240 all right thank you Chris hi everyone 1637 01:00:50,180 --> 01:00:56,880 you have heard of this movie 1638 01:00:54,240 --> 01:00:58,260 it's the Fast and the Furious and you 1639 01:00:56,880 --> 01:01:01,680 have heard that this movie has weirdly 1640 01:00:58,260 --> 01:01:04,740 named sequels like Too Fast Too Furious 1641 01:01:01,680 --> 01:01:07,880 The Fast and the Furious Tokyo Drift and 1642 01:01:04,740 --> 01:01:11,520 so on and so forth for several movies 1643 01:01:07,880 --> 01:01:13,859 would you like to know why 1644 01:01:11,520 --> 01:01:15,420 this question will be answered we need a 1645 01:01:13,859 --> 01:01:16,799 history lesson about the development of 1646 01:01:15,420 --> 01:01:20,460 the Fast and the Furious 1647 01:01:16,799 --> 01:01:22,260 so in 1998 Rob Cohen read an article in 1648 01:01:20,460 --> 01:01:24,480 a magazine at about an illegal street 1649 01:01:22,260 --> 01:01:27,000 race in New York and thought I should 1650 01:01:24,480 --> 01:01:29,460 make a movie about street racing 1651 01:01:27,000 --> 01:01:30,480 what should we call that movie he asked 1652 01:01:29,460 --> 01:01:32,520 himself 1653 01:01:30,480 --> 01:01:34,559 why not just use the title from the 1654 01:01:32,520 --> 01:01:38,040 magazine article we can make an amazing 1655 01:01:34,559 --> 01:01:39,540 movie named Racer X 1656 01:01:38,040 --> 01:01:40,920 and that became the working title for 1657 01:01:39,540 --> 01:01:42,359 the movie 1658 01:01:40,920 --> 01:01:43,980 and they stayed with that title for 1659 01:01:42,359 --> 01:01:45,480 quite a while and they but eventually 1660 01:01:43,980 --> 01:01:47,700 they decided no this this title is not 1661 01:01:45,480 --> 01:01:50,760 plenty enough we need to change it a bit 1662 01:01:47,700 --> 01:01:52,440 so what was the title of the race that 1663 01:01:50,760 --> 01:01:55,200 happened in New York that's mentioned at 1664 01:01:52,440 --> 01:01:56,640 that magazine article it was called drag 1665 01:01:55,200 --> 01:01:58,680 wars 1666 01:01:56,640 --> 01:02:01,500 they decided not to use that particular 1667 01:01:58,680 --> 01:02:06,119 title but it did Inspire their next 1668 01:02:01,500 --> 01:02:07,740 title they went drag wars almost race 1669 01:02:06,119 --> 01:02:09,240 Wars 1670 01:02:07,740 --> 01:02:10,559 oh 1671 01:02:09,240 --> 01:02:13,140 now 1672 01:02:10,559 --> 01:02:15,720 I feel like this title has some really 1673 01:02:13,140 --> 01:02:17,700 obvious drawbacks 1674 01:02:15,720 --> 01:02:19,440 and so did they so they eventually 1675 01:02:17,700 --> 01:02:22,680 changed it again they came up with a new 1676 01:02:19,440 --> 01:02:24,000 title so race Wars connotations of 1677 01:02:22,680 --> 01:02:27,180 racial violence 1678 01:02:24,000 --> 01:02:29,520 the new title is Red Line 1679 01:02:27,180 --> 01:02:32,760 which if you're familiar with the uh 1680 01:02:29,520 --> 01:02:34,440 history of the US real estate also has 1681 01:02:32,760 --> 01:02:36,780 racial problems 1682 01:02:34,440 --> 01:02:39,660 but eventually 1683 01:02:36,780 --> 01:02:40,740 Neil Moritz the producer of The Fast and 1684 01:02:39,660 --> 01:02:45,180 the Furious 1685 01:02:40,740 --> 01:02:46,559 saw a documentary about Roger Corman the 1686 01:02:45,180 --> 01:02:49,280 director of 1687 01:02:46,559 --> 01:02:54,240 The Fast and the Furious 1688 01:02:49,280 --> 01:02:57,000 1954 and he went that that is the title 1689 01:02:54,240 --> 01:02:59,640 that I want for my movie 1690 01:02:57,000 --> 01:03:03,720 shame it's already a movie though 1691 01:02:59,640 --> 01:03:06,720 nonetheless let's um so just for context 1692 01:03:03,720 --> 01:03:09,900 the 1954 movie was described by variety 1693 01:03:06,720 --> 01:03:13,020 as a high-priced sports car bombs phone 1694 01:03:09,900 --> 01:03:14,700 furnish most of the action and racing 1695 01:03:13,020 --> 01:03:16,740 footage is interesting but becomes 1696 01:03:14,700 --> 01:03:19,020 repetitious and helps to string out the 1697 01:03:16,740 --> 01:03:20,400 running time to an unnecessary 73 1698 01:03:19,020 --> 01:03:22,799 minutes 1699 01:03:20,400 --> 01:03:25,220 an unhandy length for supporting play 1700 01:03:22,799 --> 01:03:25,220 dates 1701 01:03:25,859 --> 01:03:31,140 other reviews for similar 1702 01:03:28,740 --> 01:03:33,000 it wasn't a spectacular box office 1703 01:03:31,140 --> 01:03:35,040 success but they did manage to pay back 1704 01:03:33,000 --> 01:03:36,780 their investors 1705 01:03:35,040 --> 01:03:37,799 so Neil Moritz gets on the phone to 1706 01:03:36,780 --> 01:03:40,619 Universal 1707 01:03:37,799 --> 01:03:41,760 and says can we use this title I want my 1708 01:03:40,619 --> 01:03:45,200 movie to be called The Fast and the 1709 01:03:41,760 --> 01:03:45,200 Furious and Universal said 1710 01:03:45,780 --> 01:03:50,460 nothing at all they just went silent the 1711 01:03:48,359 --> 01:03:52,260 phone line went silent 1712 01:03:50,460 --> 01:03:54,119 and eventually I said look we'll get 1713 01:03:52,260 --> 01:03:55,859 back to you on that and after a few 1714 01:03:54,119 --> 01:03:57,540 hours they called back and said 1715 01:03:55,859 --> 01:03:59,280 all right let's do it 1716 01:03:57,540 --> 01:04:01,319 we will get on the phone with Roger 1717 01:03:59,280 --> 01:04:03,180 Corman and make arrangements so 1718 01:04:01,319 --> 01:04:04,980 Universal calls Roger Corman and says 1719 01:04:03,180 --> 01:04:05,940 hey can we use your tile and Roger was 1720 01:04:04,980 --> 01:04:07,920 like 1721 01:04:05,940 --> 01:04:09,540 well that movie is from 1954 it never 1722 01:04:07,920 --> 01:04:11,520 made much money no one ever really cared 1723 01:04:09,540 --> 01:04:12,720 about it I would be very happy to sell 1724 01:04:11,520 --> 01:04:14,400 you the rights to those targets your 1725 01:04:12,720 --> 01:04:17,579 Universal you're a huge company you have 1726 01:04:14,400 --> 01:04:18,900 a lot of money what can you give me and 1727 01:04:17,579 --> 01:04:20,700 Universal said 1728 01:04:18,900 --> 01:04:22,500 what if we gave you the use of some of 1729 01:04:20,700 --> 01:04:23,940 our stock footage archive and he said 1730 01:04:22,500 --> 01:04:25,820 well it's more than anyone else was 1731 01:04:23,940 --> 01:04:29,149 paying all right I'll take it 1732 01:04:25,820 --> 01:04:29,149 [Applause] 1733 01:04:29,819 --> 01:04:35,160 what if I want to make 1734 01:04:32,099 --> 01:04:38,040 49 years later the Fast and the Furious 1735 01:04:35,160 --> 01:04:40,740 2. so I'm keeping the rights to 1736 01:04:38,040 --> 01:04:42,599 numerical sequels 1737 01:04:40,740 --> 01:04:44,040 you can have the Fast and the Furious 1738 01:04:42,599 --> 01:04:45,420 but if you ever make a sequel you're 1739 01:04:44,040 --> 01:04:47,280 going to have to come up with your own 1740 01:04:45,420 --> 01:04:50,640 names 1741 01:04:47,280 --> 01:04:52,799 and that brings us here 1742 01:04:50,640 --> 01:04:56,160 so 1743 01:04:52,799 --> 01:04:59,940 Universal goes on to make seven billion 1744 01:04:56,160 --> 01:05:02,339 dollars in Gross like box office takings 1745 01:04:59,940 --> 01:05:04,859 from the combined entire Fast and the 1746 01:05:02,339 --> 01:05:06,420 Furious sorry the Fast and the Furious 1747 01:05:04,859 --> 01:05:08,400 franchise 1748 01:05:06,420 --> 01:05:10,200 Roger Corman received some stock footage 1749 01:05:08,400 --> 01:05:12,960 Which is far as I'm aware he has never 1750 01:05:10,200 --> 01:05:15,859 used for anything 1751 01:05:12,960 --> 01:05:15,859 thank you very much 1752 01:05:17,400 --> 01:05:22,940 Peter 1753 01:05:18,839 --> 01:05:22,940 Peter Hall Tokyo Drift everyone 1754 01:05:23,160 --> 01:05:27,780 get off the stage 1755 01:05:25,559 --> 01:05:30,180 right that is the end of the lightning 1756 01:05:27,780 --> 01:05:34,099 talks thank you to the AV people for 1757 01:05:30,180 --> 01:05:34,099 making us all look great again 1758 01:05:35,339 --> 01:05:38,520 thank you to Russell for waving his 1759 01:05:37,020 --> 01:05:41,000 laptop at people and encouraging 1760 01:05:38,520 --> 01:05:41,000 Applause 1761 01:05:42,660 --> 01:05:47,810 thanks thank you to today's elf and 1762 01:05:44,819 --> 01:05:51,720 occasional interpretive dancer Bano 1763 01:05:47,810 --> 01:05:55,319 [Applause] 1764 01:05:51,720 --> 01:05:57,920 to the voice of Bob uh sadly demiked 1765 01:05:55,319 --> 01:05:57,920 Libby Berry 1766 01:05:58,579 --> 01:06:03,359 and of course thank you to each and 1767 01:06:01,079 --> 01:06:04,859 every one of our 13 speakers 1768 01:06:03,359 --> 01:06:07,140 if you and 1769 01:06:04,859 --> 01:06:08,640 if you enjoyed today's lightning talks 1770 01:06:07,140 --> 01:06:11,000 you can't submit any tomorrow because 1771 01:06:08,640 --> 01:06:13,319 there are no lightning talks 1772 01:06:11,000 --> 01:06:14,819 but maybe there will be a pike on EU 1773 01:06:13,319 --> 01:06:16,920 next year and you can submit a lightning 1774 01:06:14,819 --> 01:06:18,900 talk then and until then 1775 01:06:16,920 --> 01:06:22,020 see you later and please give a 1776 01:06:18,900 --> 01:06:22,770 rapturous round of applause to a daisy 1777 01:06:22,020 --> 01:06:28,000 and Nick 1778 01:06:22,770 --> 01:06:28,000 [Applause]