About the talk
This video was recorded at virtual Code BEAM V America conference, which took place on 10-12th March 2021 - https://codesync.global/conferences/code-beam-v-america-2021/
More great virtual tech conferences - https://codesync.global
Forum over Functions
by Randall Thomas
What 20+ years of bad languages, awful frameworks, and half-assed implementations tell us about Elixir, Erlang, and the future of BEAM?
He who cannot remember history is doomed to repeat it—an apt aphorism summing up the last 30 years of software development if ever there was one. We will take a walk down memory lane and identify the mistakes languages and frameworks seem to make over and over again and why languages like Elixir might just help us get out of the vicious cycle.
SPEAKER - Randall Thomas
Randall Thomas (@daksis) is a classically trained musician that took one too many calculus classes and got sucked into geekery: computers, robots, video games, high energy physics - the usual suspects.
Afflicted with rabid technology ADD, Randall has built companies in various industries with numerous startups -- everything from robotics to digital video to cloud computing. After escaping a high-security military prison and driving a heavily armed conversion van filled with ex spec-ops soldiers for hire around the Los Angeles underground,
Randall founded Thunderbolt Labs - a software consultancy that teaches companies how to build better software by embedding with their teams and building it beside them.Randall is an internationally recognized speaker on practical data techniques and the insanely nonsensical business of startups.When not glued to a computer Randall is likely lost in a book or on a running trail wondering if he will get to the end of either. He has a fondness for good food and weakness for great whiskey and will happily discuss either at length.
Code BEAM V America
Randall Thomas (@daksis) is a classically trained musician that took one too many calculus classes and got sucked into geekery: computers, robots, video games, high energy physics - the usual suspects. Afflicted with rabid technology ADD, Randall has built companies in various industries with numerous startups -- everything from robotics to digital video to cloud computing. After escaping a high-security military prison and driving a heavily armed conversion van filled with ex spec-ops soldiers for hire around the Los Angeles underground, Randall founded Thunderbolt Labs - a software consultancy that teaches companies how to build better software by embedding with their teams and building it beside them.Randall is an internationally recognized speaker on practical data techniques and the insanely nonsensical business of startups.When not glued to a computer Randall is likely lost in a book or on a running trail wondering if he will get to the end of either. He has a fondness for good food and weakness for great whiskey and will happily discuss either at length.View the profile
Thank you. Thank you guys for coming. Really excited to be here at. This is actually kind of Reckoning and thanks for that amazing introduction. Text strange note. I actually owe for Casco a debt of gratitude because the reason that sack and I have gotten the chance to work together or the intervening year, is because we got a chance to really connect at the last sort of in-person physical code beam, right? That we managed to get right before that. So it's kind of a nice book end. So If you saw a sort of a definition of this talk,
right between years of bad language is off of Frameworks, half-ass blah blah blah. The subtext here is not all that important is important. Here is that if you see the pun in this, you'll get the rest of this this entire thing because we're going to be doing lots of different things. There's going to be a lot of planning sex might be tempted to bring that his golden card. Those who cannot remember the past are condemned to repeat it, right? This is a common phrase weed Andy about, but it's think it's something. Especially
when the technical sessions really need to consider because Past is prologue. And if you're not quite sure what this is, you either, you're not that old or you don't understand that this is actually prologue. And if you're laughing at that it gets worse. And what I mean by that in the technical professions is that if you think about what we do is every single time that there's some new thing that comes down the pipe. It turns out, it's actually not really a new thing. It's the new old thing, and we have a tendency to go back to
forget that somebody else try that. And, you know, Possibly succeeded. But more likely than not in technology. They didn't do such a great job. So where we going today? I'm here to convince you about three things one and a lot of ways, what we do as a profession developers as we're doing it wrong. We eat, we build it and narrative about what we do as software developers as Architects as data scientist, like, pick your favorite title, that actually gets an extra 20 K on your stuff for you this year,. But for the most part, we actually don't talk about a lot of these
surrounding issues of what we really do at our day-to-day jobs in for the most part. I think there's a lot of places were doing it wrong. I'm too close to playing. Well, it's turns out. Your brain is your brain and how we think about and deconstruct her. Our problems space has a lot to do with one of the reasons that we keep making the same mistakes over and over a lot of research and cognitive psychology and other things that actually introduced that sort of say, haha. There are ways that we can sort this out. The more you get
into Elixir and are laying in the more, you look at languages that are in this ecosystem. I have seen few things that are optimized for both of our productivity and development happiness, in quite this way, especially for people who are actually willing to learn what this entire city has to offer. I'm in for anybody else. We all know that has programmers off by one errors are sort of the standard. So we're basically hopefully it throughout this entire thing going to have some fun while we figure this out. So, I'm at any point time? Feel free to sort of survey survey and ask questions
kind of try to get a sense of who's around in the room. But this is an interactive presentation. Right? Like, ask question, put things in the chat, like, if we were doing this in person, I didn't feel like either hurling books out into the crowd or and maybe throwing stuffed animals. so, This is not your standard talk. But you think that this is not a pipe. We're going to go down the rabbit hole and one of the things I want it basically warn. You guys is that most of the ER, lying in this talk and elixir and all those things that you
expect to see it early or at the end, because before we go and figure out why we actually have early and elixir and why, some of the language is on the BMX at 5, so much for us. I think we need to figure out exactly what happened when you went down this hole, and I want to be clear, everything, this talk is just my opinion, but reflect necessarily the truth. If my narrative does not reflect the opinions of anybody. I admit have or have work for you, work for whatever and most importantly, how to make fun of your language. And you actually really enjoy that language. Just take it time and
she gets all meant to be kind of fun. So let's start with some brains and Shelly. If you ever seen some of the talks that I have, you even know that I probably would have preferred to in another life, has been a behavioral psychologist. So I read a lot of books that are kind of across the Spectrum, but I recently came across this book. Call the infinite game. Simon says, some of you guys may have seen one of his TED talks and it's better than the majority of your standards or a business sbux. But.
I think it's very fascinating because it offers a breakdown of the ward of the view of the world has two types of games that we choose to play in the chickens that we choose to participate in. And it basically tells us that games can be broken down into categories. And there are finite games and pretty much everybody understands. What I find that game is a finite game is things where there's a score. If you know that, you're one is a finite game. And in fact, the funny thing is most of the place that we interact with
the world. Whether it's a football game or a soccer game or a chess game. There's an ending. We know what the NSAIDs. I didn't say it is and even some of the fuzz, your game, high school college, right sit here for 4 years. Learn these things, check out these boxes and will give you this piece of paper. These are fine at games that are easy to find are easy to work with and this is actually going to need to turn around because there's another type of game which is actually far more prevalent, but far less acknowledge and those are infinite games and he defines infinite game
as any game where the in-state or the Wednesday that isn't easily identifiable, purpose of an infinite game. Is it to win not to lose its just to keep playing right now. If you think about this and you're like, well, there aren't a lot of games that the only exists to keep playing. I would actually, say, anybody who's ever played World of Warcraft? Know that that's not the case, right? Also my fault in this category. I don't know about you, but if I thought of life is a game, I want to keep playing as long as possible. I'm so infinite games are actually a much
broader category, and one of the things that he tried to point out in this book. I said if you don't know what type of game that you're playing, you're much more likely to make mistakes about your strategies about your engagement for that game. You will basically take a finite Minds that into a game and he tries to do is explain that that's a bad idea and you're unlikely to have a positive outcome. If you do that on, this is basically I'm the idea that you you're set up for failure from the get-go. So, okay. Why
does that matter? Right? Well, is it turns out the same mindset that we bring to how we write code? And solve problems. Often times comes from a finite background on what we really need to do with technology. Be taking too much more infinite and open-ended approach to how we solve these problems will actually see how that comes about and things like their language is a tool that was a little bit later. The other thing is, he has this idea that, in short, if you truly want to move toward the future, you need an infinite mindset because the problems are showing today are
not necessarily the ones that you're going to actually have to call tomorrow. The one that you rented basically confronted with. So getting it into that mindset is kind of like building your DeLorean. It's how you get to 88 miles per hour. so, The reason that this is actually kind of important, from what we're doing is if you think about it, the first forty years of computing was really about finite problems, right? Get this to compile, get this bit into that register get that bite from here to there. Right? It's only starting. I don't know, maybe
mid-2000s late 2000s where we started hearing things like optimized for developer happiness theory for Ruby, right? Where we started talking about the other affordances of a language that actually aren't a finite solution. So ensure it when you think I would posit is that software development is currently in a transition from moving, from Phoenix to lucian's to infinite solutions in the mines that actually have to change to do that. So I'm a big sigh fine or I love reading. Sci-fi Highland was actually one of the things I grew up reading as a kid and this is always been. One of my favorite
quotes. Is that specializations our friend sex and if you ever get a chance Google, the entire quote, it's really amazing. And if four is a side note, I forgot to mention. I actually always prepare, like, PDF, we behind of all the notes for the research in the foot of the go for all these talks. So if you want that, I'll give you guys an email address later. We can email it to me and I'll send you the PDF. That got the full quote. It's a doozy. But it absolutely the classics of the stuff that we do. And this was actually me when I thought about that quote and how it applies to what we do,
right? And specialization and maybe that is why we call them bucks. We all know Starfleet isn't really true but special edition. If it's friend sex is also in there. This is actually a really great book and the title kind of says it all. But his premise in his book is that he sets forth that the traditional method of how we think about succeeding at problems, especially hard spaces, but now it's beastly wrong. You look at the traditional method, what they say is, You have to
specialize in something. You have to be an expert at something and he presents a lot of research in this book. That shows that ironically the most successful people. And most importantly, the most happiest people are those who are actually left, specialized. They actually have a much broader base to pull from, and they actually have a much broader range in which they can apply and solve problems. So he'll be basically the something very similar to do with that was done infinite game, which is break things down into two sets. They're kind of problems in a kind problem.
Our Kind domain is when we're immediate feedback is available that this is anything where I think of like golf, right? If I take golf club and I swing it and I miss, I could probably sit there and say, well, I was hoping to type in on the club or I might have a coach connection give me feedback and correct that immediately. So, basically, I kind domain is anything. We're practice can make a perfect. But if you think about this, there are lots of places in our world where practice makes perfect is not the case. There is no way to practice for something that's out of your experience. There's no
way to practice for something that's never been done before. So, for instance, How It's Made practice how to write quantum computers are quantum software computers are now just being created and built. So you find peace, domain does, Wicked domains. And which means I think you guys will she recognize, right? Because they're complex and unpredictable and I deposit to you that Wicked domains are exactly what software is anything where the rules in and of themselves are fuzzy the requirements. And actually how you solve a problem is fuzzy. Anybody who's
ever worked with a requirements document and a waterfall development, methodology knows that software is complex. Right? So it's an inherently complex domain and one of the concepts that range brings forth. Is that the best people for solving any problem in a comp? The men are those who have a very broad background is still set specialized individuals, accept Tennessee, do worse, and complex domains. So another words. I don't know if you've ever heard the old joke about an expert? Is somebody, who knows? A whole lot about very little Well, what he saying is that. Experts have a
tendency to not be the best people to solve problems. Well, if that's true and software, it is a complex to mean. What does that mean about building up deep deep? Deep south referee, Keith. Maybe this isn't the way that we should give going about solving proportions problems. I'm so one of the things that you had lights must look at something called a man Gulch fire right now. What was interesting about the mangoes fire? Is that to see if I can check out my notes. These were beastly, Hot Shots. Either people who parachute in, or hike into the backcountry to fight fires. Now, in
1949, there was a fire that was a very small was on one side of the hill. And they were digging a fire break the fire Team without their dipping into fire break. Now, what is happening though, is the wind changed Direction and then the fire got to where they were and it basically got below them attractive towards a part of the mountain and it started moving uphill at 11 feet per second. If you think about that, that's really fast. Moving 11 feet per second. And one of the foreman on the fire team, basically told his individuals to drop their tools and run for safety.
Are you guys going to happen? Out of the 15 people that were on that team to live 13 died and when they found them, they were carrying heavy axes, heavy backpacks. They were carrying all their equipment and tools. Some of them were actually only 250 ft from safety of the end dropped their tools and run. They would have lived but they didn't and that happened in 1949. And there's entire study about this, which is used as a metaphor for organizational change and how difficult it is to make change. But in 1990 23,
firefighters across different incidents died for the exact same reason. They were overburdening when you're unable to physically, run away from a fire. Even though death was impending, they couldn't change their behavior. They couldn't drop their tools and get to safety. So one of the things that you put forth in this book and range is the metaphor of dropping your tools as a way to recognize and acknowledge that. Sometimes we reach a point where past Solutions will not work for current or future problems. And at that point, ironically, the time with are we most need our tools,
those tools fail us, and we actually have to come up with new Solutions. And I apologize it that often times and software. It's our inability to drop our tools which causes us a software developer. That's Engineers. Some of the most pain, right? We literally have we hang on like Grim death to think with no longer serve us. Right, so I don't know how many of you are old enough to remember this, but I actually started off at a time. Where assembler was was kind of my first language. And as to, it's basically not to be some sort of a good thing to give me
some contacts. I'm going to take you to, for some of the early history of computing. So we can see exactly where this leads us. And what time is being prologue, really? Truly means for How We Do Computing today, so, corny, Wikipedia there about six, hundred or so computer languages, and Anna fast. Anything. When I was looking this up, as it turns out, Wikipedia refuses to list of basic as a programming language with Alyssa Fernandez languages, and I was trying to figure out why was it turns out there are over three hundred plus dialects of basic alone. Right in the 600, languages does not
include markup language is Red X if the expression. So we're kind of coming full circle from the talk that we actually saw this morning, right? Which is why it is a language, is it turns out? It's a very Broad and it's a much more challenging a nuanced discussion. So context, really, truly is important. But I'm going to sit there and say and then put a stick in the ground. And I'm going to say that. We basically need to talk about the first dawn of modern Computing. So if you were on a physical room, I would be throwing up books or Amazon gift card for anybody who can identify what that
thing is on the, on the, on the slide. And I know I get it, the one in the middle of a project manager. I mean be piece of physical equipment. That's actually over on the other side. So the old guys, probably know what this thing is pdp-11, right? This is an old old old machine that used to basically that used to run software and we're going to see a lot about the pdp-11. We're going to hear a lot more about this because if I told you that their decisions technically and Technical debt that you carry from a machine, that was popular in the 1970s,
probably call me crazy, but it turns out this is everywhere. You will see issues with a pdp-11 everywhere. And so, for those of you who don't know, the 11:00 with an original machine, it was one of the first time sharing computers and it had a whopping 64 cave Ram because it had a 16-bit address space. Now, the advanced versions that came along a little bit later, had 18, bitaddress bases, and then eventually all the way up to 4GB of RAM. So, think about this. Think about having a computer with 64k. So, when you have Json files, like, I'm pretty sure that you guys have actually
have a Mexican things. That would not fit in the memory of a pdp-11. Ark them script for those of you hadn't quite figured it out, right? So, We're going to see the sky. Load it later. So we just written languages in the beginning, there was literally a language called be right and this be was a language that was more or less designed to replace do this type of coating. I don't know how many of you guys ever witnessed number, or I mean, do you say a lot of people never see someone with the class? But this is actually x86 64 assembler, but this is what I simply language
looks like, right? This isn't even as low as the machines go, but early on when we had to write software computer at this, how we did it. Now, anybody actually tell me what this does the world, right? Okay, great day. Hello world. Did he buy CD error? Yeah, as it turns out, we actually put the wrong length into the register, that's wrong. This program, may or may not compiled. Depending on what's in the actual thing. When we start actually printed this out. It may overflow, or I don't know. Maybe somebody will be able to steal your credit card
number after you read this. So clearly, this is not idea, right? So they created something called BB actually had some snacks like this. We actually like languages like this looks much more human tasks assigned to evolve towards things and this led to probably which is the most popular computer language and history. See, right? I think everybody even no matter what you doing. You've seen Steve at its underlying almost everything that we do. Now. I see what they were initially designed for a couple of things when was cross-platform computing. I need exactly what side of the small type of
memory. Like, you haven't got the 60 4K and the entire language in. And of itself is designed around these hard constraints. Right. So later on to people that if we did some things they've talked about it and said, wonder if I'm going to see if they don't have a cancellation. So it makes it very hard to write see programs. Right? Then they said, well, we got objects and see what she puts plus, but that doesn't really work very well because now we have to write to me object. So let's create templates templates for a way of actually doing what's called genetic programming. It
turns out the first back up, North Bergen was so broken. They actually to release another one in 2003 to fix. What was broken about templates in 98 because of the original complaints and constraints from the original, see, from C + +. And you can see where this is going from there. They released, you are one, which was going to release to be released sometime in the first decade of the 2009, was to actually fix some of the things that they didn't get a chance to fix in 98 or 03. so, at this point in time, They decided there's a splinter group
excited that they were happy with the DirecTV bus buses going to boost boost was actually competing for a standard for C plus plus because you go back and read the real point that X is supposed to be the year of release. As it turns out. He was supposed to be our one was released in. Well, never, right? It was released in 2011, but took him ten years more or less try and fix all the problems with a side recently started in 98, right? So after they fix those problems that were originally created in 1998 and 2011. They said, okay, we can do a better job with the 3 years and
then there's 2 + 22, which they're working on now. Okay, what is this all mean? It all means that most useful Source programmers. If there are any here. Most of you probably aren't even using C + + 17. Most. You're probably on 14. Maybe you just move to 17, but almost nobody is using 20 and it will be years before anybody gets to 23. And my point about this is that there's an elephant in the room. All apologies to any of the people who actually used to write, see this may or may not work. Big elephant in the room is that most of the time, we are reactive and how we respond problems.
You look at one thing or One Singular deficiency in a problem. And then we, they sleep, make one small change to solve that problem and tweak it. And then that creates another problem, right? Think about it. And then she can figure a shin files there. A lot of things that we do where we are basically being reactive not predictive. We're thinking of a finite solution for what we really should be an infinite problem. so, If you look at Beck's BMS, mix, all the other things, I provisors and eventually Bakker was, it turns out all those things that we currently have a
doctor existed on that pdp-11 inside somewhere that 256k right to go look it up. That's BMS. Also, if you ever have seen those Escape codes that using your terminal just came from Beastie 100. Those are actually originally Escape goes from 11. So right now, what you currently set for your scapegoat senior terminal are because of the PDP 11 I don't know if you've ever actually heard of Greenspun 10th rule of programming. Give me a second to digest that one. Lil
skies I would like to bring this out. I'm a huge fan of actually Morris's reaction to this. And this was essentially of the idea that people were almost always implementing half solutions to things. And they weren't necessarily thinking about a general solution to these problems. Write it. So what does this mean? It means that we actually end up with 1960 to start with C because it's Emily's to 19985 Mercer vs. Bus because we need classes. Then there's small talk because we need messages. And then there's Jaba which basically says memories
problems and we need better Solutions and we need better infrastructure, trying to solve these types of problems if we're going to be having productive programmers. So if you think about it, the initial version of seat was 32 keywords and will be compiled on a 60 4K machine. Currently C+ bottle over 95 keywords. Right? And that does not include the additional identifiers and identifiers with special meanings or the identifiers that have changed meaning since different versions of C plus plus. And if your mother talks, I always like to talk about the design of
things where we have a foreign language is actually having for dances and those affordances gives an indication about how to properly use the language. One of the other ways to think about it. Is that every time we add a kiwi or an additional facilities for language. We are putting a metal burden and a continent of burden, on a developer to figure out what they should be doing with that key word with that language over that feature, right? So What does it mean for us? What's a
solution? How do we get out of this? Well. I'm here to tell you that looks or an early in the ecosystem is different. Right. When we think about how we want to solve our problems, erlang beam Elixir these actually give us solutions that I think are are are very in it in a general sense. Much more powerful and much more well-thought-out than you would think. I'm the beam actually is kind of amazing if you think about it. He gets so much from the way that the VM is actually implemented. As it turns out.
There was a great walk. If you ever want to see it. It's actually on the other Cooks Insight. It talks about some of the features in the aspects of the beam and how it would enter place so that we can do inside of her lying and elixir in languages like her like an Elixir. Highly recommend that you guys took that back out. We got her leg right now. I think they're a couple of their talks and talking about the history of different aspects of her lying. If I remember correctly for this conference, but I think it kind of hit a sweet spot when
they were truly, truly real constraints, that actually required to create, functional, intelligence Solutions, and I think it's led to creating a language, which is functional in more than one sense. Yes. It's a functional language, but I think it's a function of language that it's been Solving hard problems for us and very elegant ways for a very long time. Right? So we have this, this battle-tested language and VM to actually help support us and trying to figure out other Solutions, another dimension, which we can play. Elixir like a gateway drug to
erlang for everybody who takes a look at her line and says I would never write erlang. You show them elixir in the next thing, you know, they're Off to the Races. One of the things I actually think that's really great about Elixir. That's different than many other places. Is that Elixir brings a very broad Community with people who have very different backgrounds to the beneath the system. And if you read range, they talk about why diverse background is so important. And I have to think that this the fact that so many people can really get into this and a very accessible manner through
Elixir is incredibly important. OTP, right. It's like super powers for programmers. This is right before this chat. I was talking about how programmers are lazy. Programs are certain type of lazy in the Ott, literally allows us to do lots of things and that no sane person would ever attempt. And if you don't believe me, try writing something like a future from Ott, like a gents are in C plus, plus sometime. I'm try writing something like a cat's, right in C plus plus, or a different language. If you'll find, it's quite the challenge. The one-time system.
I just wanted to call at this link. There's our great link on the run time system for erlang and generally speaking, you can or it. But if you ever need to know what are about 4 in esteeming, I actually found that that that, that hold of bean book is a great resource to getting started and not having to be confused about what you need to do. And then we have sex, right? We actually have really good package management. So this is something that people underestimate all the time, which is how Quality quality Library manager is very important. What we do, we have nerves right, where we can
actually work and with the thankful that we actually write a web application in or desktop application in the street application and we can actually move on to embedded systems in the better. Device does not have to be right, and then I can keep going. Right, Queen,. Not like we have so many choices that we can actually make us so many things that we can use to try and match the problem to the way that in the type of solution the Syntax for that solution. And one of the things is my favorite about erlang and electric General is, I love the fact that we actually have
documentation that she and readable, and I think people Overlook the value of high-quality documentation all the time. And you think about it? There aren't very many languages are very many ecosystem in, which you can write something at any size or any skill, no matter what you need except for, you know, these guys, but nobody's talking about them. What are the things? I think that's very different. Also. Elixir. Is that Yeah, honey. I think we've all heard that, right. You ain't going to need it. I kind of extended
that 2 basically say that you ain't going to need it. But if you do, we have it to me, that's one of the greatest things about it. You don't have to go very far before you can find something that solves one of your problems or else helps you figure out what you need to do to solve the problem. I need a new crypto. You've already got those libraries and elixir in earling. You can actually call them easily from. Would you like, Alexa? Nice to show you something. We have to look like Ott within and he easy Arms. Reach compare that to a lot of language is where they have a different version
of the agony, which is now, I think I need it. But if you do, find you to build it, And I can be a real challenge because now, all the sudden, instead of solving a problem or after doing the work that you find a tieable, you're forced to go through and try and basically figure out the steps and solve the problems at these much lower levels of attraction, that you might not really show me against it. In Oran. Simon says, you're not qualified to solve those problems. You're writing a distributed data. Storage engine is really hard Rankin. Currency systems are truly hard and doing it properly.
We can borrow the abstraction that beam so it should be in early and give us to actually have solid Solutions. The other thing I would say is that in a lot of instances. We have languages where they have this, right? A lot of places. This is actually the way that they look at your job. You either do it our way or you don't do it at all. Right, and that's not the way that we actually approached them. That's not the way that things have been done here. So This is actually a quote about Ross. Right? But the funny thing is, when I read it. I
realized that it actually felt very much. So true for the lot of the same things. I like about how you build a system inside of hurling and elixir. Proper usage in proper, semantics and effective usage are sort of baked into the what we want to do. So yeah, I mean there aren't there any places where you can actually have a language that goes from strength to strength and a lot of instances. It feels like the languages in and of themselves were overcoming the weaknesses of that language. Were actually trying to overcome some deficiency in the
language. And that's just not what we are fortunate enough to deal with. It sucks. The longest time. If you've been around the airline or you've been wanting to make sure you always do this thing about what do we do for these high memory in consensus applications? What do we do when you actually to help with vomiting proxies or what you need to do, when you have something like answers of data, like you getting the data science, application data, science, application space. And this is definitely been where python has been
sort of the king snake around things. Right? If you look at all the tool information swing around to get into the science. This is one area where pretty much right for right now. Python is the go to 12425 machine learning. Now, there are other contenders in that space. There's jupyter notebook with a tunnel system that section Moon things. Julia directly Rising contender in this space as well. I'm all has been going on for a long time, but they actually suffer. Many of the same problems that we have to have the same spot secure system Court. Ruling that Library
design. It's not easy to get started the system in another's thoughts are easy to implement hard to scale and if there's something that really truly got me excited more recently as the fact that we are now looking at extending that same ethos of having solid, well-thought-out solutions to the Maricopa and There are lots of reasons that this is exciting and I can write out with you on autograd. And why a machine learning is this one of the greatest thing since sliced bread, but if you think about it and it dition to actually looking at our like our environment, as a series of tools that
we can actually use in this capacity. We also have to think about it as a business. And right now. If you think about it, according to Grandview research, this is the current size of the artificial intelligence and machine learning Market. In 2020. This is the expected growth in the AI and ml market and real US Dollars by 2027. That's a 12 x growth in 07 years that they're projecting and depending on who you get your research from. Some people are actually projecting more
growth summer, projecting the less. So if you think about it, there's a huge opportunity for us as a professional practitioners of The Craft building these systems to move into a space, that's rapidly growing or we can exchange. OKC, the true power scalability and just join the writing, these types of distributed applications. And we are going to be able to do it using the exact same skills that we've been hunting for the past number of years and that we can carry forward. And there's a lot of strength to be able to have that type of continuity to have our context, if you will be
adaptable to new domain hands, and This is going to be huge game-changer for us if we can, truly start moving into things, like Miracle Computing and spring the same type of forward-thinking proper solution that we have brought to all the other demands in which we work, right? So I suspect next year in, for the next few years. We're going to start seeing a lot more AI in ml talks at Elixir, interland conferences around the world. Right, so I know this is a lot. So there's food for thought. And I guess there's some of right. Like what's
the big takeaway from all this? I'm at there's one thing that I wanted to leave you with. What would it be? Clear that Elixir, knurling is the cure. Thanks guys. And if you actually at the End, by all means, drop us an email there, I will post a link to the slides in the other research notes in the PDF. So you can get all the links you have to worry about writing them down and I'll make sure that that's circulating around its way around, so you can download it will probably be like
at Dropbox up there. So thank you so much for your time. I really appreciate it. We have to actually have time for any questions. I think so. So I guess they getting the thumbs-up. So looking at the Q in a tab. Just a question. I think you already answered this by Daniel Craig Daniels in the audience, going to unmute yourself and and go and ask yourself. Sure, I can do it. So yeah, my question was, how do you convince others that better tooling matters and buy tooling? I kind of meant. And then I went
on to say there seems to be some more than others. So I agree question. I'm sure there's a lot going on there. How do you convince people? Sometimes you can't. Sometimes you can show them. But let's talk about how we solve problems, why we're solving problems. And I'm going to sing in a professional contact like in a team like how to convince your team to go off in a doctor stuff. The thing about languages and tools is just like a C+ plus argument. I was making earlier is that there's an
impedance mismatch. Oftentimes, the what I've seen is that the old adage wouldn't, all you have is a hammer, everything looks like an eel. People only know, one language. They only know one method of of, of solving a problem and I count like all those C style languages Java sea shark, go there, pretty much in the same family. So they look at the solutions, installing a switch in the exact same way because you don't have time. They don't have the information to go off in learn another way of trying to solve that problem. So you got to think about the problem in matching up, your problem in
your solution. So the language needs to match the problem in the domain as much fun. As it is, sometimes your actions you need to write assembler. Sometimes you actually do need to to write C or C plus plus. Plus one to teen pain. Is that is that the key thing? Like if you need to actually, I like the pain of certain things with large teams in large groups, I found often times. Is not localized. I'm just going to happen to any number of places. Like, for instance. The people who are responsible for deployment code aren't the same people who are writing the
code. So they have no economic incentive to make it easy to deploy the code, because we put up the server stuff. You got to be quiet. And then also, I think, showing people that there's a better way. I forgot, she got in a lot of leeway from something expo from Bruce, which is I pair with people. Are you say, Hey, you ever seen this? What's that? I listen, I have to show. What does it do? I'm connecting to live news right now that's on the server. And how did you do that over and over again? And after time a lot of people like I want to be able to do that and that's worked
out pretty well, but it's not an easy one. Size fits answer. There's another thing. Also, one final thing is to select the matter. Some people just don't care about the tools that much. So, There's only so much you can do. now, you can I steal that from Bruce so It's also a question from John Eric cook. Do you want to ask question? Just go ahead and meet yourself. Okay. Well, can you talk to mention writing a desktop with Elixir? Which framework, is that? Their findings 40K. Like I don't know if you've ever fired up. He is the Observer.
There is no basis. You can write just thought that since I'm using tickle, but it should be. Sorry to see bindings actually exist. I'm not sure. I thought this might just be her line bindings. Go to Gibbs ever was actually written in erlang directly to QT bindings, remember correctly? W w x, w x. Thank you. Thanks. That's what it was. Rendezvous, without problems for medicine. Yeah, so I sometimes don't thank you for pointing it out. Sometimes I'm a little loose and calling it early
and elixir because language is on the Beamer. So, well, integrated, and it's so easy to call in from one to the other. It makes it really transparent to talk about what you doing. If a really great example of that is checkout gleam. I really like the idea of being able to implement modules and specifically actually having an implementation and shared already, be a first-class picture of a language subset. So How about Conrad Taylor? What's missing from Elixir are Lang
ecosystem that people should consider for a future projects? So the funny thing is they were two things. Actually I thought so I don't have a good answer for you because somebody took both of them. One of them was re-implementation the Bluetooth stack for nerves and I was talking with about a year ago. I think maybe a little bit of a year ago. We were talking about redoing that it starts at somebody actually has been replacing Blues in the Bluetooth back in, unless there's another project call Harold, that was out there. That was doing that. If you're not doing better systems. That turns
out doing Bluetooth is actually incredibly. It's a really challenging thing because of the way that the Bluetooth stuck is implemented and almost all the solid Bluetooth Stacks are closed Source, but there is, you can look into that there. There's a big things that was one of them. The other one was actually the America Computing thing having a way to do a raisin, good memory manipulation and being able to work with these large datasets. I think is a game-changer. So beyond that, those were kind of my two things. And in fact, sacks, and I talked about this one of the first times because that
used to work at another time, because part of science And they were using, I think you guys were using ports for in, to basically deal with long or running process. He's in memory intensive stuff and we talked about, could we possibly get like a numpy style than using ports and rust. I'm attacked. That's actually why I started learning rust was trying to get something like that. We will end up writing. Yeah. C plus plus now, so that we could call in this Library, know it was not fun, but it was very fast. I would have loved to been able to do that
for more questions. I think it's a to the power we showed up or not. Let's see. How about Alexa Topol apologize. My question, what are similar to the one that's Danielle already asked specifically? And why you shouldn't use different to lean back in the days. I used to, like, look all the new shiny things, new languages in libraries, and Ray promised, a lot of stuff, and I jump right in and start cutting them. And then I get disappointed because I like, I was checking
what they can offer and not why I need them. So I changed my perception on that. And now I like look for the stuff that can actually. So particular problem, and they may not be specifically. Call the problem cell but sometimes not professional likes Department. Yes, I know. It is. So, so a couple things I've done one. As I bought people subscriptions to Roxio, Shameless plug for Bruce's project. In fact, actually, I think I actually strangely enough I can testify to this because I think Eric was one of the first Engineers gets. There are only
three people who knew Elixir at John Deere at first and one of the first things I did, I bought everybody, I brought you a subscription to the go play with it in the browser and see how cool it was. So you're definitely right. There's a certain amount of education and coaching that has to happen and I literally have found the best way to do it is by literally doing a one to one parent with people. That's actually how I got so much better people who are far better than I am. Sat down with me and said solution with a nice way of saying that sucks. Let's try it this way, right. But they were
kind enough to do it in a way where I was educated. They brought me along. So there's I think we have functional programmers have to pay it forward. If you get think about the day of the ratification to Haskell Community has no category Theory, buzz off. But it turns out they're right there just not like they get this really bad rep for being right all the time. It's just that they're so exhausted about telling people. It's like, yes, I get this. Here's your 66000 lines of code in Gears, Mike 22 lines of Haskell. Which would you rather mean
pain? Right? So there is a lot of work. We can do about bringing people along with those types of solutions and I think it has to do with things like that. So, we have conversations. We, we sit down to write code with people. We help them out with their projects. You know, I think it's literally is one person at a time. That's kind of how we will get people to serve a doctor if they care. And then the other thing is, for the people who don't care about the quality of the solution of the quality of the craft, they're plenty of languages for them. And I'll refrain from pointing out which ones
were they can go hang out in play, but you know, how many languages for them? Again. Let's see how quickly. Becky. I asked does an ex or Elixir Airline support split 16 fry speed, numerical computation and I do see a response that yes, it does with a blog post associated with that. How about A Natalie on a toll road in now. Yes, sir. I just want to ask her. What's your opinion about elephants? Just leave it blank, but then group that people are using it. Anderson composites.
I'm sorry. I'm not quite sure. I understand the question that as it says it's a test. Do you listen to? Oh, yes. Yeah, there's a. So there's one or langlas flavor. I can't remember what it's called. It's about. I think, the last time it was maybe about a year ago. Is that the project that you're referring to? Respond. Yeah, basically that they did to you was because of longest. There actually is a columnist, enclosure inspired version on on erlang, and I actually have it in my notes somewhere. I didn't include it in the
pocket because the I'm not sure if it's been there are two disclosure of which is more closure and there's a late fee which is no, listings by conversion. I think there's also a version of python run time. Like Fe, I think it's called which provides some just was so inspired by python. Man, thank you. It's sinking. And one more question by Melvin catino. Randall, how are you? This is a very silly question. And please excuse my ignorance but you seem like the security space at all. And do you know if like the security world has had any of the same
problems as like in the soccer development World in terms of like they come up with two line, but they're like we're being reactive the phone. I guess I thought security is, but this is me thinking out loud at the silly question. So I don't want it out them. I know there is a group that is doing something in stealth, with an active security, an active threat modeling thing where they're basically taking streams network data and sifting it in a routing it and doing something with it. What they're doing with it. I'm not exactly sure. I believe the routing between the AI ml
thing to try and do real-time protection, but the front end is basically are lying. The thing that sucks in all the network traffic. I'm so if there's one there have got to be others. I am that's the only one that I'm aware of but I'm sure with a group this of this esteemed that other people know, lots of people who are doing things with us for the security space.
Buy this talk
Buy this video
Our other topics
With ConferenceCast.tv, you get access to our library of the world's best conference talks.