My attempts to scale back my number of meetups and tech events in 2018 is not exactly going to plan. Six weeks in, I’ve been to 14 different events… which, if I extrapolate, puts me at 120 for the year again. Eeek. But yeah, another four this week!

The first was React Sydney, kicking off 2018 in the new event space at Domain. Organisers Jed and Jess have done a great job building this community over the years. A large crowd turned up to hear from four different speakers.

The first speaker was Alex Reardon from Atlassian showing off some of the performance enhancements that have been made toΒ react-beautiful-dndΒ (a library for making beautiful, accessible drag-and-drop lists with React.js). With really big lists (like, say, 500 items), dragging felt sluggish and janky. Alex showed off a few advanced techniques he and his team used to get it feeling snappy and natural. At it’s core, Alex said, optimisation is “about not doing things you don’t need to do.” I especially liked the quote he ended his talk with:

The second talk was from Ajain Vivek from Yahoo7. (Note the cameo from the back of my head in the photo above!) Ajain’s fascinating talk was about rethinking how the state of your app stored in an object tree inside a single store can be transformed to memory model. He started off by talking about how human memory works, and how that could translate to a storage model for React. He finished with a demo that earned him applause from the audience.

The third talk was from Lucas Chen, visiting from Brisbane. Lucas walked us through what’s new in React 16 (aka React Fiber). In a nutshell, there’s been a full rewrite but the API remains the same. Ultimately that means not much has changed in terms of your code, but it got faster! He also gave advice on how you can prepare for future changes:

The final talk of the night was a last minute addition from another Atlassian speaker – Jamie Kyle. (Coincidentally, Jamie is responsible for at least part of my Twenty addiction because he kept tweeting photos at me of screenshots where he’d scored multiple 20’s. πŸ˜‚)

Jamie demoed his new tool Unstated.ioΒ (“Because it’s a JavaScript library I had to buy a .io domain. That was a really good use of $65…”), a tool for sharing state between React components. Simple, short, and useful!

My second event for the week was the Sydney Data Science Breakfast meetup. The theme for this meetup was “AI will take our jobs and that’s ok,” and as you might expect it drew quite a crowd!

The main speaker was Tomer GarzbergΒ of Gronade, reprising his TED talk from this past December. Tomer began by describing factories in China that are entirely dark with no aircon or running water, and where workers labour 24-7. The catch is that all of the workers are robots. This scenario is becoming more and more common, and soon even white collar jobs will begin to be automated away.

After his entertaining talk, Tomer joined three others for a panel discussion: Michael Allright from The Minerva Collective, Tim Garnsey from Verge Labs, and Peter Xing from KPMG. The audience peppered them with questions about the ethics of machine learning and AI, the economic impacts of replacing humans with robots, and how individuals and companies should cope with the coming disruption.

My third event for the week was a brand new meetup: Big Data: Engineers and Scientists. Preact Recruitment are hosting these events and they’ve definitely gotten them off to a good start. It’s always nice to attend a meetup in the beautiful event space at Campaign Monitor!

The first speaker was Simon Aubury from IAGΒ talking about using Kafka to build streaming data pipelines. This was similar to the talk I heard Matt Howlett give a few weeks back, but Simon included lots of architecture examples that really helped everyone understand why Kafka is so useful. He also mentioned KSQL, which is still in developer preview but has a lot of folks very excited about its potential.

The second talk of the night was a counterpoint to the first. Raul Beristain from Vocus CommunicationsΒ spoke about SQL on Hadoop using Impala, and what are the pros and cons of this approach. Sometimes the data you’re saving isn’t going to be updated later – like support call logs – so you don’t need a system that supports those transactions.

The third and final talk was by Campaign Monitor’s own Binzi Cao. Binzo spoke at length about Spark SQL and using it to build a rules engine. He showed off some great examples where Spark SQL can make your life easier, like normalising timestamps from disparate data sources.

My final event of the week was a hands-on Scala workshop hosted by Women Who Code Sydney at Quantium. I figured after my three-day intensive Haskell workshop, I should keep up my functional programming studies, right? 😜

There were so many attendees we had to split over two different conference rooms! Marina was our facilitator and walked us through some exercises to build a CLI party planner application. Happily, I found that my experience in the Haskell workshop really helped conceptually with some of the things we did. Where I got hung up was on the particular Scala syntax, and my lack of knowledge around functions available in the core library. (That went for everyone, though.) I did manage to solve the last one entirely on my own, which resulted in a happy dance in my chair! πŸ’ƒ

Of course, it didn’t help that Quantium’s offices areΒ amazing. They opened the blinds in the conference room during lunch, and WHOA. It’s a good thing I don’t work in this office. I’d stare at that view every day.

Other Stuff