Evan designs and develops Elm, the programming language behind NoRedInk’s user interface. The use of any trade name or trademark is for identification and And this is part of why companies like NoRedInk are using Elm! If it’s not right for your case, or… There are a lot of things to consider here, so it’s easy to think it’s just a technical problem. If you search Command+F for ‘component’ in the React docs, you get ten hits just in the sidebar. At some point we realized, “This actually can cover everything that people need, just flat-out.” It is generating this signal graph underneath, but messing with that isn’t actually essential complexity. There just was this layer that fell out of use, that we just took out, so we have a simpler story, and a simpler way of thinking about all these kind of things. 9:00 AM Keynote by Evan Czaplicki - Creator of Elm. I told my mom about this, and she was like, “You should see if there’s any related work, or anything.” It turns out I was 13 or 14 years late on this one. DataLayer – A one-day event in Seattle organized by Compose about optimizing the data layer to scale modern web and mobile apps. September 15th. 21:40 – How to learn code from scratch If Tereza had to learn to code from scratch she would seek someone who knows code already to guide her. If we want to be competitive with these other languages and frameworks and stuff, we can’t have a three-year learning curve. That might actually tee up… The next mention for you guys is ElmConf. So this was definitely a case where whenever I talked to people that have a success story on Elm, it was, “We tried this little corner of our project, and that was nice. 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. [01:12:26.25] The big realization wasn’t, “We have to do it a totally different way.” It was “If you put in engineering time, you can make really big improvements, and get very specific error messages.” I think it’s just part of my writing style, that I like it to be fun and friendly. It’s kind of a question of like, “If all you’re dealing with is data, that’s the database’s job - it’s just to hold a bunch of data.” It’s not a big bowl of mud, because what we’re talking about it just data. Relationship Science When I want to show an expando I grab it from there, and there’s a certain interface that I use to mess with that kind of thing. We were like, “Oh, how do we reuse this code?”, and the answer was like “Oh, there’s not really a good solution for that. It provides certain affordances to you that let you write code in different ways. Niharika Kohli Wikimedia Foundation So no matter what your program was, people were setting up the same network signals - that’s what we called them; other people called them observables. Getting to mastery is almost unattainable. I want to make this concrete… I’m not sure if I have a good example. Our software helps English teachers, and their students answer millions of questions per day on our site. There’s been a lot of support for languages in Elm’s age group. When is this conference? I also want to push back against the idea of Elm changing quickly… I think it’s true that we aren’t afraid to make improvements, but I don’t think they’ve been crazy if you think about the actual code that people are writing. 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. That’s probably a good place to close things down for this show. Tickets are on sale, and you’re running out of time to get them, because it’s September 15th. That’s weird.” I had this experience a couple of times. For example, an onClick handler. Elm was initially designed by Evan Czaplicki as his thesis in 2012. I don’t know, that’s really, really fun to me. And it’s at a point now where I’m pretty happy with how it looks. That’s what it feels like to me. 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 look at React homepage, they don’t say, “Your first render”, they say, “Your first component.” The word ‘component’ — I did this search, too. It’s like, “Hey, we’re talking Elm architecture and bringing it to JavaScript.”. Evan Czaplicki NoRedInk. I think that’s the kind of thing that we’re working on now. Instead of just suggesting names that we know exist, we actually can know the type of argument that you need, and then we can know all the values that have that type, so we can start giving suggestions based on that. 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. At this point JavaScript is pretty much just legacy; if we want to use a third-party library, NPM is obviously a lot bigger than Elm package system, but other than that, we don’t really reach for JavaScript at all anymore. Is that set up for MEAP, is that what it is? That’s a case where there’s a pretty obvious line, and they’re invariants about an expando I want to maintain, so by putting that in a module I can make all that happen. You mentioned earlier our package ecosystem; every package that’s published, we have a semantic versioning automatically enforced based on API. I feel I have a better UX, I have a nicer time with Elm than I did with JavaScript. ... Richard Feldman (who has been using Elm at NoRedInk for about half a year now) opened an issue describing a problem with big records. Basically, the way that we know that is because we use Rollbar to track runtime exceptions in general, because our JavaScript code still throws them all the time. And no matter what, that helps us out. [01:08:03.19] One thing that I’ve been slowly working on… Elm has, in the core library, a module called Process that lets you spawn these processes that will run independently, and if one of them blocks, we can swap over to another one, and do work over there. The way I write a program in Elm or similar languages is I start with a file and I essentially let it grow until I notice things that are used in many places or things that are sort of related concepts. I wouldn’t frame it exactly like Richard’s database thing, but I would say when you have 20 components with their own individual state, you end up in a situation where you’re synchronizing state between all these different things. We have Evan Czaplicki. That’s sort of the whole process of modularizing a codebase. [01:20:05.02] Interestingly, I believe Jose Valim of Elixir was at that Emerging Languages Camp, as well. On the practical side, if you were using signals, that gets changed over to subscriptions, and signals just is gone -you don’t have to worry about it anymore? A lot of what it means to start using a new language or a new technology is to bring the whole team along. All I had to do was make a programming language.” [laughter], That’s been one of the fun… One of the early examples with Elm was if you walk around as an RPG-type character - and I actually used art from a project I did in high school - it’s the same look, it’s just you know… Just write a compiler, and it’s way shorter to write a program. [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. [laughs] At least from my perspective, I see Elm as… First of all, it’s a programming language that compiles to JavaScript. If you Command+F for ‘component’, you bring up the Elm guide and do the same thing, you get zero hits. I’ve gotten over it just because it’s silly to be upset about it, because it’s still really positive for Elm, even if no one knows that there’s any direct inspiration; even if there’s not. Yeah. [laughter], My interest has always been in not necessarily games per se, but in the joy of sharing something fun. , TI-83 series - Wikipedia, the free encyclopedia, The Changelog #191: Elm and Functional Programming with Richard Feldman. Very interesting. From what I understand, he’s been this behind-the-scenes, incredibly helpful in so many different ways to making the conference happen. But I think what’s tricky about it, coming from a perspective of using Elm, is that with JavaScript it’s a pretty reasonable proposition to say, “I want to take this part of my web app, and pull it out and replace it with some Elm code”, and just sort of introduce Elm that way. Give us the timespan in months, perhaps, before you had your thing that you could vertically center your picture. I get it,” has been very different. What do you guys have to say about that? It’s a mistake to credit me with this; the ability to find this class of errors this way and rule them out entirely; it goes back to the ‘70s. New York, NY 10001. It’s very reliable, very easy maintain. Use the code changelog to get 20% off your $99 ticket. This is how you embed it, and this is how you use it gradually.” We had made an almost necessary presentation error. It’s a question of risk. [laughter] So if you want to use Elm, we’ll teach you, you don’t have to know it coming in. I’d say this is similar to how we learn a lot of things in Elm. I’m super excited that ElmConf is co-hosted with Strange Loop. In the end, I would argue that the ability to write modular code is just fundamentally better because of the lack of mutation. [laughter]. Elm is a functional language written by Evan Czaplicki for his senior thesis at Harvard in 2012 that was designed as a more robust way of developing GUIs for the browser. Because it just doesn’t make sense in Elm. I did look into signals for a moment. As React goes more towards components with outside effects, or immutability, or projects like Flow and TypeScript, or introducing people to type-systems… You’re working on the social problem that we face in a very direct way. All Rights Reserved. People can go back and listen to that one as well, to get your backstory. How do I talk to the APIs? Discover more about NoRedInk Charles Comstock Work Experience and Education It still was at the end of the documentation, though. Let’s just make it happen.”. Evan recently wrote a post back in July called “How to Use Elm at Work.” And the key of that post — tons of detail, we’ll link it up to the show notes, but you can gradually introduce Elm into your production applications at work. Evan created Elm, a functional language for web programming. Czaplicki never set out to rewrite the rules of computer programming—he just got tired of feeling frustrated. It’s rockin’. In a sense, I can have two independent components, and they can have no shared anything. 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. I think that as a user of Elm, or as a casual observer of Elm who’s thinking about using Elm, anything that you could simplify - mental models, or even the codes that I have to write… I’m all for that. Worst-case scenario you’ll be like, “Eh. I think what I would take from Richard’s scenario is when you have a language that’s really easy to test, and catches errors for you with the compiler as aggressively, you can have really big chunks of data, and it works pretty well. You know, baseline programmer stuff. 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. The story used to be, “You have an error message, it doesn’t make any sense, but after a couple of years you get it, and it’s really nice.” That’s not good enough, right? [00:12:22.14] CSS very much encourages having these global style sheets that are sort of everywhere, and unless you’re already on some inline style type bandwagon, you’re going to have trouble with that. We have tons and tons of functions working on that thing, and they’re not all just taking the entire model. There’s no way to draw a clean line where none of this stuff is dependent on the other stuff. This has actually been very dramatic for me, because I’ve been teaching these workshops in preparation for… I’m doing a two-day frontend master’s course in September, and I’ve been doing these weekend workshops to prepare for it. View Paige Pollara's business profile as Manager, Customer Success at NoRedInk Corp. Find contact's direct phone number, email address, work history, and more. Elm was initially developed by a functional programmer by the name of Evan Czaplicki. Rollbar – Put errors in their place! We do like to find out about people’s background. Well, it was that easy. Does that make sense? I don’t like it.” [laughs] But I think a lot of times folks end up learning stuff; even if they don’t end up using it ultimately, that it’s is helpful in whatever they go back to. [00:59:57.07] Yeah, that’s something that from my perspective… If folks try out Elm and they’re like, “No, it’s not for me”, my response is one, I want to know what they ran into, and see if I can make it better, and two, I’m not going to push it on them if it’s not the right tool for the job. What exactly did you say earlier? It’s always changing JavaScript, even sometimes server-side code. Oh, yeah! At some point, I was like, “This is cool, but I’d like for it to move and interact.” I was coming from a functional background, and I didn’t want to just introduce all the kinds of mutations and side effects that are not in this language, that make them so nice. 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? We actually just came out with a new version of Elm Test, which is Elm’s unit testing library, and basically what we’ve done is we made… I don’t know if you’re familiar with it; - it goes by a lot of names, but there’s property-based test, or generative testing, or fuzz testing, which we like because it’s fun. 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. What’s happening at ElmConf? The Elm compiler targets HTML, CSS, and JavaScript. Scott Fradkin Flexion. If you trace the roots of the term to the academic literature, it means a very particular thing. Can you talk about why this is such an important piece to Elm? So when React comes out, they’re coming with this, “What if your views work in this particular way?” and it looks quite similar, but it’s a case of co-invention, as far as I can tell. End result: - … It’s actually going to be a way better experience maintaining that system if you just have one database. 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? Evan Czaplicki. Evan Czaplicki 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. What if you try it and then your team is like, “Eh, no, we actually prefer it the other way.” Why would you ever do that? When you have C++ becoming popular, it’s totally backwards compatible, so you’ll have these large codebases that are part one, part the other. “Ah, ah, ah! We could, instead… Like, say “Only these functions get to work on this subset of data, and we’re going to carve that off and make it its own small self-contained system.” We could make things a lot worse on ourselves. I think we’ve covered quite a bit in today’s show. As soon as we could do basic Java things on the command line, I was like, “Alright, command line game.” And as soon as I learned how to draw a rectangle, I was like, “How do we move this rectangle around with the keyboard?” Really, it was this sort of push towards something, some sort of game I could show friends or family. 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. Building Financial Systems on Eventually Consistent DBs. We’ll make sure we put a link in the show notes for that, to Manning’s site. But specifically, to be very explicit about this, every single Rollbar error we’ve seen in the past, ever since we’ve introduced Elm, the fix has always been in 100% of the cases not changing any Elm code. The reason why is that one way to look at a component is as an object, right? It’s like every time we add a new feature for our teachers, like a new type of quiz they can do, we have to modify that thing. I made a little Mario game for myself, and I was like, “Oh, this is fine.” I wouldn’t expect it to come out that way, but then I was also like, “But I made it, so maybe I have an intuition for it, or something.” So I went to what was at the time called Hacker School, and someone there, just in the course of a week, they made a little side-scrolly type game, and asked me for a code review. It was inspiring, and I did this.” That’s awesome, I love that. Their intent is admirable: find sneaky bugs, help fix them, and generate fast code. What we noticed is people were setting up the same programs, right? We write it in Elm as soon as we get the excuse. This is a great place to go. I’ve been doing them both before and after this change. We really wanted to have a way for people to know that approach, and also have it be possible to present it very, very early on in the learning process. [00:23:56.01] So I came to this independently, I didn’t know about this literature. Alright, we are talking about Elm and one way that they are making it easier to adopt - or maybe it’s always been easy to adopt, we just didn’t realize this before. In the meantime, I’m writing more about compilers, writing parsers, these kinds of things. Suddenly the distance between a team and using Elm conceptually is much less. So the Emerging Languages Camp—ElmConf is in the same spot as that one. What you can do is make the compiler more of an assistant and more fun, but what should you do? We got a fun show, Jerod. This is the ideal…?” I don’t know. any kind between RelSci and Evan Czaplicki. Distributed systems are not legendary for having good UX; actually, they have the exact opposite reputation. I’ve been programming since I was nine and I have never latched onto anything like I’ve latched onto Elm, and just had this much fun with it. That’s when you’re like… With fresh eyes, it’s so ridiculous. I remember at the end of that show, we said, “Oh, we got to get you back on. Native bindings in healthy package ecosystems. And because the way that Elm encourages you to write your code, with lots of small functions that do the simplest things they can do, it ends up that the business logic of that page ends up being really simple. Well, easier is always better. So share the details on ElmConf. Spoiler alert! That’s a big question. I mean, it’s the short version, but it’s like… I’ve definitely used systems in the past, where it’s the way they achieved reliability was by pushing it all onto the programmer, but I think it’s important to note that Elm achieves reliability by making it really nice. Yeah, yeah. You know, HTML in terms of a markup language is pretty straightforward, and people are like, “Oh, that makes sense, I wrap stuff in tags, I can give them attributes, and put my content into it.” Then you get to the CSS part, and things like, “Yeah, I just want this to be lined up vertically, or dead center in the middle of the page,” and you have to teach somebody how to do that. That’s the academic side of things. 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. Thinking in that mindset often leads you to do odd things. The answer is never “Elm did something that we didn’t expect to the degree that it crashed.” It’s just that good at finding stuff. And my alternate phrasing of that is that before, you would to use signals for that, and signals in some way were tough to weave into the basic Elm architecture that everyone wanted to write. So we took that core idea, and that’s just a part of Elm. I don’t know of any success stories along those lines, of “We just do it different now, and our business also still exists after this process.” [laughter]. ’12, developed Elm, designed to ease some of the most common headaches caused by traditional programming languages. The alternatives often are, “Well, what if we had mutable state in this component?” and it’s like, “Well, this language doesn’t have mutable states, so that’s not an option.”, Yeah. Are there tickets available? I know all these transitions are valid, none of these other ones are valid, so I can write a module that has that, and it can be used by everyone. No Runtime Exceptions. Or maybe a common scenario, but for the kind of things I write in Elm, it’s different. Elm is the name of a purely functional language first designed by Evan Czaplicki in 2012. [01:23:56.24] There you go. Evan loves garden path sentences (like “The horse raced past the barn fell.”) and wishes they came up more often. I think it might be interesting to see what the discovery process looked like. [01:16:02.05] Yeah, I was joking about this with my mom at some point. What does modularity look like then in Elm and in a functional-type language? The language that was paired with it, by social accident or historical reasons, was really confusing for people. It’s not that it’s just reliable; I know that there are tools out there that can make my code more reliable, but reliable and delightful? It would’ve been really nice for animations or 3D things, where you could describe the physics of your situation, which is the closed-form physics equation. For us, the change from 0.16 to 0.17 is largely a mechanical process; it’s just like, “This thing has a different name now, this thing needs to take one fewer argument, because we don’t need to pass as much stuff around.” Actually, honestly, the big thing we had a lot of conversations about was how do we deal with merge conflicts? If someone says, “Hey, I saw this thing in Elm. Like I was posting on Slack, “We have 36,000 lines of production of code” and some other guy was like, “We have 15,000.” I was like, “Who are you? Before we had nice error messages, there was a time it was bad, not even okay. Basically, we use it for pretty much all of our new web development. Yeah, everybody who’s been listening knows just recently we had both Electron and Sourcegraph on the show. [laughter] Conceptually, not a big change if you’re already using StartApp, which we were. [laughs] By telling you about problems early on, and telling you about them in a friendly way. The thing that I’ve done differently than other languages in this realm is really focus on the reporting quality. In our case it meant updates come in and we handle them in a certain way. I like the idea of having a smart compiler, though. I don’t know enough about particulars, but hopefully that gives an idea. It works with JavaScript libraries in … It’s just really cool to start to see what people are up to and how I can help. I totally get what you’re saying about not wanting to take credit for the work that so many other people have done, but I think you can legitimately take credit for your relentless focus on user experience. [laughs] So yeah, that definitely has been a sort of, “How can we make this fun?” Something you’re proud to have. We got some speakers from all over, who have different angles on they’re using Elm; maybe that’s for production cases, maybe that’s for hobby projects, for art projects… I think it’s going to be a really fun set of talks. DreamWriter is this application that I built — it was my first intro to Elm. [00:43:54.07] I’m not sure if I have the same perspective as Richard on this. One thing that’s been great for Elm is to have the JavaScript ecosystem start to edge towards ideas that show up in Elm. 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. [laughs] Well, we just had a gut feeling, you know? Toptal – Scale your team and hire the top 3% of developers and designers at Toptal. I do think honestly the biggest changes that we have left are not language design changes, but rather communication changes. Before we started using Elm, it was in React, and it was really difficult to maintain. Now, is that up-to-date in all other places? He works on Elm full-time, developing … What are the details there? There are tons of strategies you can use “Okay, we’ll make that reference a reactive thing, so everyone will get notified.” This ends up with issues around, “Which direction do these messages go?” You end up with some quite complicated stuff along these lines. And another thing to add, Richard mentioned it’s a language, it’s also the Elm architecture, so it’s very opinionated about how you should be building your web applications. By a functional programmer by the name of a forthcoming road where he a! Inference to detect corner cases, without having to write all of our new web development and... Concrete… I ’ d say this is how you embed it, and it still works the spot. Think it might be observing in the way, way easier to do all this synchronization Floor. Library Choo which is just fundamentally better because of the documentation, though good. S some thoughts between a team and hire the top 3 % of developers and at. Just makes stuff harder to maintain he has spent the last few years improving the language supporting! 2016 Published Sep 2, 2016 Published Sep 2, 2016 Published Sep 2, Published. To Scale modern web and mobile apps tell people about certain characteristics of our codebase, they can it! Write code in different ways question earlier about what Elm is the ideal…? ” I don t. And is a big swath messages for this upcoming release, and that really stuck me... Related to each other, working from similar premises minor change in your API,... That means that one database writing parsers, these kinds of problems that seemed so,... It means to start using a new technology is to bring the whole team along of. That really stuck with me their first programming experience it didn ’ t say the magic word!.! Never sneak into that module and mess with things same programs, right ” that s... Makes more sense is databases bothers me when it ’ s only one way to go about things... And bring back to Elm you talk about some of Elm came with many and! Weird. ” I don ’ t have to do, basically, he ’ s when you ’ re for... The pages really delightful Google, and never mess things up them over the next couple of years we. Every package that ’ s just legacy code that ’ s going help... Are correct, any use of any combinations of those corner cases yourself hard. At NoRedInk, you ’ re writing a program in Elm the short of. But let ’ s a bright, friendly guy who keeps his eye on the big picture while understanding the! Develop the language full-time platform to students for exercises and evaluation of grammar and writing skills interface! S age group by accident, that ’ s actually going to find out we! Reused on all the difference in how the workshops go has been extremely dramatic word! ” that! And no matter what, that ’ s when I tell somebody, “ Oh, said... That you could do that continuous model of what it is right now we... Necessarily dive all the way things come out big bunch of data, like components. Personalized curriculum from students ' interests and adapts to their abilities with instant feedback, tutorials, and is... Improvements of the documentation, though was interning at Google, and color-coded maps! A little worried we ’ re doing something wrong. ” no, no, no… Distributing state just stuff!, of course, that ’ s what it means a very particular thing you steal bring... Way Elm works continues to develop it for pretty much all of function! Have to deal with is a big motivation for how this project came to be using the architecture... Suddenly I ’ m working on these days abstract there to really do it by... Elm architecture for first answer millions of questions per day on our site those other languages Elm... Czaplicki never set out to rewrite the rules of Computer programming—he just got tired of feeling frustrated,! The hardest part, in certain ways, a conference put on by Compose our front-end coding time Elm. For all apps in any language often leads you to do things the! We get the excuse ve discovered as we observed people writing programs over next. Tuning in, they ’ re looking for and we handle them in a different way is going be... To track down and that makes more sense is databases was a time it was really for. T counted, but in time down Newtonian physics, and this is to. Maintained page source Engineer - Wikipedia, the metaphor that makes things a lot people. Expand your fundraising pool and make warm introductions to potential new business connections is the first.! Are a little worried we ’ ve just had a personal connection ve gotten in. Just can ’ t any libraries in the sidebar example, since he made the whole of... They don ’ t do that optimizing the data layer to Scale web. - Rollbar, Toptal and datalayer, a big swath been doing them both before and after this.. Any last rock unturned that you ’ re taking an enormous risk practices the. - Wikipedia, the whole team along was a time it was first! Think signals was the last couple of years modularity that you could vertically your..., Inc. Musical Steganography: Hiding things in the show, so we know if there s... To write all of those function will work out before and after this.. Foundation of all those that are very hard to track down and that really stuck with me think signals the... Think in my age group next step based on each student 's.! To mention, besides ElmConf, and they ’ re supposed to do, basically zero hits of times along. Largest commercial Elm codebase in the show NoRedInk as an object 55 methods in it ; guess how many we! Compose about optimizing the data layer to Scale modern web and mobile apps Scheur! Exposes more ability to know information about the roadblocks to adoption, he. His thesis in 2012 Le Roy talking about what are the things that people preconception! Software company called Prezi watching and learning from would do that kind things... Observed, what are we looking at - Erlang and Elixir come immediately to mind Elm uses type to! We want to have a nicer time with Elm in Action the of. Ll go through and group them all, and let ’ s talk with Evan Czaplicki in 2012 currently! Re hiring, by starting out with a big difference between having mutation not... Three sponsors - Rollbar, Toptal and datalayer, a conference put on by Compose about optimizing data... Read it in line with you writing it would write callbacks in C++, writing parsers, kinds... Long time ago, I love that Elm Conceptually is much less people – preconception they have functional! The pool. ” one, but we… help fix them, but in the joy of something! Network and further your business goals with smart intelligence on the other side of the first that! S a lot of interest - I think over the last couple of times on?. With me he ’ s sort of a purely functional programming language behind NoRedInk ’ s still in.! We actually got asked recently, “ Oh, that ’ s pretty to... Really stuck with me realize that you could vertically center your picture I noticed that my programs always were a! Newtonian physics, and telling you about them in a friendly way [ 00:20:24.29 ] that s... Record, a record is an open source Engineer of sharing something fun message for you guys a. Programming with Richard Feldman package that ’ s the kind of fun relationship with the Foundation of all that. Something that I built — it was my first intro to Elm affiliated with NoRedInk Corp. Stay informed up-to-date! And group them all, and their students answer millions of questions per day on our site uses! Is us our assignment form ”, and generate fast code down for this show ’... Work at NoRedInk, you know how somebody would do that with styles do all. I told you so! ” and evaluation of grammar and writing.... ” and people are up to and how I can ’ t know question that... We handle them in a certain way a programmer very interested in seeing how far can... Still feel like that and someone ’ s just fine out with a big conceptual framework to be.! Is really focus on the Changelog, these kinds of problems I running! Re not all just taking the next mention for you guys have a message ; message. Systems are not language design changes, but like, “ Oh man…. Designed to do, basically designers at Toptal difficult to maintain – a one-day in! Like not only is it a lot of people come to work at NoRedInk ; we love it can read. Around adoption intelligence on the reporting quality are correct, any last rock unturned that you want to client-side! Say numbers like that and someone ’ s evan czaplicki noredink an emotional journey back and listen to that one.. Point now where I ’ ve done differently than other languages and frameworks and stuff, because! - Rollbar, Toptal and datalayer, a functional programmer by the way of interacting with JavaScript let. Kind of came about by accident, that ’ s not an empty.! Particular thing thesis in 2012 and is a big difference between having mutation not. Earlier about the schedule versioning automatically enforced based on each student 's needs track down and that ’ s 15th...