pp

Proceedings of Nickel-Cobalt-Copper sessions at ALTA 2011 : May 23-25, 2011, Perth, Australia

ALTA Nickel/Cobalt/Copper Conference (2nd : 2011 : Perth, W.A)




pp

Magnetite : structure, properties, and applications / Dawn M. Angrove, editor




pp

MAX phases : microstructure, properties, and applications / It-Meng (Jim) Low and Yanchun Zhou, editors




pp

Proceedings of Nickel-Cobalt-Copper sessions at ALTA 2012 : May 28-30, 2012, Perth, Australia

ALTA Nickel/Cobalt/Copper Conference (3rd : 2012 : Perth, W.A)




pp

Zeolites : synthesis, chemistry, and applications / Moisey K. Andreyev and Olya L. Zubkov, editors




pp

Extractive metallurgy of copper / by A.K. Biswas and W.G. Davenport

Biswas, A. K. (Anil Kumar), 1922-




pp

Mercury handbook : chemistry, applications and environmental impact / Leonid F. Kozin and Steve Hansen

Kozin, L. F. (Leonid Fomich), author




pp

Hydrometallurgy : fundamentals and applications / Michael L. Free

Free, Michael




pp

Merton's Reward Gold Mine : reconstructing the mine and deconstructing the myth / Marianne Diane [Peta] Chappell

Chappell, Marianne Diane, author




pp

Heterogeneous electrochemical reactions taking place on metallic iron in ammoniacal-carbonate solutions containing dissolved nickel, cobalt, copper and thiosulfate ions / Anna d'Aloya de Pinilla

D'Aloya de Pinilla, Anna, author




pp

Proceedings Nickel-Cobalt-Copper Conference

ALTA Nickel-Cobalt-Copper Conference (7th : 2016 : Perth, W.A.)




pp

Handbook of zeolites : structure, properties and applications / T.W. Wong, editor




pp

Advances in mechanical metallurgy : processes and applications / contributors, Fabiana Cristina, Nascimento Borges et al. ; edited and compiled by Auris Reference Editorial Board




pp

Safety apparatus goes for a toss at LG Polymers

‘Reasons for the accident yet to be ascertained’




pp

002 JSJ The Right Way to Build Web Applications

The panelists discuss the right way to build web applications.




pp

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,




pp

041 JSJ Single Page Applications

Panel Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:09 - Follow Up to 040 JSJ Conferences Broad Conferences vs Focused Conferences Utah Open Source/Open West Conference 2013 05:28 - Single Page Application Frameworks jQuery Backbone.js Ember.js pure.js plates.js AngularJS 15:10 - Path & Hash Routing Pushstate/Popstate sammy.js jquery.bbq localStorage == cookies history.js 22:23 - Synchronizing Your Data WebSocket Operational Transformation Lucidchart 24:51 - WebSockets cURL Socket.IO 32:44 - App Issues Memory 38:52 - When do you want a Single Page App? Jade LESS Picks Simple (AJ) Coding for Interviews (Jamison) Empirical Zeal: What does randomness look like? (Jamison) Aeron Chair by Herman Miller (Chuck) Allrecipes.com (Chuck) Book Club Effective JavaScript by David Herman Transcript AJ:  Yeah, I think I'm 26 still, for another 6 months. CHUCK:  Yeah. You have to count on your toes to figure it out. AJ:  Yeah, twice actually. Because once I'm already bent over, I just keep counting on my toes. I don't start back at my fingers. CHUCK:  [laughs] [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Widge Mo. If you need stunning UI elements or awesome graphs and charts, then go to WidgeMo.com and check them out.] CHUCK:  Hey everybody and welcome to Episode 41 of the JavaScript Jabbers show. I almost said Ruby Rogues. How tired am I? JAMISON:  Don't cheat on us, Chuck. CHUCK:  It's right after Christmas. JAMISON:  We know you have another family but we love you when we have you. CHUCK:  Oh, my gosh! Yeah, we had family here for two days and my wife panics when people are coming over and has to have the house immaculate. And then she kept getting tired or sick or having some other issues. So, I kept forcing her to go to bed and then staying up until 2:00 AM, cleaning the house. So, I’m totally worn out. Anyway, so this is JavaScript Jabber, it's not Ruby Rogues. If you want Ruby Rogues, go to RubyRogues.com and see what we were talking about over there. Last week, we talked about conferences and I know that AJ wanted to say something. I guess we usually do the introductions first. So, let's do that and then let AJ say his piece and then we’ll move onto our topic for today. So, this week on our panel, we have Jamison Dance. JAMISON:  Hi, guys! Merry Belated Christmas. CHUCK:  We have AJ O'Neil. AJ:  Yo! Yo! Yo!  Coming at you from the green Christmasphere of Virginia. CHUCK:  Oh, you're in Virginia? AJ:  Yes, I am. Visiting family. CHUCK:  Cool. And I'm Charles Max Wood from DevChat.tv. I just want to put a quick plug in for my Rails course. If you want to learn Ruby on Rails, go to RailsRampUp.com. It's kind of a guided course and you get a lot of access to me to learn it. So AJ, what was it that you wanted to chime in with, with the conferences that we couldn't get you in last week to say? AJ:  Okay. So, both Merrick and myself have had this same experience. So, we were talking about having the broad conference versus the focused conference, the broad talk or workshop versus the more focused one. And we both have come to the conclusions that having it more focused is better. With the conference, it's fun to go to a broad conference but even in that, like it’s nice to have the focused talks like the ‘Utah Open Source Conference’ which this year is ‘Open West Conference’. It's expanding out and they've got some big surprise. I'm guessing they got some nice speakers. And the call for papers for that opens on January 2nd supposedly. So, that's a really nice conference but it's broad but it’s still fun.




pp

069 JSJ The Application Cache with Jake Archibald

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.




pp

096 JSJ The Challenges of Large Single Page JavaScript Applications with Bart Wood

The panelists talk to Bart Wood about large single page JavaScript applications.




pp

112 JSJ Refactoring JavaScript Apps Into a Framework with Brandon Hays

The panelists talk about refactoring JavaScript Apps Into a Framework with Brandon Hays.




pp

119 JSJ Chrome Apps with Joe Marini

The panelists talk about Chrome apps with Google's Joe Marini.




pp

207 JSJ Growing Happy Developers with Marcus Blankenship

02:51 - Marcus Blankenship Introduction

03:09 - Panelist Worst Boss Experiences

13:06 - Developer Anarchy vs Having a Hierarchy

20:57 - Transitioning Managers

26:05 - Manager Influence

28:33 - Management vs Leadership

34:37 - Interpersonal Relationships and Happiness

38:24 - What kind of feedback do managers want from their employees?

  • Timesheets

46:17 - Am I manager material? Am I ready to go into management?

48:06 - Following a Technical Track

51:55 - Why would anyone ever want to be a department manager?

Picks

A Plain English Guide to JavaScript Prototypes (Aimee)
Oatmega (Aimee)
Luck by Tom Vek (Jamison)
The 27 Challenges Managers Face: Step-by-Step Solutions to (Nearly) All of Your Management Problems by Bruce Tulgan (Marcus)
React Rally Call for Proposals (Jamison)
React Rally (Jamison)
Multipliers: How the Best Leaders Make Everyone Smarter by Liz Wiseman (Dave)
Soft Skills Engineering Podcast (Dave)




pp

JSJ 249 Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross

On today's episode, Charles Max Wood, Joe Eames, and Aimee Knight discuss Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross. Tune in to their interesting talk, and learn how you can improve user experience and performance with better loading!




pp

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

Tweet this episode

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

In this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump.

[00:37] Michael Crump Introduction

Michael is on the developer experience team for Azure.

[00:52] Jeremy Likness Introduction

Jeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience.

The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities.

They're focused on building documentation and creating great experiences

[02:54] What is it about Azure that people should be getting excited about?

Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure.

Azure is growing to embrace the needs of developers as they solve these problems.

The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want.

Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure.

You don't have to be an operations expert.

Chuck mentions this messaging as he heard it at Microsoft Connect() last year.

It's not about bringing you to .NET. It's about making it easy where you're at.

Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers.

A lot of these features are available across command lines, tools, and much more.

The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs.

[12:04] Web Apps on Linux

Web application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application.

Web Apps has traditionally been on Windows. Web Apps on Linux is in preview.

You can choose the size of your infrastructure. You only get billed for what you use and can scale up.

Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy.

You can also scale across multiple datacenters around the world.

[15:06] Why Linux? What's hard about Windows?

Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows.

The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows.

This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel.

Aimee gives the example of trying to set up ImageMagick on Windows.

Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically.

[19:12] Supported Runtimes

Web Apps on Linux supports Node, PHP, Ruby, and .NET Core.

You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container.

Web Apps on Linux is build on Docker.

The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container.

If you can build a container, you can also run it on this service.

At certain levels, there's automatic scaling.

[22:06] Consistency between containers? Shared ownership of state or assets

It depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state.

There's a system called kudu that makes this really simple.

You can also pull logs across all systems.

You can also use SSH in the browser

[25:23] What's painful about Linux and containers?

How is the application built and how does it manage state so that you can isolate issues.

If you have 20 containers, can you connect to the right one.

It's up to you to manage correlation between containers so you can find the information you need.

Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science.

[28:28] How should you manage state?

A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state.

[30:34] CosmosDB (was DocumentDB)

It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy.

You may need to open up some firewall rules, but it should be pretty straightforward.

[34:14] Third Party Logging Management Apps

Azure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well.

[36:06] How do people use Web Apps on Linux?

Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure.

Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB.

You can also use any images on DockerHub.

[40:06] Continuous Integration and Continuous Deployment

Whether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction.

Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic.

[42:02] Process files and workers with PM2 format

You can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers.

Why did you use PM2? What other uses are there for this kind of setup?

You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file.

[45:38] How to get started

Getting started with Node

docs.microsoft.com

Trial account with a few hundred dollars in Azure credit.

Michael's Links

Jeremy's Links

Picks

Aimee

  • Having a little bit of mindfulness while waiting on code and tests to run.

Joe

Chuck

Jeremy

Michael




pp

JSJ 311: Securing Express Apps with Helmet.js with Evan Hahn

Panel:

  • Charles Max Wood

Special Guests: Evan Hahn

In this episode, the JavaScript Jabber panelists discuss securing Express apps with Helmet.js with Evan Hahn. Evan is a developer at Airtable, which is a company that builds spreadsheet applications that are powerful enough that you can make applications with. He has also worked at Braintree, which does payment processing for companies. They talk about what Helmet.js is, when you would want to use it, and why it can help secure your Express apps. They also touch on when you wouldn’t want to use Helmet and the biggest thing that it saves you from in your code.

In particular, we dive pretty deep on:

  • Evan intro
  • JavaScript
  • What is Helmet.js?
  • Node and Express
  • Why would you use the approach of Middleware?
  • Helmet is not the only solution
  • Http headers
  • Current maintainer of Helmet.js
  • npm
  • Has added a lot to the project, but is not the original creator
  • Outbound HTTP response headers
  • Helmet doesn’t fully secure your app but it does help secure it
  • How does using Helmet work?
  • Are there instances when you wouldn’t want to use Helmet?
  • No cash middleware
  • Where do you set the configuration options?
  • Top level Helmet module
  • 12 modules
  • What is the biggest thing that Helmet saves you from?
  • Content security policy code
  • And much, much more!

Links:

Picks:

Charles

Evan




pp

JSJ 334: “Web Performance API” with Dan Shappir

Panel:

Special Guests: Dan Shappir (Tel Aviv)

In this episode, the panel talks with Dan Shappir who is a computer software developer and performance specialist at Wix.com. As Dan states, his job is to make 100 million websites (hosted on the Wix platform) load and execute faster! Past employment includes working for companies, such as: Ericom, Ericom Software, and BackWeb. He studied at Technion Institute of Management and currently lives in Tel Aviv, Israel. The panel talks about web performance API among other things. Check it out!

Show Topics:

1:29 – Charles: Let us know who you are and why you’re famous!

1:39 – “Hello!” from Dan Shappir.

2:25 – Charles: You should say that you go to EACH site EVERY day out of the millions of sites out there.

2:53 – Charles: My mom mentioned Wix to me at first. My mom teaches High School Math.

3:16 – Dan: Yes that is our mission statement. That everyone can get a website without the knowledge of how to build a website.

3:52 – Aimee makes her comments.

3:59 – Dan: On our platform we try to offer people flexibility. There are bounds and limits, but people can do their very own thing, though. To make Wix faster because as we add more features and functionality that is our goal.

4:40 – Chuck: Okay, I know how to make X perform a little bit better. You are looking at a platform that controls TONS of sites, how do you even go about that?

4:58 – Dan: It is more difficult then that. We have millions of users leveraging the platform but there are a lot of developers in Wix who are developing the platform. I don’t think anyone at Wix has a total grasp of the complexity of the platform that we built. We have hundreds of frontend people working on our platform. All of them have pieces to the kingdom. We have processes in place with code reviews and whatnot, but there is so much going on. There is a change every 2 minutes, 24/7. We need to make sure progressing instead of regressing. 

6:54 – Aimee: I think it was interesting in one of the links you sent over. Because you know when something is getting worse you consider that a bug.

7:15 – Dan: It is more than a bug because if we see regression in performance then that is a problem. I can literally see any part of the organization and say, “stop” if it will

7:57 – Chuck: We are talking about performance, but what does that mean? What measures are there?

8:15: Dan: We are looking at performance can mean different things in different contents. User sites, for example, most important aspect is load time. How quickly the page loads and gets open to the viewer to that specific site. When they click something they want it instantly and no drag time. It does change in different contexts.

9:58 – Chuck: People do talk about load time. People have different definitions of it.

10:12: Dan: Excellent question. When you look at the different sites through Wix. Different people who build sites – load time can mean something else to everybody. It can mean when you see the MAIN text or the MAIN image. If it’s on an ECON site then how soon can they purchase or on a booking site, how long can the person book X product.

I heard someone at a conference say that load time is when: HERO TEXT And HERO IMAGE are displayed.

12:14 – Chuck: What is faster React or Vue?

12:21 – NEW HOST: Not sure. It all depends.

12:34 – Dan: We are big into React. We are one of the big React users outside of Facebook. I joined Wix four years ago, and even back then we were rebuilding our framework using React. One of our main modifications is because we wanted to do server-side rendered.

13:27 – Christopher asks Dan a question.

14:16 – Dan: We are in transition in this regard. Before we were totally client-site rendered, and that was the case until middle of last year. Then we deployed...

Dan: We are 100% server-side rendered now. Some things we are still using JavaScript. We have another project going on now and it’s fully CSS, and little JavaScript as possible. What you might want to do with that site is...

You might get in a few months every Wix site will be visible even if JavaScript is disabled.

16:26 – Aimee adds in her comments and observations to this topic.

16:55 – Dan: We don’t want things displayed incorrectly before it lays out. We hide the content while it’s downloading then make it visible. They lay-outing are done faster, because...

17:44 – Christopher asks Dan a question.

18:04 – Dan: I got into API...

Either you are moving forward or are you moving back. AKA – You are either progressing or regressing.

Different stages:

1.) Development stage

2.) Pre-Production (automated tools that check the performance with specific use cases)

3.) Check it out!

It’s beneficial to use these APIs.

21:11 – Christopher: What is performance APIs?

21:38 – Dan: There is a working group – Todd from Microsoft and others who are exposing the information (that is available in the browser) out into the browser. When the browser downloads a certain source (image, font, etc.) it can measure the various stages of downloading that feature.  You have these different sages of downloading this resource. The browser can measure each of these stages and then expose them to you. Basically it’s for the browser to expose this information to you and in a way that is coherent and uniform. It essentially maintains this buffer that puts performance entries sequentially.

Dan continues explaining this topic in detail.

25:55 – Dan: You have this internal buffer...

28:45 – Advertisement – Sentry – They support opensource.

29:39 – Christopher: everything you are saying seems that I can use this or that tab right now...

Why would I prefer the API to something visual, hypothetically?

30:03 – Dan: Three Different Stages. (See above.)

This information is very, very helpful during the developmental stage. Say you got a link from someone...

Dan mentions: Performance.mark

34:04 – Aimee: When you were talking about resource-ends. Many people don’t know what this is. Can you spend 2-3 minutes about how you guys are using these? Are there people can add for big bang for their buck?

34:41 – Dan: This might want to be a topic for its own podcast show.

Dan gives a definition of what a resource-end means.

Go back to fonts as an example.

Pre-connect for example, too.

39:03 – Dan: Like I said, it’s a huge topic.

You have to exercise some care. Bandwidth is limited. Make sure you aren’t blocking other resources that you do need right now.

40:02 – Aimee: Sounds like a lot of great things to tap into. Another question I have is about bundling.

40:27 – Dan: One of the things that we try to do (given that we are depending on the JavaScript we are downloading) we need to download JavaScript content to the client side. It has been shown often that JS is the most impactful resources that you need to download. You really want to be as smart as possible with that. What is even more challenging is the network protocols are changing.

Dan continues to go in-depth about this topic.

Dan: What we have found is that you want to strive to bundle resources together.

44:10 – Aimee: Makes sense.

44:15 – Dan continues talking about this topic.

45:23 – Chuck asks two questions. (First question is now and second question is at 51:32.)

2 Questions:

1. You gather information from web performance AI - What system is that?

45:42 – Dan: I am not the expert in that. I will try not to give misleading information. Actually let me phrase it different. There are 3rd party tools that you can use leverage in your website. IF you are building for commercial reasons I highly recommend that you use performance-monitoring solution. I am not going to advertise one because there are tons out there. We ended up rolling out our own infrastructure because our use case is different than most.

At a conference I talked with a vendor and we talked about...

51:32 – 2nd Question from Charles to Dan: Now you’ve gathered this information now what to you do? What patterns? What do you look for? And how do you decide to optimize things?

54:23 – Chuck: Back to that question, Dan. How should they react to it and what are they looking for

54:41 – Dan: Three main ways: 1.) Generate alerts 2.) See trends over long period of time 3.) Looking at real-time graphs.

Frontend developer pro is that likely being woken up in the middle of the night is lower. We might be looking at the real time graph after we deployed...

57:31 – Advertisement – Get a Coder Job!

58:10 – Picks!

Links:

Sponsors:

Picks:

Aimee:

Chris:

Charles:

Dan




pp

JSJ 338: It’s Supposed To Hurt, Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler

Panel:

Special Guests: Christopher Buecheler

In this episode, the panel talks with Christopher Buecheler who is an author, blogger, web developer, and founder of CloseBrace. The panel and Christopher talk about stepping outside of your comfort zone. With a technological world that is ever changing, it is important to always be learning within your field. Check out today’s episode to learn more!

Show Topics:

0:00 – Advertisement: KENDO UI

1:08 – Aimee: Our guest is Christopher Buecheler – tell us about yourself and what you do.

1:22 – Guest: I run a site and help mid-career developers. I put out a weekly newsletter, too.

2:01 – Aimee: It says that you are a fan of “getting comfortable being uncomfortable”?

2:15 – Guest: I am a self-taught developer, so that means I am scrambling to learn new things all the time. You are often faced with learning new things. When I learned React I was dumped into it. The pain and the difficulty are necessary in order to improve. If you aren’t having that experience then you aren’t learning as much as you could be.

3:26 – Aimee: I borrow lessons that I learned from ice-skating to programming.

3:49 – Guest: I started running a few years ago for better health. It was exhausting and miserable at the start and wondered why I was doing it. Now I run 5 times a week, and there is always a level of being uncomfortable, but now it’s apart of the run. It’s an interesting comparison to coding. It’s this idea of pushing through.

5:01 – Aimee: If you are comfortable you probably aren’t growing that much. In our industry you always have to be learning because things change so much!

5:25 – Guest: Yes, exactly. If you are not careful you can miss opportunities.

6:33 – Panel: You have some ideas about frameworks and libraries – one thing that I am always anxious about is being able to make sense of “what are some new trends that I should pay attention to?” I remember interviewing with someone saying: this mobile thing is just a fad. I remember thinking that she is going to miss this opportunity. I am worried that I am going to be THAT guy. How do you figure out what sort of things you should / shouldn’t pay attention to?

7:47 – Guest: It is a super exhausting thing to keep up with – I agree. For me, a lot of what I pay attention to is the technology that has the backing of a multi-million dollar company then that shows that technology isn’t going anywhere, anytime soon. The other thing I would look at is how ACTIVE is the community around it?

9:15 – Panel: Is there a strategic way to approach this? There is so many different directions that you can grow and push yourself within your career? Do you have any kinds of thoughts/tips on how you want your career to evolve?

10:00 – Guest: I am trying to always communicate better to my newsletter audience. Also, a good approach, too, is what are people hiring for? 

11:06 – Aimee: Again, I would say: focus on learning.

11:30 – Panel: And I agree with Aimee – “learn it and learn it well!”

12:01 – Panel: I want to ask Chris – what is CloseBrace?

12:17 – Guest: I founded it in November 2016, and started work on it back in 2013.

14:20 – Panel: It was filled with a bunch of buzz worthy words/title.

14:32 – Guest continues his thoughts/comments on CloseBrace.

16:54 – Panel: How is the growth going?

17:00 – Guest: It is growing very well. I put out a massive, massive tutorial course – I wouldn’t necessarily advice that people do this b/c it can be overwhelming. However, growth this year I have focused on marketing. I haven’t shared numbers or anything but it’s increased 500%, and I am happy about it.

18:05 – Panel: Are you keeping in-house?

18:13 – Guest: I think it would be cool to expand, but now it is in-house. I don’t want to borrow Egg Head’s setup. I would love to cover MORE topics, though.

19:05 – Panel: You are only one person.

19:08 – Guest: If I can get the site creating more revenue than I can hire someone to do video editing, etc.

19:35 – Panel: I think you are overthinking it.

19:45 – Guest.

19:47 – Advertisement – Sentry.io

20:47 – Guest.

21:30 – Aimee: There are SO many resources out there right now. Where do you think you fit into this landscape?

21:44 – The landscape is cluttered, but I feel that I am different b/c of my thoroughness. I don’t always explain line by line, but I do say how and why things work. I think also is my VOICE. Not my radio voice, but the tone and the approach you take with it.

23:25 – Panel: I was trying to copy folks in the beginning of my career. And at some point I realized that I needed to find my own style. It always came down to the reasons WHY I am different rather than the similarities. Like, Chris, you have these quick hits on CloseBrace, but some people might feel like they don’t have the time to get through ALL of your content, because it’s a lot. For me, that’s what I love about your content.

24:46 – Christopher: Yeah, it was intentional.

25:36 – Panel: Good for you.

25:49 – Guest: I am super device agnostic: Android, Mac, PC, etc. I have a lot of people from India that are more Microsoft-base.

26:28 – Aimee: I think Egghead is pretty good about this...do you cover testing at all with these things that you are doing? It’s good to do a “Hello World” but most of these sites don’t get into MORE complex pieces. I think that’s where you can get into trouble. It’s nice to have some boiler point testing, too.

27:18 – Guest answers Aimee’s question.

28:43 – Aimee: We work with a consultancy and I asked them to write tests for the things that we work with. That’s the value of the testing. It’s the code that comes out.

29:10 – Panel: Can you explain this to me. Why do I need to write tests? It’s always working (my code) so why do I have to write a test?

29:39 – Guest: When working with AWS I was writing...

31:01 – Aimee: My biggest thing is that I have seen enough that the people don’t value testing are in a very bad place, and the people that value testing are in a good place. It even comes back to the customers, because the code gets so hard that you end up repeatedly releasing bugs. Customers will stop paying their bills if this happens too often for them.

33:00 – Panel: Aimee / Chris do you have a preferred tool? I have done testing before, but not as much as I should be doing.

33:25 – Aimee: I like JEST and PUPPETEER.

33:58 – Guest: I like JEST, too.

34:20 – Aimee: Let’s go to PICKS!

34:35 – Advertisement – eBook: Get a coder job!

Links:

Sponsors:

Picks:

Aimee

Chris F.

AJ

Aaron

Christopher




pp

JSJ 352: Caffeinated Style Sheets: Supporting High Level CSS with JavaScript with Tommy Hodgins

Sponsors

 

Episode Summary  

In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth.

He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools.

Links

 

Picks

Joe

Aimee

Chris

Charles

Tommy




pp

JSJ 355: Progressive Web Apps with Aaron Gustafson LIVE at Microsoft Ignite

Sponsors

Panel

  • Charles Max Wood

Joined by special guest: Aaron Gustafson

Episode Summary 

This episode of JavaScript Jabber comes to you live from Microsoft Ignite. Charles Max Wood talks to Aaron Gustafson who has been a Web Developer for more than 20 years and is also the Editor in Chief at “A List Apart”. Aaron gives a brief background on his work in the web community, explains to listeners how web standardization has evolved over time, where Progressive Web Apps (PWAs) come from, where and how can they be installed, differences between them and regular websites and their advantages. They then delve into more technical details about service workers, factors affecting the boot up time of JavaScript apps, best practices and features that are available with PWAs. 

Aaron mentions some resources people can use to learn about PWAs, talks about how every website can benefit from being a PWA, new features being introduced and the PWA vs Electron comparison. In the end, they also talk about life in general, that understanding what people have gone through and empathizing with them is important, as well as not making judgements based on people’s background, gender, race, health issues and so on.

Links

Picks

Aaron Gustafson:

Charles Max Wood:




pp

JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy

Sponsors

Panel

  • AJ O’Neal

  • Charles Max Wood

Joined by Special Guest: Anatoliy Zaslavskiy

Summary

Anatoliy Zaslavskiy introduces pickle.js and answers the panels questions about using it. The panel discusses the automated testing culture and employee retention. The panel discusses job satisfaction and why there is so much turn over in development jobs. Charles Max Wood reveals some of the reasons that he left past development jobs and the panel considers how the impact of work environments and projects effect developers. Ways to choose the right job for you and how to better a work situation is discussed. Anatoliy finishes by advocating for junior developers and explaining the value they bring to a company.

Links

Picks

AJ O’Neal

Charles Max Wood

Anatoliy Zaslavskiy

  •  




pp

MJS 108: Dan Shappir

Sponsors

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

Host: Charles Max Wood

Special Guest: Dan Shappir

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Shappir from Tel Aviv, Israel, who is a computer software developer and performance specialist at Wix.

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

Dan got a TI-99/4 when he was very young and enjoyed programming games. He first started with Basic language. After he studied Computer Science at the Hebrew University of Jerusalem, he joined the Israel army to serve his military service. While in the military he also obtained his Masters Degree in Computer Science.

Currently Dan is working as a Performance Tech Lead at Wix, he works on  speeding up the delivery and execution of 50+ million websites hosted on the Wix platform, as well as Wix own applications and services.

Links

Picks

Dan Shappir:

Charles Max Wood:




pp

JSJ 371: The Benefits and Challenges of Server-Side Rendering (SSR) with Dan Shappir

Sponsors

Panel

  • Charles Max Wood
  • Joe Eames
  • Christopher Buecheler
  • Aimee Knight
  • AJ O’Neal

Joined by special guest: Dan Shappir

Episode Summary

In this episode of JavaScript Jabber, special guest Dan Shappir, Performance Tech Lead at Wix, kicks off the discussion by defining server-side rendering (SSR) along with giving its historical background, and touches on the differences between server rendering and server-side rendering. He helps listeners understand in detail how SSR is beneficial for the web and takes questions from the panel about how it affects web performance in cases where first-time users and returning users are involved, and how does SSR fare against technologies such as pre-rendering. He then elaborates on the pitfalls and challenges of SSR including managing and declaring variables, memory leaks, performance issues, handling SEO, and more, along with ways to mitigate them. In the end, Dan sheds some light on when should developers use SSR and how should they start working with it.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

Christopher Buecheler:

  • Tip - Take some time off once in a while

Aimee Knight:

AJ O’Neal:

  • Fatherhood!

Joe Eames:

Charles Max Wood:

Dan Shappir:




pp

JSJ 377: Bringing Maps and Location Into Your Apps with the ArcGIS API for JavaScript with Rene Rubalcava

Sponsors

Panel

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

With Special Guest: Rene Rubalcava

Episode Summary

Rene is a software developer for ESRI and works in spatial and mapping software. ESRI has been around since 1969 and has seen their work explode since they shifted to providing address and location services. Rene talks about how he thinks about location and mapping when building software around it and things that he has to approach in unique ways. The panel discusses some of their past experiences with location software. Some of the most difficult aspects of this software is changing time zones for data and actually mapping the Earth, since it is not flat nor a perfect sphere. Rene talks about the different models used for mapping the Earth.

Most mapping systems use the same algorithm as Google maps, so Rene talks about some of the specific features of ArcGIS, including the ability to finding a point within a polygon. Rene talks about what routing is, its importance, and how it is being optimized with ArcGIS, such as being able to add private streets into a regular street network.

The panel discusses how the prevalence of smartphones has changed mapping and GPS and some of their concerns with privacy and location mapping. One thing ESRI is very careful about is not storing private information. Rene talks about the kinds of things he has seen people doing with the mapping and location data provided by ArcGIS, including a Smart Mapping feature for developers, mapping planets, indoor routing, and 3D models. 

Links

Follow DevChat on Facebook and Twitter

Picks

Rene Rubalcava:

AJ O’Neal:

Aimee Knight:

Charles Max Wood:




pp

JSJ 384: FaunaDB: Support for GraphQL and Serverless Development with Evan Weaver

Sponsors

  • Sentry– use the code “devchat” for $100 credit 

Panel

  • Charles Max Wood

  • AJ O’Neal

  • Joe Eames

  • Aimee Knight

With Special Guest: Evan Weaver

Episode Summary

Evan Weaver is the CEO and cofounder of FaunaDB, a serverless database and a great way to get started with GraphQL. Evan talks about what went into building the FaunaDB and his background with Twitter. FaunaDB arose from trying to fix Twitter’s scalability issues, and the panel discusses scalability issues encountered in both large and small companies. They talk about the difference between transient and persistent data. They discuss how to develop locally when using a serverless database and the importance of knowing why you’re using something. Evan talks about how developing locally works with FaunaDB. He addresses concerns that people might have about using FaunaDB since it is not backed by a tech giant. Evan talks about some of the services FaunaDB offers and talks about the flexibility of its tools. He talks about how to get started with FaunaDB and what the authentication is like. Finally, Evan talks about some well known companies that are using FaunaDB and what they are doing with it. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Joe Eames:

Evan Weaver




pp

JSJ 412: Svelte and Sapper with Svelte Master

Noah, a.k.a. Svelte Master, is from Indiana and recently moved to San Francisco. He has been given title Computational Linguist by SoundHound. He starts the show by talking about his Youtube channel all about Svelte. Svelte is a JavaScript framework similar to React and Vue. When you write components, Svelte will compile it into Vanilla JS, CSS, or HTML, and create a small bundle that will be sent to the client. Svelte is a ‘disappearing framework’, so your bundles come out as DOM APIs and there is no Svelte in the end result. Because the Svelte framework doesn’t send with the bundle, bundle sizes are significantly smaller, and it runs on all browsers. Noah shares some Svelte’s performance statistics. Sapper is a companion technology to Svelte that gives you server side rendering, routing, code splitting, and other features. 

Noah talks about how to write plugins for Svelte and embedding components. One main difference between Svelte and other frameworks is that it lacks a virtual DOM. This is because since it is just compiling down to JavaScript and the framework is not sent with the package, it doesn’t need a virtual DOM and instead updates as things change. Noah talks more about how this works. Some of Svelte Master’s favorite things about Svelte is that you write less code, especially unnecessary code, and state management is simple. He talks about how routing is handled through other tools like Sapper. The panel talks about methods for testing a Svelte app, adding Svelte components into a website, and pulling in third party libraries. They discuss whether there are things that you can’t do with Svelte that would require React or Vue. The show ends with Noah talking about what the future holds for Svelte and how to get started with it. 

Panelists

  • Steve Edwards

  • Charles Max Wood

**To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"**

Guest

  • Noah (Svelte Master)

Sponsors

____________________________________________________________

> "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Charles Max Wood:

Daniel Caldas:




pp

JSJ 415: Progressive Web Apps with Maximiliano Firtman

Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps, or PWAs. Steve and Max reflect on the technologies they were using when they first got started in web development and talk about their experience with mobile development. One area that Max emphasized was bringing the web into the mobile space. They discuss the progression of web access on mobile and some of the available tools. Max notes that responsible design has a very high cost in web performance for mobile devices, which requires unique approaches. They discuss some of the issues with latency in mobile, even on 4G. The solution to this latency is PWAs.

Progressive web apps are a set of best practices to create web apps that are installable. They can work offline at high speeds on several operating systems. Once installed, it looks like any other app on the system. Max delves into more details on how it works. He talks about how the resources for your application are managed. He assures listeners that it’s just a website that’s using a new API, they’re not changing the way the web works, and that when that API is there, the app can be installed. It will also generally use your default browser. Steve and Max discuss how local data is stored with PWAs. To write PWAs, you can use Angular, React, JavaScript, or Vue, and it’s a pretty transparent process. Max talks about some common tools used for local storage and some of the PWAs he’s worked on in the past. The benefit of using PWAs is that they generally run faster than regular web apps. To get started, Max advises listeners to install one and start exploring.

Panelists

  • Steve Edwards

Guest

  • Maximiliano Firtman

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Maximiliano Firtman:




pp

JSJ 419: Google App Script with Ben Collins

Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script.

Panelists

  • Aimee Knight

  • Steve Edwards

  • Dan Shapir

Guest

  • Ben Collins

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Aimee Knight:

Dan Shapir:

AJ O’Neal:

Bem Collins:




pp

Yii 1.1 application development cookbook [electronic resource] / Alexander Makarov

Makarov, Aleksandr




pp

Yii rapid application development hotshot [electronic resource] : become a RAD hotshot with Yii, the world's most popular PHP framework / Lauren J. O'Meara, James R. Hamilton III

O'Meara, Lauren J




pp

The yipping tiger and other tales from the neuropsychiatric clinic [electronic resource] / Perminder Sachdev

Sachdev, Perminder




pp

Young people's experiences of loss and bereavement [electronic resource] : towards an interdisciplinary approach / Jane Ribbens McCarthy

Ribbens McCarthy, Jane




pp

The Young Turks in opposition [electronic resource] / M. Şükrü Hanioğlu

Hanioğlu, M. Şükrü




pp

Your money and your life [electronic resource] : a lifetime approach to money management / Robert Z. Aliber

Aliber, Robert Z




pp

Your right to child custody, visitation, and support [electronic resource] / Mary L. Boland

Boland, Mary L




pp

Youth employment in Sierra Leone [electronic resource] : sustainable livelihood opportunities in a post-conflict setting / Pia Peeters ... [et al.]




pp

Youth employment intervention in Africa [electronic resource] : a mapping report of the employment and labour sub-cluster of the Regional Coordination Mechanism (RCM) for Africa




pp

The youth gang problem [electronic resource] : a community approach / Irving A. Spergel

Spergel, Irving A




pp

Zany, zeal, zeat and zing [electronic resource] : the z way to happiness / Zaibun

Zaibun Nissa Siraj




pp

Zen and psychotherapy [electronic resource] : integrating traditional and nontraditional approaches / Christopher J. Mruk ; with Joan Hartzell

Mruk, Christopher J




pp

Zeppo's first wife [electronic resource] : new and selected poems / Gail Mazur

Mazur, Gail