Skip to Content

Devin Clark

Nebraska JS Conference 2015

NebraskaJS Conf is a conference I had the pleasure of attending recently. It was held at the Omaha Henry Doorly Zoo, named the #1 Zoo in the World by TripAdvisor.

Responsive, Adaptive, and Responsible (codepo8) #

  • Web design was never meant to be done in pixels
  • "Are we OK with building and discarding everything we do over and over again?"
  • "Why do we build things we don't use in production?"
  • The environment we work in flows like water, there is a constant need for new ideas.
  • "Best practices are found, not defined".
  • -220k +300k LOC
  • Every HTTP request is a terrible thing
  • "Most speed increases are based on analyzing and fixing developer mistakes/sloppiness"
  • "Everything in ES6 is a syntax error in older browsers."
  • http://featuretests.io
  • Problems with transpiling:
    • You don't run or debug the code you write.
    • You are at the mercy of the transpiler to create efficient code.
    • Browsers that support ES6 will never get any [ES6 code].
  • http://kpdecker.github.io/six-speed/
  • We can't use ES6 safely in the browser.
  • http://es6katas.org
    • Learn es6 by viewing the ECMAScript unit test code
  • Blaming the tool is a sign of a bad craftsman, good craftsmen improve the tools by feeding back to the tool maker.

Streams (Pam Selle) #

  • Slides
  • Streams are the most awesome data structure you don't know enough about.
  • Comes from Unix
  • All glory to pipe
  • streams are delayed lists
  • Why?
    • Can't/Don't want to hold everything in memory.
  • INFINITE DATA
    • WIZARDS
  • Push and Pull Modes (flavors of streams)
  • Timeouts: 'Never ever block forever'
  • Node streams are push streams.
  • Generators!
    • Pull streams
    • ask for more when you want more (call next() on the generator)
  • BaconJS
    • functional operators on events
  • HighlandJS
    • single interface for many data types.
      • Arrays, Generators, Node streams, Events, Promises.
      • functional operations on these data types.
  • RxJS - Reactive programming
  • Trojan Horse for Reactive Programming.
  • PRESENTATION: Evan Czaplicki at Strangeloop
  • "Once you learn monads, you are unable to explain monads."
  • Intro to Rx by staltz.
  • Browser streams standard (worked on by the Node team).
  • Observable type proposal for es7
    • Native type
  • Turing Incomplete http://turing.cool
    • Pam's Podcast

Custom Elements (Mike Macaulay) #

My Laptop died around here so notes became sparse (Phone typing...)

Architecting Communities (Amanda Harlin) #

  • Slides
  • Amanda spoke about the practices and tooling we have put in place to make Techlahoma Community successful.

High Performance in the Critical Rendering Path (@ponyfoo) #

Measuring #

  • Devtools Audits
  • Measure early; Measure often.

Perf #

  • Optimize tcp
  • Gzip all text
  • Keep alive
  • Use nginx gzip. Everywhere. Now.
  • Defer font loading. Check slides for code. Very cool.
  • Penthouse for critical path css
  • So many more tools in the slides.

Universal JavaScript (Bruce Coddington) #

Lily #

Lily is a surprise speaker who spoke about how she is learning to code using bitsbox.com.

Final (Read: Random) Thoughts #

Nope'd the hell out around this time. I did almost get to touch a shark though. That was pretty cool.

The SuperBytes played at the afterparty. They are really good. 8-bit punk rock band.

Photo of Devin Clark
Devin Clark
Principal Software Engineer, Oracle
You Might Also Like