MidwestJS 2016: The Dark Knight Returns

I can’t believe I did this write up back in September and then proceeded to never post it! So here’s my MidwestJS 2016 report, about half a year late but possibly entertaining for those who enjoy reading this sort of thing:

And thus the saga continued. After greatly enjoying my first adventure into the midwest in 2015, I decided to return for round two and see what the next iteration of this Javascript conference had to offer.

For the uninitiated, the conference was broken down into several streams—so you could either stick to one particular framework or subject area for the entire conference, or take a more scattershot approach at exploring the various talks. I decided to mainly stick to the Angular 2 stream as much as possible as it was the framework that I had the least amount of experience with (I had only done some Angular 1 stuff but then I had heard that they had changed a significant amount of the syntax etc that it was almost an entirely new beast).

So, after figuring out which of the talks I’d be dropping in on (and visiting the Purple One’s stomping grounds), I was ready for my second year at Midwest JS:

Day 1- Angular 2 Workshop:

This was an entire day dedicated entirely to teaching different frameworks. I was tempted to go to the React one as it seemed to be where the vast majority of attendees were going (and I was curious to see what they’d be teaching) but I resisted the urge and settled on Angular 2. Side node: I found out afterwards that I had made the right choice as it seemed to be a very beginning oriented session. Fortunately or unfortunately, the Angular 2 tutorial was not.

The aim of the day was to create a standard employee scheduling system (which seems to be the defacto app to build when teaching any subject). What I appreciate about this teaching structure is that they break apart the various stages of the app into branches so that even if you mess up something along the way and can’t get a feature of your app to work, you can simply checkout your branch to the next stage so at least you don’t fall behind the rest of the class—rather than waste time trying to figure out why it’s not working. I think I was able to follow along for about three quarters of the day before “my code got away from me” and I ended up having to continuously checkout the branches to get to the end. I’ll probably attempt building the app again now that I can really sit and think about the code and don’t have the pressure of having to figure a section within a small time frame.

Day 2- Keynote and other ‘observations’:

This was the first real day of the conference. Though, I’m sure everyone who came today was here yesterday as well. I was more curious about the keynote this year over last year’s because whereas last year, the speaker essentially gave a more generic talk about programming practices, this year’s was more product oriented.

The speaker they had managed to get turned out to be a pretty big draw: Douglas Crockford, the man behind the very popular book “Javascript: the Good Parts” and for helping to popularize the JSON format, delivered a talk on his new project, Seif.

The idea behind Seif is to turn the Web into an application that provides much better security for its users. One of the core objectives is to eliminate the need for passwords entirely by instead using hash values that would exist on a user’s individual computer. Unfortunately, this would mean that if your house ever burned down, you would lose everything if you didn’t back up your data. Still, this does make it much more difficult for hackers or man-in-the-middle attacks to take place which would be huge for plenty of institutions out there like banks etc.

The main obstacle that Seif faces really is getting people to use it. For it to work, they would need a major browser to implement it into their code—and currently, they believe that Firefox (one that’s more open source and developer friendly) would likely be the browser most willing to do it. But that introduces another obstacle which is getting people to use Firefox. So it’s a pretty interesting idea but one that could be dead in the water if they can’t get a major browser company to use it. I personally think it would be easier for them to just build their own browser than having to rely on someone else’s but I’m sure they’ll explore that option if it comes to that.

The talks that followed the keynote were pretty varied. Because I had done the Angular 2 track the day before, I decided to stick to that general area and went to a bunch of TypeScript focused ones (Angular 2 is written in TypeScript). But the standout of the day was probably a talk on Observables by a Netflix employee. To summarize, an observable is a stream of multiple values and/or events (similar to a Promise but that only provides a single value). They’re pretty powerful overall and one of the core components used in Angular 2.

After the talks had finished for the day, we all flooded into the lobby for happy hour and snacks. They also had a raffle for pretty sweet tech toys like iPads, Android tablets, and smartwatches. Unfortunately, though the prizes seemed endless, I did not walk away with anything and instead, incredibly incensed, grabbed a second round plateful of chicken fingers and went back to the hotel.

Day 3- More talks, more javascript:

And so we’ve finally arrived at the last day of the conference. As it was missing a keynote to start off with, I immediately knew it was going to be much more lowkey (something I was very appreciative of because one can only take so much Javascript in single sittings). To start things off, I went to another Angular 2 and Typescript session which went more in depth into all the differences between Typescript and Javascript (spoilers: there aren’t very many).

After the first snack break. I went into a workshop that sought to build a real-time chess app. This one was pretty fun to watch because it was interesting to see the lecturer use similar techniques (and run into similar problems) that I did when I was working on Forum Live—the real time trivia app that was used at the DST Tech Forum earlier this year.

At lunch I met a girl who had done one of the talks yesterday on Javascript memory management. Interestingly enough, she was actually still in high school! I kind of regretted not seeing her talk because I was curious about how in depth it would have gone but I’ll probably check it out next year if she returns.

The final keynote of the day was more of a soft talk reflection of the first keynote, the one delivered by Douglas Crockford. The speaker, Kevin Whinnery, was attempting to tell a story in which he was the main influencer of the JSON format and that Douglas Crockford stole all the glory from him. It was more of a light hearted/relaxed talk as opposed to all the technical ones that had come before it.

Until next year!