scr

Algorithms and discrete applied mathematics : 5th International Conference, CALDAM 2019, Kharagpur, India, February 14-16, 2019 : proceedings / Sudebkumar Prasant Pal, Ambat Vijayakumar (eds.)

CALDAM (Conference) (5th : 2019 : Kharagpur, India)




scr

[ASAP] Characterization of Post-Transcriptional RNA Modifications by Sheathless Capillary Electrophoresis–High Resolution Mass Spectrometry

Analytical Chemistry
DOI: 10.1021/acs.analchem.0c01345




scr

Subscribe to the Preaching Today Newsletter

Preaching Today provides pastors and preachers sermon prep help with sermon illustrations, sermons, sermon ideas, and preaching articles.




scr

Man’s Discrimination Lawsuit Highlights Journey from Criminal to Christian

Michael Fesser has been treated very badly by people in authority, but his greatest vindication seems to be in proving that he’s not the man he once was. Fesser made local papers after receiving sizable cash settlements resulting from discrimination lawsuits with his former employer and two local ...




scr

BSEB 12th board exam: Link to apply for scrutiny opens at biharboardonline.bihar.gov.in

Along with the scrutiny process. students can also apply for copies of answer sheets and OMR sheets at the official website.




scr

Cancer Screening, Monitoring Down During Pandemic

Use of some cancer screening and monitoring tests came to 'a near standstill' in early April in the US, a new report indicates.
Medscape Medical News




scr

Outstanding Scroll and Parallax CSS Effects

CSS effects can be a great way to add some visual interest to your website. A common web design mistake is making a website that’s too static. One little parallax animation can do wonders to make your design more interesting …




scr

How to Easily Animate Website Elements on Scroll Using the Free AOS Library

On-scroll animations can add quite the elegant effect to your website. A little animated polish can go a long way towards making your site look well-rounded and complete. With JavaScript and CSS, you can make elements fade, slide, or even …




scr

Phase separation driven by production of architectural RNA transcripts

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/C9SM02458A, Paper
Tetsuya Yamamoto, Tomohiro Yamazaki, Tetsuro Hirose
We here use an extension of the Flory-Huggins theory to predict that the phase separation is driven by the production of architectural RNA (arcRNA) at a DNA locus with a...
The content of this RSS Feed (c) The Royal Society of Chemistry




scr

Single chain in mean field simulation of flexible and semiflexible polymers: Comparison with discrete chain self-consistent field theory

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/D0SM00620C, Paper
So Jung Park, Jaeup Kim
Single chain in mean field (SCMF) simulation is a theoretical framework performing Monte Carlo moves of explicit polymer chains under quasi-instantaneously updated external fields which were originally imported from the...
The content of this RSS Feed (c) The Royal Society of Chemistry




scr

[ASAP] Describing Meta-Atoms Using the Exact Higher-Order Polarizability Tensors

ACS Photonics
DOI: 10.1021/acsphotonics.9b01776




scr

[ASAP] Plasmon-Mediated Coherent Superposition of Discrete Excitons under Strong Exciton–Plasmon Coupling in Few-Layer MoS<sub>2</sub> at Room Temperature

ACS Photonics
DOI: 10.1021/acsphotonics.0c00233




scr

Beautiful Scrolling Experiences – Without Libraries

Michelle Barker appears as one of a heavenly host, coming forth with scroll in hand to pronounce an end to janky scrolljacking! Unto us a new specification is born, in the city of TimBL, and its name shall be called Scroll Snap.


Sponsor: Order any Standard paperback(s) and get a surprise gift card in the box for YOU. While supplies last, from your pals at A Book Apart!


One area where the web has traditionally lagged behind native platforms is the perceived “slickness” of the app experience. In part, this perception comes from the way the UI responds to user interactions – including the act of scrolling through content.

Faced with the limitations of the web platform, developers frequently reach for JavaScript libraries and frameworks to alter the experience of scrolling a web page – sometimes called “scroll-jacking” – not always a good thing if implemented without due consideration of the user experience. More libraries can also lead to page bloat, and drag down a site’s performance. But with the relatively new CSS Scroll Snap specification, we have the ability to control the scrolling behaviour of a web page (to a degree) using web standards – without resorting to heavy libraries. Let’s take a look at how.

Scroll Snap

A user can control the scroll position of a web page in a number of ways, such as using a mouse, touch gesture or arrow keys. In contrast to a linear scrolling experience, where the rate of scroll reflects the rate of the controller, the Scroll Snap specification enables a web page to snap to specific points as the user scrolls. For this, we need a fixed-height element to act as the scroll container, and the direct children of that element will determine the snap points. To demonstrate this, here is some example HTML, which consists of a <div> containing four <section> elements:

<div class="scroll-container">
  <section>
    <h2>Section 1</h2>
  </section>
  <section>
    <h2>Section 2</h2>
  </section>
  <section>
    <h2>Section 3</h2>
  </section>
  <section>
    <h2>Section 4</h2>
  </section>
</div>

Scroll snapping requires the presence of two main CSS properties: scroll-snap-type and scroll-snap-align. scroll-snap-type applies to the scroll container element, and takes two keyword values. It tells the browser:

  • The direction to snap
  • Whether snapping is mandatory

scroll-snap-align is applied to the child elements – in this case our <section>s.

We also need to set a fixed height on the scroll container, and set the relevant overflow property to scroll.

.scroll-container {
  height: 100vh;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
}

section {
  height: 100vh;
  scroll-snap-align: center;
}

In the above example, I’m setting the direction in the scroll-snap-type property to y to specify vertical snapping. The second value specifies that snapping is mandatory. This means that when the user stops scrolling their scroll position will always snap to the nearest snap point. The alternative value is proximity, which determines that the user’s scroll position will be snapped only if they stop scrolling in the proximity of a snap point. (It’s down to the browser to determine what it considers to be the proximity threshold.)

If you have content of indeterminate length, which might feasibly be larger than the height of the scroll container (in this case 100vh), then using a value of mandatory can cause some content to be hidden above or below the visible area, so is not recommended. But if you know that your content will always fit within the viewport, then mandatory can produce a more consistent user experience.

See the Pen Simple scroll-snap example by Michelle Barker (@michellebarker) on CodePen.

In this example I’m setting both the scroll container and each of the sections to a height of 100vh, which affects the scroll experience of the entire web page. But scroll snapping can also be implemented on smaller components too. Setting scroll snapping on the x-axis (or inline axis) can produce something like a carousel effect.

In this demo, you can scroll horizontally scroll through the sections:

See the Pen Carousel-style scroll-snap example by Michelle Barker (@michellebarker) on CodePen.

The Intersection Observer API

By implementing the CSS above, our web page already has a more native-like feel to it. To improve upon this further we could add some scroll-based transitions and animations. We’ll need to employ a bit of Javascript for this, using the Intersection Observer API. This allows us to create an observer that watches for elements intersecting with the viewport, triggering a callback function when this occurs. It is more efficient than libraries that rely on continuously listening for scroll events.

We can create an observer that watches for each of our scroll sections coming in and out of view:

const sections = [...document.querySelectorAll('section')]

const options = {
  rootMargin: '0px',
  threshold: 0.25
}

const callback = (entries) => {
  entries.forEach((entry) => {
    if (entry.intersectionRatio >= 0.25) {
      target.classList.add("is-visible");
    } else {
      target.classList.remove("is-visible");
    }
  })
}

const observer = new IntersectionObserver(callback, options)

sections.forEach((section, index) => {
  observer.observe(section)
})

In this example, a callback function is triggered whenever one of our sections intersects the container by 25% (using the threshold option). The callback adds a class of is-visible to the section if it is at least 25% in view when the intersection occurs (which will take effect when the element is coming into view), and removes it otherwise (when the element is moving out of view). Then we can add some CSS to transition in the content for each of those sections:

section .content {
  opacity: 0:
}

section.is-visible .content {
  opacity: 1;
  transition: opacity 1000ms:
}

This demo shows it in action:

See the Pen Scrolling with Intersection Observer by Michelle Barker (@michellebarker) on CodePen.

You could, of course, implement some much more fancy transition and animation effects in CSS or JS!

As an aside, it’s worth pointing out that, in practice, we shouldn’t be setting opacity: 0 as the default without considering the experience if JavaScript fails to load. In this case, the user would see no content at all! There are different ways to handle this: We could add a .no-js class to the body (which we remove on load with JS), and set default styles on it, or we could set the initial style (before transition) with JS instead of CSS.

Position: sticky

There’s one more CSS property that I think has the potential to aid the scroll experience, and that’s the position property. Unlike position: fixed, which locks the position of an element relative to the nearest relative ancestor and doesn’t change, position: sticky is more like a temporary lock. An element with a position value of sticky will become fixed only until it reaches the threshold of its parent, at which point it resumes relative positioning.

By “sticking” some elements within scroll sections we can give the impression of them being tied to the action of scrolling between sections. It’s pretty cool that we can instruct an element to respond to it’s position within a container with CSS alone!

Browser support and fallbacks

The scroll-snap-type and scroll-snap-align properties are fairly well-supported. The former requires a prefix for Edge and IE, and older versions of Safari do not support axis values. In newer versions of Safari it works quite well. Intersection Observer similarly has a good level of support, with the exception of IE.

By wrapping our scroll-related code in a feature query we can provide a regular scrolling experience as a fallback for users of older browsers, where accessing the content is most important. Browsers that do not support scroll-snap-type with an axis value would simply scroll as normal.

@supports (scroll-snap-type: y mandatory) {
  .scroll-container {
    height: 100vh;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
  }

  section {
    height: 100vh;
    scroll-snap-align: center;
  }
}

The above code would exclude MS Edge and IE, as they don’t support axis values. If you wanted to support them you could do so using a vendor prefix, and using @supports (scroll-snap-type: mandatory) instead.

Putting it all together

This demo combines all three of the effects discussed in this article.

Summary

Spending time on scroll-based styling might seem silly or frivolous to some. But I believe it’s an important part of positioning the web as a viable alternative to native applications, keeping it open and accessible. While these new CSS features don’t offer all of the control we might expect with a fully featured JS library, they have a major advantage: simplicity and reliability. By utilising web standards where possible, we can have the best of both worlds: Slick and eye-catching sites that satisfy clients’ expectations, with the added benefit of better performance for users.


About the author

Michelle is a Lead Front End Developer at Bristol web agency Atomic Smash, author of front-end blog CSS { In Real Life }, and a Mozilla Tech Speaker. She has written articles for CSS Tricks, Smashing Magazine, and Web Designer Magazine, to name a few. She enjoys experimenting with new CSS features and helping others learn about them.

More articles by Michelle




scr

Effect of prescription opioids and prescription opioid control policies on infant health [electronic resource] / Engy Ziedan, Robert Kaestner

Cambridge, Mass. : National Bureau of Economic Research, 2020




scr

11 trains, 30 feet dynamic screen as backdrop for Narendra Modi's Bihar rally

This will be Modi's maiden political rally in rival Bihar Chief Minister Nitish Kumar's home turf.




scr

West Bengal: Miscreants vandalise statue of former CM Jyoti Basu, trigger outrage

The incident has triggered an outrage among the Left supporters and workers.




scr

Computing the continuous discretely [electronic resource] : integer-point enumeration in polyhedra / Matthias Beck, Sinai Robins

New York : Springer, [2007]




scr

Discrete multivariate analysis [electronic resource] / Yvonne M. Bishop, Stephen Fienberg, Paul W. Holland ; with the collaboration of Richard J. Light and Frederick Mosteller

New York : Springer, [2007]




scr

Discrete and computational geometry [electronic resource] : Japanese conference, JCDCG 2004, Tokyo, Japan, October 8-11, 2004, revised selected papers / Jin Akiyama, Mikio Kano, Xuehou Tan (eds.)

Berlin ; New York : Springer, [2005]




scr

Navios de terra videorecording] / escrito, dirigido e produzido por Simone Cortezão ; produção Ana Moravi, Bea França, Simone Cortezão




scr

Planned for dual-screen devices, Microsoft Windows 10X to debut on laptops

The technology giant will look for the right moment to bring the dual-screen devices to the market, said the company in a statement




scr

005 JSJ Javascript Objects

The panelists discuss JavaScript objects.




scr

007 JSJ Online Resources for Javascript Developers

The panelists discuss online resources for JavaScript Developers.




scr

009 JSJ Testing JavaScript with Joe Eames

The panelists discuss testing JavaScript with Joe Eames




scr

011 JSJ Can HTML5 and JavaScript Really Replace Flash?

The panelists discuss whether HTML5 and JavaScript can really replace Flash.




scr

012 JSJ Design Patterns in JavaScript with Addy Osmani

The panelists talk about design patterns in JavaScript with Addy Osmani




scr

017 JSJ CoffeeScript with Jeremy Ashkenas

The panelists talk to Jeremy Ashkenas about CoffeeScript.




scr

027 JSJ The JavaScript Community

The panelists discuss the JavaScript community at large.




scr

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,




scr

044 JSJ Book Club: Effective JavaScript with David Herman

Panel David Herman (twitter blog Effective JavaScript) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:01 - David Herman Introduction Mozilla Mozilla Research TC39 - ECMAScript 01:45 - Effective JavaScript by David Herman 04:27 - Reader Opinions & Controversy JavaScript:The Good Parts by Douglas Crockford 09:09 - ES3 Shimming 11:25 - Code: effectivejs/code 12:50 - Parts of the Book 15:54 - Blocking Web Gestures With getUserMedia: Part1: Aaron Frost 17:28 - Book Level of Difficulty Effective C++ by Scott Meyers 20:09 - Asynchronous APIs Recursion Tail-Call Optimization 26:51 - Programming Language Academics 30:55 - DOM Integration Effective C++ by Scott Meyers Effective STL by Scott Meyers 31:50 - Advice for JavaScript Beginners Eloquent Javascript by Marijn Haverbeke JavaScript Enlightenment by Cody Lindley How to Design Programs 33:16 - Advice for Programmers in General 34:53 - Performance 38:16 - The JavaScript Language 40:45 - Primitives Vs Wrapper Classes 42:37 - Semicolons 45:24 - -0/+0 Picks Jack (Tim) Putting Constants on the Left (AJ) Getting Started with Amazon AWS EC2 (1 year free VPS web hosting) (AJ) Notes on Distributed Systems for Young Bloods: Jeff Hodges (Jamison) Hurdles getting started with Ember.js (Jamison) Grieves (Merrick) The Scala Programming Language (Merrick) Antoine Dufour (Joe) Torchlight II (Joe) Appliness Digital Magazine (Joe) Powermat Home & Office Mat (Chuck) Une Bobine (Chuck) The Rust Programming Language (David) mozilla/servo (David) Roominate Toy (David) OpenWest Conference Call For Papers (AJ) Transcript CHUCK:  The most effective way to hack is quickly. [Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK:  Hey everybody and welcome to Episode 44 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON:  Hello. CHUCK:  AJ O’Neal. AJ:  Yo! Yo! Yo! Coming at you live from the living roomisphere of Provo, Utah. CHUCK:  We have Joe Eames. JOE:  Hi. CHUCK:  Merrick Christensen. MERRICK:  What’s up guys? CHUCK:  Tim Caswell. TIM:  Hello. CHUCK:  I'm Charles Max Wood from devchat.tv and this week, we have a special guest, Dave Herman. DAVE:  Hi there. CHUCK:  So Dave, you haven’t been on the show before. Do you want to introduce yourself? DAVE:  Sure. I work for Mozilla. I have sort of helped create this new department called Mozilla Research where we do a whole bunch of web platform experiments and new technology for the web. And I also am on the horribly named TC39, the standards organization for ECMAScript, working on the next edition of the JavaScript standard. CHUCK:  Cool. DAVE:  Oh, and I wrote this book. CHUCK: You did this book. TIM:  You didn’t just read it and then become an expert on the book and then talk on a podcast about it? [Laughter] CHUCK:  So, I heard about this book. I’m a little curious when you started writing the book, I mean, what was the idea behind it? What inspired it? DAVE:  To tell you the truth, I had no intention of writing a book, it didn’t occur to me. But the publishers reached out to me, I guess they heard of me through TC39, maybe ‘es-discuss’ or something. But they said, “Okay we’ve got this series, this Effective series.” And I was very familiar with Effective C++ which I think is a great book and I really like the format. And just when they approached me, I kind of thought, “You know,




scr

048 JSJ Why JavaScript Is Hard

Panel Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) AJ O’Neal (twitter github blog) Discussion 00:56 - Why JavaScript is hard to learn 02:30 - This 05:30 - Bind 09:11 - Browsers 11:01 - Class-based inheritance Prototypal inheritance 16:37 - New function 18:51 - Closures 20:51 - JavaScript is asynchronous 22:14 - Variable scoping Hoisting 26:14 - Numbers and math (AJ joins the podcast) == ’s vs === ’s 32:15 - Things that make JavaScript hard after learning JavaScript Package management 35:06 - Numbers (cont’d) Crypto Bitwise operations Strings Effective JavaScript by David Herman 044 JSJ Book Club: Effective JavaScript with David Herman 40:16 - Changing/Evolving JavaScript 43:31 - Environmental reasons that make JavaScript Hard Tooling 48:25 - Few projects are primarily JavaScript 49:07 - Adolescence and the JavaScript Ecosystem 53:59 - Running JavaScript Picks Sharpie Metallic Silver (AJ) The how and why of auto-executing functions (in JavaScript) (AJ) The JavaScript Unicycle (AJ) RSA (Tim) OUYA (Tim) Borderlands 2 (Joe) MechWarrior Tactics (Chuck) Testing Clientside JavaScript (Joe) Fire Up Ember.js | PeepCode (Chuck) Meet Chef (Part 2 of 2) | PeepCode (Chuck) Next Week MooTools with Arian Stolwijk and Valerio Proietti Transcript TIM:  I’m just learning lots of math and attempting to do real math in JavaScript is a fun challenge. [Hosting and bandwidth provided by the Blue Box Group. Check them out at  Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK:  Hey everybody and welcome to Episode 48 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Howdy! CHUCK:  We also have Tim Caswell. TIM:  Hello! CHUCK:  And I’m Charles Max Wood from DevChat.tv. And when this episode goes out, you’re going to have about two weeks left if you wanted to sign up for my Rails Ramp Up course. You’ll find that at RailsRampUp.com. I’ve been working hard on that. This week, we’re going to talk about why JavaScript is hard. And I think it was Tim that came on and said, “So, we’re talking about why JavaScript sucks?” And I didn’t want to call it that but at the same time, it’s one of the -- I think the reasons that people find JavaScript hard and the reasons some people say that JavaScript sucks are kind of the same thing. So, if you want to think of it that way, go right ahead. But I kind of wanted to talk about this for a couple of reasons. One was that I was at the users’ group meeting last week and they talked about some of the things that make JavaScript hard and I don’t remember what they all were. But there were a few things that, there are some concepts that are markedly different from what you find in other languages or at least some of the concepts exist in the other languages but they aren’t kind of as important or as in-your-face as they are in JavaScript. Anyway, the other reason is that I was thinking about when I first started this show. And when I first started the show, I was a web developer that was kind of like, “jQuery, whoo!” And thought jQuery and JavaScript, you know, were mostly the same in the sense that the only way to write sane JavaScript was to use jQuery. And so, I wanted to talk around some of the things that I’ve learned over the last year from the other panelists and help people who are coming into JavaScript understand the real power behind some of these other concepts. So that being said, let’s go ahead and get started. I’m a little curious as to what you guys think are some of the hard things that people run into in JavaScript, like why do they struggle with it? TIM:  Alright. So,




scr

054 JSJ JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya Hidayat

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel David Herman (twitter blog Effective JavaScript) Ariya Hidayat (twitter github blog) Tim Caswell (twitter github howtonode.org) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:48 - David Herman and Ariya Hidayat Introduction 044 JSJ Book Club: Effective JavaScript with David Herman 023 JSJ Phantom.js with Ariya Hidayat 01:54 - Parsing JavaScript and ASTs and Language Grammars 04:44 - Semantics 06:08 - Abstract Syntax Tree (AST) Esprima: Parser SpiderMonkey 10:37 - Lexer 12:16 - Writing your own language creationix / jack The C Programming Language 17:41 - Parser Generators JavaScriptCore 21:04 - Evolving a Syntax Automatic Semicolon Insertion Post correspondence problem Halting problem 28:05 - Language Design The Rust Programming Language 30:35 - Grammar Regular Expressions (Regex) Backus–Naur Form (BNF) Recursion How to Design Programs (HTDP) 38:00 - Recursive Descent Parsers 42:48 - Benefits of knowing language internals and syntax Apache Lucene - Apache Lucene Core LPeg - Parsing Expression Grammars For Lua 48:48 - Abstract Syntax Tree (AST) Picks Mass Effect 3 (Joe) A Beginner's Guide to Irrational Behavior | Coursera (Joe) Go write a programming language to learn one (Tim) Thumbs and Ammo (Jamison) ISM by Savant (Jamison) Vimcasts (Jamison) The iPhreaks Show (Chuck) Mozy (Chuck) Tech & Go Bright Pink Micro USB Cable (David) asm.js (David) Beyond Office Politics: The Hidden Story of Power, Affiliation & Achievement in the Workplace by Linda Sommer (Ariya) gotwarlost / istanbul (Ariya) Next Week Web Developer Skills Transcript JAMISON:  I am Linus Torvalds and I pronounce Linux, Linix. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK:  Hey everybody and welcome to Episode 54 of the JavaScript Jabber Show. This week on our panel, we have Tim Caswell. TIM:  Hello. CHUCK:  Jamison Dance. JAMISON:  Hi guys. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  Merrick Christensen. MERRICK:  Hey guys, what’s up? CHUCK:  I’m Charles Max Wood from DevChat.tv. And we have two special guests this week. We have Dave Herman. DAVID:  Hey there. CHUCK:  Ariya Hidayat. ARIYA:  Hello everyone. CHUCK:  And these guys are so smart that we brought them back. So, if you’re interested, we’ll put links to the episodes that they were on. David was on when we talked about his book ‘Essential JavaScript’ and Ariya was on when we talked about PhantomJS. JAMISON:  Effective JavaScript. CHUCK:  Effective? What did I say? MERRICK:  Essential. CHUCK:  Essential? Well, it’s an essential book on Effective JavaScript. How’s that? [Laughter] MERRICK:  Good save. DAVID:  At least, you didn’t say Defective JavaScript. [Laughter] CHUCK:  No, that’s what I write. I’m really good at writing defective JavaScript. ARIYA:  Actually, there’s a book about Essential on Defective JavaScript. CHUCK:  I also want to announce really quickly that Fluent Conf has given us a discount code. So, if you want to get 20% off on your registration for Fluent Conf, just enter JAVAJAB and you’ll get 20% off when you register for Fluent Conf. Alright. Well, let’s get started. This is going to be a really, really interesting topic and it’s something that I’ve wanted to know more about for a long time. And I just haven’t delved as deeply into it as I would like to. And that is,




scr

066 JSJ Transitioning to JavaScript

Panel Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:10 - Making the transition from one primary language to JavaScript 01:30 - Merrick’s Experience ActionScript 03:32 - Joe’s Experience .NET Microsoft 07:46 - Moving from C# to JavaScript Misconceptions 09:25 - JavaScript Misconceptions 10:59 - Chuck’s Experience Ruby on Rails 14:25 - Rails and JavaScript Avoidance 15:25 - Microsoft and JavaScript Avoidance 16:58 - JavaScript Development in General Browsers and Problems 23:38 - Libraries and Tools 044 JSJ Book Club: Effective JavaScript with David Herman Effective JavaScript by David Herman 24:45 - Code Structure 27:03 - node.js 28:00 - Learning core concepts behind JavaScript 29:11 - Understanding Clojures, Scoping & Context 29:53 - Testing 31:35 - Deviating off the common path 33:10 - Idiomatic JavaScript Picks Dart (Merrick) ES6 Plans (Merrick) Defiance (Joe) America's Got Talent (Joe) StarCraft II World Championship Series (WCS) (Joe) Continuum (Chuck) Fringe (Chuck) CleanMyMac (Chuck) Book Club JavaScript Allongé with Reginald Braithwaite!  He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week Testem with Toby Ho Transcript CHUCK:  Yeah, I can pretend I’m getting better at JavaScript. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody, and welcome to Episode 66 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hi there. CHUCK:  And Merrick Christensen. MERRICK:  Hey guys. CHUCK:  I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about, I think it’s kind of a blend of making the transition from one primary language to JavaScript, it usually happens through web development, and some of the mistakes that people make when their primary language is not JavaScript. Let’s go ahead and get started. Merrick, you’re kind of the expert guy that I always look at and go, “Man, he’s awesome at JavaScript.” So, I’m wondering, did you start out at JavaScript or did you come in from somewhere else? MERRICK:  Oh, that’s really nice of you, man. I actually started out with ActionScript. I really loved Flash developments, but it’s the same thing, really. They’re both based off of ECMAScript. So, I guess you could say I’ve always done JavaScript. JOE:  So, ActionScript is nearly identical to JavaScript? MERRICK:  Well, not anymore. ActionScript 3 developed classes and they typed it and they did some interesting things to make it more of a full-featured language. It’s got more [inaudible] than JavaScript now, I think. But I ended up getting into JavaScript when I was like 17 or so. I came across the MooTools framework and ever since then, it’s been all JavaScript all the time. CHUCK:  You’re pretty young. Wasn’t that last year? [Laughter] MERRICK:  Close. No, about six years, five years of JavaScript. JOE:  You’re also, though, like a real student of languages. You love studying other languages. MERRICK:  I love programming languages, yeah. JOE:  I think you’re a pretty funny, not necessarily unique,




scr

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,




scr

071 JSJ JavaScript Strategies at Microsoft with Scott Hanselman

Panel Scott Hanselman (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Scott Hanselman Introduction Community Program Manager for Web Tools at Microsoft Azure and Web Tools ASP.NET Runtime 03:17 - Microsoft and JavaScript Microsoft Build Developer Conference Scott Hanselman: Angle Brackets, Curly Braces, One ASP.NET and the Cloud Json.NET 13:40 - The Cost of Web Development Tooling Sublime Text Visual Studio 18:17 - Libraries and Frameworks Knockout 24:14 - Innovation in Software Befunge 29:48 - Apps Supporting JavaScript Create your first Windows Store app using JavaScript (Windows) Visual Studio Express 34:14 - Windows and Internet Explorer Chakra 40:42 - Microsoft’s Attitude Towards JavaScript Scott Hanselman: Azure for the non-Microsoft Person - How and Why? 45:58 - Open Source 49:12 - asm.js 52:05 - Angle Brackets Conference Picks The Wolverine (Joe) ng-conf (Joe) Cancún (Aaron) @ngconf (Aaron) Wistia (Chuck) Mumford And Sons 'Hopeless Wanderer' Music Video (Scott) Beyoncé Joins the Short Hair Club (Scott) Next Week Screencasting: Sharing What You Know Through Video Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to Episode 71 the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey. CHUCK:  Aaron Frost. AARON:  Hello. CHUCK:  I’m Charles Max Wood from DevChat.TV. And we have a special guest that is Scott Hanselman. SCOTT:  Hello. CHUCK:  Since you’re new to the show, do you want to introduce yourself really quickly? SCOTT:  My name is Scott Hanselman. You can learn more about me on the internet by googling for Scott. I’m in an epic battle right now with the Scott toilet paper people. You’ll find me just below Scott toilet tissue. I’ve been blogging for ten years. More than ten years, 13 years. I work at Microsoft right now. Before that I worked in finance at a company called Corillian that is now Fiserv. I’ve been building big systems on the web for as long as the web’s been around. CHUCK:  Wow. What do you do at Microsoft? SCOTT:  I work in Azure and Web Tools. I’m a program manager. I’m in charge of the experience from file new project until deployment. I call myself the PM of miscellaneous. I spend time going through that experience making sure that it doesn’t suck. My focus is on web tools but also ASP.NET Runtime and what the experience is when you deploy something into Azure. That might be everything from what’s it like editing JavaScript in Visual Studio and I’ll find some issue and go and work with the guys that own that, or it might be someone’s trying to do something in Node on Azure and that experience is not good. I’m like an ombudsman or a customer liaison. But the simplest way would be to say I’m the community PM, community program manager, for web tools at Microsoft. CHUCK:  Okay. AARON:  Cool. CHUCK:  So, is JavaScript your primary focus? SCOTT:  I would say that my primary focus is just anything that makes the web better and moves the web forward. While I work for ASP.NET and most of my work is in C#,




scr

072 JSJ Screencasts

Panel Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:31 - Screencasting Experience Pluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck 02:44 - Getting into Screencasting 06:16 - Screencasting and JavaScript Jabber Sharing Knowledge RailsCasts (Ruby) NSScreencast (iOS) 09:45 - JavaScript Screencasts Embercasts egghead.io (Angular) PeepCode YouTube 10:54 - Conference Talks vs Screencasts 14:34 - Blog Posts vs Screencasts 17:58 - Recording Screencasts (Tools) Camtasia ScreenFlow Jing 22:59 - Voiceovers vs Typing and Talking 26:17 - Audio Quality Blue Snowball Blue Yeti Shure SM58 28:53 - Editing Software Adobe Premier Pro Final Cut Pro Video Hive 33:27 - Preparing for Screencasts Large Font Closed-Captioning 40:23 - Videos of Yourself with Screencasts Wistia Transcripts Picks RequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck) Next Week React with Jordan Walke and Pete Hunt Transcript JOE:  Well, you can represent the newbie perspective then. CHUCK:  Yup. JAMISON:  That’s my default job on this podcast. [Laughter] CHUCK:  No, that’s my job, believe me. JOE:  Au contraire, mon frère. [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to Episode 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON:  Hello. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done? JAMISON:  None. JOE:  [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting. CHUCK:  Nice. JAMISON:  When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this? JOE:  Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that. CHUCK:  Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right? JOE:  [Chuckles] Yeah. Exactly when I’ll be an expert. CHUCK:  That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.




scr

075 JSJ Maintainable JavaScript with Nicholas Zakas

Panel Nicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:24 - Nicholas Zakas Introduction Box Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo 02:19 - What Makes Maintainable JavaScript? Code Layout Clever Solutions (“Chicken Blood Solutions”) 04:39 - Formatting Thinking, Fast and Slow by Daniel Kahneman Broken Window Theory 07:33 - Architecture aura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation 14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge 19:17 - Important conventions for a team to follow Styles Mini Design Patterns Readability 26:14 - Tools & Techniques Style Guide 28:31 - Breaking the continuous integration build 31:14 - Linting JSLint 32:35 - Developing skills for architecting things Experience Personal Trait of Curiosity Component-based and Systems-based software engineers 37:52 - Architecture and Maintainability Testability Backbone.js 43:28 - Creating common conventions that will apply across projects Picks Domo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas) Next Week Meteor.js with Marcus Phillips and Fred Zirdung Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to episode 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey, everyone. CHUCK:  AJ O’Neal. AJ:  I can hit unmute. I'm here. CHUCK:  Jamison Dance. JAMISON:  Hello, friends. CHUCK:  Merrick Christensen. MERRICK:  Hey, guys. CHUCK:  I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas. NICHOLAS:  Yup, you got it. CHUCK:  So, since you haven’t been on the show before, do you want to introduce yourself? NICHOLAS:  Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts. CHUCK:  Yes, you're being modest. You have a book,




scr

081 JSJ Promises for Testing Async JavaScript with Pete Hodgson

Pete Hodgson crosses over from the iPhreaks podcasts to talk with the Jabber gang about testing asynchronous Javascript with promises.




scr

093 JSJ The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons

The panelists discuss The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons.




scr

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.




scr

107 JSJ ClojureScript & Om with David Nolen

The panelists talk to David Nolen about ClojureScript and Om.




scr

109 JSJ Dependency Injection in JavaScript with Vojta Jína & Misko Hevery

The panelists discuss dependency injection with Vojta Jína & Misko Hevery.




scr

112 JSJ Refactoring JavaScript Apps Into a Framework with Brandon Hays

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




scr

124 JSJ The Origin of Javascript with Brendan Eich

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




scr

159 JSJ Why JavaScript Is Hard

02:54 - Everyone Gets It But Me

04:06 - Tools You “Need” to Know

06:29 - Clojures

07:39 - JavaScript as “Object-Oriented” vs “Event-Oriented”

09:30 - Code That Can’t Be Serialized or Deserialized

10:49 - Clojures (Cont’d)

14:32 - The DOM (Document Object Model)

19:52 - Math Is Hard

  • IEEE754 (Floating-Point Arithmetic)

22:39 - Prototypes

25:43 - Asynchronous Programming

32:23 - Browser Environments

34:48 - Keeping Up with JavaScript

35:46 - Node

  • Nesting
  • Context Switching

42:48 - UTF-8 Conversion

44:56 - Jamison’s Stack

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!

Picks

Jason Orendorff: ES6 In Depth (Aimee)
Cat Strollers (Aimee)
Stephano Legacy of the Void (Joe)
A Gentleman's Guide to Love and Murder (Joe)
Gregor Hohpe: Your Coffee Shop Doesn’t Use Two-Phase Commit  (AJ)
Firefox OS (AJ)
Flame (AJ)
OpenWest 2015 (AJ)
801 Labs Hackerspace (AJ)
Stack Overflow Careers (AJ)

Dota 2 (Jamison)
Beats, Rye & Types Podcast (Jamison)
JS Remote Conf Talks (Chuck)

Workflowy (Chuck)




scr

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

02:27 - Alex Eagle Introduction

02:54 - Jonathan Turner Introduction

03:30 - What is TypeScript?

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

07:18 - TypeScript Accommodating Angular

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

14:21 - Angular: Creating a New Language

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

18:01 - Annotations and Decorators

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

25:25 - Non-Angular Users Adopting TypeScript

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

36:58 - Using Libraries Outside the TypeScript Ecosystem

38:11 - Type Definition Files

40:15 - Content of the Type System

43:19 - Duck Typing

45:12 - Getting People to Care about TypeScript

49:16 - The Angular and TypeScript Relationship

Picks

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




scr

168 JSJ The Future of JavaScript with Jafar Husain

03:04 - Jafar Husain Introduction

03:29 - The Great Name Debate (ES6, ES7 = ES2015, ES2016!!)

05:35 - The Release Cycle

  • What This Means for Browsers

08:37 - Babel and ECMAScript

09:50 - WebAssembly

13:01 - Google’s NACL

13:23 - Performance > Features?

20:12 - TC39

24:22 - New Features

  • Decorators
    • Performance Benefit?

28:53 -Transpilers

34:48 - Object.observe()

37:51 - Immutable Types

45:32 - Structural Types

47:11 - Symbols

48:58 - Observables

52:31 - Async Functions

57:31 - Rapid Fire Round - When New Feature Will Be Released in ES2015 or ES2016

  • let - 15
  • for...of - 15
  • modules - 15
  • destructuring - 15
  • promises - 15
  • default function argument expressions - 15
  • asyncawait - 16

Picks

ES6 and ES7 on The Web Platform Podcast (AJ)
Binding to the Cloud with Falcor Jafar Husain (AJ)
Asynchronous JavaScript at Netflix by Jafar Husain @ MountainWest Ruby 2014 (AJ)
Let's Encrypt on Raspberry Pi (AJ)
adventures in haproxy: tcp, tls, https, ssh, openvpn (AJ)
Let's Encrypt through HAProxy (AJ)
Mandy's Fiancé's Video Game Fund (AJ)
The Murray Gell-Mann Amnesia Effect (Dave)
The Majority Illusion (Dave)
[Egghead.io] Asynchronous Programming: The End of The Loop (Aimee)
Study: You Really Can 'Work Smarter, Not Harder' (Aimee)
Elm (Jamison)
The Katering Show (Jamison)
Sharding Tweet (Jamison)
The U.S. Women's National Soccer Team (Joe)
mdn.io (Joe)
Aftershokz AS500 Bluez 2 Open Ear Wireless Stereo Headphones (Chuck)
Autonomy, Mastery, Purpose: The Science of What Motivates Us, Animated (Jafar)
Netflix (Jafar)
quiescent (Jafar)
Clojurescript (Jafar)




scr

186 JSJ NativeScript with TJ VanToll and Burke Holland

Check out JS Remote Conf! Buy a ticket! Submit a CFP!

 

03:07 - Burke Holland Introduction

04:01 - TJ Van Toll Introduction

04:33 - Telerik

04:57 - NativeScript

07:41 - The Views

10:07 - Customizability, Styling, and Standardization

16:19 - React Native vs NativeScript

18:37 - APIs

21:17 - How NativeScript Works

23:04 - Edgecases?

26:12 - Memory Management

27:06 - UITableView

29:59 - NativeScript and Angular

33:22 - Adding NativeScript to Existing Projects

33:51 - Building for Wearables and AppleTV

35:59 - Building Universal Applications

37:14 - Creating NativeScript

39:42 - Use Cases

41:01 - Are there specific things NativeScript isn’t good for?

42:54 - Testing and Debugging

48:35 - Data Storage

Picks

Caddy (AJ)
OC ReMix #505: Top Gear 'Track 1 (Final Nitro Mix)' by Rayza (AJ)
Jamie Talbot: What are Bloom filters? A tale of code, dinner, and a favour with unexpected consequences (Aimee)
Mike Gehard (@mikegehard) (Aimee)
Joe Eames: Becoming Betazoid: How to Listen and Empathize with Others in the Workplace @ AngularConnect 2015 (Dave)
Exercise (Chuck)
Sleep (Chuck)

electron (Aaron)
The Synchronicity War Series by Dietmar Wehr (Aaron)
PAUSE (Burke)
Outlander (TJ)




scr

188 JSJ JavaScript Code Smells with Elijah Manor

Check out JS Remote Conf!

 

02:22 - Elijah Manor Introduction

04:49 - What is a “Code Smell”?

10:21 - Copy/Paste Code Error

13:11 - Using ES6 to Eliminate Code Smells

15:48 - Refactoring Case Statements

21:29 - Juniors and Code Smells

  • Code Reviews

27:29 - Isomorphic Code

31:12 - Framework Code Smells

33:47 - Identifying New Code Smells

36:33 - When Code Smells are OK

39:10 - Why use parameters?

Picks

Terms And Conditions May Apply (AJ)
Nodevember (Aimee)
Developer Tea (Aimee)
Jake Shimabukuro (Joe)
Screeps (Joe)
react-styleguide-generator (Elijah)
react-styleguidist (Elijah)
The Phantom Menace - What it Should Have Been (AJ)
Attack of the Clones - What it Should Have Been (AJ)




scr

189 JSJ PureScript with John A. De Goes and Phil Freeman

02:54 - John A. De Goes Introduction

06:34 - Phil Freeman Introduction

07:38 - What is PureScript?

09:11 - Features

12:24 - Overcoming the Vocabulary Problem in Functional Programming

20:07 - Prerequisites to PureScript

26:14 - PureScript vs Elm

40:37 - Similar Languages to PureScript

44:07 - PureScript Background

47:48 - The WebAssembly Effect

51:01 - Readability

53:42 - PureScript Learning Resources

55:43 - Working with Abstractions

Picks

Philip Robects: What the heck is the event loop anyways? @ JS Conf EU 2014 (Aimee)
loupe (Aimee)
The Man in the High Castle (Jamison)
Nickolas Means: How to Crash an Airplane @ RubyConf 2015 (Jamison)  
Lambda Lounge Utah (Jamison)
Michael Trotter: Intro to PureScript @ Utah Haskell Meetup (Jamison)
Utah Elm Users (Jamison)
Screeps (Joe)
Most Likely to Succeed: Preparing Our Kids for the Innovation Era by Tony Wagner (Joe)
Dark Matter (Joe)
LambdaConf (John)
@lambda_conf (John)
ramda (John)
Proper beef, ale & mushroom pie (John)
Tidal (Phil)
purescript-flare (Phil)
The Forward JS Conference (Phil)