 Actually, I started programming at the age of, naturally, I ended up majoring in computer science in college. Anyone else out there who did the computer science thing? Yeah, a whole lot of you. That's great for you. That's very cool. So I ended up taking a somewhat different route to a computer programming. I dropped out to go full-time in a textbook job at MISP. See, I heard there was soon going to be an Open Existence Administration, and I wanted one of those jobs. Because I figured I could probably start getting paid for that kind of job. So I ended that CIS admin job, and so it probably is not terribly surprising that folks would have been doing an Existence Administration before, but the first program I did was I got paid to write this program. This is a real program. It runs in the meantime. But when I found Ruby, it was a natural transition for me. Especially since people were starting to take that whole else thing that seriously, and I felt like I was finally going to pretend to be a respected programmer. But functional programming? Functional programming still felt like the domain of people that were smarter than me. You know, people who actually completed their CS degree. And this guy came along, and everything changed for me. Now, I'm a little bit later to the party than some of you. I only try to get served for the first time back in April of 2014 when the 0.13 drop. But then I get an amazing thing happening. And I discovered FD wasn't as scary as I thought. I didn't have any real projects that I could use on Instagram yet, but I was keeping my eye on them. Then, over a year later, this tweet showed up in my timeline. A friend had prompted me to submit a talk to a conference host who would be weird. And after I responded to him with my concerns about preparation time, he responded, but I can only assume that the conference organizer or the equivalent of a car salesperson, let's just take it for a test drive, no obligation. Now, Terrence knew exactly what talk I wanted to build, and he knew that I found the idea pretty scary. See, I opened my big mouth a few months earlier in Grail's office about this idea that I had to build a choose your own adventure talk where the audience could vote on what we talked about as we went along. Now, I knew telling someone about this was going to put me in this awkward situation. The problem was I had no idea how I was actually going to build this talk. I had spent most of my programming career writing web applications. And this thing was more like a multiplayer network-driven game than a presentation application. Not that the distinction really mattered, because that's never been the end of those things. So I gave up, and I wrote a proposal to make my own. But even out of the proposal, I tried to talk to them about accepting it. Unfortunately, they accepted it anyway. So before I accepted the invitation, I spent some time in that weekend acting together this incredible technology you see before you using a laser-intensive react. I wanted to make sure that a bare minimum idea of a presenter, desktop client, and mobile client all synced up. Okay, obviously kind of a very long way to go. But that being said, it felt almost too easy. Now, I always tell people that they can judge a technology by the things that it makes you feel like cheating when they use it. So I mustn't show them the right technology, right? But at the back of my mind, I was worried that maybe I really was cheating somehow, and I just didn't know it yet, and it was going to show up once I got further in. There's no way it could really commit this easily. So I had eight weeks to try to turn my simple demo into a full-fledged presentation application in my spare time, and also build many more slides than ever would be seen, because that's the nature of Choose Your Own Adventure. For a talk about time I'd never written before, using a tool change that has, in this very moment, only barely existed. Oh, it had to keep running under the load of a room full of developers who I can deal with and try to break it. No big deal. Just kidding, that was a very big deal to me. I was really super stressed out, and if it didn't work out, I was going to feel like I could lighten my plans. Although, to be fair, as a software developer, I should be used to it. After all, we're kind of in the business of life. Now, I should stop here to say that I realized that there has to be intent in order for something to be a lie. And you might say, you know, when I estimate I'm not intentionally deceiving anybody. I make my best effort to give an accurate estimate. Alright, so here's our best-paced scenario for estimation. You pick some work up a hue. You start working on it. And once you've gotten into the work of it, someone comes along and they ask, you know, how long do you think it's going to take you to build that thing you're working on? Now, you might have some general idea because you just started working on it, but you can't really say for sure. And more often than not, someone's asking you that question before you've even started to dig into the work of it. So, you basically make something up. You might even have learned to best add things a little bit because someone's going to hold you into that estimate, and you want to make sure that you're going to get it. But when you're sitting there saying, well, not in my shop, we're enlightened, we're agile, we know better than you'd ask when it's in units of time. No, my team estimates in points. Points. The joys of stopping are real. So the idea with points is you don't estimate how long it's going to take, but how difficult it will be in relative to other things. Right? And everyone agrees to kind of pretend that you're not really thinking about how long it's going to take when you set a point behind it. Anyway, no, look at the estimate. Even if you're not intentionally misleading someone about how long it's going to take or how hard it's going to be, you're lying to yourself. You're telling yourself that you're going to be able to accurately predict when you're going to finish this task, and you're telling yourself basically that you can predict the future. And I hope that this isn't news to you. You can't predict the future. So we're going to come back to this in a little bit, but right now we want something else. Git commit histories are another area where we tend to be, let's just say, flexible in our definition of the truth. Now, what is Git? Well, it's a distributed version control system. Sure. But what is a version control system? It's told as primarily concerned with keeping track of history as in a record of the stuff that happened in the past. The immutable record of all that's happened thus far. So, if you're sitting out to change the past, you're probably going to fall into one of these new categories. Maybe you're already inclined, and you're stuck, probably you've always gotten screwed up, and you're just a good guy. You're just trying to set things right in the past to ensure the correct version of the present. Or maybe you're the original terminator. So serve me into the will of the machines and I'm working to ensure their rise and humanity to do whatever you're doing, whether it's by choice or by programming, it's irrelevant. Now, from the point of view of the altered timeline, it's impossible to know that history has changed, let alone that change for good or evil. That information is just not there. Maybe you think that's an unfair analogy. So, let's look at it another way. You know how Git is implemented? It uses a hatch tree. Sometimes it's called a verbal tree. And what are verbal trees used for? Well, let's ask what can be done. Apparently, there are four verifications of data shared between multiple computers. And more specifically, let us be on the line a bit, they're going to ensure that nobody is lying. So we've got this incredibly powerful tool based on how great these are designed to make sure nobody is lying. And what's the first thing that we do in this tool? We lie to it. We lie to it a lot. I mean, look, I understand there are a lot of Git workflows that can work really well. There are situations where these vans are totally reasonable. They can advise them. But lots of them are just plain abuses. People usually tell me this abuse is justified because they want their Git logs to be clean so that they tell a story. I agree. I'm a big fan of Git logs that tell a story. It's just that I move for the story beyond fiction. It's valuable to know exactly how things got to the way they were. It's valuable to know even on flattering or producing details it's nice to know what we tried before, you know, we landed on a solution that actually worked. If we can learn from history so to say, no, we might be here on stage, look at another way. Every time you have to force push the worm, Git is telling you, you're lying to me and you're telling it, I know, but trust me this is for your own good. I hope you're really sure about it. Maybe we can be forgiven though for our rights and freedoms after all surrounded by lies. Every abstraction of a lie is an abstraction at all. It's a deliberate attempt to represent something in a way that's more pleasant to work with rather than how things really are ever needed. As an industry we build an impressive tower of abstractions. We build a tower of lies and we do our work atop this tower. Every story in this tower is one that someone thought was a liar with telling for our own good based on their opinions. Now if you know me, you might know that I have some opinions of my own about some of these lies. Actually, scratch your opinions. I have feelings about some of those lies. But feelings are hard. So let's talk about some things in particular. Science. Questions about your opinions. Anyone here know what this equation is? Right? Oh, there's one. You can't hand up. For those of us who, like me, didn't immediately recognize this formula let's start with something simple. Does anybody know what this is? This is a pebble. Some people might call it a very small rock. That's what this is. And when you drop it into a still body of water you see it produces a little weight and you hear it erupt. You drop two pebbles next to each other. You'll get two sets of waves. And those ripples make a kind of pattern where they intersect. Way back in 1678 a guy named Christiane Howkins this is how you pronounce it. It doesn't look like that. There's some hard names in this. It's telling people that he thought light was a way just like those ripples. Now he published this idea in 1690 because he treated it as something like that. So light was a way to do what exactly. He called this hypothetical substance that the waves were in. The luminiferous cleaner. And yes that would make a great name for a rock man. The problem for Howkins was this guy. Maybe you've heard of him. It's kind of a big deal. And Newton also wrote his own treatise on light in which he claimed light was a part of him. And since Newton was a bigger deal than Howkins nobody paid much attention to how ever there were some scientists who thought light was a way to do it. However there were some scientists who thought Newton was wrong. And in the beginning of the 18th century Thomas Young delivered a series of lectures to the Royal Society outlining the waiting period of light and adding to it a new fundamental concept that he called the principle of interference. This is a sketch that Young would read. It was based on observations of water ripples. It showed how ripples were one source allowing us through two openings on the A and B on the left. It created those same patterns those patterns that we saw earlier make sure the ripples. Now these are called interference patterns where two waves intersect they're both in an upward-down position they use constructive interference they make the wave higher or deeper. If they intersect when they're in opposing positions they produce destructive interference they flatten each other out. Now if light was a wave we could expect that we might see something similar if we observe the pattern created by light shining through two openings. And in 1803 he performed this experiment Young did. Now he was a double-slip experiment and saw exactly what he expected an interference pattern. Now one of the cool things about this experiment was that it was incredibly simple to reproduce but even a century after their origin Newton's particle theories had so much weight and so much prestige that Young's findings didn't draw much interest. Some people even ridiculed him. Scientists can be a petty much not at all like our viewers. In part he had trouble getting traction with his ideas because he was busy demonstrating real-world results instead of writing math and algebra groups. But by 1817 there was a critical mass of experiments that corroborated Young's discovery and it was part of the theory of light which vanquished for the time being and classical wave theory went on to inform us and allow us to invent things like radio and radar and other things. But it still failed to explain some things. For instance, the ozone layer protects us from the short wavelength ultraviolet part of the sun's spectrum. But the way it passed into and out of the medium their frequency reverts back to what it was originally. So if light was a wave after it passed through the ozone layer it would return to the short wavelength and we wouldn't be here to have this discussion right now let's say it this way. So the wave theory had to be missing something so we need to take a step back to a couple of money I know. This cheery guy's name is Democrat. He's also known as the laughing philosopher. And he's usually credited with developing the philosophical theory of the atom. He called it atomism. It was in the 5th century BC. Now he recalls that the universe was made up of tiny indivisible, indestructible particles that he called atoms from the Greek word that comes for indivisible. Now philosophical atoms supposedly came in an infinite variety of shapes and sizes. And they could be combined in different ways to create everything that we see and everything that exists. This idea survived from millennia so when tasks and natural philosophers in the 19th century found evidence of tiny particles that seemed to be indivisible they called them atoms. It was a natural choice. But it turns out that atoms didn't come in an infinite variety or at least not so far as we know. In fact there are few enough that it was straightforward to maintain a table of the kinds of atoms we've discovered and even later to predict the kinds that we would discover them. We call it the periodic table of elements. Now the other difference between the particles off of the counterparts is that it turns out that atoms are not indivisible. They are made up of even smaller parts. At the end of the 19th century J.K. Thompson a business assistant at Cameron University was conducting experiments with cathode ray 2. During the course of these experiments he discovered that cathode rays were actually screens of negatively charged particles that were about a thousand times smaller in a single atom of energy. In other words he discovered that we now call the electron. And he went on to propose that atoms weren't that divisible after all and that electrons are the building blocks of the atom. Now we call tiny particles like the electron elementary particles. The electron was the first elementary particle they discovered but wouldn't be the last one. Now this is all well and good but how does it play to our discussions about the nature of light or quantum mechanics or what was supposed to be about abstractions? A theoretical physicist in Max Planck suggested that radiation is quantized and that means that it comes in discrete amounts. You can have one in quanta or two in quanta radiation but you can't have one in a half quanta. Now most scientists at the time didn't take it seriously but in 1905 Albert Einstein was one of the few scientists who did. He suggested that a electromagnetic wave from which light is one could only exist as discrete physical wave packets. He called one such wave packet the light quantum. Einstein carefully avoided calling these wave packets particles but still all that eyes of you would have felt pretty smoggy to have been around. The existence of these light quantum which would later come to call photons was going to be confirmed 17 years later by a physicist named Arthur Compton. He performed an experiment with an x-ray which could be scattered by electrons and it's something that he knew to be a particle could collide with x-rays and it's just the reason they must be particles as well. But wait! We often just establish that light behaves like a wave. So which isn't a wave of a particle? So when we shine a light through jute slits we see the interference pattern and we expect that light is a wave. But if light is a particle and Compton, we should also be able to set just a single photon through those holes. This thing is a photo multiplier tool. It's a device that's so sensitive it can detect you back with a single photon. Now we put it in an extremely dark place and we shine an extremely faint light through jute slits like the other experiment. We can do things until we're only detecting a single photon at a time. And then we can check to see where those photons landed. And as the photons are fired through those slits they appear to be in a random distribution at first. But if you track them over a long enough period of time something really amazing happens. Even though the photons are arriving one at a time the same interference pattern emerges. How is that even possible? I mean, what is it if the photon is interfering with or being interfered with? The answer lies in wave functions. These are at the heart of quantum mechanics. A wave function tells us the probability that a particle was going to be observed in a given position. Now one of these waves are waves in. We don't actually know. I hope whatever it is will have a name at least half as cool as Blumen Everest either though. Mercer Heisenberg and Niels Bohr were physicists who pioneered the study of quantum mechanics at the University of Copenhagen in the 1920s. Their interpretation of this information of quantum mechanics is called the Copenhagen interpretation. And it says that the wave function doesn't have a physical nature at all. It's comprised of pure possibility. A particle traversing the double split experiment that we talked about exists only as a wave of possible locations. And the path that you get there is decided only after we observe it. We call this wave function collapse. Now prior to the collapse, it's meaningless to try to define anything about the particle. It's as though the universe is allowing all possibilities to exist simultaneously. We call this state a superposition. And the universe holds off on choosing the last instance when we measure it. But not only that, those different paths, those different possible realities somehow interact with one another so that that interaction that some paths become real and decreases the chance that others become real. Now that interaction with possible realities is seen in the interference pattern. That pattern is real. Even if the vast majority of the paths involved in making it never become real. So in the Copenhagen interpretation the final choice of the experiments in the universe is random with administrative strengths of the wave function. This is a little dance, right? I promise. The theory of quantum mechanics reduces accurate predictions in reality and is consistent with the whole Copenhagen interpretation. But it's not the only interpretation in the world. If you're still with me, you do it because we're close to wrapping up this whole science discussion. But it's going to get a little weird before we finish up. This is Erwin Schrodinger. Now he was an Austrian physicist. Remember this thing here? This is now the Schrodinger equation. And it's a partial differential equation that describes how the quantum state of the system changes over time. He formulated this in 1925 and won the 1933 Nobel Prize for Physics. Now in the 1930s he was following the writing and the experiments of Einstein, Boris Podolski and Nathan Rose were commonly just referred to as EPR. They had some issues with the nature of quantum superpositions. Specifically, they had some issues with the idea of wave function collapse with the Copenhagen interpretation proposed. They inscribed five experiments which became known as the EPR paradox and they published a paper on it in 1935. And the short version of it is that if any particle's position is unknown until it's measured, suppose for a second that two particles interact with one another at some point and two measurements were taken simultaneously. Then if you do the nature of the interaction you could predict the second measurement if you do the first one before you actually do the result. The concept later we called quantum entanglement. They claim that the outcome of a measurement can be predicted that there must be something in the real world or an element of reality that determines it. So they said in short that the Copenhagen interpretation was correct but could not possibly be believed. I'm sure I do agree with the course of extended correspondence with Einstein about the EPR paradox. He came up with the thought experiment we probably know before. I hope you forgive this illustration of Schrodinger's cat. It's not terribly accurate but it's also not as important. So Schrodinger proposed a scenario with a cat in a long box with a tiny bit of radioactive substance a mechanism that was hooked up with a gyrocar such that if a single atom of radioactive decay was detected by the gyrocar a small class of poison would be smashed. Yeah this cat looks annoyed you'd be in the link too. According to him then the Copenhagen interpretation implies that the power gain is both alive and dead until the states observe it. Schrodinger wasn't promoting yet yet. Yeah I love this picture. The Schrodinger wasn't promoting yet yet. He intended the example to illustrate the inserting of the existing view of quantum mechanics. Years later in Dublin in 1952 he gave a lecture during which he warned the audience ahead of time what he was about to say might seem lunatic. And what he said was that when it's a question seen to be describing several different histories they're not alternatives but all will actually simultaneously. This is the earliest known reference to the alternative interpretation of quantum mechanics that we label now many worlds. Now the methanol interpretation would be more formalized by a guy named Hugh Everett in 1957. He called it the relevant state formulation. And the claim was that it's not just tiny particles that have a wave function, possibilities but every every species that production read this was able to simplify it afterwards. He said since the universal validity in the state function description is assertive one can regard the state functions themselves as the fundamental entities and one can even consider the state function of the entire universe. In this sense this theory can be called the theory of the universal wave function since all of physics is presumed to follow this functional model. Okay. That's dense but in an early draft of his doctoral dissertation I think that's the only way that I make a little more sense. As an analogy one can imagine an intelligent amoeba with a very good memory. As time progresses the amoeba is constantly splitting each time the resulting amoeba is having the same memories as the parent. Our amoeba hence does not have a white line but a white tree. I think this excerpt from a letter that Einstein wrote to Schrodinger 15 years after they'd been done corresponding to a PBR paradox course for the long time. Einstein never stopped being frustrated with the ad hoc nature of wave function collapse as a result of a good interpretation. It felt just like a cop-out as Schrodinger did. Everett, whose role in the state population claimed that the more real thing was the state functions themselves and all the things we observed all of physics could have fallen from that. But it's impossible to deny I told you we were going to get that structure it's impossible to deny the usefulness of the co-convenient interpretation or if you allow the co-convenient abstraction to make any sense of things. Reality or truth then becomes a question of perspective. How much reality is enough? A while ago I told you estimates are wise. I still believe that to be true. Taking it individually estimates are wildly inaccurate. We don't know how accurate our estimates are going to be in advance and we have no way of knowing for sure how long it's going to take us to finish our task until the very moment that we deliver the finished work. But the funny thing is estimates tend to be wrong in ways that are all set one another. Some easy things are not going to be hard some hard things are not going to be easy and a pattern of origin that you can start to base larger scale predictions on. So you end up with this paradoxical result that estimates are going to work really, really well so long as we can all agree that to the ad-hoc principle that they don't actually work at all. This is what I get. I think there's some objective notion of truth but that truth like the biggest given repository you've ever seen branches off into an infinite number of directions and the state that we observe is just ahead of our current branch. Is it any wonder then that intelligent people ask the question of whether or not we're living in a simulation? It's not just one isolated individual here. There are all kinds of voices that are asking this question and some seriously smart people think it's almost a certainty. But others say it's completely ridiculous. It's disturbing to some. And it's easy to dismiss this as the stuff of science fiction or as a relevant sense we can't yet figure out any way to prove or disprove it. But let's not forget that the 5th century BC Greek philosophers had very limited powers of observation on modern standards and yet that did stop them from deriving the existence of the atom. How many of you have seen the Matrix? I expected that. I am pretty sure for any of you who have, 17 years has passed the statute of limitations for spoilers, but feel free to publish this in history. So central to the Matrix's plot is this idea that most of us are living in a simulation called the Matrix. And while our real bodies are hooked up to machines generating power of artificially intelligent machine life where a few humans are free. A few humans are free and they can literally leave the Matrix at will, fighting against machines in a real world that turns out to be nourished by comparison to the one that's simulated. I want to show you one of the most memorable bits of this movie for me. Cypher, the man on the left in this photo, was having been free for nine years having a discussion with an agent of the machines named A.B. Smith. Do we have a deal? Mr. Brady. You know, I know this state doesn't exist. I know that when I put it in my mouth the Matrix is telling my brain that it is juicy and delicious. After nine years in order to realize ignorance is bliss. Now to be clear, the situation of majors is not quite the one that's posed with the simulation hypothesis. And that's really what makes this especially interesting to me. In the simulation hypothesis there's not a real version or, depending on your respect, a simulated version of you is the real one. What Cypher is asking for is fundamentally different. He knows the version of him that exists in the Matrix isn't the real one. And he says ignorance is bliss. He wants a deal that will plug it back in and make him forget that it's not real. He wants to make the simulated reality his reality again. Which brings us back to the point about the stretching. Now you can tell I can't make it from Ruby Landers and I'm going to talk about some feelings now. That's a little too much right there. You're a little, you did that looking well. So he's been said this science in the search for truth. And lots of you said that you had computer science degrees. You spent a lot of time searching for truth? Looking for code examples, by the way, let's not go with the non-challenge. He might say, well, no, but it's an applied science. So we're at the software engineer there are good cases for applying engineering principles to what we do. But even then we might expand our definition from searching for truth to applying truth. For some reason we shy away from labeling ourselves as artists. But I feel that we spent far more of our time being artists than being engineers or being scientists. And there really shouldn't be any shame. Artists move beyond searching for truth or applying truth. When we express truth somehow you can go so far as to say they create new truth. And that's what we try to do in abstractions. I still believe that abstractions are about their nature of life and their abstractions at all. But when we work with code don't we strive to create things that feel somehow true? How do we do this as artists? Well, first we do what we can to aid the suspension of disability. And then at the same time a lie is something that is going to give me enjoyment or maybe release your suffering. When a magician pulls a rabbit out of a hat you don't have to really believe he has magical powers. You just have to be able to suspend your disability just enough in order to enjoy the show. This just needs to go so far as to be able to enjoyment. It's an informal contract between the audience and the artists. The audience should be left wondering how that worked? It does. Nobody in good at all, having seen a magic act were so convinced that magic was real that we go home and try to stars and then we get out of the hat. And also the context in which an abstraction is framed and from where we perceive it is going to influence how truthful an abstraction feels. For instance, when you see this code you don't assume that if I create a person's struck name or I created a copy of myself this struck represents a sort of aspect of being sure. And I can count on another programmer to share that context. Earlier this year, I gave you a presentation I mentioned earlier that was so stressed out about at a conference named Groovy on Alice. And the organizers had a surprise that they gave all speakers. This is mine. This is me, you and my dad asked for it. Now, when I said this was me you understood this was a portrait of me this prepared as an artist's perception of my physical appearance. I didn't have to tell you that. This is me, too. Again, you may feel me because of my special appearance when I was younger you make an educated guess that I was a huge dork and you're right I won't count. If someone says it isn't already known to you and you haven't known me for my Twitter feed this would probably try to picture it. But is it me? Oh no, it's a photograph. It's an abstraction that represents but even with the portrait I'm making that distinction it feels a little silly, doesn't it? And that's because of a shared understanding about pictures that's been ingrained over us over the course of millennia into us from the very first time people painted on cables it's elemental we're able to build on top of that elemental that shared understanding of reality to express a great thing to feel true. Once we will be in that water, fire and earth in the making of reality we will be able to build on elements and everything we've made for that. Now we know about atomic theory and the elements of the periodic table we also know that no one can exist without something even more elemental the elementary particles and now I'm hearing that maybe they found something even smaller than that in our pattern quadrant so still given how useful it is of its own and the jumping complexity between the elements and elementary particles remember we still don't fully understand how particles work the periodic table still remains useful so how does any abstraction achieve that feeling of being true that how does it become elemental well it does so by being pervasive, persistent and practical elemental abstractions are everywhere and they have been for a long time they may be made in more elementary things but they're also incredibly useful on their own even without understanding those underneath them modern web applications like the ones you're probably building are compounds four elements HTML gets that JavaScript state now you can be forgiven for mentally swapping state into SQL but really it encompasses whatever gives the actions in your application of their impact on the system now there's a long time during which I had these sort of partially formed feelings about certain abstractions that I strove to explain as developers we tend to talk about things like unique abstractions or violations of the principle of least astonishing but those words are just proxies for what we're really feeling in the first case our suspension of this behavior has been broken because we were forced to understand how things work behind the scenes and in the second we already had context for how things work and the abstraction broke a reasonable expectation that we had based on that context and that's what it dawned on there was a reason I had such strong feelings about these abstractions I was a naive young Rails developer where we all attracted to shiny things and they blurred me in promises in the better world they told me they were lying to me for my own good but it turns out that nobody had a heartbreak because they were trying to replace something with this element how many of you are familiar with Hamlin a lot of people but Hamlin came along I took one look and I said yes please it looks so mean it looks so elegant but while Hamlin will generate validation in ML validation in ML is not valid Hamlin they'll even try it the same thing with SATs look how pretty it's got variables these are things CSS should have had signed up for that but once again CSS is not valid SATs forget you haven't used CSS and with CoffeeScript ooh pretty I hate in JavaScript and this if I split it almost looks like Ruby I love Ruby you're probably seeing a bit of a pattern all of these things just have to stand in we just can't escape when we debug our applications in the browser they are HTML CSS and JavaScript no amount of source mapping changes that reality so we've got these abstractions and try to stand in something that's more elemental but ask us to forget what we already know of those elements even though the browser just can't forget there's got to be a better copy what's a better abstraction of a copy of HTML might be embedded elixir gets this right a plain old HTML file is totally valid it's not boring but it's totally valid you only trigger a elixir interpretation when you ask for a special tag but aren't valid HTML tags that part's important you're extending you're not modifying SCSS gives you all the good stuff in SATs as a superset of CSS the same thing is true for ES6, ES15 whatever the heck they're calling it this month it extends what you already know to be true about JavaScript so it feels more honest but that's only three of the elements but I'm not stating you might remember I was mildly stressed out by having agreed to do a talk in an 8-week timeframe without a working application I had contacted a lot of things that helped me get the proof of concept ready stuff like loading a real slide deck being able to have speaker notes and you know actually rendering and re-attracting slides and they hadn't even worked out but the applications continue to be agreed to fill I got the basic assembly you want laid out complete slide preview notes the attending connection info and then I got this slide loading and voting functionality next week or so and I got it rendering properly for attendees on desktop to tell what's your hardest thing about building this application is getting the CSS to play nicely but then you probably can't tell the difference between these two screens just with the test of my start then as I started building the talk I was like you know it sure would be nice to read this voting functionality if there was something more free-form non-branching votes and it would turn out to be something I could throw together in a happy manner oh and sometimes you know images should have captions and it would be nice if the markdown renderer could handle that and when I use images I need a way to attribute the author and I like to use the occasional quote slide wouldn't it be great if that just worked through block votes with me in part now to discuss distractions and I was thinking about how distracting chat applications can be and hey everyone's already connected to the same server so I got this slide that was literally a standalone chat application for all of the attendees to be extracted by during that part of the talk I was later told I was later told by someone who attended this talk that it was the most beautifully over-engineered talk that ever seen and I took that as a compliment I mean after all it was a pleasure to build it so why not I'm not overstating when I say that I had more fun more joy when building this application than anything I've built in the past decade but the most part I didn't feel like building without application I just felt like building an application and it felt like using that application and I'm just as because I managed to avoid dealing with the pain caused by one of the biggest slides that we've been told that we've been living with for so long it started to build through here's the line there's a stateful application on the back there's a stateful protocol it's a totally reasonable plan oh you can totally make it we've spent decades making our own ways to make it but the fact is traditional server rendering applications are a huge, huge hack and it's an incredible that they can work on a lot of systems they do I mentioned before that I got into programming through the system's administration now as a system admin I would set up an SSH server that ported processes for every connection I made because they connected with Shell they type messages back and forth the message is I launch other processes to manage the server I do those processes to configure an exciting thing a process whose sole job it was to launch other processes on demand and to configure a supervised process to restart crash processes and notify admins and never not once did I have to remind an already running process what a state was what a state was the analytical abstraction for state is a process this is an old line by extension Alixer said you know what let's just call it what it is try and make it as lightweight and honest as possible in a strategy that's a serious judo stuff right there and I did this live on this application such a joy to build pretty much everything in the app came down processes and messages the moment the react application connected the process and system all the way communicated via socket the socket process knew whether the person was an attendee or a center messages for phoenix that were dispatched was actions and the react and those are basically these messages and styles and since the UI was just the result of a function of 5 in the current application state everything just felt so honest that was a lot of heat which I know I'm about to reuse so Alixer actually made me cry but the new ones helped us to spend this believe in the KXO that you don't miss this, the real power of a strategy that lies in the ability to affect our perspective on things which in turn, frees our minds to consider new possibilities every day, every line of code you write has the opportunity to create this kind of change and there's something truly special about an honest abstraction like this but I can't finish up, I know it looks like we're running over from starting late I can't overstate how much he's had on my joy working with Alixer and Phenix but there's something more as well I think this honest team has affected the Alixer community in a good way my very first day learning Alixer I tweeted about it and just I responded with happiness and an offer to help if I had questions and I actually took him up on it a few days later and it turns out he wasn't just being nice he was honestly willing to help he took time out of his day to take this Nuke's code and look at it and be honest, an extremely helpful bit of feedback on it same thing happened when I started using Phenix for my presentation application Chris offered to help me for a talk about what I'm working on and even after I explained that the talk wasn't actually about Phenix but just using Phenix he told me his offers were still good I want you to understand this I know, people know me from the Phenix community but this isn't that this has to do with who they are they're kind and that brings me to the other key value I see in this community do a quick search on nice versus kind and you're going to see the kindness goes beyond being nice people can say and do nice things for all sorts of reasons including conflict avoidance but people are kind because of who they are and because it's rooted in their identity there's honesty and strength there and a willingness to set some good values there's a saying in the reading community me and a swan to that point you can stand for it and that's as nice and so weird as I always like this to be clear I don't really know maps well behind but I think he's probably kind as well as nice but with this notion of kindness in mind I really want to keep this a thing Jigga swan Jose is kind and so weird Jigga swan yeah, it's nice it's nice but seriously I've always found that communities with a media bell that haven't dictated their life tend to respect the best and the worst of that person's traits that's why I'm so happy to see that both the elixir and the nice communities have media bells with traits that are worth reflecting it's true I do get the technology based on what makes me feel like cheating but I stick around in the community I stick around for the community and this community promises me one of the parts to be around for thank you