Liberty JS

MC706.io

Liberty JS is a 2 day javascript conference in Philadelphia every year. This year both my fiance Linda Allen and I attended.

Day 1

Talk 1 - Web Crypto

The kickoff talk this year was pretty awesome. It was “Dodging Web Crypto API Landmines” by Ernie Turner (@erniewturner). He went over the new window.crypto API, how to use it, what the caveats are, and the happy-path of using to develop a in browser encryption / decryption application.

He posted his slides on twitter after the talk.

At this point the conference split into two tracks, one with an intro to Vue.js and the other with two talks. I went with the two talks while Linda went to the Vue workshop.

Talk 2 - Javascript is Too Convenient

This talk by Sam Jones (@samjonester) was another excellent one on how many things are possible in javascript that makes it very easy to write code, but at the same time they tend to lean javascript developers to writing code that is harder to read. His presentation went through a number of examples, such as promise chains and tests, that have an easy way to write, and a clean way to write. The entire talk focused on code as communication, and when framing it like that, how do you boost the signal and reduce the noise of that communication. It was an excellent reflection of what makes code good beyond simple code quality tools.

Talk 3 - Lean Coffee Talks.

The speaker for this slot had a family emergency and could not make it. Instead the stand-in conducted what were referred to as “Lean Coffee Talks”. Essentially each table wrote down a number of talks, the table voted on which ones they wanted, and cycled through discussions of those talk subjects. I sat with much of the Scala (not to be confused with the programming language) team, and the few topics we went on were:

  • How do you decide on a Technology or Framework for a Team
  • How do you Rob a Bank using Javascript

Lunch

Lunch was excellent, they had plenty of food, and (good for me) low carb options. It was also an hour and half, so there was plenty of time to catch up, talk with a lot of the developers and ex-coworkers I had seen walking around the conference.

The early afternoon session was split between a Pair Programming and TDD in Jest, or two more talks. I once again went with the talks.

Talk 4 - Full Stack Graph Applications using the GRAND Stack.

This talk was mostly a marketing pitch for Neo4j, as the GRAND Stack uses Neo4j as the backend (and was conceived by Neo4j engineers.) The Grand Stack, for the lazy, is

  • GraphQL
  • React
  • Apollo
  • Neo4J Database

The general concept is with a React + apollo frontend, along with a GraphQL + Apollo

  • Neo4j backend, you can solve certain problems pretty easily. While I’m a big fan of GraphQL, I didn’t see a super compelling reason why throwing out relational databases would be a huge benefit in most cases.

The cases he covered in the presentation were very cool, namely mapping out twitter trolls and the roots of the panama papers.

Talk 5 - Particle Systems for Fun and Profit

This talk by Matt Hayes (@mysterycommand) was about particle systems, optimizing them, and what other uses they can have. It was a lot about how to reason about the render loop, how to save memory by pregenerating a list of assets and reusing them, and a really cool bit on infinite scrollers.

He posted his sliders on twitter

Workshop - Functional Programming in Javascript with Martin Snyder

Having been to the scala version of this talk by Martin Snyder, this was pretty cool seeing the same concepts being applied. I felt like a lot of the developers may have gotten lost pretty quickly, but Martin Synder did a great job of stepping through the functional programming concepts and why they might be used instead of some of the alternatives.

The workshop is available on Martin Snyders github.

Day 2

Talk 1 - Intro to Functional Programming in Javascript

This talk by Len Smith was the lighter version of Martin Snyders workshop. It went over some code examples and basic patterns in javascript for functional programming. It introduced LowDash-FP and Rambda, as well as common uses for them and showed how you can increase the signal to noise ratio using the functional programming paradigm.

Talk 2 - Please Touch: Creating Applications for Museums

This talk by Kathryn Stracquatanio and Sarah Polansky went over creating interactive web applications with touch that are meant to run 24/7, 365. It was dealing with chrome in kiosk mode, memory management with large interactive assets, distributing updates in a live system, and dealing with multi-display interactions. It was pretty cool and an interesting application of web technologies into a new area I had never explored.

Talk 3 - JavaScriptural Exegesis

This talk by Michael Schoonmaker went over different features of javascript as they are used and compared them against what the EMCAScript Spec says and how they were intended to be used. A lot of it was looking at the origins of a lot of the patterns we used, all inspected through the lens of “Javascript is a Religion”. It was very interesting and had a focus on removing the rules and coding standards from your organization unless you absolutely need them.

Lunch

Lunch was, once again, awesome.

Talk 4 - Understanding Async/Await in Javascript

This talk by Hao Luo was hilarious. He is a Microsoft Evangelist who touted how proud he was to never use a microsoft technology. His talk on Aync/Await walked through cleaning an imperative script by using Promises. Then by cleaning up Prosmises using Generators. Then cleaning up generators to have an identical implementation as Aync/Await. It was a clever view at how async/await was working under the covers and the patterns that lead to its implementation.

Talk 5 - Un-dux Your Front-end

This talk by Nate Abele was possible my favorite. Going in, the description to the talk explained how React/Redux was broken, and that he had a better way of doing it. So I came to the talk waiting for a fight. He goes on to explain how React/Redux dont go far enough, and that we should follow Elm’s example. He then walks through a port of The Elm Architecture he wrote in javascript. Having a shoutout to elm was possibly my favorite part of the conference, and I plan on doing a talk on elm next year.

Talk 6 - Building the Foundations of the Node.js Community

This talk by Tierney Cyren was mostly him going over his history with the Node community and how be is now part of the Node.js Community Committee. There was a lot about how node is awesome and how active the community is, but not a lot of substance besides stats and history.

Talk 7 - Serverless Architecture and LibertyJS

The first part of this talk by Pam Selle, was an explanation of what is serverless and how it is changing the landscape of the web. The second part was a recognition piece on what it takes to setup LibertyJS, acknowledging all of the people who volunteer to make it happen, and hyping up the future of the conference.

Afterparty

There were two afterparties, one was an open wine and beer bar at JJ Bootleggers with a Taco Bar. The second was at a dance club provided by the DJ to DJ’s the entire event.

Overall it was a great conference. There was a good representation of the big tech companies of Philadelphia, and I was glad I was able to convince my employer, Jornaya to sponsor the event. There was a wide range of topics, some of which I will be doing follow up writing on, paired with good people and good food. I will definitely be attending LibertyJS next year.