rn

ALTA 1995 nickel/cobalt laterites, the how to's of project development : May 4-5, 1995, Le Meridian Hotel, Melbourne, Australia




rn

ALTA 2000 Nickel/Cobalt-6 : technical sessions proceedings : Monday 15th May 2000 - Wednesday 17th May 2000, Hotel Rendezvous - Perth, Western Australia




rn

ALTA 2000 Nickel/Cobalt-6 : SX fundamentals, contactor design & application to Ni/Co processes, Thursday 18th May 2000, Hotel Rendezvous, Perth, Western Australia / Roger Cusack




rn

ALTA 2001 Nickel/Cobalt-7 : technical proceedings : 15-18th May, 2001, Hotel Rendezvous,Observation City, Scarborough Beach, Perth, Western Australia




rn

ALTA 1997 uranium ore to yellowcake seminar : February 20, 1997, Carlton Crest Hotel, Melbourne Australia / organised by ALTA Metallurgical Services




rn

Nickel/Cobalt SX/EW Seminar : May 16, 1996, Hyatt Hotel, Perth, Western Australia / organised by ALTA Metallurgical Services




rn

Impurity control and disposal in hydrometallurgical processes : 24th annual Hydrometallurgical Meeting : proceedings of the International Symposium on Impurity Control and Disposal in Hydrometallurgical Processes, Toronto, Ontario, Canada, August 21-24, 1

International Symposium on Impurity Control and Disposal in Hydrometallurgical Processes (1994 : Toronto, Ont.)




rn

Gold 100 : proceedings of the International Conference on Gold / [organized by] the South African Institute of Mining and Metallurgy (SAIMM), in association with the Chamber of Mines of South Africa (COM), the Council for Mineral Technology (MINTEK), and

International Conference on Gold (1986 : Johannesburg, South Africa)




rn

International Symposium on Hydrometallurgy, Chicago, Illinois, February 25-March 1, 1973. : Editors: D. J. I. Evans and R. S. Shoemaker

International Symposium on Hydrometallurgy (2nd : 1973 : Chicago, Ill.)




rn

Tenth International Mineral Processing Congress, 1973 : proceedings of the tenth International Mineral Processing Congress, organized by the Institution of Mining and Metallurgy and held in London in April, 1973 / edited by M. J. Jones

International Mineral Processing Congress (10th : 1973 : London, England)




rn

Proposal for processing ores of rarer metals of Western Australia

Tantalite Limited




rn

An electrochemical study of oxidative dissolution of synthetic nickel-iron-sulphide minerals in aqueous media [electronic resource] / by Terence Edwin Warner

Warner, Terence E., 1960-




rn

Hydrometallurgy 2008 : proceedings of the sixth international symposium / edited by Courtney A. Young ... [et al.]

International Symposium on Hydrometallurgy (6th : 2008 : Phoenix, Ariz.)




rn

Hydroprocess 2008: II International Workshop on Process Hydrometallurgy : 14-16 May 2008, Santiago, Chile / editors, Jorge Menacho & Jesús Casas

International Workshop on Process Hydrometallurgy (2nd : 2008 : Santiago, Chile)




rn

World Gold 2007 : 22-24 October 2007, Cairns, Australia / edited by Jim Avraamides, Guy Deschênes and David Tucker

World Gold 2007 (2007 : Cairns, Australia)




rn

The AusIMM International Uranium Conference 2009 [electronic resource] : presentations :10 - 11 June 2009, Darwin, Australia / AusIMM




rn

Biohydrometallurgy : "fundamentals, technology and sustainble development" : proceedings of the International Biohydrometallurgy Symposium, IBS-2001, held in Ouro Preto, Minas Gerais, Brazil, September 16-19, 2001 / edited by V.S.T. Ciminelli, O

International Symposium on Biohydrometallurgy (14th : 2001 : Ouro Preto, Minas Gerais, Brazil)




rn

Proceedings of the 32nd annual Hydrometallurgical Meeting and International Conference on the Practice and Theory of Chloride/Metal Interaction: October 19-23, 2002 / edited by E. Peek and G. Van Weert

Hydrometallurgical Meeting (32nd : 2002 : Montreal, Quebec)




rn

International Peirce-Smith converting centennial : held during TMS 2009 annual meeting & exhibition : San Francisco, California, USA : February 15-19, 2009 / edited by Joël Kapusta and Tony Warner




rn

Iron control technologies : proceedings of the third International Symposium on Iron Control in Hydrometallurgy, Montreal, Canada, October 1-4, 2006 / editors, J.E. Dutrizac and P.A. Riveros

International Symposium on Iron Control in Hydrometallurgy (3rd : 2006 : Montréal, Québec)




rn

Hydrometallurgy : research, development and plant practice : proceedings of the 3rd International Symposium on Hydrometallurgy / sponsored by the Extractive and Process Metallurgy Program Committee of the Metallurgical Society of AIME and the Mineral Proc

International Symposium on Hydrometallurgy (3rd : 1983 : Atlanta, Ga.)




rn

Nature's nanostructures / edited by Amanda S. Barnard, Haibo Guo




rn

Innovation in electric arc furnaces : scientific basis for selection / Yuri N. Toulouevski, Ilyaz Yunusovich Zinurov

Toulouevski, Yuri N., author




rn

The development and testing of alternative anodes based on cobalt and lead for the electrowinning of base metals / by Maryam Jozegholami Barmi

Barmi, Maryam Jozegholami, author




rn

Introduction to mineralogy / William D. Nesse (University of Northern Colorado)

Nesse, William D., author




rn

Modern physical metallurgy and materials engineering / contributors, William A. Brantley, Satish B. Alapati et al ; [edited and compiled by Auris Reference Editorial Board]




rn

Handbook of lithium and natural calcium chloride : their deposits, processing, uses and properties / Donald E. Garrett (Saline Processors, Inc., Ojai, California)

Garrett, Donald E., author




rn

Minerals and man / by Cornelius S. Hurlbut, Jr

Hurlbut, Cornelius S. (Cornelius Searle), 1906-2005




rn

Moody’s warns of downgrade

Negative outlook reflects increasing risk, it says




rn

New cases fall to single digit in Kurnool

27 persons discharged in the district




rn

012 JSJ Design Patterns in JavaScript with Addy Osmani

The panelists talk about design patterns in JavaScript with Addy Osmani




rn

029 JSJ Bower.js with Alex MacCaw and Jacob Thornton

Panel Alex MacCaw (twitter github blog) Jacob Thornton (Fat) (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Discussion Bower.js (web) Bower.js (twitter) Bower.js (github) SXSW Package managers ender-js BPM hem Benefits Small components Yeoman.io Browserify Dependencies Segmenting the community Transports Mozilla (github) Commands Building an actual package manager node.js Moving parts of a package manager Events Challenges Ember.js Mobile web application development Google Chrome apps Desktop apps in JavaScript Picks Kershaw Ken Onion Tactical Blur Folding Knife (AJ) The xx: Coexist (Jamison) Neil Armstrong’s Solemn but Not Sad Memorial Cathedral (Jamison) Collective Soul Cat (Jamison) Amazon Prime (Joe) Star Trek Original Series on Amazon Prime (Joe) Functional Programming Principles in Scala: Martin Odersky (Joe) Domo (hiring!) (Joe) Delegation in Google (Chuck) Civilization IV (Chuck) Fujitsu ScanSnap (Chuck) Bill Nye’s Twitter Account getting suspended was not cool (Jacob) Github + Twitter profile redesign (Jacob) Avoid 7/11 Hot Dog Flavored Chips (Jacob) The Big Picture (Alex) CoffeeScriptRedux (Alex) Stripe (Alex)




rn

030 JSJ Learning & Teaching JavaScript with Noel Rappin

Panel Noel Rappin (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) AJ O’Neal (twitter github blog) Discussion 00:52 - Works in training and talent development for Groupon 00:56 - Author of Rails Test Prescriptions and upcoming Master Space and Time with JavaScript 01:21 - Writing a book about JavaScript 02:33 - Focus of the book Part 1: Jasmine and jQuery and the JavaScript Object Model Part 2: Extended examples of jQuery Part 3: Backbone Part 4: Ember 03:46 - Self-published authors 05:15 - Approaches and mindsets to learning JavaScript 06:04 - “Gotchas!” and bad features in Javascript 09:17 - Modeling JavaScript for beginners 11:23 - (AJ joins the podcast) 11:42 - Resources/Classes for learning JavaScript Good Parts Book: Douglas Crockford JavaScript Patterns: Stoyan Stefanov Eloquent JavaScript: A Modern Introduction to Programming: Marijn Haverbeke Maintainable JavaScript: Nicholas C. Zakas 13:54 - Hiring people with JavaScript experience at Groupon 15:12 - Training workshops 17:00 - Getting new hires up to speed quickly Pairing Mentoring Lectures Workshops 21:38 - Book Learning You can learn at your own pace But it’s hard to ask questions to a book 22:51 - How Noel gained expertise in JavaScript 24:38 - Code reading and learning to program a language 26:18 - Teaching people JavaScript as their very first language 31:55 - Classroom layout 33:42 - Online training Kahn Academy Computer Science Code Academy Starter League 40:00 - Finding a mentor Stack Overflow Picks Shrines by Purity Ring (Jamison) Learnable Programming: Bret Victor (Jamison) Mob Software: Richard P. Gabriel & Ron Goldman (Jamison) Monoprice.com (AJ) ZREO: Zelda Reorchestrated (AJ) The Official Twitter App (Chuck) Fluid App (Chuck) Try Jasmine! (Noel) Justin Searls (Noel) The Atrocity Archives: Charles Stross (Noel) Futurity: A Musical by The Lisps (Noel) Transcript NOEL: I’m trying to figure out where the chat is in this stupid Skype interface. JAMISON: Just imagine the worst place it could possibly be and that’s where it is. [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] CHUCK: Hey everybody and welcome to Episode 30 of the JavaScript Jabber show! This week on our panel we have, Jamison Dance. JAMISON: Hey guys! CHUCK: I’m Charles Max Wood from devchat.tv and this week, we have a special guest and that’s Noel Rappin! NOEL: Hey everybody! CHUCK: For the people who don’t know who you are, you want to introduce yourself, Noel? NOEL:  Sure. I currently work in training and talent development for Groupon. And I am the author of previously “Rails Test Prescriptions” and currently a self-published book called “Master Time and Space with JavaScript”, which you can get at noelrappin.com. I need to spell that out, right? N-o-e-l-r-a-p-p-i-n.com CHUCK: So I’m little curious, before we get into the topic which is learning and teaching JavaScript, how did you get into writing a book about JavaScript? What’s your background there? NOEL: You know, it actually relates to teaching and learning JavaScript. I think, I was like… a lot of long time web devs. I spent my first round as a web consultant in around, turn of the century 2000’s. I spent time trying to talk clients out of JavaScript stuff because it was such a pain in the neck. And I kind of got away from it for awhile and came back a couple of years ago to realize that basically, everything had changed and they were actually usable tools now. And last summer, I was working with a… at that time,




rn

050 JSJ QUnit with Jörn Zaefferer

Panel Jörn Zaefferer (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:15 - Jörn Zaefferer Introduction jQuery QUnit 02:32 - QUnit jQuery Mobile Introduction to Unit Testing | QUnit 06:59 - Built-in support for HTML fixtures for your tests 08:50 - Unit Testing joshuaclayton / specit mmonteleone / pavlov 11:57 - Assertions fn:deep-equal 15:49 - Why use QUnit? unit testing - QUnit vs Jasmine - Stack Overflow stacktrace.js 023 RR Book Club: Smalltalk Best Practice Patterns with Kent Beck 26:01 - User experience for user interface 30:03 - Continuous integration setups Jenkins CI PhantomJS 023 JSJ Phantom.js with Ariya Hidayat jquery / testswarm jQuery's TestSwarm BrowserStack 36:55 - Testing in JavaScript Sauce Labs: Cloudified Browser Testing Testacular SeleniumHQ 43:35 - Add-ons Picks MYO - The Gesture Control Armband (Jamison) Mailbox (Jamison) Testing Clientside JavaScript (Joe’s Course) (Joe) DragonBox (Joe) Breeze.js (Joe) Anker Battery Pack (Chuck) App.net (Chuck) Leap Motion (Jörn) jQuery Validation Plugin Pledgie (Jörn) Next Week Finding a job Transcript JOE:  I'm really glad that I didn’t know you when Star Wars first came out....Dude! Vader’s Luke’s father. [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.] CHUCK:  Hey everybody and welcome to Episode 50 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  We have Joe Eames. JOE:  Hey, everybody. CHUCK:  I'm Charles Max Wood from DevChat.tv. I'm the only person on this particular episode whose name does not start with J. We also have -- I know I'm going to destroy this name. Jorn Zaefferer. JORN:  Hi! Yeah, it’s me. You should have practiced the last name too. CHUCK:  Yeah. JOE:  You should pronounce that correctly for us so we know. JORN:  Jorn Zaefferer. CHUCK:  Alright. Well, I can say Jorn. So, I’m going to stick with that. JORN:  Yeah, that works. CHUCK:  Do you want to introduce your self for the people who aren’t aware of who you are and what you do? JORN:  Sure. I'm a freelance software developer since a little bit more than two years now. I am involved a lot in the jQuery project and have been involved in that for years. So far, I'm the only person on the Board of Directors of the jQuery Foundation outside of the US. And for the jQuery project, I'm working mostly on jQuery UI and the testing tools. So jQuery UI, I'm one of the lead developers. One was Scott Gonzalez. For the testing tools, I'm leading that team. So, I'm trying to get contributions from other people so things move along evenly. There’s usually much more work to do than I can handle myself. So, I’m trying my best to get open source going there. CHUCK:  So, you work on jQuery UI and QUnit? JORN:  I’m working on the jQuery UI and the testing tools which involves QUnit and a few other things. QUnit is the one that’s actually featured in the jQuery site. We also have TestSwarm and even smaller tools that eventually should get there as well. It’s much more influx than QUnit is. CHUCK:  Interesting. So, we brought you on the show to talk about QUnit. Joe is kind of our testing guru as far as JavaScript goes. Is QUnit just a unit testing framework or do you provide other tools for integration with a backend or other libraries? JORN:  QUnit focuses mostly on unit testing. But people usually end up using it for other things as well. I heard a story where someone was using QUnit to do performance regression testing.




rn

063 JSJ Burnout

Panel 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:47 - Burnout Google: define burnout 04:57 - Pair Programming 06:19 - Burnout Guilt Thought-workers vs Laborers 10:15 - Positive Reinforcement 11:18 - Causes of Burnout Prolonged periods of high stress Crappy jobs Long hours OCD Organizational challenges Fighting Bikeshedding Difficult work environment Twitter Comparison 20:41 - Overcoming Burnout Rest Do something else Gratitude Talk to your boss Twitter / @bmf: Burnout is not caused by working hard. Burnout is caused by not shipping. Measurable progress 28:17 - Short-term Burnout Exercising You Are Your Own Gym (YAYOG) Meditation Take lunch 32:17 - Reaching out to others who may be burning out 35:50 - Preventing Burnout Positive environments Motivation Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink [YouTube] Drive: The surprising truth about what motivates us Picks America's Got Talent (Joe) Storm Front (Derrick Storm) by Richard Castle (Joe) Derandomized - Khan Academy: Machine Learning -> Measurable Learning (Jamison) Get On Top (Jamison) Ben Bernanke to Princeton Grads: The World Isn't Fair (and You All Got Lucky) (Merrick) General Assembly (AJ) AJ needs a room to rent in San Francisco (AJ) You Are Your Own Gym (YAYOG) Run 10k (Chuck) Nike+ Running (Chuck) 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.]  CHUCK:  Hey everybody, and welcome to Episode 63 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hello there. CHUCK:  Merrick Christensen. MERRICK:  Hey. CHUCK:  And I’m Charles Max Wood from DevChat.TV. This week we’re going to be talking about burnout, I’m assuming you’ve all experienced burnout? MERRICK:  Does anybody else feel weird saying hello into a microphone? I feel like Joe sounded like this Texan guy. Like you never know what you’re supposed to say. JOE:  Howdy, partner. MERRICK:  Yeah, exactly. More like a response coming, you know. It’s funny. CHUCK:  Yeehaw! JAMISON:  You’re just rolling the dice. MERRICK:  Yeah. I feel like [inaudible] or something, so people know it’s me. JAMISON:  You just never know what’s going to come out. MERRICK:  You really don’t. Sometimes, I’m like, “Maybe I’m going to go Little John on this thing and I don’t know. [Chuckles] JOE:  From now on, instead of saying hello, I’ll do this one, [sound] [Laughter] JAMISON:  Let’s get a soundboard. JOE:  I’ve got a soundboard here. CHUCK:  Oh, nice. MERRICK:  We could really, really degrade the quality of the show, or improve it, with cool sound. JAMISON:  I think we just have. [Laughter] CHUCK:  I’ve thought about getting soundboards for the different segments, like the picks and stuff, but nah. JAMISON:  It took us 30 seconds to wander off topic. CHUCK:  I know. JAMISON:  Let’s talk about burnout. CHUCK:  Burnout. JAMISON:  Can we get a definition of burnout, to channel Josh Susser. JOE:  You define it, Jamison. JAMISON:  I was reading on Wikipedia, as one does when you’re trying to learn about something. It says it’s a psychological term for long-term exhaustion and diminished interest in work. CHUCK:  Ooh, that’s very good. MERRICK:  I like that. JOE:  A long-term exhaustion. Okay. JAMISON:  So, it’s not just like, “I’m feeling lazy today.” It’s, “I’m feeling lazy this month or lazy when I’m at work this month.”




rn

127 JSJ Changes in npm-Land with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter

The panelists discuss changes in the npm package manager with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter.




rn

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

02:27 - Alex Eagle Introduction

02:54 - Jonathan Turner Introduction

03:30 - What is TypeScript?

04:40 - Google + Microsoft = <3 (Angular Adopting TypeScript)

07:18 - TypeScript Accommodating Angular

09:28 - Surge of Interest in Adopting a Typechecker, Type System

14:21 - Angular: Creating a New Language

16:46 - The Angular 2 Component System and How it Uses New Annotations for Classes

18:01 - Annotations and Decorators

22:06 - TypeScript and Babel?; Adding New Features

25:25 - Non-Angular Users Adopting TypeScript

34:55 - Tooling and Setting Modes for Linting and Static Analysis

36:58 - Using Libraries Outside the TypeScript Ecosystem

38:11 - Type Definition Files

40:15 - Content of the Type System

43:19 - Duck Typing

45:12 - Getting People to Care about TypeScript

49:16 - The Angular and TypeScript Relationship

Picks

f.lux (Aimee)
Jafar Husain: Functional Programming in Javascript (learnrx) (Aimee)
Startup Timelines (Jamison)
Friday Night Lights (Jamison)
React Rally (Jamison)
Evan Farrer: Unit testing isn't enough. You need static typing too. (Dave)
AngularConnect (Joe)
ng-click.com (Joe)
mdn.io (Joe)
Sonic Pi (Chuck)
Error Prone (Alex)
AudioScope-ng2 (Jonathan)
The Nintendo World Championships (Jonathan)




rn

173 JSJ Online Learning with Gregg Pollack

Check out Angular Remote Conf!

 

02:55 - Gregg Pollack Introduction

05:19 - Code School

06:49 - Course Content

09:42 - Plots & Storylines

11:40 - Code School vs Pluralsight

14:09 - Structuring Courses

18:21 - JavaScript.com

22:47 - Designing Exercises & Challenges

30:31 - The Future of Online Learning

34:01 - Teaching Best Practices

Picks

Mr. Robot (Gregg)
#ILookLikeAnEngineer (Aimee)
Why we Need WebAssembly An Interview with Brendan Eich (Aimee)
Raspberry Pi 2 Model B (AJ)
Periscope (Chuck)




rn

174 JSJ npm 3 with Rebecca Turner and Forrest Norvell

Don’t miss out! Sign up for Angular Remote Conf!

 

02:28 - Forrest Norvell Introduction

02:37 - Rebecca Turner Introduction

03:05 - Why npm 3 Exists and Changes in npm 2 => 3

  • Debugging
  • Life Cycle Ordering
  • Deduplication

08:36 - Housekeeping

09:47 - Peer Dependency Changes

15:38 - The Rewrite Process and How That Enabled Some of the Changes Coming Out

22:50 - shrinkwrapping

27:00 - Other Breaking Changes?

  • Permissions

30:40 - Tiny Jewels

33:24 - Why Rewrite?

36:00 - npm’s Focus on the Front End

42:04 - Transitioning to npm 3

42:54 - Installing npm 3

44:11 - Packaging with io.js and Node.js

45:16 - Being in Beta

Picks

Slack List (Aimee)
Perceived Performance Fluent Conf Talks (Aimee)
Paul Irish: How Users Perceive the Speed of The Web Keynote @ Fluent 2015 (Aimee)
Subsistence Farming (AJ)
Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)
Elevator Saga (Chuck)
BrazilJS (Forrest)
NodeConf Brazil (Forrest)

For quick testing: `npm init -y`, configure init (Forrest)
Where Can I Put Your Cheese? (Or What to Expect From npm@3) @ Boston Ember, May 2015 (Rebecca)
Open Source & Feelings Conference (Rebecca)
bugs [npm Documentation] (Rebecca)
docs [npm Documentation] (Rebecca)
repo [npm Documentation] (Rebecca)




rn

219 JSJ Learning JavaScript in 2016

Check out Newbie Remote Conf!

 

02:44 - What it Takes to Learn JavaScript in 2016

04:03 - Resources: Then vs Now

09:42 - Are there prerequisites? Should you have experience?

20:34 - Choosing What to Learn

28:19 - Deciding What to Learn Next

31:19 - Keeping Up: Obligations As a Developer

34:22 - Deciding What to Learn Next (Cont’d)

42:01 - Recommendations

 

Picks




rn

241 JSJ Microsoft Docs with Dan Fernandez

0:55 - Dan Fernandez and his work

7:50 - Walkthrough of the doc experience

15:00 - Editable nature of the doc

21:00 - Test driving a language

26:30 - Catering to the user

32:30 - Open Source

34:40 - User feedback

37:30 - Filters and Tables of Content

40:45 - Form submissions

41:50 - Community contributors

Picks:

Ghostbusters (AJ)

Daplie (AJ)

Daplie Wefunder (AJ)

.NET Rocks (Charles)

ScheduleOnce (Charles)

Devchat.tv 2017 Conferences (Charles)

Disable HTML5 Autoplay (Dan)

Visual Studio Code (Dan)

JSJ episode Visual Studio Code with Chris Diaz and Eric Gamma (Charles)




rn

MJS #013: Rebecca Turner

Welcome to the 13th My JS Story! Today, Charles Max Wood welcomes Rebecca Turner. Rebecca is a CLI programmer at npm, Inc. She has been in the show around two to three years ago in episode 174 and talked about npm 3. Tune in to My JS Story Rebecca Turner to learn more how she got into programming and what she is up to these days!




rn

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 NPM, 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 Node 8 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 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.
  • 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.
  • Yarn’s 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 creates hard links.
[30:28] Does PMPM and Yarn use NPM registry?
  • Yes! Other than CNPM. The NPM client used in China.
  • CNPM Registry mirror behind firewall. Have their own client to their registry. Their registry is a copy of ours.
[31:15] What about RNPM?
  • I wouldn’t be surprised.
[31:45] “Won’t you come and say something controversial about your competitor?”
  • We all want it to be collaborative.
  • When we were writing our new cache, we also helped Yarn with their cache and sped things up tremendously.

Picks

Charles

Rush Limbaugh’s children’s books
Tinker Crate
Kiwi Crate
NPM
Episodes on My JS Story.

Joe

Gravity Falls
Board Games

Rebecca

NPX

Funstream


Links to keep up with NPM and Rebecca

Twitter @rebeccaorg
NPMjS on Twitter
blog.npmjs.com




rn

JSJ 278 Machine Learning with Tyler Renelle

Tweet this Episode

Tyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks.

The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs.

This episode dives into:

  • Whether machine learning will replace programming jobs
  • Economic automation
  • Which platforms and languages to use to get into machine learning
  • and much, much more...

Links:

Picks:

Aimee

AJ

Joe

Tyler




rn

JSJ 287: Blockchain and JS with Ari Lerner

Panel:

Aimee Knight

AJ O’Neal

Charles Max Wood

Special Guests: 

Ari Lerner

In this episode, Java Script Jabbers speak with Ari Lerner. Ari is the author of NG Book: The Complete Book on AugularJS, Full Stack React,  and a few others.  Ari co-runs newline.co a platform that teaches about the Block Chain, Ethereum, New Contracts, etc. Ari mentions a few upcoming books on Machine Learning, Elixir, and react Native.

Ari gives a rundown on what the Block Chain is about, and an explanation of a Hash. Ari explains the value of a Hash and 6-bit strings of a Hash. Also, Ari explains the exchange of currency in Bitcoin and the rate of exchange in the Block Chain. Next Ari covers web 3.0 and much more.

In particular, we dive pretty deep on:

  • What is the Block Chain?
  • A Hash?
  • The blockchain is an order of ledger.
  • The blockchain is a  list of transactions
  • How is a Hash used?
  • Sha 256
  • Bitcoin and Block Chains
  • What If two machines get the same answer?
  • Describe a transaction in a blockchain?
  • Exchanging currency
  • The cost of Bitcoin
  • Web 3.0
  • Everything on the Block Chain is public!
  • Where else is Block Chain is used besides bitcoin type currency
  • Public Key.
  • What should JS developer be doing to prepare?
  • And much more!

Links:

Picks:

Amiee

Charles

AJ

  • Spice Labels and Spice Jars
  • Marriage

Ari




rn

JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi

Panel: 

AJ O’Neal

Joe Eames

Aimee Knight

Special Guests: Chris Ferdinandi

In this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript.

In particular, we dive pretty deep on:

  • Teaching JavaScript - Beginners and Design patrons
  • Web Design and Web Development
  • CSS Tricks 
  • Todd Motto
  • How to do jQuery Things without jQuery
  • Doing things like mentors (Todd)
  • When JavaScript makes sense.
  • CSS is easier to learn then JS?
  • Being good at CSS and JS at the same time?
  • How about Node developers?
  • jRuby, DOM
  • Documentation
  • And much more!

Links:

Picks:

AJ

Aimee

Joe

Chris




rn

JSJ 314: Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more!

In particular, we dive pretty deep on:

  • Amanda intro
  • Matt intro
  • What’s new in VS Code?
  • VS Code core
  • VS Live Share
  • Shared Terminal
  • Now have Linux support
  • Live Share is now public to the world for free
  • What would you use Shared Terminal for?
  • Are there other things coming up in VS Code?
  • Constantly responding to requests from the community
  • Live Share works for any language
  • How does the Azure extension work?
  • Azure App Service
  • Storage extension
  • Azure Cosmos DB
  • What are log points?
  • All a part of a larger plan to create a better experience for JS developers
  • Visual debuggers
  • Is it the same plugin to support everything on Azure?
  • Want to target specific services that node developers will take advantage of
  • And much, much more!

Links:

Picks:

Charles

Matt

Amanda




rn

JSJ 316: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Rachel MacFarlane and Matt Bierner

In this episode, the JavaScript Jabber panelists discuss Visual Studio Code with Rachel MacFarlane and Matt Bierner, who are both developers on Visual Studio Code. They talk about what the workflow at Visual Studio Code looks like, what people can look forward to coming out soon,  and how people can follow along the VS Code improvements on GitHub and Twitter. They also touch on their favorite extensions, like the Docker extension and the Azure extension and their favorite VS Code features.

In particular, we dive pretty deep on:

  • Rachel and Matt intro
  • Month to month workflow of Visual Studio Code
  • VS Code JavaScript, TypeScript, and Mark Down support
  • Working on GitHub and within the community
  • Check out new features incrementally with insiders
  • Community driven work
  • What is coming out in Visual Studio Code?
  • GitHub helps to determine what they work on
  • Working on Grid View
  • Improved settings UI
  • Highlighting unused variables in your code
  • Improvements with JS Docs
  • Dart
  • Visual Studio Extension API
  • How do people follow along with the VS Code improvements?
  • Follow along on GitHub and Twitter
  • Download VS Code Insiders
  • Have a general road map of what the plan is for the year
  • Technical debt week
  • What do you wish people knew about VS Code?
  • Favorite extensions
  • Docker extension and Azure extension
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Rachel

Matt




rn

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann

Panel:

Special Guests: Chris Heilmann

In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in addition to writing a blog about it and is an educator about this program.  He currently resides in Berlin, Germany. Let’s welcome our special guest and listen to today’s episode!

Show Topics:

2:19 – Chuck talks.

2:41 – Chris: He has talked about JavaScript in Berlin upon an invitation. You can get five different suggestions about how to use JavaScript. The best practices, I have found, are on the projects I am on now. JavaScript was built in ten days. My goal is to help people navigate through JavaScript and help them feel not disenfranchised. 

5:47 – Aimee: The overall theme is...

5:54 – Panelist: I really like what you said about helping people not feeling disenfranchised.

6:47 – Chris: There is a lot of peer pressure at peer conferences

7:30 – Aimee chimes in with some comments.

7:50: Chris: I think we need to hunt the person down that put...

8:03 – Panelist: A good point to that is, I try to avoid comments like, “Well, like we ALL know...”

8:27 – Chris: There are things NOT to say on stage. It happens, but we don’t want to say certain things while we are teaching people. We are building products with different groups, so keep that in mind.

9:40 – Aimee: My experience in doing this is that I have found it very rewarding to share embarrassing experiences that I’ve had. My advice would to tell people to let their guard down. It’s encouraging for me.

10:26 – Chris: It helps to show that you are vulnerable and show that you are still learning, too. We are all learning together. 90% of our job is communicating with others.

11:05 – Chuck: Now, I do want to ask this...

11:35 – Chris answers.

12:24 – What makes you say that? (Question to Chris)

12:25 – Chris answers.

13:55 – Chuck: The different systems out there are either widely distributed or...

You will have to work with other people. There is no way that people can make that on their own. If you can’t work with other people, then you are a hindrance.

14:31 – Aimee chimes in.

14:53 – Chris: They have to be very self-assured. I want to do things that are at the next level. Each developer has his or her own story. I want to move up the chain, so I want to make sure these developers are self-assured.

16:07 – Chris: Back to the article...

18:26 – Chuck: Yes, I agree. Why go and fight creating a whole system when it exists.

18:54 – Chris chimes in with some comments.

19:38 – Panelist: I still use console logs.

19:48 – Chris: We all do, but we have to...

19:55 – Aimee: In the past year, I can’t tell you how much I rely on this. Do I use Angular? Do I learn Vue? All those things that you can focus on – tools.

10:21 – Chris: We are talking about the ethics of interfaces. Good code is about accessibility, privacy and maintainability, among others. Everything else is sugar on top. We are building products for other people.

22:10 – Chuck: That is the interesting message in your post, and that you are saying: having a deep, solid knowledge of React (that is sort of a status thing...). It is other things that really do matter. It’s the impact we are having. It’s those things that will make the difference. Those things people will want to work with and solves their problems.

23:00 – Chris adds his comments. He talks about Flash.

24:05 – Chris: The librarian motto: “I don’t know everything, but I can look “here” to find the answer.” We don’t know everything.

24:31 – Aimee: Learn how to learn.

24:50 – Chris: There is a big gap in the market. Scratch is a cool tool and it’s these puzzle pieces you put together. It was hard for me to use that system. No, I don’t want to do that. But if you teach the kids these tools then that’s good. 

24:56 – Chuck: Here is the link, and all I had to do was write React components.

26:12 – Chris: My first laptop was 5x more heavy then this one is. Having access to the Internet is a blessing.

27:24 – Advertisement

28:21 – Chuck: Let’s bring this back around. If someone has gone through boot camp, you are recommending that they get use to know their editor, debugging, etc.

Chris: 28:47 – Chris: Yes, get involved within your community. GitHub. This is a community effort. You can help. Writing code from scratch is not that necessary anymore. Why rebuild something if it works. Why fix it if it’s not broken?

31:00 – Chuck talks about his experience.

31:13 – Chris continues his thoughts.

Chris: Start growing a community.

32:01 – Chuck: What ways can people get involved within their community?

32:13 – Chris: Meetup. There are a lot of opportunities out there. Just going online and seeing where the conferences

34:08 – Chris: It’s interesting when I coach people on public speaking. Sharing your knowledge and learning experience is great!

34:50 – Chuck: If they are learning how to code then...by interacting with people you can get closer to what you need/want.

35:30 – Chris continues this conversation.

35:49 – Chris: You can be the person that helps with x, y, z. Just by getting your name known then you can get a job offer.

36:23 – Chuck: How do you find out what is really good content – what’s worth your time vs. what’s not worth your time?

36:36 –Chris says, “That’s tricky!” Chris answers the question.

37:19: Chris: The best things out there right now is...

38:45 – Chuck: Anything else that people want to bring up?

39:00 – Chris continues to talk.

42:26 – Aimee adds in her thoughts.

Aimee: I would encourage people to...

43:00 – Chris continues the conversation.

Chris: Each project is different, when I build a web app is different then when I build a...

45:07 – Panelist: I agree. You talked about abstractions that don’t go away. You use abstractions in what you use. At some point, it’s safe to rly on this abstraction, but not this one. People may ask themselves: maybe CoffeeScript wasn’t the best thing for me.

46:11 – Chris comments and refers to jQuery.

48:58 – Chris continues the conversation.

Chris: I used to work on eight different projects and they worked on different interfaces. I learned about these different environments. This is the project we are now using, and this will like it for the end of time. This is where abstractions are the weird thing. What was the use of the abstraction if it doesn’t have longevity? I think we are building things too soon and too fast.

51:04 – Chris: When I work in browsers and come up with brand new stuff.

52:21 – Panelist: Your points are great, but there are some additional things we need to talk about. Let’s take jQuery as an example. There is a strong argument that if you misuse the browser...

53:45 – Chris: The main issue I have with jQuery is that people get an immediate satisfaction. What do we do besides this?

55:58 – Panelist asks Chris further questions.

56:25 – Chris answers.

Chris: There are highly frequent websites that aren’t being maintained and they aren’t maintainable anymore.

57:09 – Panelist: Prototypes were invented because...

57:51 – Chris: It’s a 20/20 thing.

58:04 – Panelist: Same thing can be said about the Y2K.

58:20 – Panelist: Yes, they had to solve that problem that day. The reality is...

58:44 – Chris: We learned from that whole experience.

1:00:51 – Chris: There was a lot of fluff around it.

1:01:35 – Panelist: Being able to see the future would be a very helpful thing.

1:01:43 – Chris continues the conversation.

1:02:44 – Chuck: How do people get ahold of you?

1:03:04 – Twitter is probably the best way.

1:03:32 – Let’s go to picks!

1:03:36 - Advertisement

Links:

Sponsors:

Picks :

Amiee

AJ

Joe

Charles

Chris




rn

MJS 107: Dan Fernandez

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan
  • CacheFly

Host: Charles Max Wood

Special Guest:  Dan Fernandez

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Fernandez, Principal Group Program Manager at Microsoft.

Listen to Dan on the podcast JavaScript Jabber on this episode.

Dan went to a programming camp and fell in love with programming. He majored in Computer Science in college and started working for IBM upon graduation.  Listen to the show for Dan’s journey into programming and much more!

Links

Picks

Dan Fernandez: