JSJ 266 NPM 5.0 with Rebecca Turner
JavaScript Jabber20 Kesä 2017

JSJ 266 NPM 5.0 with Rebecca Turner

On today’s episode of JavaScript Jabber, Charles Max Wood and panelist Joe Eames chat with Rebecca Turner, tech lead for https://www.npmjs.com/, a popular Javascript package manager with the worlds largest software registry. Learn about the newly released NPM 5 including a few of the updated features. Stay tuned![1:58] Was the release of node JS 8 tied to NPM5?
- Features in NPM5 have been in planning for 2 years now.
- Planned on getting it out earlier this year.
- Node 8 was coming out and got pushed out a month.
- Putting NPM5 into Node 8 became doable.
- Pushed really hard to get NPM5 into https://nodejs.org/en/blog/release/v8.0.0/ so that users would get NPM5 and updates to NPM5.
[2:58] Why would it matter? NPM doesn’t care right?
- Right you can use NPM5 with any version of node.
- Most people don’t update NPM, but upgrade Node.
- So releasing them together allowed for when people updated Node they would get NPM 5.
[3:29] How does the upgrade process work if you’re using NVM or some node version manager?
- Depends. Different approaches for each
- NVM gets a fresh copy of Node with new globals. NVM5 and Node 8 are bundled.
- For some, If you manually upgrade NVM you’ll always have to manually. It will keep the one you manually upgraded to.
[4:16] Why NPM 5?
- It’s night and day faster.
- 3 to 5 times speed up is not uncommon.
- Most package managers are slow.
- NPM 5 is still growing. Will get even faster.
[5:18] How did you make it faster?
- The NPM’s cache is old. It’s very slow. Appalling slow.
- Rewrote cache
- Saw huge performance gains
[5:49] What is the function of the cache?
- Cache makes it so you don’t have to reinstall modules from the internet.
- It has registry information too.
- It will now obey http headers for timing out cache.
[6:50] Other things that made it faster?
- Had a log file for a long time. It was called https://docs.npmjs.com/cli/shrinkwrap.
- NPM 5 makes it default.
- Renamed it to packagelog.json
- Exactly like shrinkwrap package file seen before
- In combo with cache, it makes it really fast.
- Stores information about what the tree should look like and it’s general structure.
- It doesn’t have to go back and learn versions of packages.
[7:50] Can you turn the default Packagelog.json off?
- Yes. Just:
- Set packagelog=false in the npmrc
[8:01] Why make it default? Why wasn’t it default before?
- It Didn’t have it before. Shrinkwrap was added as a separate project enfolded in NPM and wasn’t core to the design of NPM.
- Most people would now benefit from it. Not many scenarios where you wouldn’t want one.
- Teams not using the same tools causes headaches and issues.
[9:38] Where does not having a lock show up as a problem?
- It records the versions of the packages installed and where NPM put them so that when you clone a project down you will have exactly the same versions across machines.
- Collaborators have the exact same version.
- Protects from issues after people introduce changes and patch releases.
- NPM being faster is just a bonus.
- Store the sha512 of the package that was installed in the glock file so that we can verify it when you install. It’s Bit for bit what you had previously.
[11:12] Could you solve that by setting the package version as the same version as the .Json file?
- No. That will lock down the versions of the modules that you install personally, not the dependancies, or transitive dependancies.
- Package log allows you to look into the head of the installer. This is what the install looks like.
[12:16] Defaulting the log file speed things up? How?
- It doesn’t have to figure out dependences or the tree which makes it faster.
- Shrinkwrap command is still there, it renames it to shrinkwrap but shrinkwrap cannot be published.
- For application level things or big libraries, using shrinkwrap to lock down versions is popular.
[13:42] You’ve Adopted specifications in a ROC process. When did you guys do that?
- Did it in January
- Have been using them internally for years. Inviting people into the process.
- Specifications
- Written in the form of “Here is the problem and here are the solutions.”
- Spec folder in NPM docs, things being added to that as they specify how things work.
- Spec tests have been great.
[14:59] The update adds new tools. Will there be new things in registry as well?
- Yes.
- Information about a package from registry, it returns document that has info about every version and package json data and full readme for every version.
- It gets very large.
- New API to request smaller version of that document.
- Reduces bandwidth, lower download size, makes it substantially faster.
- Used to be hashed with sha1, With this update it will be hashed with sha512 as well as sha1 for older clients.
[16:20] Will you be stopping support for older versions?
- LTS version of NPM was a thing for a while. They stopped doing that.
- Two models, people either use whatever version came with Node or they update to the latest.
- The NPM team is really small. Hard to maintain old NPM branches.
- Supports current versions and that’s pretty much it.
- If there are big problems they will fix old versions. Patches , etc.
[17:36] Will there ever be problems with that?
- Older versions should continue to work. Shouldn’t break any of that.
- Can’t upgrade from 0.8.
- It does break with different Node version
- Does not support Node versions 0.10 or 0.12.
[18:47] How do you upgrade to NPM?
- sudo npm install -gmpm
- Yes, you may not need sudo. depend on what you’re on.
[19:07] How long has it been since version 4?
- Last October is when it came out.
[19:24] Do you already have plans for version 6?
- Yes!
- More releases than before coming up.
- Finally deprecating old features that are only used in a few packages out of the whole registry.
- Running tests on getting rid of things.
[20:50] Self healing cache. What is it and why do we want it?
- Users are sometimes showing up where installs are broken and tarbols are corrupted.
- This happens sometimes with complicated containerization setups makes it more likely. It’s unclear where the problem actually is.
- https://www.npmjs.com/package/cacache - content addressable cache. Take the hash of your package and use it to look up address to look it up in the cache.
- Compares the Tarbol using an address to look it up in the cache.
- Compares to see if it’s old. Trashes old and downloads updated one.
- Came out with the cache. Free side effect of the new cache.
[23:14] New information output as part of the update?
- NPM has always gave back you the tree from what you just installed.
- Now, trees can be larger and displaying that much information is not useful.
- User patch - gives you specifically what you asked for.
- Information it shows will be something like: “I installed 50 items, updated 7, deleted 2.”
[24:23] Did you personally put that together?
- Yes, threw it together and then got feedback from users and went with it.
- Often unplanned features will get made and will be thrown out to get feedback.
- Another new things ls output now shows you modules that were deduped. Shows logical tree and it’s relationships and what was deduped.
[25:27] You came up to node 4 syntax. Why not go to node 8?
- To allow people with just node 4 be able to use NPM.
- Many projects still run Node 4. Once a project has been deployed, people generally don’t touch it.
[26:20] Other new features? What about the File Specifier?
- File specifier is new. File paths can be in package json, usually put inside pointing to something inside your package.
- It will copy from there to your node modules.
- Just a node module symlink.
- Much faster. Verifiable that what’s in your node modules matches the source. If it’s pointing at the right place it’s correct. If not, then it’s not.
- Earlier, sometimes it was hard to tell.
[27:38] Anything else as part of the NPM 5 release? Who do you think will be most affected by it?
- For the most part, people notice three things:
- 1st. no giant tree at the end
- 2nd. Much faster
- 3rd. Package lock.
[28:14] If it’s locked, how do you update it?
- Run npm installer and then npm update
- Used to be scary, but works well now.
- Updates to latest semver, matches semver to package json to all node modules.
- Updates package lock at the same time
- Summary in Git shows what’s changed.
[28:59] Did Yarn come into play with your decisions with this release?
- The plans have been in play for a long time for this update.
- https://yarnpkg.com/en/ inclusion of similar features and the feedback was an indicator that some of the features were valuable.
[29:53] Other plans to incorporate features similar to yarn?
- Features are already pretty close.
- There are other alternative package managers out there.
- PMPM interesting because when it installs it doesn’t copy all the files. It c

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(734)

038 JSJ Jasmine with Justin Searls

038 JSJ Jasmine with Justin Searls

PanelJustin Searls (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code) Discussion 01:33 - Justin SearlsTest Double 02:14 - JasminePivotal Labs 03:42 - Testing JavaScript05:29 - CoffeeScript07:22 - What Jasmine isUnit testing library RSpec DOM agnostic 10:16 - Testing the DOM14:01 - Tragedy of the commonsfactory_girl 18:29 - Testing23:53 - Syntax in Jasmine26:23 - RSpec and Jasmine28:07 - Async support in Jasmine32:18 - Spiesmockito Conditional stubbing jasmine-stealth jasmine-fixture 37:30 - jasmine-givenCucumber 43:19 - Running Jasminejasminerice jasmine-railsjasmine-headless-webkit Testacular testem49:17 - tryjasmine.com PicksRunning MongoDB on AWS (Jamison) The Clean Coder by Robert C. Martin (Joe) Squire.js (Joe and Merrick) Rdio app (Merrick) Square (AJ) Allrecipes.com (AJ) Jenkins CI (Chuck) Apple’s Podcast app (Chuck) lineman (Justin) StarTalk Radio Show with Neil Degrasse Tyson (Justin) To The Moon PC Game (Justin) Transcript JAMISON:  Holy cow!JOE:  That was not annoying.CHUCK:  What’s not annoying?MERRICK:  He is punching a bag of Fritos?JOE:  Yeah.[Laughter]CHUCK:  Well, I was closing it up so they don’t get stale as fast.JOE:  You’re very thorough. Those are going to be the least stale… MERRICK:  Do you have like a Frito resealer or something?[Laughter][Shrill sound]CHUCK:  Okay, sealed.[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.][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.]CHUCK:  Hey everybody, and welcome to Episode 38 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON:  Hi guys!CHUCK:  Joe Eames.JOE:  Howdy?CHUCK:  Merrick Christensen.MERRICK:  What’s up?CHUCK:  AJ O’Neal is trying to join the call. He’s here.AJ:  Yo! Yo! Yo! Coming at you live from the Rental Agreement sphere of Provo, Utah.MERRICK:  He lives!CHUCK:  I’m Charles Max Wood from DevChat.tv. And this week, we have a special guest. That’s Justin Searls.JUSTIN:  Hello.CHUCK:  So, why don’t you tell us a little bit about yourself, Justin?JUSTIN:  Okay. Well, now that I’m on the spot, my name is Justin. I’m a software developer. I live in Columbus, Ohio. About a year ago, me and a guy named Todd Kaufman started a new company called Test Double. Previously, he and I had been doing consulting for a long, long time. And we’re up to eight people now. And we have a good time building software with an emphasis on terrific interaction design which has resulted in us kind of developing a specialty for well-crafted frontend code, predominantly JavaScript. And I imagine that’s probably why I’m here today.CHUCK:  Awesome. Alright. Well, we brought you on to talk about Jasmine. Jasmine was written by, was it Pivotal Labs? JUSTIN:  Yeah, Pivotal Labs guys. A guy names Christian Williams who I think has since moved on to Square, and D.W. Frank who’s still at Pivotal. They wrote the core library and me and a whole bunch of other people in the community have piled on with different runners and add-ons and extensions in the sort of like little ecosystem of the 25 people who write unit tests for JavaScript.CHUCK:  All 25 of you, huh?JUSTIN:  Well, it’s not a lot, right? It’s been a fun journey of being one of the very few people who really, really got excited or chose to get excited about making it easier for folks to write tests in JavaScript or as easy as it would be for whatever servers and language they’d be using.Special Guest: Justin Searls. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

14 Joulu 201257min

037 JSJ Promises with Domenic Denicola and Kris Kowal

037 JSJ Promises with Domenic Denicola and Kris Kowal

PanelKris Kowal (twitter github blog) Domenic Denicola (twitter github blog) AJ O’Neal (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 Intro to CoffeeScript) Discussion 02:41 - PromisesAsynchonous programming 05:09 - Using Promises from top to bottom07:08 - DomainsNodeConf SummerCamp07:55 - Q10:22 - q.nfbind11:15 - Q vs jQueryYou’re Missing the Point of PromisesComing from jQuery15:41 - long-stack-tracesturn chaining JavaScriptStackTraceApi: Overview of the V8 JavaScript stack trace API (error.prepare stack trace)19:36 - Original Promises/A spec and Promises/A+ specwhen.jsPromises Test SuiteUnderscore deferred24:22 - .thenChai as Promised26:58 - Nesting Promisesspread method28:38 - Error Handlingcauseway 32:57 - Benefits of PromisesError Handling Multiple Async at onceHandle things before and after they happen40:29 - task.js41:33 - Languagee programming languageCoffeeScript44:11 - Mocking Promises45:44 - Testing PromisesMocha as Promised PicksCode Triage (Jamison) The Creative Sandbox Guidebook (Joe) Steam (Joe) Pluralsight (Joe) montage (Kris) montagejs / mr (Kris) CascadiaJS 2012 - Domenic Denicola (Domenic) Omnifocus (Chuck) Buckyballs (AJ) Transcript JOE: I can’t imagine your baby face with a beard, Jamison.JAMISON: I never thought I had a baby face.AJ: It was always a man face to me.JOE: Everybody who is 15 years younger than me has a baby face.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This show is sponsored by Gaslight Software. They are putting on Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th. They'll be covering Jasmine, Backbone and CoffeeScript. For more information or to register, go to training.gaslightsoftware.com][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody. Welcome to episode 37 of the JavaScript Jabber show. This week on our panel, we have AJ O'Neal.AJ: Yo, yo, yo, comin' at you live from the executive boardroom suite of Orem, Utah.CHUCK: Jamison Dance.JAMISON: Hey guys!CHUCK: Joe Eames.JOE: Hey there!CHUCK: Merrick ChristensenMERRICK: What's up.CHUCK: I'm Charles Max Wood from devchat.tv and this week we have some guests -- and that is Kris Kowal.KRIS: Hello. Yeah, Kowal.CHUCK: Kowal. OK. And Domenic Denicola. Did I say that right?DOMENIC: Denicola.CHUCK: Denicola.DOMENIC: It’s OK I got Americanized. That's probably the proper Italian pronunciation. Hi guys!CHUCK: I speak proper Italian, so probably.KRIS: Yeah and for what it’s worth, I think that the proper Polish is Kowal or something, but yeah.JAMISON: Kris, are you from the Midwest? You have kind of Minnesota-ish accent.KRIS: No. I'm actually unfortunately from somewhere in the suburbs of Los Angeles, but I grew up indoors and did listen to Prairie Home Companion. So I don’t know. Maybe.[laughter]CHUCK: Awesome. All right. So this week we are going to be talking about… actually there's one thing I need to announce before. If you are listening to this episode, you’ll probably notice a little bit of a difference with our sponsorship message. I actually left off one important piece to one of the sponsorship messages and that is for the Gaslight software training that's going to be in San Francisco, if you wanna sign up, go to training.gaslightsoftware.com and you can sign up there. They’ve been a terrific sponsor and I feel kind of bad that I botched that. But anyway,Special Guests: Domenic Denicola and Kris Kowal. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Joulu 201255min

036 JSJ DOM Rendering and Manipulating

036 JSJ DOM Rendering and Manipulating

PanelAJ O’Neal (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 Intro to CoffeeScript) Discussion 01:29 - Merrick Christensen is a new regular panel memberCascadiaJS 2012 JavaScript Modules: AMD, Require.js & Other Wins: Merrick Christensen 03:58 - DOM Rendering and ManipulatingBackbone.js Ext.js 06:49 - DifferencesLoad times Ease of use backbone.syphon 09:49 - The Ext.js approach vs the Backbone.js approach15:51 - Templating enginesdust.js handlebars.js mustache.js hogan.js underscore jquery 16:46 - handlebars.js vs mustache.js18:08 - Templating engines (cont’d)Mold.js Ember.js Metamorph.js Knockout.js Pure.js Plates.js 26:34 - Difference between the click handler and the delegate function31:49 - Template engines and string generations33:01 - Writing templates and learning APIs35:03 - Ext.js issues39:32 - Dojo PicksAldo (AJ) On Being A Senior Engineer (Jamison) Joshua James: From the Top of Willamette Mountain (Merrick) sparks.js (Merrick) grunt.js (Merrick) knit-js (Merrick) Functional Programming for the Object-Oriented Programmer by Brian Marick (Chuck) New Media Expo 2013 (Discount code Wood20) (Chuck) Skyfall (Joe) LEGO Lord of the Rings (Joe) Global Day of Coderetreat 2012 (Joe) Transcript JOE: If AJ talks on JavaScript Jabber, does anybody hear it?CHUCK: [laughs]AJ: Not if I don’t have my function key pressed down.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 36 of the JavaScript Jabber Show! This week on our panel, we have AJ O'Neal.AJ: Yo, yo, comin' at you from the cowboy sphere of Orem, Utah.CHUCK: We also have Jamison Dance.JAMISON: I'm coming at you from bathrobe sphere of Orem, Utah. It’s much more comfortable than a cowboy sphere.CHUCK: We have Joe Eames.JOE: Comin’ at you from a cluttered office.CHUCK: And Merrick Christensen.MERRICK: Hey guys!CHUCK: So, Merrick is new. Merrick, do you wanna introduce yourself real quick?MERRICK: Sure. My name is Merrick Christensen. I've been developing JavaScript for a number of years -- big fan of it. You can find me on twitter and GitHub and all that kind of stuff.JOE: Did you just recently speak at any conferences?MERRICK: Yeah actually.[laughter]I just spoke at CascadiaJS on require.js. And actually, what's really cool is they just barely put the videos for that up today and I was so stoked at how high quality. So to the CascadiaJS team, you guys  did an excellent job.JOE: Are the videos free?MERRICK: Oh yeah. All free up on YouTube. And there’s some cool stuff -- there's stuff on like robots -- it was an amazing conference. The organizers just did an amazing job.CHUCK: Sounds like fun. Was that up in the North West somewhere?MERRICK: Yeah it was actually in Seattle.CHUCK: Nice.MERRICK: Yeah it was beautiful.JAMISON: I heard that as one of the after party things, they took everybody up to see the James Bond movie?MERRICK: They did yeah. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Marras 201248min

035 JSJ node-webkit

035 JSJ node-webkit

PanelJamison Dance (twitter github blog) Tim Caswell (twitter github howtonode.org) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Discussion 01:15 - node-webkitSimilar to PhoneGap Chrome native apps Chromium05:31 - Event loops and the browsers06:53 - Example appsLight Table app.js 07:42 - node-webkit vs app.js10:00 - ChromeChrome Apps: JavaScript Desktop Development 17:44 - Security implications25:11 - Testing node-webkit applications27:19 - Getting a web app into a native app31:33 - Creating Your First AppJS App with Custom ChromeChromeless Browser Chromeless replacement PicksHow mismanagement, incompetence and pride killed THQ's Kaos Studios (Jamison) The Insufficiency of Good Design by Sarah Mei (Jamison) app.js (Tim) node-webkit (Tim) Macaroni Grill’s Butternut Asiago Tortellaci (AJ) JCPenney (AJ) Mac OS Stickies (Chuck) Fieldrunners (Chuck) Node Knockout Transcript AJ: Let’s talk about boring stuff. What did you eat for breakfast?TIM: I had donuts.AJ: That sounds nutritious and delicious.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 35 of the JavaScript Jabber Show. This week on our panel we have Jamison Dance.JAMISON: Hi guys!CHUCK: Tim Caswell.TIM: Hello!CHUCK: And AJ O’Neal. And I'm Charles Max Wood from devchat.tv. This week, we are going to be talking about ‘Node-webkit’. It seems like Tim is the most familiar with it, so why don’t you jump in and tell us a little bit about it?TIM: All right. Basically the idea is to make desktop apps using Node and then having HTML as your display layer for your widgets. And I start a project doing this several years ago from Topcube, but I failed miserably because I'm not that good of a C engineer. And since then, a few projects have taken up the idea. Node-webkit is one done by Intel and the main engineer there is Roger Wang. So on Roger Wang’s GitHub there is node-webkit. And the other popular one is called ‘app.js’ and I think there is a couple others as well. And some other people have taken over my Topcube project and they use it for some maps app. And all these projects had the basic idea of you have a desktop native app that has Node and node-webkit inside of it.CHUCK: So, is it kind of like PhoneGap or some of these other things for mobile?TIM: Yeah. It’s similar to PhoneGap in that, you get more privileges than a browser would have in a more native experience. Instead of just the PhoneGap extensions, you get all of Node -- you get the full Node environment -- which means you can use all that existing libraries and ecosystem.JAMISON: So how does this compare to the Chrome native apps thing? Because I know that they are more --- already have some like JS APIs that let you touch stuff on the server or things like that. Is this just – it’s not sandbox at all?TIM: Yeah. I mean, this is a native app. It’s not in your browser at all. It bundles its own webkit.JAMISON: Oooh.TIM: It’s more like -- what was that flash thing they had years ago?AJ: ‘Adobe Air’?TIM: Air yeah. It’s like Adobe Air that doesn’t suck. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

16 Marras 201244min

034 JSJ Ember.js

034 JSJ Ember.js

PanelTrek Glowacki (twitter github Trek by trek) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Discussion 02:18 - Ember.js (twitter, github, site)03:17 - Based on/Inspired by SproutCore?05:39 - The Rails of JavaScript?“Magical” 06:29 - todomvcBackbone.js    11:21 - Pulling pieces of Ember.js12:07 - Struggles with using Ember.jsLearning API can and does change frequently The applications that Ember.js targets are new New patterns 18:45 - Developer style22:59 - Rendering24:42 - Philosophy of Ember.js27:00 - Ember.js routerState machines32:31 - Spending time learning Ember.js35:06 - Frameworks and Wordpress41:57 - Event loop42:49 - APIObject systemBinding syntaxHandlebars.js46:38 - Rendering and nesting views PicksPromo Only (AJ) TinyToCS: Tiny Transactions on Computer Science (Jamison) HandBrake (Chuck) BitTorrent (Chuck) Transmission (Chuck) Presto 04213 Electronic Digital Timer (Chuck) Crafty.js (Trek) About Face 3: The Essentials of Interaction Design by Robert Reimann (Trek) Tucker Teaches the Clockies to Copulate by David Erik Nelson (Trek) Transcript  JAMISON: And I’m looking sexy.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to Episode 33 of the JavaScript Jabber show. This week on our panel we have AJ O’Neal.AJ: Yo, yo, yo. Comin’ at you live from DJ sphere of Orem, Utah.CHUCK: We also have Jamison Dance.JAMISON: Oh, gosh you get to ----. I'm sorry AJ; your intro was so good. [laughs]CHUCK: [laughs] I'm Charles Max Wood from devchat.tv and this week, we have a special guest and that is Trek Glowacki?TREK: Oh, very close. Good job.CHUCK: [laughs] Do you wanna straighten it up for us?TREK: You can just call me Trek. Everyone does.CHUCK: Ok. How many generations removed are you from Poland or whatever?TREK: So I'm a first generation American. My parents are foreign. But my dad is Belgian, not Polish nationally, but of a Polish decent.CHUCK: Oh, OK. That's interesting.TREK: Yeah. My driver’s license is weird and everything is misspelled. My voter registration is spelled wrong. It’s kind of a nightmare. It’s why I just go by Trek. I try to snag @trek as a user handle everywhere. So I'm @trek on Twitter-- just makes my life easier.CHUCK: Yeah. That makes sense. I have to say that, if your voter registration is messed up, I hope you are voting for that “other guy”. And I'm not going to be specific about my --- because I don’t wanna start a firestorm on a programing podcast for that, so we’ll just leave it there.Anyway, we are going to be talking about Ember.js today. Now, I know that Yehuda and Tom Dale work on it. Do you work on it too or are you just kind of an expert user?TREK: A little bit of both. I hang out on the secret volcano base that we have, with Yehuda and Tom and my contributions are--JAMISON: That's why your audio quality is so good.TREK: Yeah, we are at the volcano base, it’s really is beaming to a satellite in space.CHUCK: Yeah volcano net is awesome.TREK: So,Special Guest: Trek Glowacki. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

2 Marras 201255min

033 JSJ enyo.js

033 JSJ enyo.js

PanelBen Combee (twitter github blog) Gray Norton (twitter) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeS... Special Guests: Ben Combee and Gray Norton. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

26 Loka 201257min

032 JSJ Angular.js

032 JSJ Angular.js

PanelMisko Hevery (twitter github blog) Igor Minar (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) AJ O’Neal (twitter github blog) Discussion 01:33 - Angular.js (twitter github blog)02:33 - Angular.js compared to other frameworks04:03 - How does it work?05:22 - Cost06:06 - HTML Compiler07:02 - Directives10:31 - Working with browsers in the future12:07 - Dependency injection16:50 - Main method18:48 - Using require.js20:53 - How would you build a TreeView widget in Angular?24:07 - Where data is stored24:42 - Scope29:47 - Syncing to serversRESTClient 31:34 - Testability & Services in Angular39:04 - Benefits of AngularDependency injection Directives PicksThe Arrow (Joe) Font Awesome (Tim) Testacular (Igor) Plunker (Igor) The Better Angels of our Nature: Steven Pinker (Misko) XCOM (Jamison) The Foundation Series: Isaac Asimov (Jamison) Influencer: The Power to Change Anything (AJ) Transcript [This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]JAMISON: Hi everybody and welcome to episode 32 of the JavaScript Jabber podcast. I'm not your host Charles Max Wood, I'm Jamison Dance. Chuck is at a conference this week. So, he is not here. We have with us Joe Eames.JOE: Hey everybody!JAMISON: Tim Caswell.TIM: Hello.JAMISON: And we have two special guests. I'm going to mangle your names, so I'm sorry. It’s Misko Hevery.MISKO: Misko Hevery. Yeah, thank you.JAMISON: Misko Hevery and Igor Minar?IGOR: Minar. Yeah.JAMISON: Great. You guys wanna introduce yourself really quick?MISKO: Sure. So, this is Misko Hevery, original creator of Angular.js.IGOR: Hi everybody! I'm Igor. I joined Misko about 2 years ago on this venture of creating better browser and better environment for creating client-side applications.JAMISON: And if you can’t tell, we are going to talk about Angular.js this week. So, I know it is kind of a Google project now. Did it start out that way?MISKO: It started out with something I was working on and eventually I've open sourced it at a product with Google internal application and just gotten such a rave reviews and new features that people actually says, “Hey why don’t you work on this full time and turn in on to a real product?” So, that's how it’s started.JAMISON: Oh, wow. So, there’s actually a team in Google who are working on Angular as their job?MISKO: Yeah.IGOR: Yes.JAMISON: That's awesome.IGOR: It’s just two of us here now, but we have a bunch of other people working full time on Angular.js and also main contributors--JAMISON: Oh, go ahead sorry.IGOR: There is a team behind Angular.js.JAMISON: Do you think you can give an overview and kind of a comparison to contrast Angular to some of the other MVC frameworks that people like before you? I mean, Backbone I guess is what most people know.  So, what makes Angular different from Backbone? How does it work?MISKO: So, I have never used Backbone besides it’s framework. But, my understanding is that Backbone is basically you have declare model and then launch on changes on its mode. And the way it does so is that there is a model class object. And whenever you modify the models that use special getters and setters methods, the Backbone know about the changes. So, this is pretty different from Angular because we don’t require you to inherit from anything. We have special getters and setters. Basically, any JavaScript object can be a model. So, that’s one big difference.JAMISON: But you can still observe the changes on objects like that?MISKO: Right.Special Guests: Igor Minar and Miško Hevery. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

19 Loka 201250min

031 JSJ history.js

031 JSJ history.js

PanelBenjamin Lupton (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Joe Eames (twitter github blog) Discussion 01:00 - Benjamin Lupton Introduction and Backgroundhistory.js (twitter / github) Front-end and back-end developer Based in Australia Works full-time open-source 03:19 - history.jsHTML5 History API Hashbang 09:26 - URL appearances10:32 - Maintaining states12:23 - (Joe joins the podcast)12:30 - Framework usage13:42 - Overriding history.js17:33 - JavaScript community and evolution21:10 - Particular problems that history.js is geared toward solving22:07 - Sites implementing history.js37signals 25:18 - Other libraries that do the same thing26:12 - Page reloads32:14 - Browser limitations34:37 - Live event in jQuery35:42 - history.js: a deep or shallow library?37:43 - Resources for history.js Picksbooq: Vyper XL2 (Jamison) Jordan Santell (Jamison) Star Wars: Red Harvest (Joe) Nitro Circus: The Movie (Joe) Arrested Development (Joe) f.lux (Chuck) docpad (Benjamin) Paulo Coelho (Benjamin) Transcript BENJAMIN: Anything important, I hear from my wife. So, I could finally have that thing where Facebook doesn’t infiltrate my mind with cat pictures anymore. [This episode is presented to you by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 31 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Howdy Doody!CHUCK: I'm Charles Max Wood from devchat.tv and this week, we have a special guest and that's Benjamin Lupton.BENJAMIN: Hello.CHUCK: He is the author of history.js and why don’t you introduce yourself? Because that's all I really know about you other than history.js and you are many time zones away.BENJAMIN: [laughs] Yeah. So, I have been doing JavaScript pretty much my entire life and been doing it professionally since about 2006, full time. And over the time, I've developed some open source project. One of them became quite popular and that was History.js it makes HTML5 History API that was compatible with like hashes and things like that. We’ll go into that late. Yeah, that became really popular. Now I other stuff with Node a lot as well.CHUCK: Ooh. A front end and a back end person.BENJAMIN: Only because I'm Node.JAMISON: You are basically like a unicorn.CHUCK: Yeah.JAMISON: You are a mystical creature.CHUCK: You are too well rounded. You are going to put us to shame.BENJAMIN: Well, it’s easier being with Node.CHUCK: Yeah, that's true.JAMISON: Yeah it’s true. Where do you work?BENJAMIN: I work for my own company right now. We’ve been doing JavaScript constancy for a few start-ups in Australia. And now, I'm looking at going completely full time with just the open source stuff.CHUCK: Oh, cool. How do you manage going full time open source?BENJAMIN: Right now, we’ve got premium support. I'm going with a few companies and we are looking into other options as well.CHUCK: Right. Yeah. I'm in the same boat with my podcast. I’d love to go full time podcast and less full time consulting.JAMISON: So the real question is, if I pay you enough money, will you put a gigantic ASCII art picture of my face in the History.js source code?BENJAMIN: Perhaps.JAMISON: Okay. We’ll have to talk after.CHUCK: I’m going to have to figure out how to do that. Let’s see... Image to ASCII art…BENJAMIN: In podcast.CHUCK: Yeah and then I’ll…JAMISON: Oh Chuck, you could do it so there’s face that shows up like in the waveforms on the sounds.CHUCK: [laughs] I don’t know about that.Special Guest: Benjamin Lupton. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

15 Loka 201250min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
rss-rahamania
rss-lentopaivakirjat
inderespodi
rss-neuvottelija-sami-miettinen
leadcast
pomojen-suusta
rss-laakispodi
rss-bisnesta-bebeja
rss-what-the-hair
rss-paasipodi
rss-johtajien-tyonhakusirkus
rss-rahataito-podcast
sijoitusovi-podcast
raha-asiaa