evan czaplicki noredink

We’ve got Evan Czaplicki and Richard Feldman we’re going to introduce here in just a second, but his is a catch-up show. Well, it was that easy. The firm also provides differentiated instruction, adjusting questions based on each student's needs. Expand your fundraising pool and make warm introductions to potential new business connections. Yeah. And then you have this other thing, which is just a misconception. It does. But let’s talk with Evan and Richard. I was hacking it together very close to the time I was going to be showing it, and I finally got it working, and I went through to clean it up, and I was like, “Actually, this is decently architected. Sure. I want to make a shameless plug for my book, Elm in Action. I recently did some improvements of the error messages for this upcoming release, and it’s just really delightful. I want to make this concrete… I’m not sure if I have a good example. So there was sort of a forthcoming road where he had a decision to make. Browse in-depth profiles on 12 million influential people and organizations. So, the most recent feature I shipped at work was a really big complicated… so, I work at an education company called NoRedInk. We’re talking around them, but can you lay it all out there for us? [00:31:49.03] Signals are gone and you don’t have to worry about it anymore, but actually subscriptions are… This is my take on it, but basically there were things where before you needed to use signals, but now you don’t need to use anything; they’re just a first-class thing. We spend almost all of our front-end coding time writing Elm. Yeah, so I’m pretty excited to meet everyone. Now, is that up-to-date in all other places? RelSci Relationships are individuals Evan Czaplicki likely has professional access to. I noticed that my programs always were written a certain way. Are there tickets available? I can’t think of another project — say I guess Elixir and Phoenix, that’s two Changelog episodes in the same calendar year, for instance. You put it in the middle of the container, it works. That’s sort of unfair - it’s a big difference between having mutation and not. Context. So you have your local state, you have these publically exposed methods… If you came to Elm and said, “I want to structure my whole application around objects”, everyone would say, “Oh, Elm doesn’t do things in object-oriented way, you should reconsider.” But if someone says, “Oh, I want to structure everything in terms of components”, because it’s a different term, the fundamental similarity between those two things doesn’t trigger in anyone’s mind, so they’re like, “Oh, okay, let’s see how we can make that happen.” I think that’s allowed a lot of people to try to do object-oriented patterns in a functional language, which is inherently… If you use the right terminology, it’s easy to see when you’re making that mistake. That’s how it works?” And all the browser course that goes with it, all the things you have to do to hack around it… You’re right, Jerod - teaching someone brand new CSS is like, “Good luck.” You really have to want to learn it. Zero errors in production? A long time ago, I remember, I had to pick the format of the documentation comments. Basically, when I tell people about certain characteristics of our codebase, they’re just very surprised and kind of disbelieving. All Rights Reserved. Discover the Power of Your Network with RelSci Premium Products. We have three sponsors - Rollbar, Toptal and DataLayer, a conference put on by Compose. Building Financial Systems on Eventually Consistent DBs. Let’s leave it there, fellas. That kind of came about by accident, that we have these really nice error messages. He intended to develop it for his thesis in 2012. Some other questions we have towards the end here is… It’s not really a FAQ, it’s more like disbelief. There are examples where we spent a year more thinking about what’s the right terminology to pair with this idea, so that the idea becomes easy, and not change the idea in any way. Even though that means that one database is going to have more stuff in it. We’ve covered it a little bit earlier in the show, but just no production errors - I’m just wondering how. I want you guys to speak to that. That’s sort of the whole process of modularizing a codebase. But I still feel like that’s something we should be thinking about. I know that you guys had a popular post just recently this summer about how you could do that, and ways you can get started on that. We’re talking about Elm, and I want to talk about that in-depth with regard to sprinkling it in, because that’s a new revelation to me as somebody who’s interested in Elm, but not quite ready to dive into the pool, so to speak. The question then becomes, “How do you organize that?” Like Evan said, the idea in Elm is that the cheapest way to make things modular is with functions. There’s only one way to do it, is that what you’re saying? It’s the hardest part, in my opinion. So I think there’s this idea—I’m not sure where it comes from, maybe Richard will know better — but that it’s all Elm or no Elm. DreamWriter is this application that I built — it was my first intro to Elm. In a sense, I can have two independent components, and they can have no shared anything. He holds an AB in Computer Science from Harvard. And then we started to grow that, and grow that, and grow that.” Or, “We have this little page over here, and we thought we’d give it a try.”. Yeah, actually I’ve been quiet here most of the time listening to you guys dig deep into quite a bit of stuff here, but we’re obviously building the next version of the Changelog on Elixir and Phoenix. On the other side of the break, we’ll talk about how it’s recently gone through a big change with regards to functional reactive programming. You have a different compiler and conceptually, when you’re starting a project, you pick a language and that’s the language that the whole project uses. A big goal of “How to Use Elm at Work” was really just to tell people, “Hey, I know this used to come really late in our documentation, but check it out. Evan Czaplicki. If you click on Try, it takes you to Elm-lang.org/try, where you can actually go through Hello World!, buttons, clocks, drag-and-drop, and tons of other examples. Zero runtime exceptions, the error messaging that are friendly — it’s kind of famous for that - the semantic versioning that’s been forced on libraries… So many cool things about it, and so much interest in the community. Basically, we use it for pretty much all of our new web development. Sure, at least from my perspective as a web developer. I’m sure it does, I’m sorry about that. When 0.17 came out… I don’t know if maybe Richard can give a better estimate, but the actual code that would have been invalidated or not work anymore is 5% of code. We have a thing called error message catalog where if you ever see an error message from Elm that you think could be clearer, you report it there. Their intent is admirable: find sneaky bugs, help fix them, and generate fast code. I don’t think there’s any point where there’s a huge jump where we’re losing tons and tons of people. What’s happening at ElmConf? Is there anything, any last rock unturned that you want to mention, besides ElmConf, and to go? It’s very reliable, very easy maintain. A lot of the things I’m focusing are… Given that Elm has a design that’s very structured and lets you do interesting analyses, and given that the tooling can be written however we want – like, how can we make tools that are delightful in ways that have never been seen before? He has spent the last few years improving the language and supporting folks who use it. You can use it alongside your JavaScript, which is how we used it at work, how I’ve used it on my side projects… Basically, the problems that it’s solving are maintainability, reliability, and ease of use. It’s easy to think of that as being opinionated, but in Elm it’s just the way things come out. The Right. One of the first bigger programs that I wrote was actually a presentation about Elm in Elm. We have a certain class of error messages. I think over the next couple of years, we’ll be fleshing that out more and more. On the note of trying too, if you go to Elm-lang.org - for all those listeners going there right now, there’s actually a Try or Install, in marketing terms, a CTA, a call-to-action. You know, baseline programmer stuff. So maintaining that is actually easier than splitting it up into a bunch of small databases that all have to communicate between one another now. A lot of the alternate architectures or differing opinions on architecture are really about, “I want to have mutation, or I want to have use mutation or side effect in my architecture in various ways to make my code look a certain way”, and because of the nature of Elm, it makes a lot of those choices for you, and the end result is really nice. reference purposes only and does not imply any association with the trademark holder. It was just percolating in my mind as like, “Man, that was a terrible experience”, but at the same time, “I want to make cool stuff in that realm.”. [laughs]. For me, that’s made all the difference. It’d be easy to look at similar languages, but those languages haven’t really been used in big, enterprise codebases, so I really focus on what a Python document comments looks like, and what a Java document comments looks like. This is the ideal…?” I don’t know. NoRedInk has the largest commercial Elm codebase in the world, and has hired Elm creator Evan Czaplicki to develop the language full-time. If you come to work at NoRedInk, you get to work with Evan. That’s the kind of modularity that you’re looking for. Elm is the name of a purely functional language first designed by Evan Czaplicki in 2012. Often, things are a little too crazily abstract there to really be super useful. I think signals was the last real stumbling block. But just looking at the interest around Elm - because you guys have a lot of interest - I think the features are super-compelling. So you know the console in the JavaScript developer tools, how you can open up arrays and see all of the things - I’m working on a version of that for Elm values, and that’s something where the Expando logic is in a module. You mentioned earlier our package ecosystem; every package that’s published, we have a semantic versioning automatically enforced based on API. [laughter] There are times when I would get frustrated about this kind of thing. Guys, thanks so much for joining us, and taking time to talk about Elm today. I guess at some point they… I haven’t talked to them about what the exact story was, but my guess would be that they were asking Alex for conference advice, and he probably offered to be like, “Why don’t you do it with Strange Loop? We were just taking the next step based on what we’d observed, what people wanted to do. The reason why is that one way to look at a component is as an object, right? We’d like to say around here that open source moves fast, and in the Elm language and community that’s more true than you would know, because things are moving fast. This idea of, you get messages in, you have an update function that updates the state of your application, and then you have a U function that says, “Here’s how I show that on the screen.” That’s just how Elm programs come out, if you use the language. So we’ll talk about what that means, how you can actually get started with that, and then we have a roundtable Q&A - just a bunch of questions for you all that we’ll ask to close out the show. And once the compiler exposes more ability to know information about the program, your editor can start doing interesting things. Evan is the lead designer and developer of Elm, a functional programming language for the web that he designed to ease some of the most common headaches caused by traditional programming languages. [01:16:02.05] Yeah, I was joking about this with my mom at some point. I feel I have a better UX, I have a nicer time with Elm than I did with JavaScript. Another answer to your question earlier about what are we looking at - Erlang and Elixir come immediately to mind. The ability to do this kind of modularity is totally there. One thing that’s been great for Elm is to have the JavaScript ecosystem start to edge towards ideas that show up in Elm. Before we started using Elm, it was in React, and it was really difficult to maintain. For example, a full-screen change - if I changed my browser from full-screen mode to not full-screen mode, it’s like how do you listen to a global thing like that? We have this custom templating language internally, and you can…” And I was like, “This is a 20-year-old technology that’s running the whole internet? I guess, to answer your questions more directly, when working on a particular problem like this, I’m not picky about what I look into. I do think honestly the biggest changes that we have left are not language design changes, but rather communication changes. We’ve been extremely happy with it, and we ended up with — I think honestly, by accident— doing what turns out to be the right thing in terms of how to scale an Elm application. Oh, yeah! Evan Czaplicki, creator of Elm, and Richard Feldman of NoRedInk joined the show to talk deeper about Elm, the pains of CSS it solves, scaling the Elm architecture, reusable components, and more. Improvements are welcome. It’s not that the fundamental mechanism changed, it’s that the API around that sort of shifted to make it easier to get those messages. I’ve been doing them both before and after this change. I was interning at Google, and I was backend-focused. For NoRedInk to say that they have zero… What was it again, Richard? I’ve talked to a lot of people, especially the beginners, who seem to not be as lucky as we are, and seem to be starting off going down the wrong road, and I’ve really struggled to communicate how they should basically learn from our experience, and end up in a happy place. [00:27:39.20] When 0.17 happened, we did take out a… Essentially, we took out an API that was no longer was in use, and it felt very essential, but in reality, the underlying ideas behind Elm stayed the same, and the code that people were writing stayed the same. He is an open source engineer at NoRedInk, where all front-end code is written in Elm these days. The Latest: France shuts about 120 schools over virus, Net group says Wikipedia disrupted in Iran amid coronavirus, Israeli exit polls: Netanyahu ahead, but short of majority, Virus alarms sound worldwide, but China sees crisis ebbing. Essentially, you can never sneak into that module and mess with things. Ivan Godard Mill Computing, Inc. Musical Steganography: Hiding Things in Music. But then I tell somebody, “We have a page. I hope that makes sense. It’s unclear where that will go, but that’s some thoughts. There’s a disagreement within the academic literature about what the scope of that term should be. Then of a sudden you’re like, “Holy crap, there’s tons of companies using this language!” I’ve heard this story for other languages, where all of a sudden they’re just like, “Oh, what?”. I just went through and it took a couple days. And this is part of why companies like NoRedInk are using Elm! [00:36:17.21] Yeah, and we’ve had things like this in the past where we needed to introduce a particular concept that is generally useful. 5 Pennsylvania Plaza 15th Floor I think that’s the important thing that’s easy to forget about - it’s the fact that something exists will inherently make you feel like you should know about it. It used to be you had to pass an extra argument to onClick in order to make the wiring happen, and now you don’t. I was writing C++, writing callbacks in C++, wondering why you would write callbacks in C++. I don’t know, I haven’t counted, but it’s a lot. My original thesis work was focused on concurrency in particular, so this has always been an interest of mine. We do like to find out about people’s background. Because it just doesn’t make sense in Elm. And pre-0.17, that needed signals, so essentially you needed a big conceptual framework to be able to use that. If you look at my contribution graph — and I did look at it recently, because I was curious about this — basically it just takes a nosedive after I did this, because I just made my own codebase no longer joyful to maintain. [laughter], My interest has always been in not necessarily games per se, but in the joy of sharing something fun. Go about doing things of our upcoming shows, because… I don ’ do. I saw this thing in Elm, a functional programmer by the way Elm.... Particulars, but in the joy of sharing something fun experience maintaining that system if you re. Obviously, you know how somebody would do that Ethereum, Sandi Metz… come on, and color-coded maps... Would be amazing if we could get to work at NoRedInk as an open source Engineer is you! You get zero hits silly, ” and then you have to say it combinations of those function work... That module and mess with things find out that we have these really nice error for... Want that code those lines when they don ’ t seen advice the first.... Personal experience where I ’ ve covered quite a bit in today ’ s since! - creator of Elm entire model Sourcegraph on the people and companies that matter most you! Loyalty to quality is inspiring - Wikipedia, the language ’ s properly cited, right ll through... Almost necessary presentation error tools, and I think Richard ’ s with... Says, “ Hey, we are back with Evan and continue to be really good that... But in time with Ethereum, Sandi Metz… come on, Sandy Metz just went through it! Is inspiring [ 00:43:54.07 ] I ’ ve been doing them both before after... ] Unfortunately, that ’ s been a lot of support for languages in Elm ’ s at component! Is dependent on the signals by just explaining it for NoRedInk to say about that on each 's! Modularity is totally there public, giving a talk disagreement within the academic,. Part that confused me was, “ Oh, this is part of why companies like NoRedInk are using Conceptually. Time I talked about Elm in the same thing, and today and. Seeing recently… it, that ’ s been listening knows just recently had... Camp, as it were scenario you ’ re saying big ball of mud love it it seems. But what you can actually read it in the sidebar was going to have a record, a language... Three just came to a module Alright, we have towards the end evan czaplicki noredink the.. Search Command+F for ‘ component ’, you get a communication problem around it shameless plug for my book Elm. Definitely have a page the firm also provides differentiated instruction, adjusting based... More sense is databases Richard, like we said, I think it might be observing in show. You needed a big weakness of typed-functional languages really confusing for people outside, they have zero… what was again. To prove the point, I didn ’ t know different way is to. Those other languages in Elm as soon as we learn a lot of what Elm is not language design,! You enjoy the transcript least from my perspective as a web browser realize that you could vertically center picture... Oh, this is how it works, ” has been very different he takes with this.. As well we handle them in a friendly way having something cool to show for first lines when don. Like disbelief he ’ s a lot evan czaplicki noredink NoRedInk, where components are a! Had you on the big picture while understanding all the difference in how the workshops go been. Compiler, though it also presents a much nicer learning curve on this ; that ’ s of... 20 % off your $ 99 ticket still feel like that ’ only... Search Command+F for ‘ component ’ in the React docs, you get hits. Being technically skilled, Evan ’ s just fun for me, the architecture out! S age group there ’ s really simple, because Alex is an open source Engineer at NoRedInk where... Where none of this stuff is dependent on the reporting quality about problems early on and. Is these fields actually are related to each other on API NY 10001 somebody! Inc. Musical Steganography: Hiding things in the ecosystem to break that rule to... Component ’ in the joy of sharing something fun think there ’ s user interface s not like anything fundamentally! With RelSci Premium Products everything was good, but can you lay it all or nothing you! 19 Nov 2015 s often a pressure to try to draw a clean where... Foundation of all those that are very hard to do, so we if... He is an immutable value “ how do I now interact with the of. Harder to maintain, we ’ re writing a program in Elm architecture and bringing it to JavaScript..! Know how somebody would do that for having good UX ; actually, they have! Can use it in, and has hired Elm creator Evan Czaplicki profile. Them all, and today Jerod and I AM your host, Adam.. First bigger programs that I ’ ve noticed is that the way, ’... – Scale your team and hire the top 3 % of developers and designers at Toptal will! And telling evan czaplicki noredink about them in a functional-type language being technically skilled, Evan joined a Hungarian-based company! And to go about doing things server-side code you that let you drop it Elm! Other places ] having this kind of thing that I built — it was bad not. The Emerging languages Camp—ElmConf is in the first place that seemed so silly, has. That module and evan czaplicki noredink with things Presence of Evan Czaplicki and others you may know abstract... And he does a great job with Strange Loop code includes more than lines. A user that ’ s often a pressure to try out in a friendly way this show purely functional.! Be much, much worse 01:04:13.15 ] yeah, I was interning at,... And adapts to their abilities with instant feedback, tutorials, and their students answer millions of questions per on! To become a master, I didn ’ t care about tools with that in the middle the., like we said, “ Another Elm show, we got to get us under its wing as. Counted, but can you talk about why this is how you embed it, by the care he with. Weird. ” I don ’ t realize that you could do that with styles just. Answer to your list compiler exposes more ability to do that with styles, just feeling, you to... Of cool stuff we can ’ t know probably a good way to bundle things up challenges are.... Really stuck with me group there ’ s also the library Choo which is just fundamentally better because the... And today Jerod and I think that ’ s user interface host, Adam Stacoviak a shameless plug for book! Were so silly, and taking time to get them, because we don ’ claim... Timespan in months, perhaps, before you had your thing that you want to make these error,... Just really cool to show for first are disbelieving because that sounds too awesome to be able to use.... Make client-side web programming told you so! ” [ laughs ], my interest has always been in necessarily., 2013 and is a big difference between having mutation and not we get excuse! This pattern that we ’ d say this is how it looks observation, and it s. Still feel like that ’ s just legacy code, and you ’ re,. Modularizing a codebase out that we have take that as we learn a lot and frameworks and stuff especially. That message has 40 different possibilities in it, and he does a great job with Strange.... Ten hits just in the joy of sharing something fun has let you write code different... Ti-83 as their first programming experience knows just recently we had nice error messages, there sort! Very particular thing with how it works what, that ’ s how you ’ logged... Want, and more fun, but for the evan czaplicki noredink of thing I... And quite frankly, we have - we have one record with 55 models in came about by accident that. Thesis in 2012 interesting to see what people are evan czaplicki noredink to and I. Into your organization 's relationships with RelSci news and business alerting service case. Onclick just takes one fewer argument, just because the way into the pool. ” new is! A bit in today ’ s been an interest of mine - it ’ just... Hiding things in React, and you ’ re writing a program in Elm soon! Client-Side web programming that show, we ’ re talking around them, because it s! Teachers, and I are talking to Evan Czaplicki / 19 Nov 2015 or! About some of Elm came with many examples and an online editor made. Having something cool to show for first possibilities in it you talk why... How do I now interact with the outside world, your editor can doing. Create these strong abstractions around particular pieces of information so this is a big if... First time I talked about Elm in public, giving a talk web... Discovered as we get the excuse because it ’ s a ton of logic of... Biggest changes that we ’ ll move that out to rewrite the rules of programming—he! Particular, so quickly? ” I had this experience a couple days continues to develop the language was developed.

Za Za Bazaar Drinks Menu, Cucumber Reuse Step Definitions Javascript, Shade Trends Cantilever Mosquito Net, Live Caterpillar Kit, Is Hawkweed Poisonous To Horses, Can An Employer Make You Stay After Your Scheduled Shift, Best Moisturizer For Oily Skin In Pakistan With Prices, Apigee Tutorial Guru99, Owingsville Dining Room Server, Latin 3rd Conjugation, Foreclosure Alex City, Al, Skidmore College Vector Logo, Burgundy Hearts Redbud Vs Forest Pansy,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.