gin

Global resources and the environment / Chadwick Dearing Oliver (Yale University) and Fatma Arf Oliver (Former engineer at the Boeing Company, Seattle)

Oliver, Chadwick Dearing, 1947- author




gin

Silvopasture : a guide to managing grazing animals, forage crops, and trees in a temperate farm ecosystem / Steve Gabriel ; foreword by Eric Toensmeier

Gabriel, Steve, 1982- author




gin

Why we love and exploit animals : bridging insights from academia and advocacy / edited by Kristof Dhont, Gordon Hodson




gin

The acceleration in renewables investment in 2018 : encouraging renewable energy in Australia / Australian Government, Clean Energy Regulator

Clean Energy Regulator (Australia), author, issuing body




gin

Zoom video app logins were put on sale on the dark web, says report

The logins were put up for sale at 1 pence (1.25 cents) each and were discovered and bought by cybersecurity intelligence company Cyble, the paper said




gin

Polls to 91 civic bodies in West Bengal begin amid tight security



  • DO NOT USE West Bengal
  • India

gin

West Bengal CM Mamata Banerjee’s 100th administrative meeting begins in Burdwan, opposition leaders stay away



  • DO NOT USE West Bengal
  • India

gin

Chronicling America: Historic American Newspapers: CORRECTION - NEH Announces 2019 Awards for the National Digital Newspaper Program, Adding Partners in Rhode Island, Virgin Islands and Wyoming!

An error was made in a previous message regarding the number of partners to date in the National Digital Newspaper Program. Corrected message below:

The National Endowment for the Humanities (NEH) has announced 2019 National Digital Newspaper Program (NDNP) funding for institutions representing 11 states to expand their selection and digitization of U.S. historic newspapers for contribution to the freely available Chronicling America online collection, hosted by the Library of Congress. New partners in the program include the Providence Public Library (Rhode Island); the U.S. Virgin Islands (in partnership with the Universities of Florida and Puerto Rico); and the University of Wyoming (Laramie).  Eight other participating institutions – Arkansas State Archives, Connecticut State Library, University of Delaware, University of Georgia, Minnesota Historical Society, Library of Virginia, West Virginia University and Wisconsin Historical Society - also received awards to expand their ongoing selection and digitization of newspapers from their state. Check out the full list of grants for details. Since 2005, cultural institutions in 50 states and territories have joined the program, jointly sponsored by the NEH and LOC, and contributed more than 15 million digitized historical American newspaper pages, published between 1789 and 1963 in 19 different languages, to the collection.

Learn more about the National Digital Newspaper Program (NDNP) or explore American history through Chronicling America and read more about it! Follow us on Twitter @librarycongress #ChronAm!!




gin

A guide to writing as an engineer / David Beer, David McMurrey

Beer, David F




gin

Writing for engineers / Joan van Emden

Van Emden, Joan




gin

Germination and viability of seeds of jarrah (Eucalyptus marginata) forest species according to temperature and duration of storage / M.A. Norman, E.L. Cromer, S.K. Taylor

Norman, M. A




gin

PbZn 2010 : papers originally presented at Lead-Zinc 2010, held in conjunction with COM 2010 and reproduced with permission of the Canadian Institute of Mining, Metallurgy and Petroleum / edited by A. Siegmund ... [et al.]




gin

Managing wastes from aluminum smelter plants / B. Mazumder and B.K. Mishra

Mazumder, B




gin

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




gin

070 JSJ Book Club: JavaScript Allongé with Reginald Braithwaite

Panel Reginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:08 - Reg Braithwaite Introduction Github 03:46 - JavaScript Allongé by Reginald Braithwaite 06:43 - The Y Combinator Kestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite 14:26 - Book Summary/Perspective Functions QED, The Strange Theory of Light and Matter by Richard P. Feynman 21:37 - Footnotes Flashman: A Novel by George MacDonald Fraser 26:42 - allong.es Michael Fogus 29:15 - Sharing Knowledge & Information 33:01 - The Coffee Theme CoffeeScript Ristretto by Reginald Braithwaite 37:42 - Favorite Parts of the Book How Prototypes Work Combinators 42:18 - Writing the Beginning 44:41 - Reg’s Programming Background One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow Picks ng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald) Special Offer! JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY! Next Week JavaScript Strategies at Microsoft with Scott Hanselman Transcript MERRICK:  Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!” [Laughter] AJ:  Nice. REG:  That behavior is always acceptable if you are dressed for the part. [Laughter] CHUCK:  Since this is pure audio, you don’t even have to be dressed. JOE:   I have a pair of parachute pants. MERRICK:  I actually record most of this show while I'm in the bathtub. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to Episode 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  AJ O’Neal. AJ:  Still coming at you almost live from San Francisco. CHUCK:  Merrick Christensen. MERRICK:  What’s up guys? CHUCK:  There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite. REG:  Pleased to be here with you. MERRICK:  That was a real voice if I’ve ever heard one. JOE:  Yeah. Awesome. CHUCK:  No kidding. We should have you do some voice overs for us. MERRICK:  We should. CHUCK:  You’re listening to JavaScript Jabber. [Chuckles] AJ:  Say, “In a world…” [Chuckles] REG:  In a world… CHUCK:  Anyway… [Laughter] AJ:  Derailed, derailed. CHUCK:  Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly? REG:  Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,




gin

113 JSJ Community Dynamics with Reginald Braithwaite

The panelists talk to Reginald Braithwaite about the dynamics of the JavaScript community.




gin

124 JSJ The Origin of Javascript with Brendan Eich

The panelists talk to Brendan Eich, the creator of JavaScript.




gin

151 JSJ Getting Started with a Career in Web Development with Tyler McGinnis

02:21 - Tyler McGinnis Introduction

03:23 - Getting Started at DevMountain

04:38 - DevMountain Conception

05:37 - How Do I Learn How to Code?

  • Struggle. Fail. Tears.
  • [Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code

08:03 - Resources => Consume ALL THE Information

11:16 - Two Camps: Art (Creators) and Technicians <= Does DevMountain Cater to One or the Other?

13:08 - Repetition as a Way to Learn

15:23 - Letting People Struggle vs Helping Them    

17:14 - Training/Finding Instructors / Teaching Teachers to be Better Teachers

21:08 - Why Is JavaScript a Good Language to Learn?

24:11 - DevMountain Mentors

26:30 - Student Success Stories

28:56 - Bootcamp Learning Environments

34:11 - Oldest and Youngest Students (Success Stories Cont’d)

37:18 - Bootcamp Alumni (Employment Rates and Statistics)

Picks

Costco Kirkland Brand Peanut Butter Cups (Dave)
[Confreaks] Tyler McGinnis: What I’ve Learned about Learning from Teaching People to Code (Dave)

[YouTube] Katya Eames: How to Teach Angular to your Kids (Dave)
[YouTube] Misko Hevery and Rado Kirov: ng-conf 2015 Keynote 2 (Dave)
Mandy’s Fiancé (AJ)
[YouTube] Katya Eames: How to Teach Angular to your Kids (Joe)
ng-conf Kids (Joe)
Salt (Joe)
[YouTube] Dave Smith: Angular + React = Speed (Tyler)
[YouTube] Igor Minor: (Super)Power Management (Tyler)
React.js Newsletter (Tyler)
Dave Smith’s addendum to his talk (Joe)




gin

157 Moving Your Rendering Engine to React with Amit Kaufman and Avi Marcus

02:43 - Amit Kaufman Introduction

03:07 - Avi Marcus Introduction

04:35 - Why Move Your Rendering Engine to React?

07:25 - Using JavaScript

09:57 - Business Process and Progression (Getting Managerial Approval)

12:46 - Manipulation

15:11 - Layout and Performance

  • Measuring and Patching

20:21 - Building Client-Side Applications in General

  • Abstraction
  • Make Code Predictable and Clear
  • Have a Goal

26:00 - Events

29:30 - Storage

  • Lazy Components

31:31 - Immutability

34:36 - Flux and Keeping Code Maintainable

  • Packages

38:19 - Two-way Data Binding

Picks

Notes on the book "Art & Fear" by David Bayles & Ted Orland (Jamison)
Papers (Jamison)
Dynamo: Amazon’s Highly Available Key-value Store (Jamison)
LDS Conference Talks (AJ)
Stephen Young: Why your code is so hard to understand (Aimee)
Kombucha (Aimee)
Pascal Precht: Integrating Web Components with AngularJS (Pascal)
Template Syntax Constraints and Reasoning (Design Doc) (Pascal)
RUNNING WITH RIFLES (Joe)
[Pluralsight Webinar] AngularJS 2.0: What you need to know with Joe (Joe)
Whiplash (Amit)
Dan Ariely: What makes us feel good about our work? (Amit)
React Templates (Amit)
Esprima (Avi)
Big Hero 6 (Avi)

 

Check out and sign up to get new on React Rally: A community React conference on August 24th and 25th in Salt Lake City, Utah!




gin

JSJ 336: “The Origin of ESLint” with Nicholas Zakas

Panel:

Special Guests: Nicholas Zakas

In this episode, the panel talks with Nicholas Zakas who writes on his site, Human Who Codes. He is the creator of ESLint, also the author of several books, and he blogs, too. He was employed through Box and today he talks about ESLint in full detail! Check it out! 

Show Topics:

0:05 – Advertisement: KENDO UI

0:37 – Hello! The panel is...(Chuck introduces everyone).

1:04 – Nicholas who are you?

1:17 – Nicholas: Yeah it’s been about 5 years and then you invited me again, but I couldn’t come on to talk about ESLint back then. That’s probably what people know me most for at this point. I created ESLint and I kicked that off and now a great team of people is maintaining it.

1:58 – Chuck: What is it?

2:04 – It’s a Linter for JavaScript. It falls into the same category as JSLint. The purpose of ESLint is to help you find problems with your code. It has grown quite a bit since I’ve created it. It can help with bugs and enforcing style guides and other things.

2:53 – Where did it come from?

2:57 – Guest: The idea popped into my head when I worked at Pop. One of my teammates was working on a bug and at that time we were using...

Nothing was working and after investigating someone had written a JavaScript code that was using a native code to make an Ajax request. It wasn’t the best practice for the company at the time. For whatever reason the person was unaware of that. When using that native XML...there was a little bit of trickiness to it because it was a wrapper around the...

We used a library to work around those situations and add a line (a Linter) for all JavaScript files. It was a text file and when you tried to render code through the process it would run and run the normal expression and it would fail if any of the...matched.

I am not comfortable using normal expressions to write code for this. You could be matching in side of a string and it’s not a good way to be checking code for problems. I wanted to find a better way.

6:04 – Why did you choose to create a product vs. using other options out there?

6:15 – Guest: Both of those weren’t around. JSHint was pretty much the defector tool that everyone was using. My first thought was if JSHint could help with this problem?

I went back to look at JSHint and I saw that on their roadmap you could create your own rules, and I thought that’s what we need. Why would I build something new? I didn’t see anything on GitHub and didn’t see the status of that. I wanted to see what the plan was, and they weren’t going to get to it. I said that I really needed this tool and I thought it would be helpful to others, too.

8:04 – My history was only back when it was customizable.

8:13 – Aimee: It’s interesting to see that they are basing it on regular expressions.

8:32 – Guest: Interesting thing at Box was that there was...I am not sure but one of the engineers at Box wrote...

9:03 – Aimee: I was going to ask in your opinion what do you think ES Lint is the standard now?

9:16 – Guest: How easy it is to plug things in. That was always my goal because I wanted the tool not to be boxed in – in anyway.

The guest continues to talk about how pluggable ESLint is and the other features of this tool.

13:41 – One thing I like about ESLint is that it can be an educational tool for a team. Did you see that being an educational tool?

14:24 – Guest: How do you start introducing new things to a team that is running at full capacity? That is something that I’ve wondered throughout my career. As a result of that, I found that a new team there were some problems I the code base that were really hard to get resolved, because when one person recognizes it there isn’t a god way to share that information within a team in a non-confrontational way. It’s better to get angry at a tool rather than a person.

Guest goes into what this can teach people.

18:07 – Panelist: I am not surprised. Is there a best practice to get a team to start with ESLint?

Do you get the whole team in a room and show them the options or take the best guess and turn it on?

18:34 – Guest: The thing I recommend is that first and foremost get ESLint in your system with zero rules on. It starts that mindset into your development process. We can do something to automatically check...

Get Syntax checking and you will se improvements on the number of bugs that are getting out of production. I recommend using the default the ESLint configuration. This has all of the things that we have found that are most likely errors and runtime errors vs. syntax errors. You can go through with those and sometimes it is easier to run that check with...

Using those ESLint rules will clean up a lot of problems that you didn’t know you had with your code. There are too many problems with those rules. I recommend instead of turning them off then put the severity to warning and not error. That is something we started with in the beginning. We turned on as many rules as we could and it drove people crazy. They didn’t feel like when they were committing to a file why should I be...

The idea with the different scenario levels you don’t’ want to turn off rules so people don’t know there is a problem. There can be a rule on so people will know that there is a problem, but...

Doing that alone will give you a lot of benefit in using ESLint. How do you decide as a team on the rules that are maybe not for finding errors but for stylistic in error? Do we use four spaces, semi-colons, etc. To figure that out I am a big component on finding a pre-existing style guide and adapting it. Get everyone to agree.

There is no right or wrong when it comes to stylistic preferences. It really is just getting everyone to do the same thing. I think it was Crawford that said: Whether you drive on the right side of the left side of the road – it doesn’t matter as long as everyone is dong the same thing. I agree with that and it applies to style guides. It can get heated but for the best thing for the team is stick with a guide and work together.

24:36 – Aimee: I can go through the options to pick one of the style guides out there and then it will automatically create my configuration for me is helpful. Question: If you had to pick 2 or 3 rules that you are super helpful what would they be?

25:30 – Guest: To touch briefly on indentation. Whether you like four spaces or whether you are wild and like tabs, I think the indent rule is very helpful. Just for wiping out and eliminating that discussion through your team. Have your editor setup however they want but on the pre-hook...

But my favorite rules I tend to lean towards the ones that saved me.

The Guest goes through his favorite rules with ESLint. Check it out!

26:51 – Guest mentions his second favorite rule, here!

28:24 – Guest mentions his third favorite rule, here!

29:03 – Guest mentions the rule that makes him giggle a lot, here!

30:07 – Advertisement – Sentry!

31:22 – What is your take on running Fix? Does it make sense to run Fix?

32:00 – Guest: It depends and the idea behind Fix is the idea of doing a one time (at the start) fix everything that it can find wrong b/c I don’t want to do it by hand. It morphed into a more of a tool that people are using all the time. I too have mixed feelings about it. I think the greatest value you get out of Fix is that when you first install it or when you enable a new rule. I think in those situations you get a lot of value out of Fix. I think that when people were getting aggressive with their code styles it took us down a path where we...

As a pre-commit hook it could be to fix things and part of the built system you wouldn’t want...

People are probably wondering: Why doesn’t ESLint doesn’t fix all the time?

It can be a team decision: do you want to run Fix at the point that the developer is writing the code, do you want to use Fix as running it as a build when you are bundling? It really seems more of a personal preference. I am on the fence about it. Even though I am leaning more towards...

35:16 – Do you run Premier?

35:20 – Guest: No I don’t. I don’t have anything against Premier but I think Prettier uses a very interesting space.

37:50 – Chuck: What is next for ESLint and what is next for you?

37:55 – Guest: Well, to be honest I am not sure what is next for ESLint. I haven’t been involved with keeping it maintained for the last few years. I do help out with feedback with decisions. But in general the ESLint the direction is that let’s add tings that help people avoid language hazards and make sure that ESLint is still pluggable. Lastly, that we will be there to help people and the community. There is this virtuosic cycle and tools like Babble and then tools like ESLint introducing rules adapting new rules and features better.

For myself, and the future, I haven’t been involved with ESLint because I am focusing on my health. I was diagnosed with Lyme Disease and it meant that I needed to focus on my health. That’s why, too, I wasn’t able to join a few years ago. I am doing better but I am a few years away for working fulltime and writing books and blogging, again. The trajectory is upward. I want to stress that you need to take care of yourself.

There is interesting stuff that we are doing and I love it, but make sure you take care of yourself! If you don’t have your health then nothing will really matter. I want to encourage you all to take care of yourselves better. This industry can take a toll on your body b/c it is high-stressed. If you are stressed your immune system will shut down. For a lot of us we are working too much and there isn’t an off-switch. I would like to encourage people to examine their life and their time.

When you take time to turn off your analytic brain, and work on your creative brain then the pathways will connect better.

Please save your money!

Lyme disease is spread through tick bites.

44:30 – Aimee: Thank you for sharing that!

44:38 – Chuck: It’s encouraging to me that you are still trying to come back even after this disease. I think we take things for granted sometimes. You can’t always count on things going the way you want it to go.

45:19 – Guest: What happened to me was I left work and one Friday afternoon I had a normal weekend. My health was on the decline, and I rested all weekend. And Monday I couldn’t get out of bed. That started this whole period where I stopped leaving the house completely. That’s how quickly things can change for you. I harp on people a lot to save their money. If I didn’t have savings there would be a very different end to my story. I want to encourage people to save.

46:33 – Chuck: I think on that note let’s go to picks. Where can people find you?

46:45 – Guest: My blog is Human Who Codes.

47:10 – Chuck: Anything people can do to help you? Check out his books you won’t regret it!

47:33 – Guest: Buying books is always helpful. I would say that if you can spend some time contributing to ESLint that is always a great help. Anything you can do to help them will help me. I want to make sure that those folks are happy, healthy and productive. For me, personally, I love when people Tweet at me and say HI! I love hearing other people’s stories of how they have overcome past diseases or illnesses. If you want to send monetary gifts – donate to a wonderful organization that helps children with Lyme disease. I would encourage you to support if you feel inclined.

50:49 – Chuck: We appreciate it, and I appreciate you being so open about your personal story.

51:11 – Advertisement – eBook: Get a coder job!

Links:

Sponsors:

Picks:

Aimee

Chris

Cory

Charles

  • My JavaScript Story

Joe

Nicholas




gin

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




gin

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:




gin

JSJ 389: What Makes a 10x Engineer?

Sponsors

Panel

  • Charles Max Wood

Episode Summary

In today’s show, Chuck talks about the recent tweet thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is. Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made. When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer. Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:




gin

JSJ 391: Debugging with Todd Gardner

Episode Summary

Todd Gardner is a software developer, podcaster on the show Script and Style, startup founder,  and comedy host for Pub Conf, a ‘comedy after party for developers’. Since he was last on the show 6 years ago, he has seen his startup TrackJS become quite successful. TrackJS is a JavaScript error monitoring service which gives you visibility into your client side experience. It’s different from other tools because focused on simplicity, so you’ll never need a guy on your team dedicated solely to TrackJS because everyone can use it.

The panel begins by talking about debugging methods and tools. Some rely solely on the debugger built into their platform while others prefer to use a third party service. They discuss the necessity of using a third party debugger and if there are better solutions than just the built in debugger. 

They then discuss what to do after you’ve fixed a bug, such as if it is necessary to write a test to make sure it was completely fixed They talk about things to do to make debugging more effective. Todd and Aimee believe that code needs to begin by being designed for debug-ability. 

The panel discusses issues with invisible boundaries encountered while debugging, such as running out of memory. They talk about ways to mitigate issues that happen outside of your code base. Todd talks about the dangers of ad-blockers, and the panel agrees that it is important to consider how your website will be crippled by the user’s own technology. The end user in a production environment will have a different experience than you did writing it on a professional computer. 

Todd talks about the difference between debugging for the web versus a mobile application. Todd has encountered particular problems with debugging on a remote device, and he talks about how he solved the issue. The show concludes with Todd giving a quick elevator pitch for TrackJS

Panelists

  • Chris Ferdinandi

  • Christopher Buecheler

  • Aimee Knight

  • Charles Max Wood

  • Steve Emmrich

With special guest: Todd Gardner

Sponsors

Links

Follow DevChat on Facebook and Twitter

Picks

Christopher Buecheler:

Chris Ferdinandi:

Aimee Knight:

Charles Max Wood:

  • Atomic Habits

  • Getting up at 4 am

Steve Emmrich:

  • Trello

  • Babushkas and grandmas to help you with your newborn

Todd Gardner:

  • PubConf

  • Follow Todd @toddhgardner or todd.mn




gin

JSJ 399: Debugging with Async/Await with Valeri Karpov

Valeri Karpov is a maintainer on Mongoose, has started a few companies, and works for a company called Booster Fuels. Today’s topic debugging with Async/Await. The panel talks about some of the challenges of debugging with Async. AJ, however, has never encountered the same problems, so he shares his debugging method. 

Valeri differentiates between .catch vs try...catch, and talks about why he prefers .catch. There are two ways to handle all errors in an async function without leading to an unhandled promise rejection. The first is to wrap the entire body of the async function in a try...catch, has some limitations. Calling an async function always returns a promise, so the other approach is calling .catch on the promise to handle any errors that occur in that function body. One of the key differences is if you return a promise within an async function, and that return promise is wrapped in a try...catch, the catch block won’t get called if that promise is rejected, whereas if you call .catch on the promise that the function returns, you’ll actually catch that error. There are rare instances where this can get tricky and unintuitive, such as where you have to call new promise and have resolve and reject, and you can get unexpected behavior.

The panel discusses Valeri’s current favorite JS interview question, which is,  “Given a stream, implement a function called ‘stream to promise’ that, given a stream, returns a promise that resolves to the concatenation of all the data chunks emitted by the stream, or rejects if the stream emits an error event.” It’s really simple to get this qustion right, and really simple to get it wrong, and the difference can be catastrophic. AJ cautions listeners to never use the data event except in the cases Val was talking about, only use the readable event.

The conversation turns to the function of a readable event. Since data always pushes data, when you get a readable event, it’s up to you to call read inside the function handler, and then you get back a chunk of data, call read again and again until the read returns null. When you use readable, you are in control and you avoid piling functions into RAM. In addition, the right function will return true or false to let you know if the buffer is full or not. This is a way to mix imperative style into a stream.

The next discussion topics are the differences between imperative style and reactive style and how a waits and promises work in a normal four loop. A wait suspends the execution of a function until the promise is resolved. Does a wait actually stop the loop or is it just transpiling like a promise and it doesn’t stop the loop. AJ wrote a module called Batch Async to be not as greedy as promise.all but not as limited as other options.

The JavaScript panelists talk about different async iterators they’ve used, such as Babel. They discuss the merits of Babel, especially since baseline Android phones (which a significant portion of the population of the world uses) run UC Browser that doesn’t support Babel, and so a significant chunk of the population of the world. On the other hand, if you want to target a large audience, you need to use Babel.

Since frameworks in general don’t handle async very well, the panel discusses ways to mitigate this. They talk about different frameworks like Vue, React, and Express and how they support async functions. They discuss why there is no way for you to actually cancel an async option in an actual case, how complex canceling is, and what you are really trying to solve for in the cancellation process. 

Canceling something is a complex problem. Valeri talks about his one case where he had a specific bug that required non-generic engineering to solve, and cancelling actually solved something. When AJ has come across cancellation issues, it’s very specific to that use case. The rest of the panelists talk about their experiences with having to cancel something. 

Finally, they talk about their experience with async generator functions. A generator is a function that lets you enter into the function later. This makes sense for very large or long running data sets, but when you have a bounded items, don’t complicate your code this way. When an async generator function yields, you explicitly need to call next in order for it to pick up again. If you don’t call ‘next’, it’s essentially cancelled. Remember that object.keys and object.values are your friends. 

Panelists

  • Christopher Buecheler

  • AJ O’Neal

  • Charles Max Wood

With special guest: Valeri Karpov

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

AJ O’Neal:

Christopher Buecheler:

Charles Max Wood:

Valeri Karpov:




gin

MJS 140: Tommy Hodgins

Tommy Hodgins is a developer that typically works on A/B tests figuring out how to get websites the outcomes they want. He got into JavaScript and front-end technologies and then read a paper that led him to realize the capabilities of writing software to solve problems. He maintains a front-end focus with his A/B testing work and CSS in JS and other work.

Host: Charles Max Wood

Joined By Special Guest: Tommy Hodgins

Sponsors

______________________________________

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

______________________________________

Picks

Tommy Hodgins:

Charles Max Wood:




gin

Yoritomo and the founding of the first Bakufu [electronic resource] : the origins of dual government in Japan / Jeffrey P. Mass

Mass, Jeffrey P




gin

You did that on purpose [electronic resource] : understanding and changing children's aggression / Cynthia Hudley

Hudley, Cynthia




gin

Young people and new media [electronic resource] : childhood and the changing media environment / Sonia Livingstone

Livingstone, Sonia M




gin

Youth in a changing world [electronic resource] : cross-cultural perspectives on adolescence / ed. Estelle Fuchs

International Research Conference on Adolescence, Oshkosh, Wis., 1973




gin

ZBrush 4 sculpting for games [electronic resource] : beginner's guide : sculpt machines, environments, and creatures for your game development projects / Manuel Scherer

Scherer, Manual




gin

For Kejriwal, challenging Modi in Varanasi is yet another high-stakes foray

Lacking a cohesive national campaign, Kejriwal has yet again taken recourse to insurgent tactics – projecting himself as Modi’s only rival when Congress is yet to declare its nominee for Varanasi.




gin

[ASAP] Vertically Aligned Ag<sub><italic toggle="yes">x</italic></sub>Au<sub>1–<italic toggle="yes">x</italic></sub> Alloyed Nanopillars Embedded in ZnO as Nanoengineered Low-Loss Hybrid

Nano Letters
DOI: 10.1021/acs.nanolett.0c00790




gin

[ASAP] Ultrasmall Rhodium Nanozyme with RONS Scavenging and Photothermal Activities for Anti-Inflammation and Antitumor Theranostics of Colon Diseases

Nano Letters
DOI: 10.1021/acs.nanolett.9b05035




gin

[ASAP] In Liquid Infrared Scattering Scanning Near-Field Optical Microscopy for Chemical and Biological Nanoimaging

Nano Letters
DOI: 10.1021/acs.nanolett.0c01291




gin

[ASAP] Imaging Supramolecular Morphogenesis with Confocal Laser Scanning Microscopy at Elevated Temperatures

Nano Letters
DOI: 10.1021/acs.nanolett.0c00662




gin

Vertical flow constructed wetlands : eco-engineering systems for wastewater and sludge treatment / Alexandros Stefanakis, Christos S. Akratos, Vassilios A. Tsihrintzis

Stefanakis, Alexandros, 1982-




gin

Australia's water markets : an evaluation of Australia's water market as a new global standard for managing water resources / Manabu Kondo

Kondo, Manabu, author




gin

Marine biology / Peter Castro, Ph.D., California State Polytechnic University, Pomona, Michael E. Huber, Ph.D., Jacobs Australia ; original artwork by William C. Ober, M.D., Washington & Lee University, and Claire E. Ober, B.A., R.N

Castro, Peter, author




gin

Aboriginal Waterways Assessment Program




gin

Water policy and planning in a variable changing climate : insights from the Western United States/ edited by Kathleen A. Miller [and three others]




gin

International water scarcity and variability : managing resource use across political boundaries / Shlomi Dinar and Ariel Dinar

Dinar, Shlomi, author




gin

Hydrology and best practices for managing water resources in arid and semi-arid lands / Christopher Misati Ondiekiand, Kenyatta Universiity, Johnson U. Kitheka, South Eastern Kenya University, Kenya




gin

Microplastic contamination in aquatic environments : an emerging matter of environmental urgency / edited bu Eddy Y. Zeng




gin

Aquatic ecosystems in a changing climate / editors, H.C. Donat-P. Häder (Department of Biology, Friedrich-Alexander University, Erlangen-Nuremberg, Germany), Kunshan Gao (State Key Laboratory of Marine Environmental Science, Xiamen University, Fujian




gin

Leveraging Wikipedia: connecting communities of knowledge / edited by Merrilee Proffitt

Barker Library - Z674.75.W55 L48 2018




gin

Topomeric aza/thia cryptands: synthesis and theoretical aspects of in/out isomerism using n-alkyl bridging

Org. Chem. Front., 2020, 7,1164-1176
DOI: 10.1039/D0QO00123F, Research Article
Ian S. Taschner, Tia L. Walker, Sharath Chandra M., Briana R. Schrage, Christopher J. Ziegler, Xinfeng Gao, Steven E. Wheeler
A series of heterobicyclic aza/thia-lactams and cryptands incorporating changes in n-alkyl bridging length have been synthesized, characterized, chelated to heavy metals and computationally assessed.
The content of this RSS Feed (c) The Royal Society of Chemistry




gin

The origin of regioselectivity in Cu-catalyzed hydrocarbonylative coupling of alkynes with alkyl halides

Org. Chem. Front., 2020, 7,1137-1148
DOI: 10.1039/D0QO00214C, Research Article
Shengnan Liu, Jianbiao Liu, Qiong Wang, Jin Wang, Fang Huang, Wenjuan Wang, Chuanzhi Sun, Dezhan Chen
Steric interactions mediate a switch between a ketone and allylic alcohol in Cu-catalyzed hydrocarbonylative coupling of alkynes with alkyl halides.
The content of this RSS Feed (c) The Royal Society of Chemistry




gin

Mechanism and Origins of Stereo- and Enantioselectivities of Palladium-Catalyzed Hydroamination of Racemic Internal Allenes via Dynamic Kinetic Resolution: A Computational Study

Org. Chem. Front., 2020, Accepted Manuscript
DOI: 10.1039/D0QO00174K, Research Article
Zhenzhen Wu, Mei Zhang, Yu Shi, Genping Huang
Density functional theory calculations have been performed to investigate the Pd-catalyzed hydroamination of racemic internal allenes with pyrazoles. The computations show that the originally proposed reaction mechanisms initiated by the...
The content of this RSS Feed (c) The Royal Society of Chemistry




gin

Scientists must write : a guide to better writing for scientists, engineers and students / Robert Barrass

Barrass, Robert