(peaceful meditation music) (techno music) (mouthing words) - [Kyle] Super huge honor to be here, and for those of you that haven't heard of me before my name is Kyle Simpson, known as getify online, and all the places that matter, you can find me at getify, so, Twitter, GitHub, Gmail, everywhere you want, so I make all that stuff available so that I can encourage feedback.
So, that's pretty awesome. It's a huge honor. I mentioned that not just to point out what is available, but also I always want to give credit where it's due, the very first workshop, the Web Performance Optimization, is the very first workshop I did as a teacher. Mark reached out to me sight unseen, he'd seen a few of my conference talks and he said, "Hey, have you ever thought about doing some teaching?" and he coerced me, convinced me to do some teaching. I'd thought about that before, but never done this long-forum software development teaching.
I've got several dozen repos out there, but just to point out a couple of ones that are representative of the things that I've done. So LABjs is probably the one I'm most well-known for it's a dynamic script-loader, it's been around now for like, six and a half years, it's been very stable. It hasn't even changed in almost five years. Because nothing has changed in the script-loading world for five years. But that is changing, http version two coming along, we're going to see, I think, a renaissance, a rebirth of interest in intelligent script-loading because with version two you're going to want to serve everything in small in as many files as possible.
So, if you're looking for performance optimizing script-loader you might check out LABjs. grips is a templating engine. Basically, I've observed that there's a bunch of problems, that happen regardless of how we present our views, I think we've been fundamentally asking the wrong questions. And even the complete rethinking that has happened recently with virtual DOMs, React, Ember, and all those, even those are starting to make the same mistakes that templating approaches made. In terms of not asking the tough questions, about where things really should, where the lines really should be drawn.
They've sort of played a switch-a-roo on us and redefined some terms, like what the notion of concern actually is, compared to what we used to say 15 years ago. I was in the trenches when we originally did those things, but basically there's a lot of problems that occur, and I don't think that we've really asked the right fundamental questions. So grips is an attempt, an experiment, an ongoing research experiment, into asking, maybe, better questions, about where those lines should be drawn, what we should be able to do, what we shouldn't be able to do with our views, what should be kept separate, and what shouldn't be kept separate.
So, if you've had any pain points around those, or if you feel like even with the amazingness of something like React, if you feel like you're still running into those questions, about how do I know where something should be, or shouldn't be, you might check out grips. I also have a CSS templating engine on top of it, because CSS pre-processing is exactly the same thing, with exactly the same problems, and all of the current tools as great as they are, all fall short of answering those same questions in the same ways. They didn't really learn any of those lessons that we learned elsewhere.
So, that's an ongoing research experiment, it's not just a research experiment, I actually use it in production on all of the sites that I've ever built, but, it is obviously in flux as I figure out how to do things better. And then, asynquence, and we're actually going to not talk much about asynquence today, in this workshop, on functional programming, but it's a flow control library for promises and generators, and even higher-order asynchronous patterns like observables and things like that.
It's designed specifically from the perspective of teaching, so it tries to take these higher-order concepts, which are often pretty hard conceptually, we can barely get our heads around the APIs for these things, but to understand the concepts is really difficult. So I tried to design the API to teach the concepts. That's what this library is all about. If you don't already have something that's helping you understand not just call-backs or not just promises, but even higher-order patterns like observables, for example, If you don't have one library that's helping you navigate all that and understand the conceptuals, or if you feel like man I really just, I don't even understand what it's doing, it's a black box and, I just treat it like that.
I encourage you to check out asynquence, and see if that might help. OK, I am the head of curriculum for MakerSquare, three months ago from today, well almost four months ago now. MakerSquare is a developer-engineered training school, we currently have three campuses, Austin, San Francisco, and Los Angeles. Other well-known names you might have heard of like Iron Yard, General Assembly, Hack Reactor, we're actually part of the Hack Reactor network of partner schools, we're owned by Hack Reactor, so if you've heard of those kinds of schools, Flat Iron is another one, if you're from the New York area, you've probably heard of that.
So, we sort of, are trying to shift towards the upper end of this spectrum of developer-engineered training schools, Kind of like to say that we're sort of like, trying to become the MIT of developer-training engineered schools, We don't, we're not just anybody, a lot of people apply and can't pass the entrance test, for example. So, we set a very high bar, but that means that when you come out of the school, you're even further along in your career.
And then I'm like aw, there's so much embarrassing code, that I wish I could go back and fix. So really, the title of the series is to sort of gently challenge all of us, to adopt that continuous learning mindset. The workshops that I've done through Frontend Masters are the same perspective. And they track very closely to the kinds of things that we talk about in the books.
This course was created by Frontend Masters. It was originally released on 03/08/2016. We're pleased to host this training in our library.
- Pure functions
- Manual composition
- Composition utility
- List operations