HalfStack 2016 Recap

This was my second year attending Halfstack and creating, as well as compèring (M.C.ed in American English), the JavaScript Pub Quiz. Who can argue with a conference in a pub? The promise of a single-track conference format and a lineup of great speakers is hard to beat. This year Halfstack delivered yet again.


Ruth John (@Rumyra) was the bookend to the conference. Last year she treated us to a live JavaScript DJing session. This year she descended into the internet of things and visualized a set of data gathered from Bluetooth beacons that were pressed by the attendees at the conference. Her talks always make you appreciate that there is a wide variety of applications of technology that can be a hugely creative outlet.

Christoph Gockel (@ChristophGockel) gave an excellent talk on how JavaScript is a prototypical inheritance language. While personally, I have had no choice but to understand that intimately, as he pointed out, you ignore this fact at your peril. He did a great job of explaining how it works, how it is different than other languages, and encouraged people to embrace it.

Image courtesy of Joe Lee

Jack Franklin (@Jack_Franklin) gave an informative and engaging talk on WebPack 2. He did a great job of injecting humor, dealing firmly with the realities that even the best of us sometimes don’t know what is going on. I walked away with a positive impression of WebPack 2, understanding that while it is a Swiss-army-knife sort of a tool, it does fit well into the modern toolchain of web application development.

My inner fanboy was not let down this year by a talk from Chris Heilmann (@codepo8). I really enjoyed his talk at Halfstack last year and this year was just as engaging. I love it when he touches on the “softer” side of technology. His talk on fear of JavaScript, entitled “JavaScript is Not the Enemy…”, really brought home the realities of web app development these days. His talks are always replete with quotable statements, and my fingers were challenged to try to tweet all the ones that struck home with me.

On the topic of arguing the ubiquity and necessity of JavaScript:
“Testing with JavaScript off is like turning off sound and colour on movies and complaining you can’t understand.”
On the topic of the proliferation of JavaScript frameworks and tools:
“Unloved code is a terrible thing; don’t make unloved code.”
On how not to feel intimidated if you aren’t the most vocal member of the JavaScript community:
“Just because people are loud or known doesn’t mean they know everything.”
On the incessant state of churn and development in JavaScript at the moment:
“By the time I get to play with a new JavaScript feature, it is already considered harmful.”
On the good old days of web development:
“Remember when this was clean and easy? It Never Was!”
On his rise of being a leader in the JavaScript community:
“That is how I invented some JavaScript patterns people talk about. I still don’t know what they do.”
On considerations of how to approach web development:
“If you don’t feel the pain of our end users then you’re not participating in the web.”
On how to deal with the complexity of JavaScript:
“JavaScript is a buffet, not a main course. You don’t have to eat it all.”

Many more tweets can be found at #halfstackconf.

Mark Wubben (@novemberborn), who I have had the pleasure to work with on many occasions, gave an informative talk about Babel and the art of transpilation. He did an excellent job of discussing the fundamentals of how Babel works, while live coding a plugin that allowed you to do emoji math. The following is an emoji mathematical example:

? + ? = ?
? + ? = ?
(? * ?)^? = ?

Dylan Schiemann (@dylans) chatted with us about the wheel of reinvention on the web, giving us many, many examples of how sometimes we re-invent the wheel, but sometimes it is iteration which moves us forward. He also informed us that once upon a time, there was JSSS, which was so horrible that it made CSS look like a good solution. He also told us that ES6 is the best thing to happen to JavaScript in 20 years, but it means we have to fundamentally re-think some of the patterns we use.

Niels Leenheer (@rakaz) gave us a hugely entertaining talk on browser user agent sniffing. He went back in the annals of time to provide a potted history of why browsers lie in their user agent strings, as well as providing a few situations where user agent sniffing, versus feature detection, might be useful. To me, it highlighted the unintended consequences of a lack of collaboration on standards, and how that makes our lives in technology hugely complex.

Rob Bateman (@robnet) introduced to the world of complex 3d graphics on the web and how tessellation works with an impressive demo of complex 3d engines being translated to run natively on the web and in 2d.

Opbeat sponsored the video recording for all sessions which are now available online.

After the conference, it was my turn to take over as I lead the JavaScript Pub Quiz. I enjoy coming up with challenging and difficult questions. This time was no different. Everything from cryptic technology company names to identifying the version of Internet Explorer the logo belonged to. There was a lot to think about as we had a few drinks and some pizza.

Image courtesy of Joe Lee

All in all, the conference was a huge success and I think enjoyed by everyone there. It felt like a warm and inclusive environment, where everyone could be themselves and enjoy a day of thinking, talking, and collaborating.

Learning more

Support Logo

Get help from SitePen Support, our fast and efficient solutions to JavaScript development problems of any size.

Workshops Logo

SitePen workshops are a fun, hands-on way to keep up with JavaScript development and testing best practices. Register for an online workshop, today!

Let's Talk! Logo

Let’s talk about how we can help your organization improve their approach to automated testing.

Contact Us Logo

Have a question? We’re here to help! Get in touch and let’s see how we can work together.

Learn more about how SitePen can be your partner

SitePen is a strategic consultancy committed to achieving technical objectives, solving critical business problems and helping our customers build web applications the right way, the first time.