ces one thing that we do need which is uh reliable delivery so udp packets are allowed to be dropped just like ip packets well uh implementing reliable delivery the right way is seemed hard so um we took the coward's way out and uh just sent every packet and response four times um uh and that pretty much worked okay um so udp worked great for us for a while um until a point later when we started getting taxi drivers to use wave to accept payments so these drivers often worked in a downtown area where um there were so many people on the network that um mobile data was too congested even for udp to work well and uh because the customer was sitting in their car waiting for the payment to finish before they got out um sms was too slow for this use case by the way the taxi product was in senegal and that's why there's water in this picture um this is the fish market near where I lived okay um so fortunately we have one more weird protocol up our sleeve which is ussd unstructured supplementary data um so ussd is primarily used um in developing countries uh and it's used for things like uh topping up your prepaid airtime on your phone um so you would like buy a scratch card at the corner store and it would have some magic digits that you dial and then you dial them it pops up a loading spinner and eventually you got a text box that's like you've got airtime um at the protocol level it works pretty similarly to sms but the traffic is prioritized more highly because um the customer just paid the telco money and like the telco probably wants to like receive it um and also they're looking at a loading spinner um so we decided to try sending a request over ussd um so unfortunately uh ussd has even worse measured size limitations than sms it actually goes through the same parts of your phone stack as when you dial a phone number um and believe it or not phone numbers are limited to a mere 98 characters on the network that we tested um of which nine were consumed by our prefix so so um furthermore the dial string needs to be numbers um so uh each number gives you 3.32 bits um it turns out the log base two formula works with fractional bits per character as well um and that works out to about 36 bytes if you do the math um so that's cutting it really close um so i wanted to see if it was possible to use any alphabetic characters instead um i tried the docs for this but of course um nobody had foreseen possibly wanting to abuse ussd in this way um so i was out of luck and that meant um the next step was source diving um so android is open source you can just read most of the source code of the um android operating system on the internet um and that meant this turned out actually to be relatively easy to track um but i'm going to go through it fairly quickly because it's not that exciting so i'll just uh like dive through some garbage wrapper layers and um it turns out uh that so eventually i found that um the the operating system was sanitizing any number that was dialed with this is diable dialable function which allows digits zero through nine the asterisk the pound sign the plus sign and this wild thing um which turns out to be the letter n um so uh i don't know why i don't know why n is wild but it is uh pretty wild um so where does that leave us um well the asterisk and the pound sign have like special ussd meanings like a piece of middleware um so we couldn't use those um the plus sign didn't work and none of my co-workers remembers why it didn't work uh but the character n works so we've gotten ourselves one whole extra character uh taking us up to 3.45 bits per character and 38 bytes um so not a huge gain but uh we're celebrating this is us doing a traditional Somali dance um so i thought i'd close by explaining where we ended up with on each of these things um we're not using ussd today because it requires deals with every telecom that you use it with um uh and some of them run competing mobile money systems we're not using SMS because in Senegal internet is like mostly good enough um and that Senegal is where most of our business is today um we do still use UDP um but uh the next version of HTTP the normal protocol that everyone uses um contains many similar optimizations to the ones that we made so we're excited to replace it with something like slightly more normal once that's mature um and uh yeah this is a fishing boat doing donuts into the sunset um because that's how i felt when i finished this project um great all right well uh thanks for listening uh you can find the slides at bencune.net slash base 11 and some links to further reading resources um and um thank you so much it was fun to tell you about this awesome thank you Ben this was pretty fun i especially enjoyed all the UDP jokes and discord so i can't stop laughing to give some more time for people to switch channels i'm going to even buy early to hang with me for a bit in the stream hey what's hey how you doing i'm doing well i uh yeah oh my gosh the jokes that we're flying in the in the discord channel uh i like how you and i both when it when you is like yeah we're gonna like send the message four times we both immediately started like repeating the jokes four times uh yeah everyone loves UDP we also love UDP because we're streaming right yeah hey look look at us using UDP right now and not over SMS fortunately or unfortunately depending on how you look at it i mean that's an idea for the next bank bank call we should just do this over SMS and see how it works yeah there you go uh alicia uh uh i the the chat has noticed that there's a cat somewhere is that yes i am sorry my cats decided to no no no please yeah if you if you if you bring them on stream i bet everybody would enjoy that give me a second i'm going to grab one great i i'm not actually uh i'm actually in a real estate office because they've got better internet than home so uh my cat is is not around unfortunately so okay so this is dc he's the fluffy beautiful oh my gosh what a beautiful cat yeah they both want to go out so they're very unhappy that i'm at my computer right now look at those whiskers they disappeared because they don't want to be held so you only get dc for now awesome um i call masks uh if that one's called dc is your other one named ac yes both my cats are very great which was very confusing during the next talk yesterday because he kept saying ac and dc i and i kept thinking about my cats it was really confusing for my brain amazing uh how are we doing let's see if our next speaker is around yeah i think james is ready to come and say hi um james's talk thank you already james's talk is prerecorded so um i'm going to give him a moment oh baby okay i'm just going to quickly say a few things about james and then you can say hi and i mean this is amazing we've got babies we've got cats uh who doesn't know what banding can't so um james's talk uh is about cbi cbs televised computer generated stories in 1960s and 10 million watched i am very curious about that just let me tell you a bit about james um he's a researcher and practitioner at the intersection of art and computation and his current focuses on digging up obscure pioneering work in this area with an emphasis emphasis from forgotten early examples of story generation and computer poetry um james hi there he's there yeah i no kitten but i i got a baby here this is viv um i'm james we're coming live from minneapolis uh my talk's prerecorded it'll play in just a moment but we want to stop by and say hi to everybody um and extend a hearty thank you to all of you watching and especially a thank you to the bang bang kong uh organizers who've done such a fabulous job with this remote version so my talk will play in just a moment um i hope you like it i'll be on twitter and discord and and i'm pretty easy to find thanks for watching awesome thank you for coming to say hi my pleasure it's 1960 and the mit centennial is around the corner cbs notices this and decides to celebrate the occasion they'll make a television program they'll call it tomorrow it will be about the future that mit scientists are working to create this is douglas t ross professor at mit he's busy coining phrases like computer aided design and this is thomas h wolf television producer at cbs he's worked on shows like see it now with ed murrow but now he's writing and producing tomorrow wolf and ross get lunch in new york they're discussing whether computer aided design would make for compelling television ross fears that it won't it's too esoteric he tells wool the mood goes dour the lunch is almost over but then wolf pops a wild question could a computer write a western he asks the plots are so formulaic he says could a computer write a western ross thinks about this for the rest of the lunch and indeed for the rest of the month before finally writing back later with an answer yes he says but only if it's a pantomime no dialogue wolf remains enthused and it would appear that a peculiar collaboration between cbs and mit is underway but then claud shannon for reasons i have not been able to determine attempts to convince wolf not to go down this path but ultimately he is unsuccessful because this is cbs televised computer generated stories in 1960 and 10 million watched i'm james ryan this work was done in collaboration with jillian smith with special assistance from don canooth chris garcia the computer history museum and mit archives and special collections special thanks also to mark sample in the bang bang con 2020 organizers shout out to liza daily no one had ever done anything quite like this before in 1952 christopher strait she produced computer generated love letters and in 59 tail loots produced computer poetry in german but this would be the most ambitious undertaking in computational media to this time and ross had to invent everything from scratch his early sketches are remarkably well formed each story will take place in a hideout and center on a shootout between a robber and a sheriff characters will move about the world along six places of action the corner the table the window the door the area outside the door the area outside the window action will center on props money bags a bottle of whiskey a glass and of course the guns each prop affords certain actions you can pick up put down counts or gloat over the money you can pick up put down pour or drink from the bottle and glass you can do gun things with the guns you can do other things no matter what you're holding this is harrison r morse aka dit graduate student at mit he's going to lead programming on this effort using the tx o computer this is the legendary machine on which the original hackers the tech model railroad club are learning to compute at night morse is working in machine language much of it macro generated and he's on a tv production schedule he must deliver generated screenplays to cbs in six weeks or the network will go ballistic source code does not survive for this program but flowcharts do here's a segment that have reconstructed for illustration here it defines how the sheriff will act in the world at a high level first he enters the scene then he goes to the window next he calls the look routine which has its own segment in the flowcharts as a result of look he may spot the robber and the robber may spot him from here we proceed to what morse calls a switch this is a probabilistic branching point in the logic it's what allows the program to produce unique stories each time it's run to decide which way to branch the program consults a scoring mechanism for that switch this takes each of the possible branches and scores them according to the state that the world is in authors define these scoring mechanisms as an example for this switch if the sheriff has spotted the robber but not vice versa the advance and other branches will be about 10 times more likely to be taken than the weight branch let's say we go this way now we've reached a different branch but this time it's deterministic based simply on what's in the robber's right hand let's say he's holding a gun which means we proceed to another switch which will have its own scoring mechanism from here let's say we go this way now we've reached the shoot routine which will have its own segment in the flowchart there's three of these flowchart leaves which gives a sense of the size of the program which morse and ross named saga two now one peculiar thing about saga two is the level of detail with which certain actions are modeled all of the logic you see here is simply so that a character can empty his hand of an object now one cool thing about saga two is the authoring interface that morse made utilizing the flexor writer online console at the txl in an authoring mode whenever a switch is reached control of the program is temporarily yielded to a human author sitting at the flexor writer console by typing into the console the author can modulate any scoring mechanism for any switch thereby changing how the stories look in real time saga two is specifically a script generating program as it's being executed the flexor writer prints out line by line a generated script here's an excerpt from a script that I found at the computer history museum now morse didn't have computer memory or time to devote to a natural language generation module so he had to rely on a clever hack for actually producing the language here's how it worked at any given time step t the story world is in some state then the next action will occur sending the world into its next state anytime this happens saga two checks for the delta between these and this delta is rendered in natural language as one line of script using simple rules right on time six weeks later morse and ross delivered nine of these computer generated scripts to cbs along with ross's sketches cbs then built a physical set from the sketches and cast the talent in the role of sheriff haywood hail brown future sportscaster and robber played by jack gilford future oscar nominee gilford is particularly spectacular recall the level of detail with which object handling is modeled in saga two and i watch gilford's hands as he performs the generated lines the bottom right notice the passing from left hand to right and back now one interesting thing about saga two is that the more characters drink the more erratic their behavior becomes this is called the inebriation factor and it affects nearly every scoring mechanism producing interesting emergent narrative and some of the scripts cbs produced three of the generated playlists two of which are especially remarkable in the second the robber hits the sheriff killing him before making off with the cash to my knowledge this is the first time in television history that a villain was victorious this is because wolf did not believe that a machine could be held to the strictures of the haze commission or fcc regulations on what could be written for television the third playlet is glitch art cbs enacted a buggy run of saga two to humorous effect in 1960 there were three television stations in the us that night tomorrow aired on cbs against peter loves mary in naked city it finished second in the ratings with neilson estimating 7.7 million audience households which allows us to safely assume that these computer generated stories were watched by at least 10 million the next day newspapers ran sensationalistic headlines and an amazing illustration the reviews were generally favorable but one contingent was livid at the end of the program thomas h wolf is naturally given writing credit but additionally so is the mit computer tx o this incensed the writer's guild of america who demanded that cbs remove the computer's credit should the episode ever be reared to my knowledge it never aired again this was cbs televised computer generated stories in 1960 and 10 million watched i am james ryan you can find more of my historical work on twitter at xfoml and you can watch the generated playlists at tinyurl.com slash saga dash two thank you so much for watching i have muted myself thank you james that was awesome i am also super impressed with your radio voice this felt like a real you know television or radio stream um so before we start on the next talk i'm going to invite one other organizer who wants to hang with me ahmed ertie hey awesome hi i have managed to get my second cat in so i'm going to show you a c this time oh yeah i might come hang out with us this is a c he's very unhappy because i gave them a lot of tweets and now no longer giving them tweets so now bang bang khan is following them did you say tweets or or treats i because i was these ones if you see your cat that's probably them attacking my desk to get the treat so sorry about that amazing i uh no i i just imagine you uh uh tweeting about your cats also which would which would be great yeah we'll make that happen so i wanted to just point that this experience this streaming experience have been super has been super seamless for me like i'm just joining a stream and it works and i know you know a lot more about the magic that is happening and cindy just making it work in the background so it'd be great if you could talk about it a bit yeah um i uh gosh so we we're going to do our own custom stuff i'll still write that up just so other people can learn from our mistakes and maybe help us debug but uh we're using this new thing called stream yard um cindy uh who runs conflicts pointed out to us and just said hey this is something that we're we're using for some other conferences and i said all right great let's do it and then it was so seamless and we did av checks with every single speaker before this so that that was you know some of that like behind the scenes work um that took up a lot of time this week but but i think it was worth it because uh because we've been able to get everybody in here so so seamlessly uh it turns out that that os x will make your restart your chrome instance if you haven't shared your screen before so that was exciting a lot of sitting around and waiting for chrome to restart but it was good you know that's that's the kind of thing i'm really glad we figured out then instead of trying to do it live on air and having to like tell every speaker to restart chrome yeah that's awesome i know there's a lot of work going on there i was just observing on the side if you're curious um i know that on uh on discord and on twitter cindy is there to answer any questions and as i said i'm just coming here and turning on my camera that's about how much i'm doing for the stream so thank you cindy for making it work it's amazing shout out to cindy shout out to the people who implemented web rtc it turns out when you yeah yeah if anyone anyone wants to give a talk about web rtc using web rtc i would i would love that uh submit submit it for uh well i don't know we'll see uh hopefully bang bang con 2021 will will be in person but but we don't know so uh we'd still love to hear about it either way yes awesome thanks for hanging with me i think matthew is ready um so matthew's talk is also prerecorded but just wanted to come in and say hi to everyone hey matthew hey are you hearing me yes excellent um yeah so as you might guess i've been having some connection problems i'm very glad i prerecorded this um i don't have any babies or cats to show you i apologize but uh thank you for letting me share a weird recent obsession of mine yeah awesome so let me just read the title and read a bit about you so people know who is in to present for them matthew's talk is about programming from an alternate timeline sounds amazing um matthew's a seattle area industrial artists with a particular interest in kinetics culture of all scales um and the history of technology provides the inspiration format of his work as well as exploring the beauty of mechanical design i hope you enjoy this talk and thanks for jumping in to say hi thanks hey everyone this is a talk about programming from an ultimate timeline so first some background i'm matt docary also known as phish in my day job i work on software that controls industrial measuring systems otherwise i'm a metalworker and a kinetic sculptor has been doing a lot of public art installations over the last few years but computers were my first passion and i certainly still love making them do weird things so i've recently been reading a lot of primary documents in the history of math and one of the things this quickly teaches you is that we're very lucky to have notational systems as standardized as they are today as a programmer i was particularly interested in tracing the development of logical notation it's boolean logic so maybe it goes all the way back to george boole himself not really the notation in his works is explicitly algebraic he's really developing more of a concept of set theory and probability of the mathematical logic he uses multiplication to mean both logical and and set intersection addition is set union and so on one of the first things he derives from this is his fundamental law of thought if x and y are identical the next times y equals x which is the same thing as x squared equals x the only solutions to this are x equal one and x equals zero which he interprets as everything and nothing i can't say i'm quite sure i agree with that proof but given how zero equals false and one equals two dominates our lives today he does seem to have stumbled into something important skipping over the rest of the 19th century for a moment the next work which dominates the logical landscape is rustlin whitehead's pre-kippy mathematica this is an infamously complex and lengthy work more influential in concept than in practice but it's also important for helping solidify notation it rejects parentheses for grouping however instead using a tiered system of dots but a lot happened between those including a glorious system that is almost entirely forgotten today in 1879 Gottlob Frege published his begriff drift or concept writing this was one of the first stabs at trying to derive basic mathematical concepts from logic and in that sense it was immensely influential there was also an almost complete break from any notational system that came before or after it often described as a flow chart or being two-dimensional it really is worth studying even if you have no interest in logicism or mathematical philosophy he describes judgments which are either affirmed or denied if a statement is a judgment it is preceded by this thick vertical line which shows it to be something known to be affirmed without this stroke it is a mere combination of ideas to be considered everything connected to the horizontal line is included as part of this judgment expressions can be negated using this symbol the only part of his system that was adopted elsewhere he also has letters which represent a value or a judgment they're basic variables except they're not variable okay now into the fun stuff this is conditionality to define it he sets out a truth table and says this symbol stands for the judgment that a third of these possibilities does not take place but one of the other three does while not otherwise naming it as such he's describing the logical operator of implication here while this is sometimes written as if b than a it's important to note that it is not the same thing as an if statement implication is only false if b is true but a is not if b is false the truth value of the operation is always true that is a false statement logically implies everything consider the statement if it is raining then i am wet it only deals with the situation where it is raining in which case i must be wet for the statement to be true if it isn't raining however it has nothing to say maybe i'm dry and maybe someone just dumped a bucket over my head in either case the original statement is still true i find it best to think of implication in modern terms of not b or a to keep from getting confused like all early logicians this was his only logical operator beyond simple negation and that works fine you can formulate any statement you want using just those two but it does seem very clumsy to the modern breeder this is one of the things that struck me most deeply learning the early history good old and in or aren't that old mathematical logic developed out of philosophical logic and that meant Aristotelian syllogisms for a long time all they were trying to do was formulate a more rigorous version of all men are mortal socrates is a man therefore socrates mortal it wasn't until mathematical logic was explored for its own sake that the greater expressiveness of and and or became to be appreciated there was also the generality in frega's words this stands for the judgment that whatever we may take for its argument the function is a fact this works exactly like the universal quantifier or turned a notation of predicate calculus they're both nothing more than a formal way to write Aristotle's all men are mortal there isn't as you might be expecting an existential quantifier such as the backward e of predicate calculus this isn't strictly needed as it can be phrased in terms frega has already defined to say there is an immortal frog is the same as saying it is not true that for all frogs f f is not immortal this lack was common in frega's era the existential quantifier was another bit of syntactic sugar that took a while to be considered as a basic operator in its own right the begrift shift goes on to develop other terminology in terms of the above but those are the basics and reading through it while struggling through the interpretation i couldn't help but feel sad that this amazing notation had never been picked up by other mathematicians what if rustle and her whitehead had used it for a particular would have turned had used it when outlining the next 50 years of computer science what would programming look like in that world i decided i had to find the end result is got lob my esoteric programming language is implemented in javascript so it can be run in any browser this was kind of a cheat since it meant i didn't have to write a lexer parser and i really like writing lexer parsers but it was always going to need a custom editor for the notation so i figured it was best to keep it as accessible for people as possible now just like there isn't a one-to-one mapping between mathematical notation and real programming languages frego's system had to be adapted to turn into something that can do things instead of just proving them i made the letters be actually variable for instance following his example these are all single characters typeset and fracture they must be declared using the judgment stroke also following his example functions are typically named as greek letters but this isn't enforced the namespace of greek letters is limited enough that all the built-in utility functions are given normal english names conditionalities remained more or less the same just interpreted in a functional context b is evaluated and only if it is affirmed is a evaluated the entire thing remains a logical operator however whose judgment is always affirmed unless b is affirmed and a is denied generalities were obviously destined to become a loop operator however they couldn't actually be universal quantifiers forcing four statements to loop over all the integers to present both implementation and application difficulties in gotlog the quantifier statement uses the pre-existing value of a and loops over every component if it's an array or from one up to and including its value if it's an integer like conditionalities the generality remains a logical operator its judgment is affirmed if and only if five of a is affirmed for each and every value of a i also added a matrix generality which instead of returning a judgment returns an array made up of the return value of every iteration this was a complete fabrication on my part but it proved useful and seemed true to the spirit of the alternate timeline I was trying to channel the rest is more or less a standard programming language that uses standard mathematical notation wherever possible the editor allows direct editing of any part of the program with statements being entered either from the menu on the left or via keyboard shortcuts basic erythmetical operations are entered as javascript just to keep it simple so what can you do with it here is a simple sieve of Eratsini's prime number function the original value is saved in a letter c which a generality then loops over so for every number less than or equal to a the conditionalities must be affirmed if they are one or a itself as those branches evaluate to denied and conditionalities are always affirmed if that branch is denied so that just leaves the check to see if the value c does not divide evenly into a if it doesn't for all values of c then a must be a prime this is the classic Gregorian leap year calculator a year is a leap year if it is divisible by four unless it is divisible by 100 unless it is also divisible by 400 this is compactly phrased in Gottlob as such which makes sense if you pick it apart the interconditionality will only be denied in the situation when the year is divisible by four but not by 100 thus the outer conditionality will be denied when the year is not divisible by four and also when divisible by 100 but not by 400 so what did i learn from all this while i appreciate the link between classical logic and programming languages a lot more now like a lot of science and math that all tends to get taught in very a historical ways and i wish i'd learned about that connection earlier and i definitely appreciate modern notation a lot more now particularly the dominance of and and or over implies i'm sure i get more comfortable with it if i use it all the time but even after playing around all this time i do still find it fairly untuned simplifications like that are an unsung glory of mathematical formalization it's easy to dismiss that as an academic thing but writing things down in abstract notation can lead you to important discoveries people have been working with classical syllogisms for literally 2000 years and they never noticed how much simpler it would be with and nor but within decades of bool's first attempt those started to emerge so abstract notation can free you from assumptions you didn't even know you had thank you thank you matthew that was super clear and super fun so this is the last talk for this session and the next session we have an unconference so if you're on discord there is a spreadsheet you can sign up for rooms you can see what topics are there if you're not up for unconferencing you can do any of the other fun things we have for you you can use the neighborhood bot you can just hang out in the virtual space or or you can just you know take a break and get some energy for our last session so for those of you who want to take a break or are just watching us stream on youtube our last session will start at 4 p.m eastern and we can't wait to see you there hello four o'clock eastern time so we're going to continue on with our last section of talks we have three amazing talks coming up for you right now and then maybe a secret one afterwards that you'll have to stick around to see our three talks uh that are happening i'm pulling them up um our last but not least and and uh i'm there's a couple of these i'm particularly looking forward to um i just i love mixing poetry and uh uh programming so this first one is for me particularly interesting um andrew can we uh could put andrew in here hello thank you for joining us uh i will introduce you real quick and then get out of your way uh and it would be really easy to introduce you if i had the right webpage andrew is making poems that change live coding noise playing melodica growing the art journal nothing to say.org and advocating for copyright abolition he can be found online at andrew.art take it away all right well hi uh i'm andrew and i'm really indecisive normally that's okay since it just affects me and my personal development and my ability to watch movies but unfortunately i'm also a writer and the thing about writing is that you're always making decisions every word you choose every line break you insert every little bit of punctuation it's just countless decisions and through all of these decisions there's a lot of pressure to make the right one every time uh you pick a word it's it's there's all of these wrong choices to make and there's one right choice to make and you're expected to find the right choice and i don't necessarily believe that right choice exists and it to be honest makes me uncomfortable having to choose a word because i uh i feel guilty leaving out all the other words because they were perfectly fine they didn't do anything wrong they deserve to have their time of day so um i want to find a way to not exclude them so i made a thing this thing is called bml or the blur markup language it's a programming language for writing text that changes uh rather than writing exactly what you want people to read you express the possibilities and these are then chosen for you on demand so here we have a basic summary of what the language is and a bunch of different ways to write it out like we can spell bml lowercase as i prefer or uppercase uh or you can fully spell out the acronym and then we can describe it as maybe it's lightweight or hacky all these different things that can happen and you can see five different ways that it's been realized below and hopefully you can kind of see that all of the details change and the number of permutations that could occur here is really quite large um but at the same time the shape of it the meaning behind the text somehow stays the same so let's talk about the language a little bit in line choices we have these um and you've already seen these so this is just listing a bunch of different things that can happen and we can assign different weights to them so in this case we're doing a b and c a is going to happen 50 of the time b is going to happen 30 of the time and then c is going to take up whatever remaining probability we have and below in all these examples you kind of see a rendition of this this code a couple of different times so we have c a a a b um we can also apply rules over larger swaths of text so in this case we're taking the word and and we're looking for it everywhere and every time we encounter that we might use the word and or we might insert an ampersand instead we can also do more complicated things like running arbitrary javascript in this case we're using a regular expression matcher that's just looking for the first letter of words um and it's going to then capitalize that and we've run this a few times over this really lovely quote by john cage i have nothing to say and i'm saying it and that is poetry as i need it and the different capitalizations that occur kind of apply different weights into the text and shape the sentence in in different ways and highlight different thoughts and i think that's really interesting um it can do a bunch of other things so we have a standard library of common functions standard library it's actually like three functions but they're they're useful things to have around um that are then available inside the eval api um we can call inline function calls we can do markdown rendering we can escape blocks and have literal text blocks um and we can also reproducibly generate the same text by pinning a seed and it also works in a browser so you can put it in your websites um in terms of how it's actually built it's just a bunch of bad javascript and truly evil uses of the eval command and we're not going to talk about it so some of the things that i've done with bml this is a an excerpt from the source of a dynamic poem i made and you can see the number of chance elements and permutations starts to become very high very quickly but at the same time again the larger structural ideas can retain their shape if that's something that you want and you can see here's a rendition of that poem in full um i'm not going to pause and dwell on it too much but you can go back if you like and check it out more this was installed well so this is a a contraption i made that i endearingly called the poetron um it's just a box with a receipt printer and a big glowing button and when you press the button it generates a poem using bml and prints it on a receipt for you to take home uh i installed this uh in a gallery cj1 gallery in new york city in february i think and uh i think visitors had a lot of fun coming by and pressing the button and printing out versions of that that poem we were just looking at um and taking it home with them also because it's embeddable on websites i've made blog posts with this and kind of covertly just publish them as if they were well-behaved blogs but in fact the text does change every time you refresh the page um and really excitingly uh i'll be publishing a full length book of chance poetry with ostpress in 2021 we'll be publishing one or a couple physical versions of the book while simultaneously publishing it online where visitors will be able to explore the gazillion different versions of the poems and they'll be able to kind of discover different versions of the poems and share them with other people it's going to be a lot of fun i'm super excited about this um and just for kicks this presentation also is generated with bml and as i speak right now this is the first time i'm seeing this presentation i and i can show you the sorts here so like one fun thing we're doing is every time we have an exclamation mark we've repeated some arbitrary number of times and there's a bunch of just like stuff that's going on here um so more seriously why why is this interesting um i think dynamic text makes the reading experience more intimate and invites a more critical mode of reading maybe by reading several versions of the same text the reader can come closer to the underlying thoughts of the writer at the same time it's kind of a trope that writing is already a process of self-discovery but as a writer interacting with this medium i found a surprising and rewarding feedback loop between me and the text that comes out of this seeing my words scrambled and rearranged and really out of my hands in some sense has radically changed the way that i write and think about text and my own style and like i mentioned at the beginning here i think this calls into question the idea of the author and the assumption that there exists a correct text that there exists a best way to make a thing and at the same time that it challenges authorship i think it challenges ownership the question i'd like to leave you all with here today is what does it mean to own a text that nobody wrote thank you so much uh you can find out more about this language at bmllang.org that's bml-lang.org you can find me online at andrewyun.org and i'd love to hear your thoughts thank you wow uh i just i just want to point out because i missed it for a moment that that those slides were generated using poetron or bml i should say uh i guess i guess poetron is the the physical manifestation um it's amazing uh at least you do you want to you want to join me i think we were saying that you wanted to you would pop in or julia we just if uh any organizers in here want to join uh feel free yeah um yeah oh my gosh the things i love because yeah this is all about that so did you see the animal crossing t-shirt somebody designed i did see and we uh you posted it on twitter i think yes so if you want an animal crossing t-shirt from this bank then com our colors today are wrong the orange one is the right one for this year so grab it yeah i'm wearing i'm wearing uh double bang bang con shirt oh you you super bang bang bang bang um repeated quotes yeah it's the same sweater as yesterday but it turns out at a virtual conference people don't get as mad about you like not changing your clothes so that makes sense wait don't tell anyone uh oh my gosh uh yeah if if you um for for anyone just watching the stream and not in discord you should have seen the the reactions fly by uh when it was revealed that that talk was being like generated using bml in real time it's like the whole the crowd went wild uh as much as that can happen at a virtual con yeah i think the thing i love the most about this is that people are self-organizing things so we're just sitting here and we are enjoying ourselves and and doing the stuff we plan and everyone else is just doing a ton of other things and it's just so amazing that the community is growing yeah yeah uh somebody somebody embedded the the spreadsheet party web page inside itself uh so so like they were writing html in the spreadsheet and then using a glitch app to to take the the html in the spreadsheet and then like display a web page but then there was an iframe of the spreadsheet in that web page so you could like edit the spreadsheet and then like the page would just change on refresh um if somebody gets that working in real time i'll be amazed but um i i think that's that's amazing also my brain by this point is just so overwhelmed with everything i'll have to revisit it next week yeah it's like what you know this is what happens when you get a bunch of just like really fun loving programmers all together in the same place and and everyone's extremely online all the time so um yeah uh uh well we're shouting things out uh that we love uh shout out to my uncle stan who's watching this uh shout out to the other organizers uh shout out to cindy and mirabai again uh and always ahmed uh who are you shouting out to uh shout out to our attendees who're still you know made it strong yeah definitely uh okay all right let's uh let's uh sorry all right uh is is is m online yes hello welcome everyone hey you got you got three people introducing you i guess exciting oh now we're down to two oh now it's just me okay um yeah uh thanks for joining us i know yours is prerecorded but i figured we'd let you just come in here and say a few words uh i'll i'll give you your your little intro though uh m is a toronto based artist engineer and game designer most of her work focuses on using non-traditional interfaces to reframe everyday object as spaces and playful experiences and to inspire people to become self-motivated learners uh very cool uh yeah tell us a little bit about this uh project and yourself and then uh we'll roll the video uh yeah so you will hear all about it but i'm going to be talking about sort of more the design side of game design and how how can you use tools like physical hardware MIDI controllers to make game design better and make yourself a better game designer um and i'm very very glad i prerecorded it because i don't know about all of you but my brain is mush after two days of super interesting amazing inspiring talks all right thank you so much yeah joy hey everybody has it gone hope you're all doing great today so my name is Amelia are you she-her-they-them pronouns and i work for microsoft as a cloud advocate focused on games and spatial computing um but i'm actually here to talk about what i was doing before microsoft which was working on a new games hardware platform where we were trying to figure out we built this new hardware with our own hands we don't quite know what games work for it yet so we're spending a lot of time building a prototype or two a week to explore different interfaces and see what was fun what wasn't fun what we could conceivably actually commercialize um and in doing this we ran into a really classic game design problem which is if you have a prototype and it is fun and it is working that is immediately obvious within 30 seconds of playing it often um but if it's not quite working it's really hard to figure out if it's because it is not good and you need to leave the prototype alone or if it's because you just didn't spend enough time polishing it and getting it to that point where you could see how good it was um this is where like a lot of types of games you can usually prototype them with paper components even if it's a digital game you can use cards and dice and paper things um but because we were specifically working on these twitchy action games and exploring like novel hardware interfaces and thinking about like how do you tactily interface with the game that put us in the realm of a game designers called game feel the sort of art of tuning you know what is this moment to moment enjoyment of interacting with this digital system um in a 10 minute talk i don't really have a lot of time to get into what game feel is or how you deal with it you're a bunch of references you can look up um i particularly recommend alas talk from last year's bang bang con because bang bang con is awesome and alas awesome and our talk was awesome um but long story short that meant we couldn't just reduce the scope of our prototypes by making them lower fidelity we actually needed to figure out well how can we polish them more quickly and make game design happen faster um and so the way we cut through that gordian knot is you might be able to guess from the title of the talk and the first slide was with meaty controllers um so this here is a corganano control two uh costs about 50 bucks online a bunch of knobs and sliders connects to your computer about usb and you can control them using use them to control meaty interfaces um so we would take our games that were written in unity and wire up all of our physics constants and all these other magic numbers that we needed to tune two knobs and sliders on this meaty controller so what did this actually get us a whole bunch of things the first is making it so we could much more effectively tone in on proper values so if you think about the naive way you do something like this you would have a value in your code or maybe like a config file you would set it to a value you would run your game play it for a bit go back make some changes play it again that's really really slow um unity is a little better because it has the sort of visual inspector windows you can change the value while you're playing but you're still fundamentally in this state of bouncing between playing and editing whereas when we have this actual meaty controller where you can tune the values with your hands it can become much more immediate and actually in many cases depending on the game and what we were doing like we would find we could be playing the game with one hand while tuning it with the other which gets you immediately into this flow state of honing in on what the right values are and what feels right it also helped a lot and got to much more complex situations involving interdependent variables so we spent a bunch of time on this prototype that was a like cartoony kart racer kind of like mario kart and for that we were tuning values like acceleration and max speed sorry velocity and your turn radius and while each individual value is really important what's a lot more important is the relationship between the two and that's really hard to model when you're changing one value at a time you know we played around a little bit with you know maybe instead of tuning the acceleration of the max speed you're tuning a variable that represents the ratio between them but that's way above my pay grade to deal with and instead it was much easier to say hey look we have this physical thing that has three different sliders that i can control all three of them with my fingers at the same time what if i could do that and then very very quickly and much more like intuitively suss out like what is the actual relationship between these variables so that was awesome it's also really fun it makes you feel like this dj code wizard while you're doing it i love my collaborator used to make all of these sort of proper meson plus before starting a tuning session where they would write out you know what is each variable they're tuning and how does it relate to the physical board and i think this is not just frivolous i think this actually really really matters because game design is a creative art and something that can get you into this playful state where you're willing to explore and try new things is actually really really important to doing good work but also on a more numerical level it actually did concretely help because humans have a lot of really bad cognitive biases around numbers and so it's really unlikely that the proper value for like friction of an object is going to be a nice beautiful integer or like goes one or two places in the decimals but if you're just typing numbers into your IDE you're going to be biased against using those where if you have this nice analog interface you're going to hone in on what actually feels right rather than what looks right in the text editor worth calling out though that this is all a bit of a hack some of you may be familiar with Brett Victor's work this is an example from his talk inventing on principle where he hypothesizes this for Super Mario Brothers style 2D platformer and uses this sort of IDE he's built or hypothesized that as you change like your wide jump velocity you can see see it happen on screen as you sort of abstracted away the variable of time and so ideally this is the sort of stuff we would be dealing with like the fact that you can use design tools to sort of so cleanly cut through complexity and just take your entire possibility space and lay it bare that's really really cool and what I would love to see game design tools and other design tools go but until we reach that point a MIDI controller is like 50 bucks and does the job pretty well so concretely what did I actually do so the dirty secret that I learned as I started looking into this is game designers have been using MIDI controllers forever they just don't talk about it it's not like it's not like they're afraid to let their secret out they just don't blog about it they don't give talks about it just not part of the culture so the only thing I could really find was this talk that William or blog post that William Shear posted in 2015 when he was working on his beautiful game manifold garden about how we used a nano control 2 to do that so I basically took his work took sort of his design ideas and formalized them into this unity library where if you have a nano control 2 and your game is in unity you just drop this into your unity project and it gives you a lovely UI to set things up saying that a piece of tech just works is really dangerous I'm aware so I'm going to attempt to give you a lab demo I couldn't easily set up the custom hardware we are working on it's a major pain so this is just a very simple flappy bird demo I can click the mouse and you flap exciting but if I go to the MIDI controller mapping window that I built you can see here's a nano control 2 they also make it in black so we have a dark mode each of the knobs and sliders has a space where you can add mappings so this one we already have a mapping in place uh to the bird game object which is the player's bird in the scene um unity uses what called an entity component model so each game object has a bunch of components attached to it that each control behavior for like rendering the 2d sprite for doing rigid body physics for doing collision detection and the bird is our custom component that handles flapping and from there this drop down is dynamically going into that bird component and finding any value that we could conceivably control with the controller um so in this case just up far as the time once you jump the current value in the game is 100 range is just when the knob is at zero that value is zero uh when it's all the way at the top it's going to be this value so if the slider is up at full it's going to be a thousand so the value for the bird is going to be 1100 instead of 100 so with that set if we then go to play the game and i grab my new controller oops um so i'm playing as normal but then as i turn this knob whoops maybe i jumped a little bit too high but it works um so i don't have a lot of time uh but i do want to talk about one design decision of this of all them that is really really important uh which is these drop downs to show you the different components i can also show it to you in the side here you can access it this way um so when i built this my intention was great the amount of time i'm going to spend meta programming grabbing all the components and grabbing all of the editable properties um that's going to be less engineering time than i will probably lose uh to typos if these are just empty boxes you can type in um which i think is true but also this turned out to be a way more important design decision because now that this is like if this was a it's just two empty text boxes this would be a very like purpose built tool that i would come to when i would say this is what i want to tune i care about these variables i'm going to do that and then i'm going to leave whereas now this is now a tool for exploration where i can look around and say well what things can i actually change um and this now becomes not just a tool to allow me to do things more effectively but again it puts me in the space for play where i can explore the possibility space and see what i can do and this is going to help me be creative in a way that the tool otherwise wouldn't have like what happens if i play around with the angular velocity of the bird um and so i think that is actually really important um when you think about making tools for design for game design for engineering usually we're hyper focused on augmenting human productivity and making things and tools that let us do tasks and jobs faster um whereas again game design is a creative practice i'm much more interested in thinking about how to augment human creativity and how can i build this tool to enable me to come up with game designs and make decisions that i otherwise wouldn't have even considered um or to put it one more way um pianos and hammers are both really effective tools if you're a composer or a building contractor um but there are a lot of hammers in the world and not enough pianos so if you're someone building design tools you should make more pianos thanks a lot amazing thank you em thank you thank you for that talk uh what a what a super neat idea build more pianos um our final speaker of bang bang con except for the secret talk is joshua wise who is actually one of our bang bang con west organizers and a member of the exclamation foundation board uh which may be the secret talk we'll cover uh oh wow i love that get up that is a great i love the headlamp yeah the uh well we'll see what we'll see where the headlamp comes from in just a moment okay excellent i i'm too excited to to delay any longer um but i am going to read your little intro sentence uh so that everyone knows who you are joshua blows up electronics less frequently but not infrequently when he does work for his clients though they would generally prefer him to blow up nothing at all he is thankful that they too understand that that blowing things up is an important part of the r&d process take it away thanks ready all right um okay so what i'm here to talk about yes you notice the headlamp on on my head and uh i'll be doing some live theater here so this is kind of the demos could go well or they could go completely terribly uh and we'll find out i guess um so i'm coming with some very exciting news in this wonderful year 2020 the era of the internet the the year of linux on the desktop it's so much easier to screw up than it has ever been before you can screw up in so many more ways than you ever thought were possible and you can make even bigger screw ups too this is really good news um no i'm serious this is really good news and over the next 10 minutes i'm going to tell you about one of my new favorite ways to screw up but before we get there we make tiny screw ups that we learn from every single day and it's important that we have the space to do it screwing up is how we learn or phrased a different way you can't learn without space to screw up uh for work recently i was learning rust maybe for the first time or maybe for the third time depends on who you ask um and i was just immensely grateful for a compiler that taught me how to screw up let me just bring up a little window here um and i'm going to open up some rust here uh let's see if we can test my knowledge your function main is print line i'd like to just print two plus two here easy enough rust c main rs and the compiler tells me that i've screwed up and the compiler helpfully gives me this hint here and says okay uh in order to not do that why don't you invoke print line as if it were macro okay i'll do that and it tells me okay i've screwed up one more time here and it tells me so the compiler is telling me that i've screwed up and has given me space to screw up and rather than crashing the computer or something else um it it instructs me how to not do that um so you can't learn without space to screw up and i want to tell briefly to put a little bit of context here about a time when i couldn't screw up in 2005 it was really really expensive to screw up hardware uh as a kid i was in high school i knew i was interested in electronics and hardware and all that kind of stuff and it was so expensive i would go to radioshack and i'd get these like ten dollar resistor kits and if i wanted to get integrated circuits if radioshack had the one that i wanted they were like three bucks a shot and so if i blew that up three bucks right there right um and if i wanted to get something radioshack didn't have i'd have to go online and order it i'd go to digikey and ups shipping was like 20 bucks and it would take like a week and a half for my digikey man it was bad and like if i wanted to fab out a pcb back in 2005 the cheapest that i could do was advanced circuits so that was four pcb you might remember uh if you were thinking about those kinds of things back then and they had their their 33 dollar each special which wasn't 33 dollars each because you had to order three of them so that was 100 bucks and for your hundred bucks you got three copies of a two-layer no solder mask board in 2005 dollars so in 2020 dollars that's 130 bucks anyway so like what what would you do you know your kid interested in electronics out would come the laser jet that you got from the town dump and i'd run inkjet photo paper through it and i'd iron it on i'd get out the nasty etchant chemicals and since i didn't have a soldering station you know i had this kind of weller fire starter station i'd solder surface mount parts in my mom's toaster everyone hi mom happy mother's day um and the results were bad like i would end up with like very crispy boards so i didn't make a whole lot of boards and my skills consequentially never really got very good if if you can think about it like you could imagine that instead of having a compiler that a second later gave you an error that told you it was wrong it was a compiler that took a whole evening of work in nasty chemicals and didn't really tell you it was wrong just had a bunch of things sorted together and uh and you blow up your board so i'm here to tell you that in 2020 screwing up hardware is cheap and fast over the past couple of years there's been almost an explosion of extremely low-cost pcb vendors in the u.s we have osh park i think they're based out of oregon um and so there let's see three copies for five bucks a square inch um and it ships in nine to 12 days so okay sure pcb way uh in shenzhen that's even faster and jlc pcb okay here you go pcb plus surface mount assembly from two bucks you can get anything in shenzhen all right and so this whole thing i i didn't really believe it i i ordered some circuit boards i designed a board um i'll hold it up to the camera in a moment here i designed a board um and i designed it in key cab totally open source software here there i got them a week later i'm just uh you got me here just in time to put the finishing touches on soldering it here so let me show you i've got my little usb microscope here i've got a soldering iron and all i've got to do is i've got to get this voltage regulator right on here you can see that it heats up i'm doing that let's just add a little more solder here come here you and you'll see that as soon as the part heats up as soon as it wicks you get this little sucking effect where the pad or where the part just lines itself right up on the pad there right the reason why i'm wearing this headlamp is i can get a little extra light on here to help with these little tiny surface mount components one of those one of those and one of those all right all right perfect done deal and the most exciting thing i think the most exciting thing about a board bring up is about getting boards back is the first time you get powered on so i have my little bench power supply here you don't need a bench power supply to do electronics these days you can get away with with just so much less connect to that like that gave myself two nice little pins there uh the most exciting thing is powering up for the first time oh man that just went up and smoke real good uh that's that's not great that smells really bad oh man ha gotcha gotcha i thought i thought you thought i wasn't expecting that i made this totally classic mistake i signed the pins on the voltage regulator wrong it happens all the time it just happened on a board that i brought up for one of my clients like the experts the pros did this and so like this kind of thing it's so it's so common and this is the kind of thing you couldn't do before and so okay here we go another week let's say i just fabbed out the um the replacement for this and another 10 bucks later let's just go right back over to the cameras here put this one right under my microscope that there and so like previously this would have been the end of it right i wouldn't have done another i wouldn't have done another version of this board because it's so expensive and it's so it's just so agonizing when things go wrong like this um chasing it under the microscope it's just so agonizing when these kinds of things go wrong and you know that's it's just miserable right um and so now that you know now that this didn't cost me you know everything that i'd earned in a week kind of thing or whatever it was it was it's a much different story so hang on so let's let's power this on this time um power this put that there get one of those there give myself plenty of power and ooh more smoke boy that smells really bad oh god tantalum cap smoke okay so so again you can just keep you can just keep making mistakes this is the amazing thing that i just love about this process now that just totally wasn't possible what happened there i don't know if you noticed is um on electrolytic caps the on electrolytic capacitors one specific type of capacitor the little line uh you can see it i'll point to it this little line on the end of the cap marks negative but on tantalum capacitors it marks positive and this is one of those things that yes you could learn you could read the data sheet and you could learn that and all that kind of stuff um and you could uh let's see if i can pick up another one and just place the replacement there my hands might be too shaky and the sport might get away without it yeah i think the sport will be fine without well let's see if this one let's see if this one works huh um the this is one of those things that you can learn either by reading wikipedia and reading the data sheets hey look at that it's blinking all right um you can learn it that way or you can learn it the hard way and the hard way is kind of the more fun way sometimes that's kind of my claim so in 2005 this whole thing would have cost me 200 bucks and it would have cost me two months and that's just for the boards okay and so for the parts it would have been another 30 bucks in parts or 20 bucks in ups shipping and really what that would have meant is i would have given up before i even tried and so the amazing thing is here in 2020 i ordered boards on a saturday evening and they arrived on a thursday evening from shenzhen and the whole thing cost me 20 bucks this i actually ordered both rounds because as you may have noticed that was a planned screw-up right but okay so that whole thing for 10 boards 10 totally custom boards two different designs in there um the whole thing ran me 20 bucks shipped and then the parts uh ran me about 30 bucks shipped i ordered those on saturday evening they arrived Tuesday evening and you can do this at home i used a hand-me-down soldering station from a former housemate and a hand-me-down power supply you can get soldering stations for really cheap these days if you're daring you could cut open a usb cable and get you some five volt power this microscope was 25 bucks off amazon why wait okay what do i actually have to tell you here um make mistakes it's so important to make mistakes and when you're making mistakes that could be in the compiler it could be when you're actually physically assembling things you might tear something apart and rip a cable and while you're trying to fix it it happens all the time you can't learn without it blow some stuff up right don't get conservative in your designs because you're worried about not letting out the magic smoke let out as much magic smoke as you can it's lots of fun it smells a little bit bad um and the overarching thing here is that it's important to feel safe screwing up it's important that you feel kind of financially safe and screwing up that means that it's a 20 buck disaster rather than a hundred dollar disaster it's important with your compiler to not crash your machine and so when Rusty complains about the borrower checker and this and that and the other thing um it's important to feel safe that you're not going to like overwrite your root file system and so having those guards helps us experiment and in human spaces it's important to feel safe screwing up also I feel like I love the bang bang con aesthetic of we have the hard rules of things not to do but we have these social rules of the well actuallys that somebody can come up to you and say you just well actually them and you go like oh man thanks for telling me and you feel safe making a mistake because you know you can learn whether you're using Rusty or whether you're in a soldering iron or in a in a real live space or a virtual space together there's never been a better time to screw up uh thank you to all of you who stuck around to the end to watch and thanks to the bang bang con organizers this year who gave us a joyful delight to the full and surprising conference despite all of us sitting around sheltered in place thank you joshua uh that talk the the live soldering was was joyful delightful and very surprising uh thank you so much for sharing that with us what a I don't think I've ever seen live soldering at a conference before uh although I don't attend many hardware conferences so props to you for uh for getting that live on air uh yeah that was that was not pre-recorded uh I just want to point out that was that was that was live um oh wow thank you all so so much uh for coming to bang bang con 2020 this year ran so smoothly despite our 11th hour switch to the virtual format it is so energizing and so inspiring to see all of the work that people have done to make this happen could I get a a huge round of clapping emoji in the talk channel please uh for all of our speakers who shared their knowledge with us this weekend uh just thank you all so much for presenting the work that you've been doing I know some of these things uh took a long time and then you had to distill them into 10 minutes so just a huge shout out for all of that work that you all have done thank you also to our sponsors and donors who made this event possible uh and actually I want to point out that for the most part it's it's people like you watching the program right now who convince your companies to give us money we don't actually have to do a lot of outreach which is very nice and please keep doing that it is because of your work and funding that we're able to have such a well-run stream with captioning with pay what you want tickets and hopefully someday again in the future with catering I did want to give a special mention to one almost sponsor who did a lot of work with us which was actually Microsoft and special thanks to M who just spoke for facilitating that before the pandemic Xander's space where we usually hold the con was under construction and some of you probably saw on twitter we went searching for a space that could hold us this year we finally found and reserved the space at Microsoft's Times Square office and then of course sadly had to cancel that so a huge thank you to them for being accommodating and finding a space for us and trying to sponsor even if it didn't work out in the end every year I read Sumina's article in recompiler titled toward a bang bang con aesthetic and I do this for two reasons one I really like the word aesthetic and two it reminds me every time of why we do all this work to make bang bang con happen and the thing that really stood out to me this year reading that article was the part where Sumina talks about recurse center but of course she's also talking about bang bang con here's the quote no one wins here there's no leader board and there is no ranking of people or projects whenever possible the culture assumes abundance rather than scarcity attempts to rank projects or people would pollute the ecology it's a pluralistic environment where we let go of dominance style objective ranking and instead celebrate a diverse subjectivity I was telling my family about the talk on running tcp over the electric grid last night and I for the most part you know that that talk was about the electric grid and I was thinking just what a what a thing I never would have learned about you know what a what a like like there's so many talks this year that that go into things that that I never would have even imagined putting together a talk about and then being able to see that happen through this format and this these little 10 minute snippets these 10 minute windows into other people's interests and and enthusiasm is absolutely amazing to me and I really think that this idea this this post scarcity optimism that Sumina talks about is beautiful it means that we're creating this space where you can build tech and art for tech and art's sake and we've worked very hard over the last seven years and and continue to work at building a radically inclusive space so that when people are here they could really just be themselves and they can focus on this beautiful and diverse collaboration and we find these I might even call them emergent systems that happen when we all get together and build something new and share these ideas very quickly and and openly and so I just want to take a moment and thank all of our attendees for helping us build this community bang bang con 100% would not be possible without all of you so another round of clapping emoji in the in the discord channel if you would it's a tradition of mine that I share a presentation let me bring my screen up here and if Cindy you'll put my screen into the chat oh we can see forever another shout out to our sponsors sander kickstarter to sigma jane street and the recurse center for sponsoring us bang bang con 2020 I was supposed to be playing these slides already and totally forgot so here's a picture of someone's article but I'm going to tell the story about how bang bang con came to be and I'm very excited about this because it's always just a really fun story and especially if this is your first bang bang con you'll get to see a little bit of what happened seven years ago when we put this all together so recurse center runs a chat room and in this chat room called Zulip we were chatting about this alumni week called never graduate week and Maggie who is one of our original organizers asks are you all coming for this alumni week Alex another one of our original organizers yeah we'll see and and Ian who ends up instigating a lot more than he means to says yeah my boss said that if I can find a conference in New York that week that's at least semi-work related my company will pay for my flight potentially maybe I can save some vacation so you know maybe maybe we can come up with an excuse for Ian to get his company to pay for him to fly out to New York and Alex says well you know obviously what you do is make up a nice conference website you know pretend that you're going to this conference then and then get your company to pay for your trip to New York full proof yeah so Julia Evans who yes you've seen and still is organizing bang bang con says hey you could organize a real conference by May if you wanted to have no time probably and Alex says I'll even do it for you so you don't get fired because obviously and I just want to point this out in case it's not obvious please don't don't you know tell your company that you're going to a conference that doesn't exist that's that's a bad idea uh Julia Evans has been writing amazing blog posts uh and and also check out wizardzines.com I think it's the url um and so uh Alex says Julia Evans blog post cons uh Allison says uh I would attend the hell out of that is their CFP and uh here you can actually see that we have our our CFP down below submit a talk requirements must contain at least three exclamation marks in the title exclamation mark con really exclamation mark exclamation mark exclamation mark con uh and and Maggie gives us our name bang bang bang con Julia says yeah I would I would go to that I'm sad this doesn't exist we need a website okay Ian says uh bang bang con is a little easier to pronounce it also gives us nice tie-ins with javascript uh thank you Julia and uh end with uh running previous bash command bang bang con is available great and we did space and a chair and you know there's conference thing here's our real CFP I'm not going to read the whole thing but but I'll just I'll point out a couple of things about our original CFP uh it has to be programming related it has to have an exclamation mark in the title and originally uh we encouraged upworthy style submissions remember this was 2014 which was a very different world uh you won't believe this one weird gcc bug we'll still take those style style of submissions but I think our taste has has migrated a little bit I got carried away sorry we're not actually doing this this is all a joke ha ha ha uh especially because Julia is not allowed to organize conferences anymore um uh yeah very busy at the time uh so Alex is like no I'm taking this joke too far of course I'm going to register this and uh Alex says bang bang con dot com is in my cart registration imminent voice your concerns five years I'm confident and I am I just I'm so uh amazed that we have now made it seven years we did actually have to renew the domain and I think we renewed it for another five years so check in with us in 2023 had to do some quick math there to see if we're going to renew that domain again Alex I am now proud owner owner of bang bang con dot com amaze wow wait awesome did I just buy bang bang corn dot com by mistake the answer is yes oh so yeah we now owned bang bang corn dot com uh popcorn related conference was well on its way no we Alan of course chimes in it says don't worry it's just a pivot uh recurse center which at the time was called hacker school says will host will be affiliated but you all will actually do the work great we're doing it we're going to get Ian uh his his uh ticket out to New York by actually organizing a conference and uh that uh is actually the end of the story we we scrambled together a conference uh I don't remember when this was I think it was January or February when we put this thing together and yeah bang bang con happened in in May of 2014 and then for some reason happened in May of 2015 and it was all really just a joke that got out of hand uh and and here we are with this absolutely amazing community uh a strong network of people and sponsors and uh are amazing contractors uh who help us put this conference on um if you end up going back and watching some of the live streams that I did uh literally just pointing my laptop at the stage they're really not great and uh Cindy and Confreaks have been doing such an amazing job of of putting together our live streams since I think 2016 or 2017 uh we've been we've been uh contracting out to them and it's made it go so much smoother uh and then adding Mirabai uh instead of night for uh all of our real-time captioning and being able to make bang bang con more and more accessible more and more available and more and more inclusive of everybody who wants to attend this this conference just about joy and excitement and and I just yeah thank you all so much for helping put this together can we get uh if any of the organizers are online can we all pop into the uh to the room to say hello hello hello hello I'm still getting the bang bang corn yeah so one thing we should mention is uh we actually did register bang bang corn LLC uh and that was our that was our the like body that organized bang bang con for several years and so I just remember like Comcast wrote us a giant check to bang bang corn LLC and I just thought that was the funniest thing uh and we have more than one swaths for swaths are confirmed be like are you sure it's bang bang corn oh my gosh um and actually that my last slide which I forgot to show again um is that we have now organized more broadly into this thing called the exclamation foundation which you can find online at exclamation dot foundation because of course that's a tld um and exclamation foundation right now organizes bang bang con and then bang bang con west which happens in February in in santa cruz and uh was a huge success uh this February thank you all to the bang bang con west organizing team uh and then exclamation foundation is also in the future going to be where we're going to publish things that help other people organize their own conferences so being able to to a space for our materials for saying all right you want to run a bang bang con like conference uh here are the mistakes we've made here's our joshua style uh you know burnt pcb boards uh learn from learn from this uh and yeah it it I like to end the conference every year by also encouraging everybody who's watching to you know if you have an idea for a conference if you have an idea for a get together or an event or anything like that it's totally doable as you can see this this came out of a complete joke uh and turned into something very real and something that I really care about and really love deeply so if you have those ideas and and you have the time and and freedom to chase those I highly encourage you to do it and and you have support reach out to exclamation foundation reach out to the bang bang con organizers will put you in touch with people and resources and contractors and and and everything we you know that we use to make this a successful conference and uh so that your conference can be successful also and we've had a couple of people do that uh hey ahmet hey uh like star con in somewhere in canada uh and uh and uh I'm probably missing a few others that are that are um which one in chicago they had I'm blanking on the name but it's like it's not started on it's like like uh uh in in chicago okay yeah um so you know be be in touch if you're if you're interested in in running conferences uh with with this format or really any format um I think some people are also doing like an interactive fiction thing kind of spun out of this and uh uh stuff like that so it's definitely uh you know we have we have some resources available for that uh so please please be in touch uh you can get in touch with us on our on the exclamation dot foundation website uh or the bang bang con website I think we've got contacts uh details in both places or and on twitter being in the chat that enthusiastic on Berlin is next month ah yeah yeah uh enthusiastic on next month awesome are they uh do you know are they remote also are they virtual conference cool cool so yeah check definitely check them out uh is there anything else uh that we should say before we close this yes um I want to invite Meribuy to join us and oh yeah hi oh and that's indy's not amazing thank you both uh normally we would like point you out in the audience and be like hey thank you for helping run this uh but yeah you've both put in a ton of work behind the scenes to make this happen so um major props to and and we'll of course uh put your put your website and everything in in the chat and on twitter so thank you so much thank you for my kindest possible and inclusive yeah okay okay that's it for bang bang con 2020 thank you all so much for attending uh and and we will see you next year bang bang con 2021 and then of course bang bang con west uh which I mentioned which should be in february of 2021 um check out our mailing lists uh and twitter will be communicating uh via those media in the future and thank you all for attending again have a good one