POPULARITY
Today we're going to talk about soft skills, and we're going to do so with an expert on the subject, Dave Smith. Dave and his cohost Jamison Dance are the founders and hosts of the Soft Skills Engineering podcast where they answer questions from technical people about non-technical work problems. Both Dave & Jamison have worked as software engineers from staff levels through director levels at a variety of companies including Lockheed Martin, Walmart, & Amazon to name a few. Dave's team is currently hiring software engineers to join his company eVisit where their mission is to simplify healthcare delivery to everyone, everywhere. Apply here: https://evisit.com/company/our-story/#careers ABOUT BEING AN ENGINEERThe Being an Engineer podcast is a repository for industry knowledge and a tool through which engineers learn about and connect with relevant companies, technologies, people resources, and opportunities. We feature successful mechanical engineers and interview engineers who are passionate about their work and who made a great impact on the engineering community.The Being An Engineer podcast is brought to you by Pipeline Design & Engineering. Pipeline partners with medical & other device engineering teams who need turnkey equipment such as cycle test machines, custom test fixtures, automation equipment, assembly jigs, inspection stations and more. You can find us on the web at www.teampipeline.us***We hope you enjoyed this episode of the Being an Engineer Podcast.Help us rank as the #1 engineering podcast on Apple and Spotify by leaving a review for us.You can find us under the category: mechanical engineering podcast on Apple Podcasts.Being an Engineer podcast is a go-to resource and podcast for engineering students on Spotify, too.Aaron Moncur and Rafael Testai love hearing from their listeners. Feel free to email us, connect on Facebook, Twitter, Instagram, and subscribe on Apple Podcast and Spotify!
Jamison quickly took us through his studies, how he zoomed in on computer sciences... not without a few detours beforehand. We talked about his part time jobs and how he learned what a bad manager can be. We then jumped forward a few years to talk about management, what it takes to do a good job there, the challenges and successes of the function. We finished talking about two dreaded responsibilities of a manager: hiring and firing and how Jamison made his way through this.Jamison is a code whisperer and experienced product engineer. He has led teams and been led. Jamison is currently an engineering manager at Walmart Labs leading a distributed team in building delightful APIs and UIs that configure Walmart’s performance systems. He also co-hosts the "Soft Skills Engineering podcast". If this name is new to you, you should definitely listen to Episode 77 of this very DevJourney podcast where I interviewed Dave Smith, the other half of the co-hosts of this show. Oh and Jamison thinks you are great!Here are the links of the show:https://www.twitter.com/jamison_dancehttps://jamison.dancehttps://softskills.audiohttps://devjourney.info/Guests/77_DaveSmith.htmlhttps://tinyurl.com/shitty11meetingsBook: The making of a manager by Julie Zhuo https://amzn.to/37VTt1cBook: An elegant puzzle by Will Larson https://amzn.to/31layz0https://conf.reactjs.orghttps://www.reactrally.comhttps://devjourney.info/Guests/52_CharityMajors.htmlhttps://en.wikipedia.org/wiki/Camille_FournierCreditsMusic Aye by Yung Kartz is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.Your hostSoftware Developer‘s Journey is hosted and produced by Timothée (Tim) Bourguignon, a crazy frenchman living in Germany who dedicated his life to helping others learn & grow. More about him at timbourguignon.fr.Want to be next?Do you know anyone who should be on the podcast? Do you want to be next? Drop me a line: info@devjourney.info or via Twitter @timothep.Gift the podcast a ratingPlease do me and your fellow listeners a favor by spreading the good word about this podcast. And please leave a rating (excellent of course) on the major podcasting platforms, this is the best way to increase the visibility of the podcast:Apple PodcastsStitcherGoogle PlayPatreonFinally, if you want to help produce the podcast, support me on Patreon. Every cent you pledge will help pay the hosting bills!Thanks!Support the show (http://bit.ly/2yBfySB)
01:53 - Jamison’s Superpower: Moving swiftly between layers. 03:59 - Being An Engineering Manager * Context Switching * lftm (https://github.com/CoralineAda/lftm) * Career Advancement as an Engineer * Title Inflation * Providing Team Members with Growth Opportunities * Psychological Safety (https://en.wikipedia.org/wiki/Psychological_safety) * Challenging People with Goals * Comradery via Video Conferencing * Latent Learning 23:44 - Starting the Soft Skills Engineering (https://softskills.audio/) Podcast My Brother, My Brother and Me Podcast (https://www.maximumfun.org/shows/my-brother-my-brother-and-me) Engaging with People of All Backgrounds All Over The World The Emphasis of Soft Skills 35:42 - The Evolution of Tech Culture and Bootcamp Practices 39:54 - Conference Organization Balancing Technical and Interpersonal Talks Making Connections and Friendships Encouraging Speaker Choice Reflections: Jamison: Zone of Proximal Development (https://en.wikipedia.org/wiki/Zone_of_proximal_development). This episode was brought to you by @therubyrep (https://twitter.com/therubyrep) of DevReps, LLC (http://www.devreps.com/). To pledge your support and to join our awesome Slack community, visit patreon.com/greaterthancode (https://www.patreon.com/greaterthancode) To make a one-time donation so that we can continue to bring you more content and transcripts like this, please do so at paypal.me/devreps (https://www.paypal.me/devreps). You will also get an invitation to our Slack community this way as well. Amazon links may be affiliate links, which means you’re supporting the show when you purchase our recommendations. Thanks! Special Guest: Jamison Dance.
This week we talk Jamison Dance about the parts of programming that are distinctly non-technical. We talk about the perfect TLD, working with a team, finding psychological safety, the organization of React Rally, and how to recycle batteries. Jamison is co-host of the podcast Soft Skills Engineering where he and Dave Smith answer non-technical questions for technical folks. It's a great show that I highly recommend. check it out at softskills.audio
Dave and Jamison host the Soft Skills Engineering podcast. Jamison talks about how he got into coding, and they talk about how they met and why they started the podcast, as well as the Dunning–Kruger effect, and React Rally.
Dave Smith is on the Alexa Team at Amazon, he hosts the Soft Skills Engineering podcast and headed up the recent Utah JS Conference.Recently Dave asked on Twitter "on a scale of 1 - 10 in difficulty how would you rate the task of writing a function that iterates over a list of strings and returns the top 10?" This sparked up a lot of good, and most people rated it a 2-3 until people started asking "wait, is this question in an interview context? In that case, it's a solid 10." Dave talks about how the external stresses of an interview can turn even a "simple" question into a very stressful and challenging experience.The topic of interview "red flags" comes up, and Dave explains how the biggest one is refusing to answer a question. He says that even if you don't have an answer to something try to follow up with more questions and have humility, you are there to present yourself. Dave also says not to make up or guess at something if you don't know the answer, try to ask them to rephrase the question and give the angle of your own understanding.Dave has his own excellent podcast with his co-host Jamison Dance called Soft Skills Engineering, check it out in the link below.Transcript"Success and Failure in the Interview Process with Dave Smith" TranscriptResources:Soft Skills Engineering PodcastUtah JS ConferenceDave Smith:LinkedInGithubTwitterMediumJohn Lindquist:TwitterWebsite
Panel Brendan Eich Joe Eames Aaron Frost AJ ONeal Jamison Dance Tim Caswell Charles Max Wood Discussion 01:57 – Brendan Eich Introduction JavaScript [Wiki] Brendan Eich [Wiki] 02:14 – Origin of JavaScript Java Netscape Jim Clark Marc Andreesen NCSA Mosaic NCSA HTTPd Lynx (Web Browser) Lou Montulli Silicon Graphics Kernel Tom Paquin Kipp Hickman MicroUnity Sun Microsystems Andreas Bechtolsheim Bill Joy Sun-1 Scheme Programming Language Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science) by Harold Abelson, Gerald Jay Sussman & Julie Sussman Guy Steele Gerald Sussman SPDY Rob McCool Mike McCool Apache Mocha Peninsula Creamery, Palo Alto, CA Main () and Other Methods (C# vs Java) Static in Java, Static Variables, Static Methods, Static Classes 10:38 – Other Languages for Programmers Visual Basic Chrome Blacklist Firefox 12:38 – Naming JavaScript and Writing VMs Canvas Andrew Myers 16:14 – Envisioning JavaScript’s Platform Web 2.0 AJAX Hidaho Design Opera Mozilla Logo Smalltalk Self HyperTalk Bill Atkinson HyperCard Star Wars Trench Run 2.0 David Ungar Craig Chambers Lars Bak Strongtalk TypeScript HotSpot V8 Dart Jamie Zawinski 24:42 – Working with ECMA Bill Gates Blackbird Spyglass Carl Cargill Jan van den Beld Philips Mike Cowlishaw Borland David M. Gay ECMAScript Lisp Richard Gabriel 31:26 – Naming Mozilla Jamie Zawinski Godzilla 31:57 – Time-Outs 32:53 – Functions Clojure John Rose Oracle Scala Async.io 38:37 – XHR and Microsoft Flash Hadoop Ricardo Jenez Ken Smith Brent Noorda Ray Noorda .NET Shon Katzenberger Anders Hejlsberg NCSA File Formats 45:54 – SpiderMonkey Chris Houck Brendan Eich and Douglas Crockford – TXJS 2010 Douglas Crockford JavaScript: The Good Parts by Douglas Crockford TXJS.com ActionScript Flex Adobe E4X BEA Systems John Schneider Rhino JScript roku Waldemar Horwat Harvard Putnam Math Competition Chris Wilson Silverlight Allen Wirfs-Brock NDC Oslo 2014 JSConf Brendan JSConf Talks 59:58 – JavaScript and Mozilla GIP SSLeay Eric A. Young Tim Hudson Digital Styles Raptor Gecko ICQ and AIM PowerPlant CodeWarrior Camino David Hyatt Lotus Mitch Kapor Ted Leonsis Mitchell Baker David Baren Phoenix Tinderbox Harmony 1:14:37 – Surprises with Evolution of JavaScript Ryan Dahl node.js Haskell Elm Swift Unity Games Angular Ember.js Dojo jQuery react ClojureScript JavaScript Jabber Episode #107: ClojureScript & Om with David Nolen MVC 01:19:43 – Angular’s HTML Customization Sweet.js JavaScript Jabber Episode #039: Sweet.js with Tim Disney TC39 Rick Waldron 01:22:27 – Applications with JavaScript SPA’s Shumway Project IronRuby 01:25:45 – Future of Web and Frameworks LLVM Chris Lattner Blog Epic Games Emscripten Autodesk PortableApps WebGL 01:29:39 – ASM.js Dart.js John McCutchen Monster Madness Anders Hejlsberg, Steve Lucco, Luke Hoban: TypeScript 0.9 – Generics and More (Channel 9, 2013) Legacy 01:32:58 – Brendan’s Future with JavaScript Picks hapi.js (Aaron) JavaScript Disabled: Should I Care? (Aaron) Aaron’s Frontend Masters Course on ES6 (Aaron) Brendan’s “Cool Story Bro” (AJ) [YouTube] Queen – Don't Stop Me Now (AJ) Trending.fm (AJ) WE ARE DOOMED soundtrack EP by Robby Duguay (Jamison) Hohokum Soundtrack (Jamison) Nashville Outlaws: A Tribute to Mötley Crüe (Joe) Audible (Joe) Stripe (Chuck) Guardians of the Galaxy (Brendan)
Panel Brendan Eich Joe Eames Aaron Frost AJ ONeal Jamison Dance Tim Caswell Charles Max Wood Discussion 01:57 – Brendan Eich Introduction JavaScript [Wiki] Brendan Eich [Wiki] 02:14 – Origin of JavaScript Java Netscape Jim Clark Marc Andreesen NCSA Mosaic NCSA HTTPd Lynx (Web Browser) Lou Montulli Silicon Graphics Kernel Tom Paquin Kipp Hickman MicroUnity Sun Microsystems Andreas Bechtolsheim Bill Joy Sun-1 Scheme Programming Language Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science) by Harold Abelson, Gerald Jay Sussman & Julie Sussman Guy Steele Gerald Sussman SPDY Rob McCool Mike McCool Apache Mocha Peninsula Creamery, Palo Alto, CA Main () and Other Methods (C# vs Java) Static in Java, Static Variables, Static Methods, Static Classes 10:38 – Other Languages for Programmers Visual Basic Chrome Blacklist Firefox 12:38 – Naming JavaScript and Writing VMs Canvas Andrew Myers 16:14 – Envisioning JavaScript’s Platform Web 2.0 AJAX Hidaho Design Opera Mozilla Logo Smalltalk Self HyperTalk Bill Atkinson HyperCard Star Wars Trench Run 2.0 David Ungar Craig Chambers Lars Bak Strongtalk TypeScript HotSpot V8 Dart Jamie Zawinski 24:42 – Working with ECMA Bill Gates Blackbird Spyglass Carl Cargill Jan van den Beld Philips Mike Cowlishaw Borland David M. Gay ECMAScript Lisp Richard Gabriel 31:26 – Naming Mozilla Jamie Zawinski Godzilla 31:57 – Time-Outs 32:53 – Functions Clojure John Rose Oracle Scala Async.io 38:37 – XHR and Microsoft Flash Hadoop Ricardo Jenez Ken Smith Brent Noorda Ray Noorda .NET Shon Katzenberger Anders Hejlsberg NCSA File Formats 45:54 – SpiderMonkey Chris Houck Brendan Eich and Douglas Crockford – TXJS 2010 Douglas Crockford JavaScript: The Good Parts by Douglas Crockford TXJS.com ActionScript Flex Adobe E4X BEA Systems John Schneider Rhino JScript roku Waldemar Horwat Harvard Putnam Math Competition Chris Wilson Silverlight Allen Wirfs-Brock NDC Oslo 2014 JSConf Brendan JSConf Talks 59:58 – JavaScript and Mozilla GIP SSLeay Eric A. Young Tim Hudson Digital Styles Raptor Gecko ICQ and AIM PowerPlant CodeWarrior Camino David Hyatt Lotus Mitch Kapor Ted Leonsis Mitchell Baker David Baren Phoenix Tinderbox Harmony 1:14:37 – Surprises with Evolution of JavaScript Ryan Dahl node.js Haskell Elm Swift Unity Games Angular Ember.js Dojo jQuery react ClojureScript JavaScript Jabber Episode #107: ClojureScript & Om with David Nolen MVC 01:19:43 – Angular’s HTML Customization Sweet.js JavaScript Jabber Episode #039: Sweet.js with Tim Disney TC39 Rick Waldron 01:22:27 – Applications with JavaScript SPA’s Shumway Project IronRuby 01:25:45 – Future of Web and Frameworks LLVM Chris Lattner Blog Epic Games Emscripten Autodesk PortableApps WebGL 01:29:39 – ASM.js Dart.js John McCutchen Monster Madness Anders Hejlsberg, Steve Lucco, Luke Hoban: TypeScript 0.9 – Generics and More (Channel 9, 2013) Legacy 01:32:58 – Brendan’s Future with JavaScript Picks hapi.js (Aaron) JavaScript Disabled: Should I Care? (Aaron) Aaron’s Frontend Masters Course on ES6 (Aaron) Brendan’s “Cool Story Bro” (AJ) [YouTube] Queen – Don't Stop Me Now (AJ) Trending.fm (AJ) WE ARE DOOMED soundtrack EP by Robby Duguay (Jamison) Hohokum Soundtrack (Jamison) Nashville Outlaws: A Tribute to Mötley Crüe (Joe) Audible (Joe) Stripe (Chuck) Guardians of the Galaxy (Brendan)
Panel Brendan Eich Joe Eames Aaron Frost AJ ONeal Jamison Dance Tim Caswell Charles Max Wood Discussion 01:57 – Brendan Eich Introduction JavaScript [Wiki] Brendan Eich [Wiki] 02:14 – Origin of JavaScript Java Netscape Jim Clark Marc Andreesen NCSA Mosaic NCSA HTTPd Lynx (Web Browser) Lou Montulli Silicon Graphics Kernel Tom Paquin Kipp Hickman MicroUnity Sun Microsystems Andreas Bechtolsheim Bill Joy Sun-1 Scheme Programming Language Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science) by Harold Abelson, Gerald Jay Sussman & Julie Sussman Guy Steele Gerald Sussman SPDY Rob McCool Mike McCool Apache Mocha Peninsula Creamery, Palo Alto, CA Main () and Other Methods (C# vs Java) Static in Java, Static Variables, Static Methods, Static Classes 10:38 – Other Languages for Programmers Visual Basic Chrome Blacklist Firefox 12:38 – Naming JavaScript and Writing VMs Canvas Andrew Myers 16:14 – Envisioning JavaScript’s Platform Web 2.0 AJAX Hidaho Design Opera Mozilla Logo Smalltalk Self HyperTalk Bill Atkinson HyperCard Star Wars Trench Run 2.0 David Ungar Craig Chambers Lars Bak Strongtalk TypeScript HotSpot V8 Dart Jamie Zawinski 24:42 – Working with ECMA Bill Gates Blackbird Spyglass Carl Cargill Jan van den Beld Philips Mike Cowlishaw Borland David M. Gay ECMAScript Lisp Richard Gabriel 31:26 – Naming Mozilla Jamie Zawinski Godzilla 31:57 – Time-Outs 32:53 – Functions Clojure John Rose Oracle Scala Async.io 38:37 – XHR and Microsoft Flash Hadoop Ricardo Jenez Ken Smith Brent Noorda Ray Noorda .NET Shon Katzenberger Anders Hejlsberg NCSA File Formats 45:54 – SpiderMonkey Chris Houck Brendan Eich and Douglas Crockford – TXJS 2010 Douglas Crockford JavaScript: The Good Parts by Douglas Crockford TXJS.com ActionScript Flex Adobe E4X BEA Systems John Schneider Rhino JScript roku Waldemar Horwat Harvard Putnam Math Competition Chris Wilson Silverlight Allen Wirfs-Brock NDC Oslo 2014 JSConf Brendan JSConf Talks 59:58 – JavaScript and Mozilla GIP SSLeay Eric A. Young Tim Hudson Digital Styles Raptor Gecko ICQ and AIM PowerPlant CodeWarrior Camino David Hyatt Lotus Mitch Kapor Ted Leonsis Mitchell Baker David Baren Phoenix Tinderbox Harmony 1:14:37 – Surprises with Evolution of JavaScript Ryan Dahl node.js Haskell Elm Swift Unity Games Angular Ember.js Dojo jQuery react ClojureScript JavaScript Jabber Episode #107: ClojureScript & Om with David Nolen MVC 01:19:43 – Angular’s HTML Customization Sweet.js JavaScript Jabber Episode #039: Sweet.js with Tim Disney TC39 Rick Waldron 01:22:27 – Applications with JavaScript SPA’s Shumway Project IronRuby 01:25:45 – Future of Web and Frameworks LLVM Chris Lattner Blog Epic Games Emscripten Autodesk PortableApps WebGL 01:29:39 – ASM.js Dart.js John McCutchen Monster Madness Anders Hejlsberg, Steve Lucco, Luke Hoban: TypeScript 0.9 – Generics and More (Channel 9, 2013) Legacy 01:32:58 – Brendan’s Future with JavaScript Picks hapi.js (Aaron) JavaScript Disabled: Should I Care? (Aaron) Aaron’s Frontend Masters Course on ES6 (Aaron) Brendan’s “Cool Story Bro” (AJ) [YouTube] Queen – Don't Stop Me Now (AJ) Trending.fm (AJ) WE ARE DOOMED soundtrack EP by Robby Duguay (Jamison) Hohokum Soundtrack (Jamison) Nashville Outlaws: A Tribute to Mötley Crüe (Joe) Audible (Joe) Stripe (Chuck) Guardians of the Galaxy (Brendan)
Jamison Dance: @jergason | Blog | GitHub | Fivestack | Soft Skills Engineering Podcast | React Rally Show Notes: 00:58 - The Elm Programming Language 01:36 - Who should try Elm? What is the attraction? 03:09 - Scaling an App Across a Team; Conventions 06:19 - Routing 07:48 - Writing Tests 09:38 - Jumping Into Elm from a Component-based Framework 12:20 - Tooling 17:28 - Productivity 19:21 - The Elm Community 25:13 - Could Elm Replace JavaScript? 28:28 - Lessons Learned from Elm to Write Better JavaScript 33:45 - The Elm Syntax 35:49 - Checking Out New Languages and Communities 37:31 - Data Modeling Resources: Elm Packages elm-format Evan Czaplicki: Let's Be Mainstream! User-focused Design in Elm The Elm Guide Elm on Slack The Elm Tutorial Jamison Dance: Rethinking All Practices: Building Applications in Elm @ React.js Conf 2016 Transcript: ALEX: Hey, everybody. Welcome to The Frontside Podcast Episode 49. I am your host, Alex Ford, developer at The Frontside. With me as well is Chris Freeman. Chris, do you want to introduce yourself? CHRIS: Hi, everybody. I'm Chris. I'm also a developer at The Frontside. ALEX: We have a really special guest for today. I'm really excited. Jamison Dance is with us. JAMISON: Hello. ALEX: Jamison runs Fivestack Software Consulting Company, hosts Soft Skills Engineering Podcast, organizes React Rally Conf, and spells 'array.length' incorrectly sometimes. Is this true? JAMISON: It is true, yeah. I think I have a special ESLint plugin to yell at me now when I do that or something. But that has caused some pain in my life. CHRIS: Oh, that was very brave. Thank you. ALEX: We're going to be talking Elm today and writing better JavaScript with Elm. This is really exciting for me. I've gotten the chance to dive into the Elm tutorial a little bit, which is an absolutely beautiful tutorial if you haven't checked it out yet. JAMISON: Yeah, Elm is a programming language that runs in the browser and compiles down to JavaScript. It's a pure statically-typed programming language, which if that doesn't mean anything to you, don't worry. The take away for you is that Elm tries really hard to make it easy to write programs that don't crash and are easier to refactor and easier to work on and maintain, basically. CHRIS: And Elm is a language in of itself but it is pretty specifically intended for front-end development. Is that correct? JAMISON: Right now, there are some long term plans, but yeah. For now, it's front-end for building UIs and applications in the browser. ALEX: I heard about Elm. When should I check it out? Who do you see jumping into this language? JAMISON: I think it's aimed at people that want to build robust applications which is so vague, it sounds meaningless. Maybe I talk about what attracted me to it. The two things where I was interested in functional programming -- that's kind of like the technical language wonk, like geeky side of it. But the other side is I've worked for a while in some fairly large JavaScript applications and I've seen the nightmares that I can create for myself In just building something that works and is just really hard to work on. So the idea of a language that's focused on keeping your productivity high as the application skills and as the team skills was really attractive to me. Like the bio says, if I spell array.length wrong, sometimes I catch it, sometimes I don't, then my program breaks. Elm has a compiler that runs on all your code and basically, make sure that your code cannot crash. You could still have bugs and you can still just make your code do the wrong thing but it helps eliminate whole categories of errors. It just makes them impossible to create in Elm. If you're interested in functional programming or if you're interested in just building stuff that is easy to work with, like this kind of this curve of productivity over time where some environments and some languages start out really high, it's really easy to build something fast at the beginning and then maintaining it is just really hard so the productivity drops over time. Elm is trying to kind of flatten that out so your productivity stays high throughout the lifetime of your application. CHRIS: I actually have a question about that. I'm planning on bringing this up later but you gave me such a good segue that I feel compelled. You mentioned that one of the things that is nice about Elm-type system is that it helps scale an app, especially when it comes to a team. My experience there are kind of true different facets to what scaling an app across a team looks like. One is the categories of bugs that something like [inaudible] compiler helps you catch. But the other is, and this is totally coming from the fact that I use Ember every single day, that conventions also help scale across a team. I'm curious like what I've looked at with Elm, it looks like they definitely have the type system there and error messages there to help quite a bit. But I haven't seen conventions arising yet in terms of a lot of things, about how you build a front-end application. I'm curious, is it that those conventions are there and just haven't found them yet or they're still very much in development? Or is that not even really a goal for Elm in the same way that it might be nothing like Ember or Angular. JAMISON: You mentioned first the kinds of bugs that the compiler will help you catch. I want to talk about that really quickly. If people aren't familiar with what a compiler or type system will do at build time, it checks all of your code to make sure that all of the variables and inputs and outputs from functions match up. So you say this function takes in an 'int' and returns a string and it will go find everywhere that calls that function and make sure that they're always passing in an 'int' and return it, so that it always return a string. It kind of does that throughout the whole flow of the program. It eliminates those kind of areas where you just get the interface wrong. The program is huge. You don't remember all the inputs to a function so you just like passing an object when it expects a string or something and then later on it will explode. You don't get those errors with Elm which is the first kind of thing you're talking about. You mentioned that conventions and I'm not on the Elm core team or whatever. I don't have any special insight but my experience is Elm very much wants to create strong conventions around how you build applications. The Elm architecture is kind of a way to build front-end applications that is basically baked into the language. There isn't like a UI framework for Elm. It is Elm. That to me is a huge point on the strong convention side. There isn't like an Elm fatigue because there isn't a choice between a hundred different UI frameworks in Elm. Some patterns around how you build apps this small, I think are still being established but I think there are strong conventions already and the trend of the Elm community is towards picking strong conventions. You'll see Evan, the creator of the language, He'll talk about how he wants to have one really good library instead of 15 overlapping libraries of varying quality to solve the same problem. Elm has conventions already. The places where it doesn't have strong conventions are I think places that will get filled in but the goal is to pick up the language and you get everything you need to build an application attached to it that's all kind of figured out for you. CHRIS: It's been interesting you mentioned the thing about it's better to have one good library, rather than 15 libraries of varying quality. I've seen that a little bit in practice. One of the things that I started looking for pretty early on when I was messing with Elm was what client-side routing look like. There are a couple of different routing libraries. But if you look at them, you can see that they're actually kind of this progression, like you can see how they have built on each other and they're kind of like building up the stack of abstractions toward one final solution. It's very interesting because it's not like those other libraries that are still there. If you really wanted to use just a regular URL parser and build your own, you could. But you can also see this development towards something that anyone could take off the shelf and start using. JAMISON: Yeah, and Elm has been around, I think it was 2011 when it first started. But really, Elm as like a popular thing that people hear about and use in production is only a couple of year's old maybe. There are still some things that are evolving like that. I think you're right that they're evolving towards convention instead of, in my mind JavaScript values, the proliferation of tons of different ideas and just wild exploration. Elm seems like it values a little more consensus and aligning the community behind one solution. I think it's happening, if it's not there yet, it'll get there, I guess. ALEX: I have a question about writing test in Elm and how that feels different than writing tests in JavaScript because the way I find myself writing tests right now is I understand the language to be fragile and I understand some frameworks have some fragility because of that language so I find myself writing really strong tests that are easy to break. I imagine that maybe in Elm, that's a little bit different with this very strong convention that you're talking about. JAMISON: Yes, some of it is around not having to be as defensive in your testing. If you wanted to get really, really down in the nitty-gritty in JavaScript, there are just an incredible array of different inputs you would have to test to make sure someone doesn't pass in like [inaudible] to this function where you think it's an array or whatever, like you just don't have to write any of those tests because the compiler catches that. We haven't talked about purity at all and this concept in functional programming where your functions can't cause side effects. They can't just go make a network request or write to disc or console.log like right in the middle. The functions take an input and return an output. You can do that in JavaScript. You can write your functions that way but because that feature is built into the language, it's the only way to write functions in Elm which makes it really easy to test functions because you just pass them stuff and you check what they return. In my experience, that makes them easier to test. You still build UIs and you still make network requests so you still construct some HTML at some point in your program. You can if you want to test that the HTML looks right or that elements have certain classes and stuff. But I guess what I'm saying is the tests feel like they're testing the behavior more than the edge cases when I write tests in them just because the compiler eliminates a bunch of weird edge cases you don't have to worry about. ALEX: Coming from a component-based JavaScript framework, what is going to be my experience jumping into Elm? How is that going to feel different for me? JAMISON: That's a great question. Myself and almost everyone I've seen get started in Elm that comes from something based around components that the instinct is to create components in Elm for everything. You have a select box in Ember or React or whatever and you wrap it in components. You can just reuse it everywhere. In Elm, if you try to do that, you will hate it and think Elm is broken and horrible and just sucks. It's because the Elm architecture comes with, I guess, you could call it boilerplate, there's some work you have to do to build a component that can do IO and respond to events and stuff. That work is... I don't know, maybe like a dozen lines of code. Then there's some work to wire those components up together, that's maybe a couple more lines of code. So if you have like 300 components in your Elm application, you'll have... I don't know, like thousands of lines that just wiring stuff together code which won't really buy you that much because in my experience, using components is an attempt to make things understandable and isolate concerns. You get a lot of that from having peer functions and having a strong a static-type system. In Elm, you end up making a lot wider components, instead of having this deep tree of lots of components nested inside of each other. You'll have a much flatter but wider tree. That took a while to get used to but I think it makes sense for the language now. You can still create reusable things but you focus more on creating reusable functions instead of creating components that are black boxes, that you kind of package up and pass around. You can still do reuse but it's a little bit different than reuse in a component-based framework. This is a thing. I would say, in the last year, there's been a lot more discussion on blogposts and screencasts and stuff on a year ago, a couple of people were talking about it but there weren't really lots of great examples of this and now, I think, even the Elm Guide has some examples of reuse without components. ALEX: Yes. One of my favorite things about component-based JavaScript is because I've learned to test them so well. Even though, sometimes they can turn into a configuration ball, I've been able to make them very reliable, even if they are deeply nested so going away from that scares me. JAMISON: Yeah, it totally scared me. It felt wrong and weird and bad. But now, it doesn't. I don't know, I'm used to it, I guess, and I still write a lot of JavaScript. It's not that hard switching back and forth between those two mental models but I definitely had to develop a different mental model when writing Elm code. CHRIS: I'm interested in talking about some of the tooling. I know Elm has a lot of tooling. They have elm-reactor and they have the compiler. But I think I know that you also do the kind of dip into some of the JavaScript tooling if you are getting into bigger Elm application. You're probably still going to need something like a Webpack or Browserify, I guess. I'm curious what's your experience with that has been? JAMISON: You can definitely just write an Elm application and then compile it into this JavaScript file then drop that in a script tag on your page and it will all work. The complexity can get very low. If you want to do more advanced stuff like talking to JavaScript, You can still do all that without any additional tooling, if you would like. If you have a lot of dependencies in your JavaScript or you have a large JavaScript application or code base that you want to integrate with Elm, then you can use something like Webpack or Browserify. In my experience, it's no more painful than Webpack or Browserify. All the rest of that stuff already is. I don't know, there's an Elm Webpack plugin that will run the Elm compiler and allow you to import your Elm application into JavaScript file and I think there are similar stuff for Browserify and some of the other module bundlers. I don't think there's anything radically new on the Elm side as far as bundling up your application or anything like that. It just kind of works like you expect. The places where, I think Elm tooling is cool in ways that I haven't seen that much in JavaScript are in the Elm package manager. If you are building a package yourself, it has automatic semantic versioning built in so they have a type system. They can detect when your interfaces change automatically. If you try and release a version that you change the interface and you don't bump the version, they will like yell at you because that's a breaking change. There's some cool stuff around that that you get with the language having a static-type system. The debugger is a new thing as of a couple of weeks ago. That's built into the language. You might have seen similar stuff in other frameworks but it's all kind of extra add-ons. In Elm, because it has kind of a framework built into the language, they can also build in a debugger for that framework in the language. You can enable debug mode, pull up an application, click around, do a bunch of stuff, and then it'll record a log of all those actions and you can scroll back through them and jump to any point in that timeline to reload the state of the application to that point. You can export that log to a JSON file and then kind of send that around, have someone load that log in, and it'll get your application back into the same state. It's a really good for creating bug reports. You click some button 15 times and then it breaks -- do that, export the logs, send that to someone else. Instead of having to follow all the steps, they can just load your state and then figure out what's broken about that. I think that there are some tooling advances that are enabled by both the language itself, like the static type system and also the focus on strong conventions and frameworks built into the language. Does that makes sense? CHRIS: Yeah, absolutely. As you were talking, I thought about was that some tooling that you lean a lot on in JavaScript is kind of rendered unnecessary by the error messages in Elm. All of the things that you may bring in an extra tool to catch in JavaScript when in Elm will just tell you when it compiles and it will give you this just unbelievably friendly, informative, and easy to diagnosed error message that tells you like, "This is the exact line where this happened. Maybe you mean to do this instead," because it can make all sorts of inferences about, like what you probably meant to do based on the type signature you gave to a function or something. I could see that going a long way toward making a subset of tools just unnecessary in Elm. JAMISON: Yeah, a lot of tooling around JavaScript has sprung up to address... I don't know, not weaknesses but areas where people have identified JavaScript needs a little help now. If that's passive aggressive enough way to say it. The language is 20 years old. It was created way before people were building giant, million line code bases in it. But Elm is much younger and has the benefit of a lot of history and hindsight. It turns out you can avoid a lot of tools if you eliminate their need. I have had that weird feeling where I'm building a JavaScript project and it feels like I'm flying a 747. There's a thousand switches everywhere. I'm like powering up a bunch of different things. It feels like I'm being really productive because I'm configuring ESLint in Webpack, in Flow, and all these different tools. Then I go to Elm and I just start typing and it feels like I'm less productive but I've just skipped so many steps. It is a different feeling. ALEX: Would you say that maybe you feel so productive in JavaScript because it has such a strong community, with so many examples and so much shared code? Elm being a younger community, and this is strictly an assumption, may not be at that maturity level where you can share code and have that particular level of productivity. JAMISON: Yes. There are definitely third party libraries in Elm. There's probably a few orders of magnitude difference in the community sizes between Elm and JavaScript. There are just way more people writing JavaScript. The likelihood that someone will have ended up at your weird feature that you need for some random program is probably a little higher. There are some numbers differences. In my experience, the people that are really into Elm right now enjoy solving their own problems because it does feel like they're a little bit more of your own problems to solve. It's a tradeoff. I was going to say, if you value 100% focus on building business features, JavaScript might be better but I don't necessarily think that's the case. Using a bunch of third party code comes with a cost and some of that cost is you have to understand the API and some of it is you have to kind of take some responsibility for knowing where it breaks down. In Elm, I think that responsibility is lessened by the language because the API is a lot easier to understand when you can look at the types that the API creates and uses. It's a lot harder for it to just break your stuff. I think you could make the argument that even though there's a giant repository of JavaScript code out there, a lot of it might not be great for your program. But if you're using Elm, the smaller amount of code that is out there already could be easier to use and help you even more productive. ALEX: I would like to try to segue into the Elm community now and what that looks like? What is this Elm community? How do you get involved, say, I'm coming from JavaScript or any language and I love it? Maybe my work doesn't use Elm just yet but how can I contribute? How can I continue to write more Elm code for not just my specific use cases? JAMISON: I think my favorite thing about the Elm community is its focus on friendliness and learnability. I call it 'ruthless focus'. They are aggressively committed to building a language that is easy for people to pick up. If you are coming to Elm for the first time, you're pulling your hair out because it looks totally different from JavaScript. That might not make any sense to you. But a lot of the ideas that Elm has come from other languages like Haskell or ML languages and those languages, I would say, are proudly hard to get into. It's like a badge of honor to learn Haskell and then you like bleed to do it and then you enter this elite club where you got to talk about monoids all day. Elm is like a strong negative reaction against that, like they want this to be a language that people can learn and get some of the benefit. Because there are cool things in languages like Haskell so the goal is to take some of those cool things and other cool things from other places too. But put them in a package that is easy for people to pick up without devoting their life to an arcane branch of mathematics. I think they do a really good job of that. I've done Haskell pretty hard a few times and I'll bounce off it some more. I don't feel confused about Elm at all in anyway. In Elm, it's not like I'm some genius that can pick it up. It's that they have eliminated a lot of complexity and made it friendly and easy to learn. I think that carries over into the community. They're really interested in helping people who are new to functional programming or are new to programming in general. They're also just nice. if there's an Elm Slack channel that you hang out in and like any internet chat channel, sometimes people will get a little testy and in the Elm one, they're so good at defusing situations, calming people down, like apologizing, and like being human beings. You don't see a lot of rage-y arguments where people say mean things about each other. I've been really impressed with that. I want to talk a little bit more about what the community is like and then maybe talk about how to get into it, if that's okay. I would say the community is -- I know, it's evenly split but it seems fairly evenly split between people coming from JavaScript's who don't have any functional programming experience and people coming from functional programming who don't have any UI experience. It's interesting seeing those two very different groups come together and they're both attracted to Elm for different reasons and they kind of pull it a little bit in different ways. But it makes an interesting group of people to be around because you learn a lot of cool UI stuff, a lot of cool functional programming stuff. ALEX: Sounds like a recipe for success, really. JAMISON: Yeah. I think if they can make functional programming not have the snootiness that it has sometimes in genders and people, then I think functional programming is great technically. I think the culture around it can be just obnoxious. So I think if Elm can take the good things without the bad things, that's amazing and that's kind of what it's trying to do. As far as getting into the Elm community, are you talking about writing open source or contributing to open source or just where they hang out? ALEX: Yeah, I was talking about contributing to open source but maybe Elm is just a better community for a certain style of contribution and maybe that looks like a blogpost and a coding example of how to do something yourself. JAMISON: Like any new technology, there are definitely in the kind of evangelism phase. If you do write a blogpost that says nice things about Elm, there's like a horde of people that will swarm all over it because they like people to say nice things about Elm. There's a bunch of people like writing books, doing screencast, speaking on it, introducing people to it, and that's well received very well. I think there's at least one podcast on Elm already. So all that to say that I think the community receives kind of education and I guess, you can call it evangelism stuff very well and they're excited about that. If you are interested in contributing to open source, you can actually go to Package.Elm-Lang.org and you can see all of the Elm third party libraries and they all have these GitHub for the backing of its package manager. They all have source links right there. You can just find any random library and get to its source. I think the community is pretty open to contributions from people. If you want to see Elm source code and contribute to it, they're very open to that. This is kind of a culture shock to me coming from other communities where you can't just like show up, submit a patch to Elm core, and then have a discussion, and get it accepted or rejected. They're not super open to direct code level contributions. They would prefer more use case feedback, discussion, and suggestions. Then the core team will take all these feedback in, think about it, come up with a plan, and then implement it, instead of take a lot of little patches from people. Some of the core libraries are a little bit harder to directly contribute code to but they are very open. If you try and use it, you run into something that doesn't work the way you expected and you can create a small example that demonstrates that. They're super open to discussions about that to influence the direction of the API. CHRIS: I think over the course of JavaScript and front-end development, there has been kind of waves of abstraction over JavaScript. There were just libraries and there were things like backbone and then it kind of moved into doing something like CoffeeScript or TypeScript and a couple others where the idea is -- ALEX: Good old Objective-J. CHRIS: Yeah, exactly. You might be transpiling down a JavaScript but there are still very much a clear link between something like CoffeeScript and JavaScript. Elm seems like it is one of a new batch of approaches where we're actually going to just sidestep JavaScript almost entirely. Like it is going to be like JVM bytecode or a browser and we're going to build an entirely new language on top of that. I know there's also a bit like ClojureScript, Scala.js, and PureScript and I'm curious, do you think that is going to be a continuing trend that front-end development is going to land on a mainstream solution that might not actually be JavaScript at all? Or do you see it as eventually circling back and pulling a lot of these features into JavaScript itself? JAMISON: I don't think that front-end development will be Elm in like five years or whatever. I don't think it's going to replace JavaScript at all. I think it might definitely influence tooling libraries or the language itself. The Elm architecture looks a lot like Redux because the Redux author read Elm and they're like, that's cool and then they wrote it in JavaScript. There are other places where like time-travelling debugging. I believe the JavaScript thing came from the Elm time-travelling debugger as well. There are cases where it has influenced JavaScript's already and I think that will continue to happen. Flow is a gradual-type system. You can lay it on top of JavaScript and they have done a lot of work on their error messages influenced by Elm. It's super cool to see all those influences back into the JavaScript community as a whole. I think there are classes of people who are more interested in doing some sprinkling of JavaScript on to pages. They might not even be like programmers really. They're kind of like designers who do a little bit of coding and I don't know if Elm makes sense for that kind of role where you just need to add a little bit of interaction. You can do that but it doesn't seem like a thing that group would focus on. It's just really hard to change the world. I write a lot of JavaScript so I'm bias but it feels like it's the most popular language in the world and being the most popular Language in the world is not a thing that's easily overthrown. But I think it will grow, like programming will look more like Elm does just in general in the future and I think JavaScript will as well. But I also think Elm will continue to grow. There's a lot of excitement about it and there's not a ton of people bouncing hard off of it. There's some people they're looking at it and they're like, "Eh, not yet." Some people just look at it and hate it. But from people that use it, I don't see a lot of those people dropping out. I've seen most of them sticking around. I think the trend is definitely -- Elm will grow. But I don't know if that will take over the world. ALEX: Then what lessons are developers bringing back to say and to write better JavaScript? JAMISON: I think a lot of people are learning about types and data modeling. If you learn programming through JavaScript, the idea that there's this defined shape that your data has and some tool will help you make sure that your data always looks like that is kind of like strange and foreign. I think a lot of people are learning that there's value in that. If you grew up in the MongoDB / Angular world like everything is schema-less, you just kind of slam some JavaScript objects everywhere, it all works, then it breaks, and you don't know why and you need to track it down. But I think seeing the value and thinking a little bit more clearly about what your data looks like and then forcing that through tooling is one lesson. That is taking a little bit more root in JavaScript. All the stuff around functional programming in JavaScript is like achieved buzzword status by now. But there is definitely still some education happening around how it's easier to test peer functions, how they're easier to understand and reuse, and how it's good to write them. I think Elm will continue to push that. Some of it though is there are some ideas you can take from Elm but it's just so much easier to use them to their fullest potential in a language and environment built around those ideas. You can kind of like cram a type system on to JavaScript. It's still really easy to get around and it does not model side effects at all. The elm type system modeled side effects so it helps you reason about where my program can talk to a network, where it can do things that are going to take a while to come back, and kind of sandbox those things into a place where you expect them, instead of have them sprinkled all over your program. CHRIS: I definitely feel that uncanny valley of trying to bring FP -- functional programming -- things back into JavaScript when it comes to pattern matching. That's something that in Elm or Elixir or any number of more functional languages. Pattern matching enables a lot of these higher level patterns that don't always translate super great back to JavaScript land. JAMISON: Yeah, the uncanny valley is a great way to put it. There are a lot of things that you can do that will lead to better JavaScript. But you always have to take the environment that you're working in into consideration. There are just some things you can't do or some things that are going to be more pain than they're worth to do. On the other hand, it is kind of nice to just type console.log wherever you want or type like '$.getJSON' or whatever. The added security that Elm brings comes at a cost of locking you down a little bit and that can be a little frustrating to people sometimes. But I think the payoff is worth it. ALEX: A side story. About six months ago, I tried to get into the Haskell programming book. That's currently being worked on. That's because I want to learn some functional programming lessons, maybe bring them back into my JavaScript, or just learn something new. It's useful to learn a new language and bring it back to your work. Of this 1300 page book, I got just past Chapter 2 and I was in a Haskell book club like everybody held each other accountable to finish this book. I did not make it. I could not figure out how to bring any of these lessons back into my code which is what I wanted to do here. Elm takes that functional programming concept and says, "We're applying it to UI right away." There's no, "How do I apply this? How do I side step this?" No, you're doing it immediately. Really, you're getting me excited to jump back into this tutorial and learn it and check out the community, just to be able to bring this back to my day to day and bring those lessons and do it. JAMISON: Yeah, the first time I tried to learn Haskell, I learned that I could sort an array of integers in memory and that was it. That was as far as my Haskell skills took me so I definitely feel you there. In Haskell, they'll tell you it's a research language so they have a lot of reasons why it kind of works the way it does and learning it takes the pathway it does. Elm is definitely not a research language. It's trying to be incredibly pragmatic so you build UIs. In the guide, that's how they teach you the language. It's the stuff you normally build. Thank you for bringing that up. I think, it's a thing that they focus on. I'm glad you picked it out. ALEX: Yeah, at the learning curve is the syntax but you're still solving those same problems. If you're coming from UI, you already have that context. That is probably the majority of the hard work -- it's solving problems that are meaningful to you. JAMISON: Yeah, for me the syntax, I had learned enough Haskell that the syntax wasn't hard -- how to make HTTP requests and do site-affecting things like that. It was the hang up for me but Elm, there is a way to do it and they show you and that's how you do everything and it all works the same way and it's fairly easy to understand. I don't want to call it easy because that makes people that struggle to feel that but they put a lot of work into making that both robust so it won't break your program and also learnable. CHRIS: One thing I would love to mention about the syntax, I have learned a number of languages, I guess and the Elm syntax was definitely one that threw me the most and it put me off for, I guess it wasn't so much just the syntax, it was the syntax combined with how people do things that I would call more like style choices. JAMISON: The formatting? CHRIS: Yeah, Elm formats things in weird ways. Except that there is a tool called 'elm-format'. Once I've discovered that it has a really great editor integration for a lot of editors, it effectively remove that problem because I discovered that I can essentially write garbage basically in my editor and I can say that anything will make it look beautiful. It's fantastic. It removes such a big barrier for me when I was trying to learn it. JAMISON: Yeah, elm-format, there were some great debates about it while it was being created but now that it exists, it's awesome. Speaking a little bit more of tooling, Elm comes out with new releases of the language with some backwards and compatible changes. But along with that, they release a tool to upgrade your Elm code automatically. It's not perfect and it won't run on 100%. It won't fix everything but with most projects, it fixes everything. Again, the benefit of having such a strict language is there's tools that will just upgrade all your stuff for you. That's pretty awesome. It lowers the cost of evolving the language because they can keep adding new things and changing things without just leaving the community in the dust like we've seen in some other stuff. That's kind of an Ember-ish thing, I guess. Ember has the whole stability... What is it? Something without stagnation? Stability without stagnation? CHRIS: Stability without stagnation. JAMISON: Where you just get all these free upgrades that are really easy to opt into and Elm has that same philosophy. ALEX: What made you decide to check out Elm, to check out this community? Do you like to jump into new languages, new communities, and poke around and see what sticks? Or is there something that attracted you to Elm in particular. JAMISON: Yes to both of those. I do poke around in a lot of new languages. I have a good friend, Sean Hess who's really into functional programming and he's a Haskell true believer. I am not but he is, so he teaches me stuff by Haskell. I think, he told me about it. I might be misremembering though. It might have been just some random blogpost or podcast somebody did a few years ago. But I was already excited about new languages and functional programming and I had tried to learn Haskell and bounced off so the idea of a functional programming language that takes some good ideas from Haskell, that runs in the browser that's new. It was like all the shiny things that I look for altogether in one thing. I tried it and I liked it. I, also was really impressed by Evan Czaplicki, He's the creator of Elm. His philosophy around creating a language and the goals he wanted to accomplish with it. There's a really good talk he gave and called 'Let's be mainstream' which talks about some of the stuff we talked about around if functional programming is pure statically-typed functional programming is so amazing and it has all these people that love it and swear it's the only way to write software, why no one does it? Why the number of people use it is so small? His thesis is basically because the languages that do this are kind of user hostile so he's trying to make it a user friendly, the one that takes all those ideas. I just really liked that philosophy. CHRIS: I want to go back to something that you mentioned a little bit ago and that was data modeling because that is definitely something that I noticed being extremely helpful, any time I'm using a statically-typed language. It is very much something that I brought with me back to JavaScript. But I was wondering, Maybe you could talk a little bit more in depth about what data modeling really means in terms of Elm, the type system, the record type, and that kind of stuff. JAMISON: Yeah, if you've worked with statically-typed languages like Java or C++ or something, you might have an idea of things like classes as a way to model data where you create a class and you say it has all these fields on it. I think, in the Elm type system, I'm going to say it's a lot better than those languages because it has a lot less ceremony and it is a lot more powerful. Elm has type inference which means you don't have to declare the type of everything. It can just figure it out from a lot of places. That's the thing that makes your code a lot friendlier to write. To model data in Elm, there are two main ways to do that. One is with these record types that you mentioned, Chris. You basically declare an object that has a certain shape like I'll make a type called 'user' and it has a user ID and a hash password and... I don't know, a list of my favorite cats or whatever. Then you can just refer to that user type in function arguments or in return types or anything like that. In Elm, because you created that type, it knows that these are all the fields it has. If you try to access a field that's not on there, it'll yell at you because you're doing something that won't work. Because you have to think through all of the different fields that are on your types, it forces you to do a little bit more. It's kind of like the other side of TDD instead of writing test first. You have to think about your data first. You could call it type-driven development, I guess. CHRIS: That's awesome. JAMISON: In my experience, that's helpful. In the same way, TDD is, right? It helps you to do a little bit of design first. Think about how you're going to interact with the program in some way. Instead of writing tests, you're thinking what data do I need here. They also have these things that you could call them -- there are a bunch of different names for them: algebraic data types, I guess. Some people call them tagged unions. They're kind of like enums where you say this type can take any of these finite list of values. But instead of an enum being like an integer, like it is in some languages with a fancy name wrapped around it, the enum types can contain other value. You can say... what's a good example for this? You could say a user is either an authenticated user with a user record inside it or an unauthenticated user. Then when you're using that type in your program, you check, "Is this user type the authenticated user?" Then, if so it has this user field inside of it that you can pluck out and use. Or, "Is it an unauthenticated user?" Those two different things, the super enums, the algebraic data types plus the record types are really powerful for modeling what data looks like in the real world. I haven't run into that many issues where it's been hard to do something I want to do with just those two concepts. Type systems are hard to explain over the air but hopefully, that helped a little bit. ALEX: I thought that was great. CHRIS: I think a good example of the algebraic data type thing is looking at messages in Elm versus actions in Redux. If our listeners are familiar with those, they are very, very, very similar at a high level. But in Redux, you just have string then you do a switch statement or something and you match on some strings. You hope that you synced everything up correctly. JAMISON: Yeah, you say, "This action has a message and then has a payload that looks like this." See if it match against the message and then hope that the payload somebody sent actually looks like you expect it to look. CHRIS: Yeah, whereas in Elm, you can actually say, "My message type is a union of all of these different things," and now, Elm knows exactly what you're saying and you can't accidentally send the wrong payload to the wrong update function or something. It's one of the cases where I found that there's a very, very clear similarity in JavaScript and it highlights, I think a lot of the nice features that Elm brings to that equation. JAMISON: Yeah and there's even more strictness around that, like you have to handle every message type in Elm. So if you say, "This function takes in a message and does something with it," and then you check against what kind of message it is, you have to check every case or Elm won't compile because they don't want you to just blindly miss something, I guess. But in Redux, you could just happily forget a thing in your case statement and then you send a message and it doesn't do anything and then you have to kind of trace through it and debug why that's happening. There's just more helpful stability stuff built in. CHRIS: Cool. I am so incredibly happy with how this podcast went. I'm just excited to start coding and start getting into Elm. I think people and developers maybe at an inflection point with JavaScript and just going and checking out something else that they can immediately apply back to their day to day. I think, it's so incredibly valuable and something that I'm going to be looking to explore very certain. JAMISON: The value pitch is pretty strong because everyone that's written JavaScript has just written code that breaks when things get passed around that they don't expect. I do that all the time and Elm makes that impossible. You can break it in other ways but you just eliminate this class of errors that plagues your existence in JavaScript. If you want to experience that life, check out Elm. It's got a lot of other good things too but just writing code that does not crashes is a pretty strong pitch, I think. ALEX: Jamison, are there any resources that you might recommend for someone who wants to get started with Elm? JAMISON: Somebody mentioned the guide a few times. Everyone says that about every language, check out the official tutorial or whatever, and they have wildly varying quality. The Elm guide is the thing that worked a ton on. It's pretty good, I think and geared towards people that have no knowledge of Elm, no knowledge of functional programming stuff. That's a Guide.Elm-lang.org. Then there's a Slack channel. If you just go to Elm-lang.org, it will have links to the Slack channel and there are lots of helpful friendly people there. I think those are the two best resources because with those, you can find all the other stuff. CHRIS: There's also another one that I really like to mention which is the elm tutorial. I think, it's Elm-tutorial.org. I found it to be a really great compliment to the official Elm Guide. I think it walks through a little more in building a full app where the Elm Guide kind of touches on a bunch of different related topics. But they're not necessarily one narrative. The Elm tutorial did a really good job of tying all that together for me. JAMISON: Yeah and this is been around for a long time and has kept it up through the evolution of the language. This is good stuff. ALEX: Jamison, thank you for coming on the Frontside Podcast. We really appreciated talking to you. JAMISON: Thanks for having me. ALEX: If you love Jamison's voice, you should check out his React Conf talk from 2016 also about Elm. It's a wonderful talk. Go check that out as well. JAMISON: Thank you. Can I pitch my other stuff too? Is that kosher? ALEX: You can absolutely pitch it. CHRIS: Soft skills engineering! JAMISON: Yeah, I do a podcast called Soft Skills Engineering with my friend Dave Smith where we talk about all of the non-technical stuff in writing code. It's like you [inaudible], you can submit questions, and we answer them. If you're interested in talking about building software together, you should talk to the Frontside first. But after that, you can find me at Fivestack.computer. That's where my consultancy lives. Consults is maybe a strong way of describing it. That's like saying the three toddlers standing on top of each other in a trench coat is like an adult. But if you want to work together, then check that out. ALEX: Great. All right. That wraps it up for us. Thank you very much for listening and we'll talk to you next week.
Conferences continue to be a great way to learn and grow as an engineer. In the 14th episode of the Front End Happy Hour podcast we discuss the value of conferences and why you might want to attend. It’s a special episode because we recorded at React Rally in Salt Lake City. At the conference we caught up with a lot of great attendees and speakers to hear about their experiences at conferences and the benefits for attending. Items mentioned in the episode: React Rally, Fluent Conference, Scotland JS, FITC, Adobe Max, Jamison Dance, Matt Zabriskie, React JS, Pete Hunt, Stranger Things, Xoxo, Recruiter episode Guests: Tasha Alfano - @TashAlfano Sumana Mohan - @sumana_mohan Henry Zhu - @left_pad Ryan Wachholz - @https://github.com/wachie Quinn Daniels - @https://github.com/aqdaniels Hani Ahir - @HaniAhir Albert Toledo - @toledoalbert Brian Tice - @BrianTice99 Panelists: Ryan Burgess - @burgessdryan Jem Young - @JemYoung Ryan Anklam - @bittersweetryan Picks: Ryan Burgess - V-moda m-100 headphones Ryan Burgess - Deadmau5 Stranger Things Cover Jem Young - Emojipedia Jem Young - Tron Legacy Reconfigured Ryan Anklam - Disclosure - You & Me - Flume remix Ryan Anklam - Zamst Knee Brace
Ben Lesh and Tracy Lee interview Zabriskie’s Beard and Jamison Dance on the accidental creation of React Rally, how the JavaScript framework communities are organically formed based on the strength of the framework's opinions and exploration into why the react community exists in the form that it does. Also discussed are Power Rangers fighting bananas at React Rally, how redux is pushing the envelope for react developers to solve harder problems, and discussing the possibilities of a future react cli. Find more podcasts, videos, trainings and online conferences at http://modern-web.org or follow us on Twitter @modernweb_.
Our guests in this episode are Jamison Dance and Matt Zabriskie, OSS contributors and organizers of React RallyFollow us on Twitter
02:43 - Dave Rupert Introduction Twitter GitHub Blog Paravel 03:42 - Chris Coyier Introduction Twitter GitHub Blog CSS-Tricks CodePen 06:24 - The ShopTalk Show and Podcasting @shoptalkshow “What do I learn next?” => “Just Build Websites!” Question & Answers Aspect 23:19 - Tech Is A Niche Paul Ford: What is Code? 29:51 - Balancing Technical Content for All Levels of Listeners Community Opinion 38:42 - Learning New CSS Tricks (Writing Blog Posts) Code Golf 41:54 - The Accessibility Project Adventures in Angular Episode #027: Accessibility with Marcy Sutton Anne Gibson: An Alphabet of Accessibility Issues 56:02 - Favorite & Cool Episodes ShowTalk Show Episode #091: with Jamison Dance and Merrick Christensen ShopTalk Show Episode #101: with John Resig ShopTalk Show Episode #157: with Alex Russell ShopTalk Show Episode #147: with Tom Dale ShopTalk Show Episode #123: Special Archive Episode from 2004 ShopTalk Show Episode #166: with Lisa Irish ShopTalk Show Episode #161: with Eric Meyer Picks FIFA Women's World Cup (Joe) Winnipeg (Joe) The Martian by Andy Weir (Joe) Zapier (Aimee) SparkPost (Aimee) dev.modern.ie/tools/vms (AJ) remote.modern.ie (AJ) Microsoft Edge (AJ) StarFox Zero for Wii U (AJ) Hot Plate (AJ) untrusted (AJ) Skiplagged (Dave) Judge John Hodgman (Dave) Wayward Pines (Chris) Sturgill Simpson (Chris) The Economic Value of Rapid Response Time (Dave) The Adventure Zone (Dave) React Rally (Jamison) Matsuoka Shuzo: NEVER GIVE UP (Jamison) DESTROY WITH SCIENCE - Quantum Loop (Jamison) Serial Podcast (Chuck) Ruby Remote Conf (Chuck)
02:43 - Dave Rupert Introduction Twitter GitHub Blog Paravel 03:42 - Chris Coyier Introduction Twitter GitHub Blog CSS-Tricks CodePen 06:24 - The ShopTalk Show and Podcasting @shoptalkshow “What do I learn next?” => “Just Build Websites!” Question & Answers Aspect 23:19 - Tech Is A Niche Paul Ford: What is Code? 29:51 - Balancing Technical Content for All Levels of Listeners Community Opinion 38:42 - Learning New CSS Tricks (Writing Blog Posts) Code Golf 41:54 - The Accessibility Project Adventures in Angular Episode #027: Accessibility with Marcy Sutton Anne Gibson: An Alphabet of Accessibility Issues 56:02 - Favorite & Cool Episodes ShowTalk Show Episode #091: with Jamison Dance and Merrick Christensen ShopTalk Show Episode #101: with John Resig ShopTalk Show Episode #157: with Alex Russell ShopTalk Show Episode #147: with Tom Dale ShopTalk Show Episode #123: Special Archive Episode from 2004 ShopTalk Show Episode #166: with Lisa Irish ShopTalk Show Episode #161: with Eric Meyer Picks FIFA Women's World Cup (Joe) Winnipeg (Joe) The Martian by Andy Weir (Joe) Zapier (Aimee) SparkPost (Aimee) dev.modern.ie/tools/vms (AJ) remote.modern.ie (AJ) Microsoft Edge (AJ) StarFox Zero for Wii U (AJ) Hot Plate (AJ) untrusted (AJ) Skiplagged (Dave) Judge John Hodgman (Dave) Wayward Pines (Chris) Sturgill Simpson (Chris) The Economic Value of Rapid Response Time (Dave) The Adventure Zone (Dave) React Rally (Jamison) Matsuoka Shuzo: NEVER GIVE UP (Jamison) DESTROY WITH SCIENCE - Quantum Loop (Jamison) Serial Podcast (Chuck) Ruby Remote Conf (Chuck)
02:43 - Dave Rupert Introduction Twitter GitHub Blog Paravel 03:42 - Chris Coyier Introduction Twitter GitHub Blog CSS-Tricks CodePen 06:24 - The ShopTalk Show and Podcasting @shoptalkshow “What do I learn next?” => “Just Build Websites!” Question & Answers Aspect 23:19 - Tech Is A Niche Paul Ford: What is Code? 29:51 - Balancing Technical Content for All Levels of Listeners Community Opinion 38:42 - Learning New CSS Tricks (Writing Blog Posts) Code Golf 41:54 - The Accessibility Project Adventures in Angular Episode #027: Accessibility with Marcy Sutton Anne Gibson: An Alphabet of Accessibility Issues 56:02 - Favorite & Cool Episodes ShowTalk Show Episode #091: with Jamison Dance and Merrick Christensen ShopTalk Show Episode #101: with John Resig ShopTalk Show Episode #157: with Alex Russell ShopTalk Show Episode #147: with Tom Dale ShopTalk Show Episode #123: Special Archive Episode from 2004 ShopTalk Show Episode #166: with Lisa Irish ShopTalk Show Episode #161: with Eric Meyer Picks FIFA Women's World Cup (Joe) Winnipeg (Joe) The Martian by Andy Weir (Joe) Zapier (Aimee) SparkPost (Aimee) dev.modern.ie/tools/vms (AJ) remote.modern.ie (AJ) Microsoft Edge (AJ) StarFox Zero for Wii U (AJ) Hot Plate (AJ) untrusted (AJ) Skiplagged (Dave) Judge John Hodgman (Dave) Wayward Pines (Chris) Sturgill Simpson (Chris) The Economic Value of Rapid Response Time (Dave) The Adventure Zone (Dave) React Rally (Jamison) Matsuoka Shuzo: NEVER GIVE UP (Jamison) DESTROY WITH SCIENCE - Quantum Loop (Jamison) Serial Podcast (Chuck) Ruby Remote Conf (Chuck)
Jamison Dance joins Brandon and Stanley to talk about how to make music with your browser, hosting JS Jabber, and the direction of the JavaScript community. We discuss the Javascript Audio API, how to avoid the trap of always chasing the new technologies, and Jamison shares some tips about how to improve your tech talks. Show Links: Jamison Dance JS Jabber Podcast DOMStep: Audio Synthesis, AI and a JavaScript Dance Party Theresa's Sound World “The Mess We're In” by Joe Armstrong “Transducers” by Rich Hickey If Hemingway Wrote JavaScript by Angus Croll The Humor in the Code by Baratunde Thurston JSX StrangeLoop Conference
Panel Alex MacCaw (twitter github blog) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:13 - Going Rogue Video 02:12 - Alex MacCaw Introduction 029 JSJ Bower.js with Alex MacCaw and Jacob Thornton JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client by Alex MacCaw The Little Book on CoffeeScript: The JavaScript Developer's Guide to Building Better Web Apps by Alex MacCaw 02:44 - Monocle Alternative for Hacker News 03:39 - Speed Alex MacCaw: Time to first tweet sinatra MVC Framework Synchronicity 10:48 - SEO Google Webmaster Tools The Google Webmaster Video on Single-page Apps / SEO Alex MacCaw: SEO in JS Web Apps 14:01 - The Social Aspect of Monocle/Community 17:09 - Caching 17:47 - Google Website Optimizer 18:26 - Responsiveness 21:00 - Client-side & Server-side 25:11 - Testing for Performance PageSpeed Insights 28:39 - The Design Process sinatra sequel 31:44 - Sourcing.io Sourcing.io Signup 34:15 - Inspiration Picks MicroFormat Tool (AJ) Google Markup Helper (AJ) Gmail Markup Schemas (AJ) OUYA (AJ) TowerFall (AJ) Final Fantasy 7 (emulator) Final Fantasy 7 (PC) (AJ) Sunlounger (Joe) Pebble Watch (Joe) ng-conf (Joe) Book Yourself Solid: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) Coder (Alex) List of Ig Nobel Prize winners (Alex) Next Week Working From Home Transcript ALEX: The rain in Spain falls mainly on the plain. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 77 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: AJ O’Neal. AJ: It'sa mia, it'sa AJ. CHUCK: I’m Charles Max Wood from DevChat.TV. And before I introduce our guest, I just want to make a quick announcement. Tomorrow as we’re recording this, so when you get this episode it will be last Friday, is my Freedom Day. It’s the day I got laid off from my last full-time job and went freelance. So in honor of that, I’m putting together a video. I’ve called it ‘Going Rogue’. Yes, I know that there’s a political thing around that, whatever. Anyway, I called it ‘Going Rogue’. You can get it at GoingRogueVideo.com. It’s basically the first year of me going freelance. I’ve just talked through how it all went. The mistakes I made, the things I learned, the things I did right, and just gave general advice to anyone who’s looking to go freelance. Or if you’re interested in some of the challenges that come with that, it’s a video that I’m putting together to kind of explain that. Like I said, it’s free. You can get it at GoingRogueVideo.com. Yeah, I’m pretty excited about it. I’m also excited about Freedom Day. Anyway, we also have a special guest today, and that’s Alex MacCaw. ALEX: How do you do? Thank you for having me. CHUCK: You’ve been on the show before, but it’s been almost a year. Do you want to introduce yourself again? ALEX: Well, I’m mostly a JavaScript programmer.
Panel Alex MacCaw (twitter github blog) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:13 - Going Rogue Video 02:12 - Alex MacCaw Introduction 029 JSJ Bower.js with Alex MacCaw and Jacob Thornton JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client by Alex MacCaw The Little Book on CoffeeScript: The JavaScript Developer's Guide to Building Better Web Apps by Alex MacCaw 02:44 - Monocle Alternative for Hacker News 03:39 - Speed Alex MacCaw: Time to first tweet sinatra MVC Framework Synchronicity 10:48 - SEO Google Webmaster Tools The Google Webmaster Video on Single-page Apps / SEO Alex MacCaw: SEO in JS Web Apps 14:01 - The Social Aspect of Monocle/Community 17:09 - Caching 17:47 - Google Website Optimizer 18:26 - Responsiveness 21:00 - Client-side & Server-side 25:11 - Testing for Performance PageSpeed Insights 28:39 - The Design Process sinatra sequel 31:44 - Sourcing.io Sourcing.io Signup 34:15 - Inspiration Picks MicroFormat Tool (AJ) Google Markup Helper (AJ) Gmail Markup Schemas (AJ) OUYA (AJ) TowerFall (AJ) Final Fantasy 7 (emulator) Final Fantasy 7 (PC) (AJ) Sunlounger (Joe) Pebble Watch (Joe) ng-conf (Joe) Book Yourself Solid: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) Coder (Alex) List of Ig Nobel Prize winners (Alex) Next Week Working From Home Transcript ALEX: The rain in Spain falls mainly on the plain. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 77 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: AJ O’Neal. AJ: It'sa mia, it'sa AJ. CHUCK: I’m Charles Max Wood from DevChat.TV. And before I introduce our guest, I just want to make a quick announcement. Tomorrow as we’re recording this, so when you get this episode it will be last Friday, is my Freedom Day. It’s the day I got laid off from my last full-time job and went freelance. So in honor of that, I’m putting together a video. I’ve called it ‘Going Rogue’. Yes, I know that there’s a political thing around that, whatever. Anyway, I called it ‘Going Rogue’. You can get it at GoingRogueVideo.com. It’s basically the first year of me going freelance. I’ve just talked through how it all went. The mistakes I made, the things I learned, the things I did right, and just gave general advice to anyone who’s looking to go freelance. Or if you’re interested in some of the challenges that come with that, it’s a video that I’m putting together to kind of explain that. Like I said, it’s free. You can get it at GoingRogueVideo.com. Yeah, I’m pretty excited about it. I’m also excited about Freedom Day. Anyway, we also have a special guest today, and that’s Alex MacCaw. ALEX: How do you do? Thank you for having me. CHUCK: You’ve been on the show before, but it’s been almost a year. Do you want to introduce yourself again? ALEX: Well, I’m mostly a JavaScript programmer.
Panel Alex MacCaw (twitter github blog) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:13 - Going Rogue Video 02:12 - Alex MacCaw Introduction 029 JSJ Bower.js with Alex MacCaw and Jacob Thornton JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client by Alex MacCaw The Little Book on CoffeeScript: The JavaScript Developer's Guide to Building Better Web Apps by Alex MacCaw 02:44 - Monocle Alternative for Hacker News 03:39 - Speed Alex MacCaw: Time to first tweet sinatra MVC Framework Synchronicity 10:48 - SEO Google Webmaster Tools The Google Webmaster Video on Single-page Apps / SEO Alex MacCaw: SEO in JS Web Apps 14:01 - The Social Aspect of Monocle/Community 17:09 - Caching 17:47 - Google Website Optimizer 18:26 - Responsiveness 21:00 - Client-side & Server-side 25:11 - Testing for Performance PageSpeed Insights 28:39 - The Design Process sinatra sequel 31:44 - Sourcing.io Sourcing.io Signup 34:15 - Inspiration Picks MicroFormat Tool (AJ) Google Markup Helper (AJ) Gmail Markup Schemas (AJ) OUYA (AJ) TowerFall (AJ) Final Fantasy 7 (emulator) Final Fantasy 7 (PC) (AJ) Sunlounger (Joe) Pebble Watch (Joe) ng-conf (Joe) Book Yourself Solid: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) Coder (Alex) List of Ig Nobel Prize winners (Alex) Next Week Working From Home Transcript ALEX: The rain in Spain falls mainly on the plain. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 77 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: AJ O’Neal. AJ: It'sa mia, it'sa AJ. CHUCK: I’m Charles Max Wood from DevChat.TV. And before I introduce our guest, I just want to make a quick announcement. Tomorrow as we’re recording this, so when you get this episode it will be last Friday, is my Freedom Day. It’s the day I got laid off from my last full-time job and went freelance. So in honor of that, I’m putting together a video. I’ve called it ‘Going Rogue’. Yes, I know that there’s a political thing around that, whatever. Anyway, I called it ‘Going Rogue’. You can get it at GoingRogueVideo.com. It’s basically the first year of me going freelance. I’ve just talked through how it all went. The mistakes I made, the things I learned, the things I did right, and just gave general advice to anyone who’s looking to go freelance. Or if you’re interested in some of the challenges that come with that, it’s a video that I’m putting together to kind of explain that. Like I said, it’s free. You can get it at GoingRogueVideo.com. Yeah, I’m pretty excited about it. I’m also excited about Freedom Day. Anyway, we also have a special guest today, and that’s Alex MacCaw. ALEX: How do you do? Thank you for having me. CHUCK: You’ve been on the show before, but it’s been almost a year. Do you want to introduce yourself again? ALEX: Well, I’m mostly a JavaScript programmer.
Panel Marcus Phillips (twitter github) Fred Zirdung (twitter github) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:30 - Marcus Phillips and Fred Zirdung Introduction Hack Reactor 03:31 - Experience with Meteor 05:45 - Intro to Meteor Client-side Environment Tethered Queries minimongo 09:56 - Websockets 11:29 - Deployment Support 14:51 - The Cloud 16:43 - Meteor and Server-side JavaScript Engines Meteor Devshop 7 - LIVE 19:48 - Meteor and Windows 22:43 - Package Management System 23:49 - Building Meteor Apps 29:04 - Meteor Methods 33:02 - Open-Source Meteor Apps 34:15 - Hack Reactor Education Training Developers Removing Complexity Picks ng-conf (Joe) Ben Kamens: “Shipping Beats Perfection” Explained (Jamison) Evan Goer: Writing for Developers — Some Rational Techniques (Jamison) BOXEN (Chuck) Book Yourself Solid Illustrated: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) meteor / packages / deps / deps.js (Marcus) Underscoreboard (Marcus) actionHero.js (Fred) Satellite (Fred) Tilden (Fred) rethink-livedata (Marcus) Next Week Monacle with Alex MacCaw Transcript JAMISON: Speaking of single and [working] 30 hours a week after your job, is Merrick there? [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 76 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. We’ve also got two special guests and that is Fred Zirdung. FRED: Hello. CHUCK: Did I totally butcher that? FRED: Yeah, you got it right. CHUCK: Okay. And Marcus Phillips. MARCUS: Hi everybody. CHUCK: Since you guys haven't been on the show before, do you want to introduce yourself? We’ll have Marcus go first. MARCUS: Sure. I'm Marcus Phillips. I'm a JavaScript enthusiast. I've been in it for a long time. Really excited about framework architecture and lately, all about teaching what I've learned over the course of time that I've been working in the Bay Area and working on the frontend of Twitter and things like that. Nowadays, I teach at Hack Reactor full time which is an immersive school for learning to become a developer over a period of three months. JAMISON: Cool. CHUCK: And which technologies do you teach at Hack Reactor? MARCUS: We use JavaScript as our teaching language. Fundamentally, what we’re trying to do is teach people software engineering principles. So, JavaScript just turns out to be one of the most useful languages we can use to do that. But from there, we kind of want to give people practical skills that they can use immediately on the job. So, we definitely drive the entire curriculum out of GitHub repos and teach them some practical things like Backbone and Node and deployment strategies. So yeah, we kind of cover the gambit from frontend to backend with a focus on JavaScript in particular. CHUCK: Awesome. That sounds really cool. JOE: Yeah, it does. MARCUS: It’s a lot of fun. CHUCK: Fred,
Panel Marcus Phillips (twitter github) Fred Zirdung (twitter github) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:30 - Marcus Phillips and Fred Zirdung Introduction Hack Reactor 03:31 - Experience with Meteor 05:45 - Intro to Meteor Client-side Environment Tethered Queries minimongo 09:56 - Websockets 11:29 - Deployment Support 14:51 - The Cloud 16:43 - Meteor and Server-side JavaScript Engines Meteor Devshop 7 - LIVE 19:48 - Meteor and Windows 22:43 - Package Management System 23:49 - Building Meteor Apps 29:04 - Meteor Methods 33:02 - Open-Source Meteor Apps 34:15 - Hack Reactor Education Training Developers Removing Complexity Picks ng-conf (Joe) Ben Kamens: “Shipping Beats Perfection” Explained (Jamison) Evan Goer: Writing for Developers — Some Rational Techniques (Jamison) BOXEN (Chuck) Book Yourself Solid Illustrated: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) meteor / packages / deps / deps.js (Marcus) Underscoreboard (Marcus) actionHero.js (Fred) Satellite (Fred) Tilden (Fred) rethink-livedata (Marcus) Next Week Monacle with Alex MacCaw Transcript JAMISON: Speaking of single and [working] 30 hours a week after your job, is Merrick there? [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 76 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. We’ve also got two special guests and that is Fred Zirdung. FRED: Hello. CHUCK: Did I totally butcher that? FRED: Yeah, you got it right. CHUCK: Okay. And Marcus Phillips. MARCUS: Hi everybody. CHUCK: Since you guys haven't been on the show before, do you want to introduce yourself? We’ll have Marcus go first. MARCUS: Sure. I'm Marcus Phillips. I'm a JavaScript enthusiast. I've been in it for a long time. Really excited about framework architecture and lately, all about teaching what I've learned over the course of time that I've been working in the Bay Area and working on the frontend of Twitter and things like that. Nowadays, I teach at Hack Reactor full time which is an immersive school for learning to become a developer over a period of three months. JAMISON: Cool. CHUCK: And which technologies do you teach at Hack Reactor? MARCUS: We use JavaScript as our teaching language. Fundamentally, what we’re trying to do is teach people software engineering principles. So, JavaScript just turns out to be one of the most useful languages we can use to do that. But from there, we kind of want to give people practical skills that they can use immediately on the job. So, we definitely drive the entire curriculum out of GitHub repos and teach them some practical things like Backbone and Node and deployment strategies. So yeah, we kind of cover the gambit from frontend to backend with a focus on JavaScript in particular. CHUCK: Awesome. That sounds really cool. JOE: Yeah, it does. MARCUS: It’s a lot of fun. CHUCK: Fred,
Panel Marcus Phillips (twitter github) Fred Zirdung (twitter github) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:30 - Marcus Phillips and Fred Zirdung Introduction Hack Reactor 03:31 - Experience with Meteor 05:45 - Intro to Meteor Client-side Environment Tethered Queries minimongo 09:56 - Websockets 11:29 - Deployment Support 14:51 - The Cloud 16:43 - Meteor and Server-side JavaScript Engines Meteor Devshop 7 - LIVE 19:48 - Meteor and Windows 22:43 - Package Management System 23:49 - Building Meteor Apps 29:04 - Meteor Methods 33:02 - Open-Source Meteor Apps 34:15 - Hack Reactor Education Training Developers Removing Complexity Picks ng-conf (Joe) Ben Kamens: “Shipping Beats Perfection” Explained (Jamison) Evan Goer: Writing for Developers — Some Rational Techniques (Jamison) BOXEN (Chuck) Book Yourself Solid Illustrated: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) meteor / packages / deps / deps.js (Marcus) Underscoreboard (Marcus) actionHero.js (Fred) Satellite (Fred) Tilden (Fred) rethink-livedata (Marcus) Next Week Monacle with Alex MacCaw Transcript JAMISON: Speaking of single and [working] 30 hours a week after your job, is Merrick there? [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 76 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. We’ve also got two special guests and that is Fred Zirdung. FRED: Hello. CHUCK: Did I totally butcher that? FRED: Yeah, you got it right. CHUCK: Okay. And Marcus Phillips. MARCUS: Hi everybody. CHUCK: Since you guys haven't been on the show before, do you want to introduce yourself? We’ll have Marcus go first. MARCUS: Sure. I'm Marcus Phillips. I'm a JavaScript enthusiast. I've been in it for a long time. Really excited about framework architecture and lately, all about teaching what I've learned over the course of time that I've been working in the Bay Area and working on the frontend of Twitter and things like that. Nowadays, I teach at Hack Reactor full time which is an immersive school for learning to become a developer over a period of three months. JAMISON: Cool. CHUCK: And which technologies do you teach at Hack Reactor? MARCUS: We use JavaScript as our teaching language. Fundamentally, what we’re trying to do is teach people software engineering principles. So, JavaScript just turns out to be one of the most useful languages we can use to do that. But from there, we kind of want to give people practical skills that they can use immediately on the job. So, we definitely drive the entire curriculum out of GitHub repos and teach them some practical things like Backbone and Node and deployment strategies. So yeah, we kind of cover the gambit from frontend to backend with a focus on JavaScript in particular. CHUCK: Awesome. That sounds really cool. JOE: Yeah, it does. MARCUS: It’s a lot of fun. CHUCK: Fred,
Panel Nicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:24 - Nicholas Zakas Introduction Box Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo 02:19 - What Makes Maintainable JavaScript? Code Layout Clever Solutions (“Chicken Blood Solutions”) 04:39 - Formatting Thinking, Fast and Slow by Daniel Kahneman Broken Window Theory 07:33 - Architecture aura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation 14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge 19:17 - Important conventions for a team to follow Styles Mini Design Patterns Readability 26:14 - Tools & Techniques Style Guide 28:31 - Breaking the continuous integration build 31:14 - Linting JSLint 32:35 - Developing skills for architecting things Experience Personal Trait of Curiosity Component-based and Systems-based software engineers 37:52 - Architecture and Maintainability Testability Backbone.js 43:28 - Creating common conventions that will apply across projects Picks Domo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas) Next Week Meteor.js with Marcus Phillips and Fred Zirdung Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey, everyone. CHUCK: AJ O’Neal. AJ: I can hit unmute. I'm here. CHUCK: Jamison Dance. JAMISON: Hello, friends. CHUCK: Merrick Christensen. MERRICK: Hey, guys. CHUCK: I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas. NICHOLAS: Yup, you got it. CHUCK: So, since you haven’t been on the show before, do you want to introduce yourself? NICHOLAS: Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts. CHUCK: Yes, you're being modest. You have a book,
Panel Nicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:24 - Nicholas Zakas Introduction Box Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo 02:19 - What Makes Maintainable JavaScript? Code Layout Clever Solutions (“Chicken Blood Solutions”) 04:39 - Formatting Thinking, Fast and Slow by Daniel Kahneman Broken Window Theory 07:33 - Architecture aura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation 14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge 19:17 - Important conventions for a team to follow Styles Mini Design Patterns Readability 26:14 - Tools & Techniques Style Guide 28:31 - Breaking the continuous integration build 31:14 - Linting JSLint 32:35 - Developing skills for architecting things Experience Personal Trait of Curiosity Component-based and Systems-based software engineers 37:52 - Architecture and Maintainability Testability Backbone.js 43:28 - Creating common conventions that will apply across projects Picks Domo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas) Next Week Meteor.js with Marcus Phillips and Fred Zirdung Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey, everyone. CHUCK: AJ O’Neal. AJ: I can hit unmute. I'm here. CHUCK: Jamison Dance. JAMISON: Hello, friends. CHUCK: Merrick Christensen. MERRICK: Hey, guys. CHUCK: I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas. NICHOLAS: Yup, you got it. CHUCK: So, since you haven’t been on the show before, do you want to introduce yourself? NICHOLAS: Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts. CHUCK: Yes, you're being modest. You have a book,
Panel Nicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:24 - Nicholas Zakas Introduction Box Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo 02:19 - What Makes Maintainable JavaScript? Code Layout Clever Solutions (“Chicken Blood Solutions”) 04:39 - Formatting Thinking, Fast and Slow by Daniel Kahneman Broken Window Theory 07:33 - Architecture aura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation 14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge 19:17 - Important conventions for a team to follow Styles Mini Design Patterns Readability 26:14 - Tools & Techniques Style Guide 28:31 - Breaking the continuous integration build 31:14 - Linting JSLint 32:35 - Developing skills for architecting things Experience Personal Trait of Curiosity Component-based and Systems-based software engineers 37:52 - Architecture and Maintainability Testability Backbone.js 43:28 - Creating common conventions that will apply across projects Picks Domo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas) Next Week Meteor.js with Marcus Phillips and Fred Zirdung Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Hey, everyone. CHUCK: AJ O’Neal. AJ: I can hit unmute. I'm here. CHUCK: Jamison Dance. JAMISON: Hello, friends. CHUCK: Merrick Christensen. MERRICK: Hey, guys. CHUCK: I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas. NICHOLAS: Yup, you got it. CHUCK: So, since you haven’t been on the show before, do you want to introduce yourself? NICHOLAS: Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts. CHUCK: Yes, you're being modest. You have a book,
Panel Ben Alman (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Ryan Florence (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Ben Alman Introduction Bocoup 02:54 - “Cowboy” Cowboy Coder 06:53 - The Birth of Grunt Ender make rake jake 14:34 - Installing Globally & Plugins JSHint grunt-cli lodash async 20:43 - Managing the project and releasing new versions 22:32 - What is Grunt? What does it do? jQuery libsass SASS stylus 26:39 - Processes & Building Features node-task guard grunt-contrib-watch node-prolog 35:29 - The Node Community and reluctance towards Grunt 41:35 - Why the separation of task loading and configuration? 46:18 - Contributions and Contributing to Grunt 55:18 - What Ben would have done differently building Grunt Ease of Upgrade Picks Web Components (Ryan) Eliminate Sarcasm (Ryan) Bee and PuppyCat (Jamison) MONOPRICE (AJ) AJ O'Neal: Moving to GruntJS (AJ) The Best Map Ever Made of America’s Racial Segregation (Chuck) Clean Off Your Desk (Chuck) Polygon (Ben) My Brother, My Brother and Me (Ben) Echofon (Ben) Bocoup (Ben) Next Week Maintainable JavaScript with Nicholas Zakas Transcript RYAN: We’re potty training my son right now. So, I was up like eight times cleaning poo off of everything. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 74 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ: I’m eating beef jerky. CHUCK: Jamison Dance. JAMISON: Hello. CHUCK: We have a special guest. I guess you’re a guest in filling in for Merrick and Joe and that’s Ryan Florence. RYAN: Hey, how’s it going? I don’t know if I can fill two shoes, but I will try. CHUCK: Well, you have two feet, right? RYAN: Okay. Well, that’s four shoes. CHUCK: [Chuckles] I’m Charles Max Wood from DevChat.TV. We also have another special guest and that is Ben Alman. BEN: Yo! What’s up, everyone? CHUCK: So, do you want to introduce your self, Ben, since you haven’t been on the show before? BEN: I’m Ben Alman. Oh, okay. [Laughter] AJ: That’s not conceited. RYAN: That’s really all he needs. BEN: That’s it. The show’s over, roll credits. So yeah, I’m Ben. You can find me online as @cowboy on Twitter or GitHub and I’m at BenAlman.com. And if you Google me, I have finally got enough SEO juice to beat the other Ben Alman who’s the Orthopedic Surgeon for sick children in Canada. So screw you, guy who helps sick kids. [Laughter] BEN: No, it’s cool. It’s cool, right? But for a while, I was like, “Damn this guy.” But I can’t do anything because he helps sick children. So there’s another Benjamin Alman out there doing things for society and me, I just code. So, I work at Bocoup. We’re at Bocoup.com. Our logo is a rooster, Bob the Rooster, and we make a lot of cool web and open web and open source stuff. And so, I do training there. I teach people JavaScript and jQuery. But I also work on open source tools. I spend a lot of my time, actually, behind the scenes in Node writing JavaScript, experimenting, R&D, writing tools, et cetera. CHUCK: Awesome. So,
Panel Ben Alman (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Ryan Florence (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Ben Alman Introduction Bocoup 02:54 - “Cowboy” Cowboy Coder 06:53 - The Birth of Grunt Ender make rake jake 14:34 - Installing Globally & Plugins JSHint grunt-cli lodash async 20:43 - Managing the project and releasing new versions 22:32 - What is Grunt? What does it do? jQuery libsass SASS stylus 26:39 - Processes & Building Features node-task guard grunt-contrib-watch node-prolog 35:29 - The Node Community and reluctance towards Grunt 41:35 - Why the separation of task loading and configuration? 46:18 - Contributions and Contributing to Grunt 55:18 - What Ben would have done differently building Grunt Ease of Upgrade Picks Web Components (Ryan) Eliminate Sarcasm (Ryan) Bee and PuppyCat (Jamison) MONOPRICE (AJ) AJ O'Neal: Moving to GruntJS (AJ) The Best Map Ever Made of America’s Racial Segregation (Chuck) Clean Off Your Desk (Chuck) Polygon (Ben) My Brother, My Brother and Me (Ben) Echofon (Ben) Bocoup (Ben) Next Week Maintainable JavaScript with Nicholas Zakas Transcript RYAN: We’re potty training my son right now. So, I was up like eight times cleaning poo off of everything. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 74 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ: I’m eating beef jerky. CHUCK: Jamison Dance. JAMISON: Hello. CHUCK: We have a special guest. I guess you’re a guest in filling in for Merrick and Joe and that’s Ryan Florence. RYAN: Hey, how’s it going? I don’t know if I can fill two shoes, but I will try. CHUCK: Well, you have two feet, right? RYAN: Okay. Well, that’s four shoes. CHUCK: [Chuckles] I’m Charles Max Wood from DevChat.TV. We also have another special guest and that is Ben Alman. BEN: Yo! What’s up, everyone? CHUCK: So, do you want to introduce your self, Ben, since you haven’t been on the show before? BEN: I’m Ben Alman. Oh, okay. [Laughter] AJ: That’s not conceited. RYAN: That’s really all he needs. BEN: That’s it. The show’s over, roll credits. So yeah, I’m Ben. You can find me online as @cowboy on Twitter or GitHub and I’m at BenAlman.com. And if you Google me, I have finally got enough SEO juice to beat the other Ben Alman who’s the Orthopedic Surgeon for sick children in Canada. So screw you, guy who helps sick kids. [Laughter] BEN: No, it’s cool. It’s cool, right? But for a while, I was like, “Damn this guy.” But I can’t do anything because he helps sick children. So there’s another Benjamin Alman out there doing things for society and me, I just code. So, I work at Bocoup. We’re at Bocoup.com. Our logo is a rooster, Bob the Rooster, and we make a lot of cool web and open web and open source stuff. And so, I do training there. I teach people JavaScript and jQuery. But I also work on open source tools. I spend a lot of my time, actually, behind the scenes in Node writing JavaScript, experimenting, R&D, writing tools, et cetera. CHUCK: Awesome. So,
Panel Ben Alman (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Ryan Florence (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Ben Alman Introduction Bocoup 02:54 - “Cowboy” Cowboy Coder 06:53 - The Birth of Grunt Ender make rake jake 14:34 - Installing Globally & Plugins JSHint grunt-cli lodash async 20:43 - Managing the project and releasing new versions 22:32 - What is Grunt? What does it do? jQuery libsass SASS stylus 26:39 - Processes & Building Features node-task guard grunt-contrib-watch node-prolog 35:29 - The Node Community and reluctance towards Grunt 41:35 - Why the separation of task loading and configuration? 46:18 - Contributions and Contributing to Grunt 55:18 - What Ben would have done differently building Grunt Ease of Upgrade Picks Web Components (Ryan) Eliminate Sarcasm (Ryan) Bee and PuppyCat (Jamison) MONOPRICE (AJ) AJ O'Neal: Moving to GruntJS (AJ) The Best Map Ever Made of America’s Racial Segregation (Chuck) Clean Off Your Desk (Chuck) Polygon (Ben) My Brother, My Brother and Me (Ben) Echofon (Ben) Bocoup (Ben) Next Week Maintainable JavaScript with Nicholas Zakas Transcript RYAN: We’re potty training my son right now. So, I was up like eight times cleaning poo off of everything. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 74 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ: I’m eating beef jerky. CHUCK: Jamison Dance. JAMISON: Hello. CHUCK: We have a special guest. I guess you’re a guest in filling in for Merrick and Joe and that’s Ryan Florence. RYAN: Hey, how’s it going? I don’t know if I can fill two shoes, but I will try. CHUCK: Well, you have two feet, right? RYAN: Okay. Well, that’s four shoes. CHUCK: [Chuckles] I’m Charles Max Wood from DevChat.TV. We also have another special guest and that is Ben Alman. BEN: Yo! What’s up, everyone? CHUCK: So, do you want to introduce your self, Ben, since you haven’t been on the show before? BEN: I’m Ben Alman. Oh, okay. [Laughter] AJ: That’s not conceited. RYAN: That’s really all he needs. BEN: That’s it. The show’s over, roll credits. So yeah, I’m Ben. You can find me online as @cowboy on Twitter or GitHub and I’m at BenAlman.com. And if you Google me, I have finally got enough SEO juice to beat the other Ben Alman who’s the Orthopedic Surgeon for sick children in Canada. So screw you, guy who helps sick kids. [Laughter] BEN: No, it’s cool. It’s cool, right? But for a while, I was like, “Damn this guy.” But I can’t do anything because he helps sick children. So there’s another Benjamin Alman out there doing things for society and me, I just code. So, I work at Bocoup. We’re at Bocoup.com. Our logo is a rooster, Bob the Rooster, and we make a lot of cool web and open web and open source stuff. And so, I do training there. I teach people JavaScript and jQuery. But I also work on open source tools. I spend a lot of my time, actually, behind the scenes in Node writing JavaScript, experimenting, R&D, writing tools, et cetera. CHUCK: Awesome. So,
Panel Pete Hunt (twitter github blog) Jordan Walke (twitter github) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Pete Hunt Introduction Instagram Facebook 02:45 - Jordan Walke Introduction 04:15 - React React - GitHub 06:38 - 60 Frames Per Second 09:34 - Data Binding 12:31 - Performance 17:39 - Diffing Algorithm 19:36 - DOM Manipulation 23:06 - Supporting node.js 24:03 - rendr 26:02 - JSX 30:31 - requestAnimationFrame 34:15 - React and Applications 38:12 - React Users Khan Academy 39:53 - Making it work Picks Ben Mabey: Clojure Plain & Simple (Jamison) JSConf 2013 Videos (Jamison) Kittens (Jamison) PBS Idea Channel (AJ) Free Trial SSL (AJ) OSX Wifi Volume Remote Control (AJ) js-git (Merrick) vim-airline (Merrick) MLS LIVE (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Hire Chuck (Chuck) GoToMeeting (Chuck) ScreenFlow (Chuck) syriandeveloper (Pete) jsFiddle (Pete) Hotel Tonight (Pete) Green Flash Brewery Beer: Palate Wrecker (Jordan) All Things Vim (Jordan) Next Week Grunt.js with Ben Alman Transcript JAMISON: Joe is Merrick’s personal assistant. CHUCK: [Laughter] MERRICK: No, we’re just in this little room and he had, he was like, “Yeah” JOE: Want me to freshen up your coffee, sir? [Chuckles] JAMISON: Feed me some tacos, Joe. [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out atJjetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 73 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Live again from Provo. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: Merrick Christensen. MERRICK: Hey guys. CHUCK: I’m Charles Max Wood from DevChat.TV and we have two special guests this week. Pete Hunt. PETE: Hey guys. CHUCK: And Jordan Walke. JORDAN: Hi. CHUCK: Since you guys haven’t been on the show before, do you want to introduce yourselves? We’ll have Pete go first. PETE: Sure. So my name’s Pete. I work on general React stuff these days. But my day job is building the Instagram web experience. If you go to Instagram.com, we have a bunch of frontend stuff you can play with and a bunch of backend infrastructure that supports all that. That’s what I mostly work on. We’re big users of React at Instagram so I ended up contributing a lot to the React core as well. JAMISON: So did you come from Instagram or from Facebook and then to work on Instagram? PETE: Well it was actually a pretty good story just in terms of the integration of the two companies. I was originally at Facebook for a couple of years and we acquired Instagram and they came in and they wanted to build a web presence. Facebook’s core competency is definitely web technologies and Instagram hasn’t historically focused on that. So we were able to take the Facebook web expertise and get Instagram up and running really quickly. I came from the Facebook side but the team is still very much a separate team, their own building, that kind of thing. So that’s my background. CHUCK: Awesome. JAMISON: Sweet. CHUCK: And Jordan?
Panel Pete Hunt (twitter github blog) Jordan Walke (twitter github) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Pete Hunt Introduction Instagram Facebook 02:45 - Jordan Walke Introduction 04:15 - React React - GitHub 06:38 - 60 Frames Per Second 09:34 - Data Binding 12:31 - Performance 17:39 - Diffing Algorithm 19:36 - DOM Manipulation 23:06 - Supporting node.js 24:03 - rendr 26:02 - JSX 30:31 - requestAnimationFrame 34:15 - React and Applications 38:12 - React Users Khan Academy 39:53 - Making it work Picks Ben Mabey: Clojure Plain & Simple (Jamison) JSConf 2013 Videos (Jamison) Kittens (Jamison) PBS Idea Channel (AJ) Free Trial SSL (AJ) OSX Wifi Volume Remote Control (AJ) js-git (Merrick) vim-airline (Merrick) MLS LIVE (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Hire Chuck (Chuck) GoToMeeting (Chuck) ScreenFlow (Chuck) syriandeveloper (Pete) jsFiddle (Pete) Hotel Tonight (Pete) Green Flash Brewery Beer: Palate Wrecker (Jordan) All Things Vim (Jordan) Next Week Grunt.js with Ben Alman Transcript JAMISON: Joe is Merrick’s personal assistant. CHUCK: [Laughter] MERRICK: No, we’re just in this little room and he had, he was like, “Yeah” JOE: Want me to freshen up your coffee, sir? [Chuckles] JAMISON: Feed me some tacos, Joe. [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out atJjetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 73 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Live again from Provo. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: Merrick Christensen. MERRICK: Hey guys. CHUCK: I’m Charles Max Wood from DevChat.TV and we have two special guests this week. Pete Hunt. PETE: Hey guys. CHUCK: And Jordan Walke. JORDAN: Hi. CHUCK: Since you guys haven’t been on the show before, do you want to introduce yourselves? We’ll have Pete go first. PETE: Sure. So my name’s Pete. I work on general React stuff these days. But my day job is building the Instagram web experience. If you go to Instagram.com, we have a bunch of frontend stuff you can play with and a bunch of backend infrastructure that supports all that. That’s what I mostly work on. We’re big users of React at Instagram so I ended up contributing a lot to the React core as well. JAMISON: So did you come from Instagram or from Facebook and then to work on Instagram? PETE: Well it was actually a pretty good story just in terms of the integration of the two companies. I was originally at Facebook for a couple of years and we acquired Instagram and they came in and they wanted to build a web presence. Facebook’s core competency is definitely web technologies and Instagram hasn’t historically focused on that. So we were able to take the Facebook web expertise and get Instagram up and running really quickly. I came from the Facebook side but the team is still very much a separate team, their own building, that kind of thing. So that’s my background. CHUCK: Awesome. JAMISON: Sweet. CHUCK: And Jordan?
Panel Pete Hunt (twitter github blog) Jordan Walke (twitter github) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Pete Hunt Introduction Instagram Facebook 02:45 - Jordan Walke Introduction 04:15 - React React - GitHub 06:38 - 60 Frames Per Second 09:34 - Data Binding 12:31 - Performance 17:39 - Diffing Algorithm 19:36 - DOM Manipulation 23:06 - Supporting node.js 24:03 - rendr 26:02 - JSX 30:31 - requestAnimationFrame 34:15 - React and Applications 38:12 - React Users Khan Academy 39:53 - Making it work Picks Ben Mabey: Clojure Plain & Simple (Jamison) JSConf 2013 Videos (Jamison) Kittens (Jamison) PBS Idea Channel (AJ) Free Trial SSL (AJ) OSX Wifi Volume Remote Control (AJ) js-git (Merrick) vim-airline (Merrick) MLS LIVE (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Hire Chuck (Chuck) GoToMeeting (Chuck) ScreenFlow (Chuck) syriandeveloper (Pete) jsFiddle (Pete) Hotel Tonight (Pete) Green Flash Brewery Beer: Palate Wrecker (Jordan) All Things Vim (Jordan) Next Week Grunt.js with Ben Alman Transcript JAMISON: Joe is Merrick’s personal assistant. CHUCK: [Laughter] MERRICK: No, we’re just in this little room and he had, he was like, “Yeah” JOE: Want me to freshen up your coffee, sir? [Chuckles] JAMISON: Feed me some tacos, Joe. [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out atJjetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to episode 73 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Live again from Provo. CHUCK: Jamison Dance. JAMISON: Hey friends. CHUCK: Merrick Christensen. MERRICK: Hey guys. CHUCK: I’m Charles Max Wood from DevChat.TV and we have two special guests this week. Pete Hunt. PETE: Hey guys. CHUCK: And Jordan Walke. JORDAN: Hi. CHUCK: Since you guys haven’t been on the show before, do you want to introduce yourselves? We’ll have Pete go first. PETE: Sure. So my name’s Pete. I work on general React stuff these days. But my day job is building the Instagram web experience. If you go to Instagram.com, we have a bunch of frontend stuff you can play with and a bunch of backend infrastructure that supports all that. That’s what I mostly work on. We’re big users of React at Instagram so I ended up contributing a lot to the React core as well. JAMISON: So did you come from Instagram or from Facebook and then to work on Instagram? PETE: Well it was actually a pretty good story just in terms of the integration of the two companies. I was originally at Facebook for a couple of years and we acquired Instagram and they came in and they wanted to build a web presence. Facebook’s core competency is definitely web technologies and Instagram hasn’t historically focused on that. So we were able to take the Facebook web expertise and get Instagram up and running really quickly. I came from the Facebook side but the team is still very much a separate team, their own building, that kind of thing. So that’s my background. CHUCK: Awesome. JAMISON: Sweet. CHUCK: And Jordan?
Panel Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:31 - Screencasting Experience Pluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck 02:44 - Getting into Screencasting 06:16 - Screencasting and JavaScript Jabber Sharing Knowledge RailsCasts (Ruby) NSScreencast (iOS) 09:45 - JavaScript Screencasts Embercasts egghead.io (Angular) PeepCode YouTube 10:54 - Conference Talks vs Screencasts 14:34 - Blog Posts vs Screencasts 17:58 - Recording Screencasts (Tools) Camtasia ScreenFlow Jing 22:59 - Voiceovers vs Typing and Talking 26:17 - Audio Quality Blue Snowball Blue Yeti Shure SM58 28:53 - Editing Software Adobe Premier Pro Final Cut Pro Video Hive 33:27 - Preparing for Screencasts Large Font Closed-Captioning 40:23 - Videos of Yourself with Screencasts Wistia Transcripts Picks RequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck) Next Week React with Jordan Walke and Pete Hunt Transcript JOE: Well, you can represent the newbie perspective then. CHUCK: Yup. JAMISON: That’s my default job on this podcast. [Laughter] CHUCK: No, that’s my job, believe me. JOE: Au contraire, mon frère. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done? JAMISON: None. JOE: [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting. CHUCK: Nice. JAMISON: When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this? JOE: Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that. CHUCK: Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right? JOE: [Chuckles] Yeah. Exactly when I’ll be an expert. CHUCK: That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.
Panel Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:31 - Screencasting Experience Pluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck 02:44 - Getting into Screencasting 06:16 - Screencasting and JavaScript Jabber Sharing Knowledge RailsCasts (Ruby) NSScreencast (iOS) 09:45 - JavaScript Screencasts Embercasts egghead.io (Angular) PeepCode YouTube 10:54 - Conference Talks vs Screencasts 14:34 - Blog Posts vs Screencasts 17:58 - Recording Screencasts (Tools) Camtasia ScreenFlow Jing 22:59 - Voiceovers vs Typing and Talking 26:17 - Audio Quality Blue Snowball Blue Yeti Shure SM58 28:53 - Editing Software Adobe Premier Pro Final Cut Pro Video Hive 33:27 - Preparing for Screencasts Large Font Closed-Captioning 40:23 - Videos of Yourself with Screencasts Wistia Transcripts Picks RequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck) Next Week React with Jordan Walke and Pete Hunt Transcript JOE: Well, you can represent the newbie perspective then. CHUCK: Yup. JAMISON: That’s my default job on this podcast. [Laughter] CHUCK: No, that’s my job, believe me. JOE: Au contraire, mon frère. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done? JAMISON: None. JOE: [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting. CHUCK: Nice. JAMISON: When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this? JOE: Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that. CHUCK: Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right? JOE: [Chuckles] Yeah. Exactly when I’ll be an expert. CHUCK: That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.
Panel Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:31 - Screencasting Experience Pluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck 02:44 - Getting into Screencasting 06:16 - Screencasting and JavaScript Jabber Sharing Knowledge RailsCasts (Ruby) NSScreencast (iOS) 09:45 - JavaScript Screencasts Embercasts egghead.io (Angular) PeepCode YouTube 10:54 - Conference Talks vs Screencasts 14:34 - Blog Posts vs Screencasts 17:58 - Recording Screencasts (Tools) Camtasia ScreenFlow Jing 22:59 - Voiceovers vs Typing and Talking 26:17 - Audio Quality Blue Snowball Blue Yeti Shure SM58 28:53 - Editing Software Adobe Premier Pro Final Cut Pro Video Hive 33:27 - Preparing for Screencasts Large Font Closed-Captioning 40:23 - Videos of Yourself with Screencasts Wistia Transcripts Picks RequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck) Next Week React with Jordan Walke and Pete Hunt Transcript JOE: Well, you can represent the newbie perspective then. CHUCK: Yup. JAMISON: That’s my default job on this podcast. [Laughter] CHUCK: No, that’s my job, believe me. JOE: Au contraire, mon frère. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON: Hello. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done? JAMISON: None. JOE: [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting. CHUCK: Nice. JAMISON: When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this? JOE: Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that. CHUCK: Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right? JOE: [Chuckles] Yeah. Exactly when I’ll be an expert. CHUCK: That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.
Panel Reginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:08 - Reg Braithwaite Introduction Github 03:46 - JavaScript Allongé by Reginald Braithwaite 06:43 - The Y Combinator Kestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite 14:26 - Book Summary/Perspective Functions QED, The Strange Theory of Light and Matter by Richard P. Feynman 21:37 - Footnotes Flashman: A Novel by George MacDonald Fraser 26:42 - allong.es Michael Fogus 29:15 - Sharing Knowledge & Information 33:01 - The Coffee Theme CoffeeScript Ristretto by Reginald Braithwaite 37:42 - Favorite Parts of the Book How Prototypes Work Combinators 42:18 - Writing the Beginning 44:41 - Reg’s Programming Background One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow Picks ng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald) Special Offer! JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY! Next Week JavaScript Strategies at Microsoft with Scott Hanselman Transcript MERRICK: Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!” [Laughter] AJ: Nice. REG: That behavior is always acceptable if you are dressed for the part. [Laughter] CHUCK: Since this is pure audio, you don’t even have to be dressed. JOE: I have a pair of parachute pants. MERRICK: I actually record most of this show while I'm in the bathtub. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Still coming at you almost live from San Francisco. CHUCK: Merrick Christensen. MERRICK: What’s up guys? CHUCK: There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite. REG: Pleased to be here with you. MERRICK: That was a real voice if I’ve ever heard one. JOE: Yeah. Awesome. CHUCK: No kidding. We should have you do some voice overs for us. MERRICK: We should. CHUCK: You’re listening to JavaScript Jabber. [Chuckles] AJ: Say, “In a world…” [Chuckles] REG: In a world… CHUCK: Anyway… [Laughter] AJ: Derailed, derailed. CHUCK: Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly? REG: Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,
Panel Reginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:08 - Reg Braithwaite Introduction Github 03:46 - JavaScript Allongé by Reginald Braithwaite 06:43 - The Y Combinator Kestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite 14:26 - Book Summary/Perspective Functions QED, The Strange Theory of Light and Matter by Richard P. Feynman 21:37 - Footnotes Flashman: A Novel by George MacDonald Fraser 26:42 - allong.es Michael Fogus 29:15 - Sharing Knowledge & Information 33:01 - The Coffee Theme CoffeeScript Ristretto by Reginald Braithwaite 37:42 - Favorite Parts of the Book How Prototypes Work Combinators 42:18 - Writing the Beginning 44:41 - Reg’s Programming Background One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow Picks ng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald) Special Offer! JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY! Next Week JavaScript Strategies at Microsoft with Scott Hanselman Transcript MERRICK: Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!” [Laughter] AJ: Nice. REG: That behavior is always acceptable if you are dressed for the part. [Laughter] CHUCK: Since this is pure audio, you don’t even have to be dressed. JOE: I have a pair of parachute pants. MERRICK: I actually record most of this show while I'm in the bathtub. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Still coming at you almost live from San Francisco. CHUCK: Merrick Christensen. MERRICK: What’s up guys? CHUCK: There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite. REG: Pleased to be here with you. MERRICK: That was a real voice if I’ve ever heard one. JOE: Yeah. Awesome. CHUCK: No kidding. We should have you do some voice overs for us. MERRICK: We should. CHUCK: You’re listening to JavaScript Jabber. [Chuckles] AJ: Say, “In a world…” [Chuckles] REG: In a world… CHUCK: Anyway… [Laughter] AJ: Derailed, derailed. CHUCK: Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly? REG: Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,
Panel Reginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:08 - Reg Braithwaite Introduction Github 03:46 - JavaScript Allongé by Reginald Braithwaite 06:43 - The Y Combinator Kestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite 14:26 - Book Summary/Perspective Functions QED, The Strange Theory of Light and Matter by Richard P. Feynman 21:37 - Footnotes Flashman: A Novel by George MacDonald Fraser 26:42 - allong.es Michael Fogus 29:15 - Sharing Knowledge & Information 33:01 - The Coffee Theme CoffeeScript Ristretto by Reginald Braithwaite 37:42 - Favorite Parts of the Book How Prototypes Work Combinators 42:18 - Writing the Beginning 44:41 - Reg’s Programming Background One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow Picks ng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald) Special Offer! JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY! Next Week JavaScript Strategies at Microsoft with Scott Hanselman Transcript MERRICK: Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!” [Laughter] AJ: Nice. REG: That behavior is always acceptable if you are dressed for the part. [Laughter] CHUCK: Since this is pure audio, you don’t even have to be dressed. JOE: I have a pair of parachute pants. MERRICK: I actually record most of this show while I'm in the bathtub. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: AJ O’Neal. AJ: Still coming at you almost live from San Francisco. CHUCK: Merrick Christensen. MERRICK: What’s up guys? CHUCK: There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite. REG: Pleased to be here with you. MERRICK: That was a real voice if I’ve ever heard one. JOE: Yeah. Awesome. CHUCK: No kidding. We should have you do some voice overs for us. MERRICK: We should. CHUCK: You’re listening to JavaScript Jabber. [Chuckles] AJ: Say, “In a world…” [Chuckles] REG: In a world… CHUCK: Anyway… [Laughter] AJ: Derailed, derailed. CHUCK: Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly? REG: Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,
Panel Jake Archibald (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Jake Archibald Introduction Works on Developer Relations on the Google Chrome Team 01:57 - The Application Cache Eric Bidelman: A Beginner's Guide to Using the Application Cache - HTML5 Rocks Down Fall 07:12 - Working with Single Page Apps 08:40 - Detecting Connectivity Express.js Yehuda Katz: Extend the Web Forward 15:42 - Running Offline 19:55 - Generating Manifest Files Grunt Task for App Cache Manifests 26:34 - NavigationController 28:49 - Progressive Enhancement Jake Archibald: Progressive enhancement is still Important 059 JSJ jQuery Mobile with Todd Parker 058 JSJ Building Accessible Websites with Brian Hogan Feature Detection Modernizr SEO Picks Arduino (Jamison) Draft (Jamison) RoboRally (Chuck) Adobe Audition CS6 (Chuck) Blue Microphones Yeti USB Microphone - Silver Edition (Chuck) async-generators (Jake) Rick Byers: DevTools just got a cool new feature in Chrome canary (Jake) johnny-five (Jamison) Next Week Book Club: JavaScript Allongé with Reginald Braithwaite Transcript CHUCK: Maybe we’ll just talk about your general smarty-pants-ness. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 69 the JavaScript Jabber Show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: I’m Charles Max Wood from DevChat.TV. And we have a special guest and that is Jake Archibald. JAKE: Hello. CHUCK: Jake, do you want to introduce yourself for the folks who haven’t heard of you before? JAKE: Sure thing. I work on the Google Chrome team as part of DevRel. What I’m doing there is a combination of speaking at conferences about particular stuff. I got to do a lot in performance at the moment, but I also do a lot of standards work where I’ve done a lot with an alternative to application cache, which we’ll be talking about, but also looking at things like script loading and some of the resource priority stuff. CHUCK: Cool. So it sounds like you’re smart on a number of levels then. JAKE: Or dumb at all. [Chuckles] I can only see what I work on. I don’t know if I’m any good at it. [Chuckles] CHUCK: So we brought you on to talk about the application cache. I’m not completely sure I know what is totally involved there. Is it just the cache like you clear the browser cache cache or is it something else? JAKE: Well. the aim for the application cache was to let you make a site that works offline. So we’ve got the http cache and that works, in a manner of speaking. But if you have, say a website where you’ve cached your JavaScript, you’ve cached your CSS. You’ve cached your html page and some images. That’s great, but the user will visit another website and the browser will go and delete the CSS file from your site from the cache just to make room for the stuff from this other site. That means that if we were just going to use the http cache for making things work offline, people go to your site, your html’s there, your images are there, your JavaScript’s there, but your CSS is not and that’s going to break your site.
Panel Jake Archibald (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Jake Archibald Introduction Works on Developer Relations on the Google Chrome Team 01:57 - The Application Cache Eric Bidelman: A Beginner's Guide to Using the Application Cache - HTML5 Rocks Down Fall 07:12 - Working with Single Page Apps 08:40 - Detecting Connectivity Express.js Yehuda Katz: Extend the Web Forward 15:42 - Running Offline 19:55 - Generating Manifest Files Grunt Task for App Cache Manifests 26:34 - NavigationController 28:49 - Progressive Enhancement Jake Archibald: Progressive enhancement is still Important 059 JSJ jQuery Mobile with Todd Parker 058 JSJ Building Accessible Websites with Brian Hogan Feature Detection Modernizr SEO Picks Arduino (Jamison) Draft (Jamison) RoboRally (Chuck) Adobe Audition CS6 (Chuck) Blue Microphones Yeti USB Microphone - Silver Edition (Chuck) async-generators (Jake) Rick Byers: DevTools just got a cool new feature in Chrome canary (Jake) johnny-five (Jamison) Next Week Book Club: JavaScript Allongé with Reginald Braithwaite Transcript CHUCK: Maybe we’ll just talk about your general smarty-pants-ness. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 69 the JavaScript Jabber Show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: I’m Charles Max Wood from DevChat.TV. And we have a special guest and that is Jake Archibald. JAKE: Hello. CHUCK: Jake, do you want to introduce yourself for the folks who haven’t heard of you before? JAKE: Sure thing. I work on the Google Chrome team as part of DevRel. What I’m doing there is a combination of speaking at conferences about particular stuff. I got to do a lot in performance at the moment, but I also do a lot of standards work where I’ve done a lot with an alternative to application cache, which we’ll be talking about, but also looking at things like script loading and some of the resource priority stuff. CHUCK: Cool. So it sounds like you’re smart on a number of levels then. JAKE: Or dumb at all. [Chuckles] I can only see what I work on. I don’t know if I’m any good at it. [Chuckles] CHUCK: So we brought you on to talk about the application cache. I’m not completely sure I know what is totally involved there. Is it just the cache like you clear the browser cache cache or is it something else? JAKE: Well. the aim for the application cache was to let you make a site that works offline. So we’ve got the http cache and that works, in a manner of speaking. But if you have, say a website where you’ve cached your JavaScript, you’ve cached your CSS. You’ve cached your html page and some images. That’s great, but the user will visit another website and the browser will go and delete the CSS file from your site from the cache just to make room for the stuff from this other site. That means that if we were just going to use the http cache for making things work offline, people go to your site, your html’s there, your images are there, your JavaScript’s there, but your CSS is not and that’s going to break your site.
Panel Jake Archibald (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Jake Archibald Introduction Works on Developer Relations on the Google Chrome Team 01:57 - The Application Cache Eric Bidelman: A Beginner's Guide to Using the Application Cache - HTML5 Rocks Down Fall 07:12 - Working with Single Page Apps 08:40 - Detecting Connectivity Express.js Yehuda Katz: Extend the Web Forward 15:42 - Running Offline 19:55 - Generating Manifest Files Grunt Task for App Cache Manifests 26:34 - NavigationController 28:49 - Progressive Enhancement Jake Archibald: Progressive enhancement is still Important 059 JSJ jQuery Mobile with Todd Parker 058 JSJ Building Accessible Websites with Brian Hogan Feature Detection Modernizr SEO Picks Arduino (Jamison) Draft (Jamison) RoboRally (Chuck) Adobe Audition CS6 (Chuck) Blue Microphones Yeti USB Microphone - Silver Edition (Chuck) async-generators (Jake) Rick Byers: DevTools just got a cool new feature in Chrome canary (Jake) johnny-five (Jamison) Next Week Book Club: JavaScript Allongé with Reginald Braithwaite Transcript CHUCK: Maybe we’ll just talk about your general smarty-pants-ness. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody and welcome to Episode 69 the JavaScript Jabber Show. This week on our panel we have Jamison Dance. JAMISON: Hello friends. CHUCK: I’m Charles Max Wood from DevChat.TV. And we have a special guest and that is Jake Archibald. JAKE: Hello. CHUCK: Jake, do you want to introduce yourself for the folks who haven’t heard of you before? JAKE: Sure thing. I work on the Google Chrome team as part of DevRel. What I’m doing there is a combination of speaking at conferences about particular stuff. I got to do a lot in performance at the moment, but I also do a lot of standards work where I’ve done a lot with an alternative to application cache, which we’ll be talking about, but also looking at things like script loading and some of the resource priority stuff. CHUCK: Cool. So it sounds like you’re smart on a number of levels then. JAKE: Or dumb at all. [Chuckles] I can only see what I work on. I don’t know if I’m any good at it. [Chuckles] CHUCK: So we brought you on to talk about the application cache. I’m not completely sure I know what is totally involved there. Is it just the cache like you clear the browser cache cache or is it something else? JAKE: Well. the aim for the application cache was to let you make a site that works offline. So we’ve got the http cache and that works, in a manner of speaking. But if you have, say a website where you’ve cached your JavaScript, you’ve cached your CSS. You’ve cached your html page and some images. That’s great, but the user will visit another website and the browser will go and delete the CSS file from your site from the cache just to make room for the stuff from this other site. That means that if we were just going to use the http cache for making things work offline, people go to your site, your html’s there, your images are there, your JavaScript’s there, but your CSS is not and that’s going to break your site.
Panel Aaron Frost (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Discussion 01:36 - Aaron Frost Introduction Web Developer at Domo 1.21 Gigawatts – Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) JS.next: A Manager’s Guide by Aaron Frost 02:21 - ECMAScript and JavaScript Brendan Eich talking about the Lord Of The Rings Comparison JScript ActionScript 06:02 - TC39 on ECMA Notes from the TC39 Meetings 06:44 - ECMAScript:Harmony 09:59 - ES6 Features Arrow Functions/Lambdas Lexical Scoping Destructioning Spreading Sets & Maps Equivalent Detection Generators Binary Data 12:17 - Arrow Functions 14:23 - Data Proofing Functions 15:35 - Destructuring Paths/Nested Destructuring Destructuring Patterns 17:59 - Default Values 18:49 - Rest & Default Parameters 20:39 - Let Variable Hoisting Traceur Compiler grunt-traceur Let Expressions & Statements Blocks & Block Scopes temporal-dead-zone.js 27:20 - Generators 28:39 - The Module System 29:48 - Template Strings 32:05 - Aaron’s Opinion of Internet Explorer 36:01 - Using ES6 Today Tracer Compiler 39:18 - Designing a New Language Picks Pacific Rim (Joe) That Conference (Joe) PHOX (Merrick) Sqwiggle (Jamison) NodeConf (Jamison) Jon Hopkins - Immunity (Jamison) Tombstone (Aaron) Justin Timberlake - The 20/20 Experience (Aaron) Book Club JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week The Application Cache with Jake Archibald Transcript JAMISON: Are you guys going to do a doo-wop chorus? I feel like with you all sharing the same microphone, we need some sick vocal harmony. MERRICK: I wouldn’t mind starting a JS Jabber a cappella group. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] JAMISON: Hey everybody and welcome to JavaScript Jabber Episode 68. I am your guest host, Jamison Dance. Chuck is at LoneStar Ruby Conf this week. We have Merrick Christensen. MERRICK: What’s up? JAMISON: We have Joe Eames. JOE: Hey there. JAMISON: And we have an incredibly special guest, Aaron Frost. AARON: Hello. MERRICK: [Laughter] What? JAMISON: And he is not British. AARON: Coming from across the pond. MERRICK: Once you’re gone, I’m going to start using that as my greeting. AARON: Well, I wish my name was like that one guy, the Allonge, Reginald Braithwaite. [Laughter] AARON: Where it’s like your name’s in British. JOE: Yes. Your accent, no. Oh, I would have my name be Benedict Cumberbatch. AARON: That’s pretty British too, that name. JOE: That’s a very British name, yeah. AARON: Wellington something. [Laughter] JAMISON: Then you would be the archduke of JavaScript. AARON: Yeah. JOE: Oh, that would be an awesome title. AARON: That’d be great. It’s a good title. MERRICK: So Jamison, do you want to talk about why we have Aaron on the show? JAMISON: Yeah, I was going to ask him to introduce himself. AARON: Oh, great. I’m a web developer at an awesome company called Domo. JOE: But what’s your official title? AARON: Officially, I don’t know. What are you playing at? [Laughter] AARON: Maybe an open web strategist. JOE: There you go. JAMISON: Social media expert? AARON: I don’t know. But I work on our UI team and we’re getting ready to push out a really awesome release that everyone’s going to love. I’m also an author. I’ve published a short book with O’Reilly in May and working on another book.
Panel Aaron Frost (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Discussion 01:36 - Aaron Frost Introduction Web Developer at Domo 1.21 Gigawatts – Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) JS.next: A Manager’s Guide by Aaron Frost 02:21 - ECMAScript and JavaScript Brendan Eich talking about the Lord Of The Rings Comparison JScript ActionScript 06:02 - TC39 on ECMA Notes from the TC39 Meetings 06:44 - ECMAScript:Harmony 09:59 - ES6 Features Arrow Functions/Lambdas Lexical Scoping Destructioning Spreading Sets & Maps Equivalent Detection Generators Binary Data 12:17 - Arrow Functions 14:23 - Data Proofing Functions 15:35 - Destructuring Paths/Nested Destructuring Destructuring Patterns 17:59 - Default Values 18:49 - Rest & Default Parameters 20:39 - Let Variable Hoisting Traceur Compiler grunt-traceur Let Expressions & Statements Blocks & Block Scopes temporal-dead-zone.js 27:20 - Generators 28:39 - The Module System 29:48 - Template Strings 32:05 - Aaron’s Opinion of Internet Explorer 36:01 - Using ES6 Today Tracer Compiler 39:18 - Designing a New Language Picks Pacific Rim (Joe) That Conference (Joe) PHOX (Merrick) Sqwiggle (Jamison) NodeConf (Jamison) Jon Hopkins - Immunity (Jamison) Tombstone (Aaron) Justin Timberlake - The 20/20 Experience (Aaron) Book Club JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week The Application Cache with Jake Archibald Transcript JAMISON: Are you guys going to do a doo-wop chorus? I feel like with you all sharing the same microphone, we need some sick vocal harmony. MERRICK: I wouldn’t mind starting a JS Jabber a cappella group. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] JAMISON: Hey everybody and welcome to JavaScript Jabber Episode 68. I am your guest host, Jamison Dance. Chuck is at LoneStar Ruby Conf this week. We have Merrick Christensen. MERRICK: What’s up? JAMISON: We have Joe Eames. JOE: Hey there. JAMISON: And we have an incredibly special guest, Aaron Frost. AARON: Hello. MERRICK: [Laughter] What? JAMISON: And he is not British. AARON: Coming from across the pond. MERRICK: Once you’re gone, I’m going to start using that as my greeting. AARON: Well, I wish my name was like that one guy, the Allonge, Reginald Braithwaite. [Laughter] AARON: Where it’s like your name’s in British. JOE: Yes. Your accent, no. Oh, I would have my name be Benedict Cumberbatch. AARON: That’s pretty British too, that name. JOE: That’s a very British name, yeah. AARON: Wellington something. [Laughter] JAMISON: Then you would be the archduke of JavaScript. AARON: Yeah. JOE: Oh, that would be an awesome title. AARON: That’d be great. It’s a good title. MERRICK: So Jamison, do you want to talk about why we have Aaron on the show? JAMISON: Yeah, I was going to ask him to introduce himself. AARON: Oh, great. I’m a web developer at an awesome company called Domo. JOE: But what’s your official title? AARON: Officially, I don’t know. What are you playing at? [Laughter] AARON: Maybe an open web strategist. JOE: There you go. JAMISON: Social media expert? AARON: I don’t know. But I work on our UI team and we’re getting ready to push out a really awesome release that everyone’s going to love. I’m also an author. I’ve published a short book with O’Reilly in May and working on another book.
Panel Aaron Frost (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Discussion 01:36 - Aaron Frost Introduction Web Developer at Domo 1.21 Gigawatts – Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) JS.next: A Manager’s Guide by Aaron Frost 02:21 - ECMAScript and JavaScript Brendan Eich talking about the Lord Of The Rings Comparison JScript ActionScript 06:02 - TC39 on ECMA Notes from the TC39 Meetings 06:44 - ECMAScript:Harmony 09:59 - ES6 Features Arrow Functions/Lambdas Lexical Scoping Destructioning Spreading Sets & Maps Equivalent Detection Generators Binary Data 12:17 - Arrow Functions 14:23 - Data Proofing Functions 15:35 - Destructuring Paths/Nested Destructuring Destructuring Patterns 17:59 - Default Values 18:49 - Rest & Default Parameters 20:39 - Let Variable Hoisting Traceur Compiler grunt-traceur Let Expressions & Statements Blocks & Block Scopes temporal-dead-zone.js 27:20 - Generators 28:39 - The Module System 29:48 - Template Strings 32:05 - Aaron’s Opinion of Internet Explorer 36:01 - Using ES6 Today Tracer Compiler 39:18 - Designing a New Language Picks Pacific Rim (Joe) That Conference (Joe) PHOX (Merrick) Sqwiggle (Jamison) NodeConf (Jamison) Jon Hopkins - Immunity (Jamison) Tombstone (Aaron) Justin Timberlake - The 20/20 Experience (Aaron) Book Club JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week The Application Cache with Jake Archibald Transcript JAMISON: Are you guys going to do a doo-wop chorus? I feel like with you all sharing the same microphone, we need some sick vocal harmony. MERRICK: I wouldn’t mind starting a JS Jabber a cappella group. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] JAMISON: Hey everybody and welcome to JavaScript Jabber Episode 68. I am your guest host, Jamison Dance. Chuck is at LoneStar Ruby Conf this week. We have Merrick Christensen. MERRICK: What’s up? JAMISON: We have Joe Eames. JOE: Hey there. JAMISON: And we have an incredibly special guest, Aaron Frost. AARON: Hello. MERRICK: [Laughter] What? JAMISON: And he is not British. AARON: Coming from across the pond. MERRICK: Once you’re gone, I’m going to start using that as my greeting. AARON: Well, I wish my name was like that one guy, the Allonge, Reginald Braithwaite. [Laughter] AARON: Where it’s like your name’s in British. JOE: Yes. Your accent, no. Oh, I would have my name be Benedict Cumberbatch. AARON: That’s pretty British too, that name. JOE: That’s a very British name, yeah. AARON: Wellington something. [Laughter] JAMISON: Then you would be the archduke of JavaScript. AARON: Yeah. JOE: Oh, that would be an awesome title. AARON: That’d be great. It’s a good title. MERRICK: So Jamison, do you want to talk about why we have Aaron on the show? JAMISON: Yeah, I was going to ask him to introduce himself. AARON: Oh, great. I’m a web developer at an awesome company called Domo. JOE: But what’s your official title? AARON: Officially, I don’t know. What are you playing at? [Laughter] AARON: Maybe an open web strategist. JOE: There you go. JAMISON: Social media expert? AARON: I don’t know. But I work on our UI team and we’re getting ready to push out a really awesome release that everyone’s going to love. I’m also an author. I’ve published a short book with O’Reilly in May and working on another book.
Panel Adam Hawkins (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:16 - Adam Hawkins Introduction JavaScript Application Build Tools: Adam Hawkins 003 JSJ Build Tools 01:51 - What Are Build Tools? 02:46 - Build Process Ember.js CoffeeScript Sass Grunt.js Yeoman RequireJS minispade jQuery 09:15 - Minification Handlebars.js barber 10:30 - Ruby on Rails Client-Side Applications 16:43 - Chuck’s Build Process 17:32 - Joe’s Build Process 18:54 - Source Maps Concatenation 24:09 - iridium rake-pipeline Brunch 32:56 - Recommendations for Building 35:23 - Testing QUnit Picks Sub Rosa (Jamison) biggie (Jamison) Kingdom Rush Frontiers (Joe) The Rithmatist by Brandon Sanderson (Joe) Ward Cunningham (Joe) Speedtest.net (Chuck) ThemeForest (Chuck) Solo Piano Radio (Adam) ConvertKit (Adam) Staticly (Adam) Next Week Transitioning to JavaScript Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 65 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Adam Hawkins. ADAM: Hey, how you guys doing? CHUCK: Terrific. So, you want to introduce your self since you’re new to the show? ADAM: Yeah. My name is Adam Hawkins. I’m primarily a Ruby guy but have come to the JavaScript world through Ember and browser applications. I’ve been here now for about a year and a half and just learning as I go along, CHUCK: Nice. So anyway, you recommended that we talk about build tools and then you wrote a blog post about it. We talked about build tools, I think on Episode 2 or 3 or something. In your mind, what are build tools? ADAM: Well, I think a build tool is something that you need to create a JavaScript application. There is a distinction between, say maybe an application or something [inaudible] that needs CoffeeScript or something like that versus a full-blown application that runs on the browser which needs modules, asset pre-compilation, templates, all those sorts of stuff, and testing and things like that. So, on one end, you have build tools that simply do the compilation and the concatenation, and then you have other tools that aim to be like a whole development environment. So, there is a large spectrum and you just have to choose which you need, basically. CHUCK: What kind of a build process do you guys have on the projects that you work on? ADAM: Well, okay. My background is, we are building a CRM with Ember.js and we needed a lot of different things. Well, my team prefers to write in CoffeeScript and use Sass. So, we needed those two things right away. Then we needed module compilation and then also asset concatenation, minification, as well as environment support. We need to develop a certain code and then deploy a certain code and a few other things. So, it’s pretty complicated and we needed a tool to do that. Well, I wrote one after looking at what’s out there. JAMISON: So,
Panel Adam Hawkins (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:16 - Adam Hawkins Introduction JavaScript Application Build Tools: Adam Hawkins 003 JSJ Build Tools 01:51 - What Are Build Tools? 02:46 - Build Process Ember.js CoffeeScript Sass Grunt.js Yeoman RequireJS minispade jQuery 09:15 - Minification Handlebars.js barber 10:30 - Ruby on Rails Client-Side Applications 16:43 - Chuck’s Build Process 17:32 - Joe’s Build Process 18:54 - Source Maps Concatenation 24:09 - iridium rake-pipeline Brunch 32:56 - Recommendations for Building 35:23 - Testing QUnit Picks Sub Rosa (Jamison) biggie (Jamison) Kingdom Rush Frontiers (Joe) The Rithmatist by Brandon Sanderson (Joe) Ward Cunningham (Joe) Speedtest.net (Chuck) ThemeForest (Chuck) Solo Piano Radio (Adam) ConvertKit (Adam) Staticly (Adam) Next Week Transitioning to JavaScript Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 65 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Adam Hawkins. ADAM: Hey, how you guys doing? CHUCK: Terrific. So, you want to introduce your self since you’re new to the show? ADAM: Yeah. My name is Adam Hawkins. I’m primarily a Ruby guy but have come to the JavaScript world through Ember and browser applications. I’ve been here now for about a year and a half and just learning as I go along, CHUCK: Nice. So anyway, you recommended that we talk about build tools and then you wrote a blog post about it. We talked about build tools, I think on Episode 2 or 3 or something. In your mind, what are build tools? ADAM: Well, I think a build tool is something that you need to create a JavaScript application. There is a distinction between, say maybe an application or something [inaudible] that needs CoffeeScript or something like that versus a full-blown application that runs on the browser which needs modules, asset pre-compilation, templates, all those sorts of stuff, and testing and things like that. So, on one end, you have build tools that simply do the compilation and the concatenation, and then you have other tools that aim to be like a whole development environment. So, there is a large spectrum and you just have to choose which you need, basically. CHUCK: What kind of a build process do you guys have on the projects that you work on? ADAM: Well, okay. My background is, we are building a CRM with Ember.js and we needed a lot of different things. Well, my team prefers to write in CoffeeScript and use Sass. So, we needed those two things right away. Then we needed module compilation and then also asset concatenation, minification, as well as environment support. We need to develop a certain code and then deploy a certain code and a few other things. So, it’s pretty complicated and we needed a tool to do that. Well, I wrote one after looking at what’s out there. JAMISON: So,
Panel Adam Hawkins (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:16 - Adam Hawkins Introduction JavaScript Application Build Tools: Adam Hawkins 003 JSJ Build Tools 01:51 - What Are Build Tools? 02:46 - Build Process Ember.js CoffeeScript Sass Grunt.js Yeoman RequireJS minispade jQuery 09:15 - Minification Handlebars.js barber 10:30 - Ruby on Rails Client-Side Applications 16:43 - Chuck’s Build Process 17:32 - Joe’s Build Process 18:54 - Source Maps Concatenation 24:09 - iridium rake-pipeline Brunch 32:56 - Recommendations for Building 35:23 - Testing QUnit Picks Sub Rosa (Jamison) biggie (Jamison) Kingdom Rush Frontiers (Joe) The Rithmatist by Brandon Sanderson (Joe) Ward Cunningham (Joe) Speedtest.net (Chuck) ThemeForest (Chuck) Solo Piano Radio (Adam) ConvertKit (Adam) Staticly (Adam) Next Week Transitioning to JavaScript Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 65 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Adam Hawkins. ADAM: Hey, how you guys doing? CHUCK: Terrific. So, you want to introduce your self since you’re new to the show? ADAM: Yeah. My name is Adam Hawkins. I’m primarily a Ruby guy but have come to the JavaScript world through Ember and browser applications. I’ve been here now for about a year and a half and just learning as I go along, CHUCK: Nice. So anyway, you recommended that we talk about build tools and then you wrote a blog post about it. We talked about build tools, I think on Episode 2 or 3 or something. In your mind, what are build tools? ADAM: Well, I think a build tool is something that you need to create a JavaScript application. There is a distinction between, say maybe an application or something [inaudible] that needs CoffeeScript or something like that versus a full-blown application that runs on the browser which needs modules, asset pre-compilation, templates, all those sorts of stuff, and testing and things like that. So, on one end, you have build tools that simply do the compilation and the concatenation, and then you have other tools that aim to be like a whole development environment. So, there is a large spectrum and you just have to choose which you need, basically. CHUCK: What kind of a build process do you guys have on the projects that you work on? ADAM: Well, okay. My background is, we are building a CRM with Ember.js and we needed a lot of different things. Well, my team prefers to write in CoffeeScript and use Sass. So, we needed those two things right away. Then we needed module compilation and then also asset concatenation, minification, as well as environment support. We need to develop a certain code and then deploy a certain code and a few other things. So, it’s pretty complicated and we needed a tool to do that. Well, I wrote one after looking at what’s out there. JAMISON: So,
Panel Ryan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:28 - Ryan Florence Introduction Instructure Canvas Network 03:04 - Ember 101 05:03 - Ember.js Workflow 047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale ember-tools 07:14 - CommonJS vs RequireJS r.js browser-build 09:58 - prego 11:39 - Generators 14:45 - Testing 16:15 - Yeoman Yeoman generators 20:49 - Scaffolding Handlebars.js 21:33 - Ember blessing ember-tools Ember.js - Making Ember.js Easier 24:19 - Using ember-tools in Rails Creating Browser Apps as Part of Express of Rails (etc.) 25:27 - Scaffolding (cont’d) 26:53 - Adapting an existing project to ember-tools 29:59 - Dbmon 30:59 - Canvas Edu Apps (learning apps built on LTI™) 32:44 - node.js 34:24 - Modules 38:59 - Contributing to ember-tools 41:46 - State Picks vim-clutch (Merrick) Star Wars: Heir to the Empire by Timothy Zahn (Joe) America’s Got Talent (Joe) Man of Steel (Joe) The Internship (Joe) Help Save Podcasting! | Electronic Frontier Foundation (Chuck) Stuff You Should Know (Chuck) Fringe (Chuck) Capgras Syndrome: You Are Not Who You Think You Are (The Stuff You Should Know Podcast) (Ryan) MIDI.js (Ryan) JS Bin (Ryan) Lifetime Products Swing Sets (Ryan) Uncooked Flour Tortillas (Ryan) Next Week JavaScript Jabber: Javascript Application Build Tools with Adam Hawkins Transcript MERRICK: What’s up gentlemen? JOE: Like I said, just making toot lips. JAMISON: Isn’t toot lip like a flower of some kind? The JavaScript flower? JOE: Doesn’t smell like a flower. CHUCK: [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 64 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: Merrick Christensen. MERRICK: What’s up? CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Ryan Florence. RYAN: Hey, how’s it going? CHUCK: So, you haven’t been on the show before. Do you want to introduce yourself? RYAN: Sure. Ryan Florence. I’m from Utah like a lot of you guys. I’ve been writing JavaScript for five years now or something like that. I just picked it up. I was sick of the engineers at my company telling me that things were impossible. So, I started to show them that it was possible and then ended up getting paid more money. CHUCK: Is that at Instructure or is that somewhere else? RYAN: No, that was at a company actually in Idaho. CHUCK: Ah, I see. RYAN: So now, I work at Instructure. We build a learning management system for schools and universities. We also have Canvas.net, which is open courses for anyone to take. There are some pretty interesting ones on there like gender and comic books, things like that. It’s a fun place to work, fun product to work on. CHUCK: Yeah, you inherited a lot of my old coworkers. I used to work for Mozy. RYAN: Yeah, half our engineering team used to be Mozy. But I think we have offset them at this point.
Panel Ryan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:28 - Ryan Florence Introduction Instructure Canvas Network 03:04 - Ember 101 05:03 - Ember.js Workflow 047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale ember-tools 07:14 - CommonJS vs RequireJS r.js browser-build 09:58 - prego 11:39 - Generators 14:45 - Testing 16:15 - Yeoman Yeoman generators 20:49 - Scaffolding Handlebars.js 21:33 - Ember blessing ember-tools Ember.js - Making Ember.js Easier 24:19 - Using ember-tools in Rails Creating Browser Apps as Part of Express of Rails (etc.) 25:27 - Scaffolding (cont’d) 26:53 - Adapting an existing project to ember-tools 29:59 - Dbmon 30:59 - Canvas Edu Apps (learning apps built on LTI™) 32:44 - node.js 34:24 - Modules 38:59 - Contributing to ember-tools 41:46 - State Picks vim-clutch (Merrick) Star Wars: Heir to the Empire by Timothy Zahn (Joe) America’s Got Talent (Joe) Man of Steel (Joe) The Internship (Joe) Help Save Podcasting! | Electronic Frontier Foundation (Chuck) Stuff You Should Know (Chuck) Fringe (Chuck) Capgras Syndrome: You Are Not Who You Think You Are (The Stuff You Should Know Podcast) (Ryan) MIDI.js (Ryan) JS Bin (Ryan) Lifetime Products Swing Sets (Ryan) Uncooked Flour Tortillas (Ryan) Next Week JavaScript Jabber: Javascript Application Build Tools with Adam Hawkins Transcript MERRICK: What’s up gentlemen? JOE: Like I said, just making toot lips. JAMISON: Isn’t toot lip like a flower of some kind? The JavaScript flower? JOE: Doesn’t smell like a flower. CHUCK: [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 64 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: Merrick Christensen. MERRICK: What’s up? CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Ryan Florence. RYAN: Hey, how’s it going? CHUCK: So, you haven’t been on the show before. Do you want to introduce yourself? RYAN: Sure. Ryan Florence. I’m from Utah like a lot of you guys. I’ve been writing JavaScript for five years now or something like that. I just picked it up. I was sick of the engineers at my company telling me that things were impossible. So, I started to show them that it was possible and then ended up getting paid more money. CHUCK: Is that at Instructure or is that somewhere else? RYAN: No, that was at a company actually in Idaho. CHUCK: Ah, I see. RYAN: So now, I work at Instructure. We build a learning management system for schools and universities. We also have Canvas.net, which is open courses for anyone to take. There are some pretty interesting ones on there like gender and comic books, things like that. It’s a fun place to work, fun product to work on. CHUCK: Yeah, you inherited a lot of my old coworkers. I used to work for Mozy. RYAN: Yeah, half our engineering team used to be Mozy. But I think we have offset them at this point.
Panel Ryan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:28 - Ryan Florence Introduction Instructure Canvas Network 03:04 - Ember 101 05:03 - Ember.js Workflow 047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale ember-tools 07:14 - CommonJS vs RequireJS r.js browser-build 09:58 - prego 11:39 - Generators 14:45 - Testing 16:15 - Yeoman Yeoman generators 20:49 - Scaffolding Handlebars.js 21:33 - Ember blessing ember-tools Ember.js - Making Ember.js Easier 24:19 - Using ember-tools in Rails Creating Browser Apps as Part of Express of Rails (etc.) 25:27 - Scaffolding (cont’d) 26:53 - Adapting an existing project to ember-tools 29:59 - Dbmon 30:59 - Canvas Edu Apps (learning apps built on LTI™) 32:44 - node.js 34:24 - Modules 38:59 - Contributing to ember-tools 41:46 - State Picks vim-clutch (Merrick) Star Wars: Heir to the Empire by Timothy Zahn (Joe) America’s Got Talent (Joe) Man of Steel (Joe) The Internship (Joe) Help Save Podcasting! | Electronic Frontier Foundation (Chuck) Stuff You Should Know (Chuck) Fringe (Chuck) Capgras Syndrome: You Are Not Who You Think You Are (The Stuff You Should Know Podcast) (Ryan) MIDI.js (Ryan) JS Bin (Ryan) Lifetime Products Swing Sets (Ryan) Uncooked Flour Tortillas (Ryan) Next Week JavaScript Jabber: Javascript Application Build Tools with Adam Hawkins Transcript MERRICK: What’s up gentlemen? JOE: Like I said, just making toot lips. JAMISON: Isn’t toot lip like a flower of some kind? The JavaScript flower? JOE: Doesn’t smell like a flower. CHUCK: [Laughter] [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK: Hey everybody, and welcome to Episode 64 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON: Hello friends. CHUCK: Joe Eames. JOE: Hey there. CHUCK: Merrick Christensen. MERRICK: What’s up? CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Ryan Florence. RYAN: Hey, how’s it going? CHUCK: So, you haven’t been on the show before. Do you want to introduce yourself? RYAN: Sure. Ryan Florence. I’m from Utah like a lot of you guys. I’ve been writing JavaScript for five years now or something like that. I just picked it up. I was sick of the engineers at my company telling me that things were impossible. So, I started to show them that it was possible and then ended up getting paid more money. CHUCK: Is that at Instructure or is that somewhere else? RYAN: No, that was at a company actually in Idaho. CHUCK: Ah, I see. RYAN: So now, I work at Instructure. We build a learning management system for schools and universities. We also have Canvas.net, which is open courses for anyone to take. There are some pretty interesting ones on there like gender and comic books, things like that. It’s a fun place to work, fun product to work on. CHUCK: Yeah, you inherited a lot of my old coworkers. I used to work for Mozy. RYAN: Yeah, half our engineering team used to be Mozy. But I think we have offset them at this point.