January 01, 2020     18 min read

2019 - Year Recap

2019 - Year Recap

Last year around this time I was just starting to create my first blog post on DevOpStar. My new year resolved to start something and stick with it for a longer period than just a month.

In the past, I'd re-written my blog under several different rehashes.

All these blogs inevitably fell victim to a similar fate where I either lost interest in the content the site was dedicated to, or I just became lazy.

I'm super excited to finally be able to say that I've finally stuck with a new years resolution. Now I get to do something fun! A year's review of things from 2019 that I LOVED and want to re-share.


January


The first month of the year and I was on a roll... Or possibly I was just high on the dopamine of working on a new project.

I wrote more unique blog posts in January than any other month. There was a good reason for this too as on January 29th, 2019 I achieved my very first AWS Certification (AWS Certified Developer - Associate).

AWS Certified Developer - Associate
AWS Certified Developer - Associate

Looking at the types of blog posts I was writing in hindsight it is pretty clear that I was using my posts as a mechanism to try to cram as much AWS knowledge into my brain as I could. In my opinion, it seemed to work!

Blog Posts:


February


After a solid January, it was fitting that I decided to pace myself a little better moving forward.

IoT Magic Cube

The term digital twin was being thrown around a lot and I recall casually browsing AWS services one day and noticing Amazon Sumerian.

It stood out to be because It sold itself as a good way to display IoT device state visually, with the added benefits of being tied into AWS directly (all the security roles are handled for you nicely).

I designed a simple project using a microcontroller, accelerometer & lipo battery to send acceleration data to AWS IoT From there I wrote some code in an Amazon Sumerian scene to apply force to a virtual cube based on the IoT Shadow of the physical sensor.

Amazon Sumerian Magic Cube Demo

Generating Kitty Cats

NVIDIA Labs launched StyleGAN along with its models for generating fake People, Cats & Bedrooms. I was extremely interested in this particular type of machine learning as it was fascinating to see computers "create" things.

I worked on a simple website with Stephen Mott that basically hosted thousands of images of fake cats that we generated in a Amazon SageMaker notebook. The website was aptly named These Cats Do Not Exist and is still up serving images of cats to hundreds of people per day!

These Cats Do Not Exist Sample
These Cats Do Not Exist Sample

Blog Posts:


March


March was a super exciting month for me for a couple of reasons:

  1. I had found a new hobby! Machine Learning.
  2. I moved to an exciting new job 😱

First on machine learning; after the small success of These Cats Do Not Exist I wanted to get more into machine learning projects so I did what everyone does when they want to get into a new hobby... I spent a lot of money

NVIDIA RTX 2080TI
NVIDIA RTX 2080TI

This card set me back $2,000 and every time I thought about that number I felt guilty about not doing machine learning projects. So you could say I guilted myself into learning I guess?

Dune Coloring Book

The first big project I used my new toy on was a tool to help me color in pictures from a Dune Coloring book. Not even kidding, I came across a random tweet where someone had uploaded images from an old copy of the book they had.

I used a library called deepcolor by Kevin Frans and trained my own model on manga images from safebooru. The results were really interesting and reminded me of watercolor paintings.

Deep Dune Coloring Book
Deep Dune Coloring Book

Mechanical Rock Family

One of the most exciting things that happened this year was that I joined Mechanical Rock in a new role as a DevOps Consultant! Throughout this year it's been fantastic working on interesting problems with a fantastic team supporting me. I feel so lucky to have come on board.

Mechanical Rock Team
Mechanical Rock Team

SANS Holiday Hack Challenge 2018 Honorable Mention

In the previous year, I'd worked on the SANS Holiday Hack Challenge which is a yearly online CTF (Capture the Flag) security event where you have to hack into Santa's mainframe (or something similar to that).

For the past two years, I'd also submitted an un-official writeup in which I breakdown how I solved each challenge:

I was really proud this year to be awarded a Super Honorable Mention for my 2018 write-up

SANS Holiday Hack Super Honorable Mention
SANS Holiday Hack Super Honorable Mention

Blog Posts:


April


We're onto month four and I started it out again by exploring more machine learning project ideas. I had many failed attempts at trying to build projects and I figure it's also really good to mention them, otherwise, it sets the expectation that everything worked on needs to be a success.

Dealing with Failures

I'm sure I'm not alone when I say that I don't handle failed projects very well. It is rather demoralizing to think about all the time sunk into something with nothing to show for it. One of the reasons I blog about the things I learn is that it forces me to produce some kind of outcome; proof that all the learning was for something tangible.

GST Tacotron Failure
GST Tacotron Failure

The problem with linking success to a tangible outcome is that when you don't produce something, it's easy to think you have failed. This is what happened with a project I worked on called gst-tacotron, where I was trying to re-implement an existing voice synthesis project with my own twist.

I trained the models for over 3 weeks straight and go to 503,000 steps before eventually giving up. The results can be viewed at t04glovern.github.io/gst-tacotron; however, they aren't very good.

I came to realize that beating myself up about it was the wrong thing to do, and it turns out I'd learned a lot of things along the way that was eventually used in other projects.

Face Reenactment

Face reenactment using ICface was so much fun! The idea was that video files of celebrities could be deconstructed into frames and their facial data extracted.

This data could then be used to drive images of yourself to mimic what the celebrity is doing.

ICface Video

Facebook F8 Hackathon

I was invited to Facebook F8 this year to take part in the Devpost Hackathon that is run yearly. I was very lucky to be given this opportunity and got up to all sorts of shenanigans while over in San Jose.

My team and I worked on a solution called MyCity which aimed to help deal with some of the issues associated with mass urbanization.

The highlight of my trip was meeting all the incredible people also working on the Hackathon. I feel as though I made some lifelong friends in the short few days I spent with them.

Facebook F8 Team Photo
Facebook F8 Team Photo

Blog Posts:


May


May was a tough month for projects as I was working on a lot of new things at work that was sapping my brain cells during the daytime. This was GREAT! and I loved just being able to unwind at the end of the day and play a bunch of video games I'd missed out on at the start of the year.

Facebook Messenger Bot

At F8 I got the chance to work on a Facebook messenger bot that could help you upload images and analyze the contents. The only issue was that it was hosted on three different clouds (due to all of our teammates having different backgrounds and experiences).

I took the opportunity to port all the functionality to AWS Fargate and created a Facebook bot that could analyze objects within images through a simple chat window.

Facebook Messenger Bot
Facebook Messenger Bot

Blog Posts:


June


With June came a sudden interest in Kubernetes and all the weird and wacky fun that comes with it.

Practical Istio Production Guide

The notable thing about this month was a deep dive into service mesh and the birth of one of my most popular series: Practical Istio: Private & Production Ready Guide.

This series came about after countless nights of banging my head on the wall trying to get Istio set up nicely on Kubernetes clusters. The key takeaway from working with a service mesh is that it's useful, but pretty overkill for most scenarios.

Practical Istio Guide
Practical Istio Guide

A good outcome of this series however was the birth of a GKE (Google Kubernetes) stack defined in Deployment Manager templates. This meant for future projects I had a nice baseline for quickly setting up a production-ready cluster in one click.

Blog Posts:

July

July was a difficult month to keep motivated and I can't even really pinpoint why other than that I might have been a little burnt out.

Our dog was also very unwell, and we were fostering a lot of animals at this point. It was a tough time mentally and that meant I took a break from my hobbies.

Blog Posts:


August


August nearly killed me, but I would do it all over again if I had the chance. There was one notable thing that happened and it consumed my life.

Selfie2Anime

Selfie2Anime was a small project that I worked on with Rico Beti. The goal was to allow people to upload selfies of themselves and get an anime version sent back to them.

Selfie2Anime
Selfie2Anime

We had a tremendous amount of success in the first week we launched and serviced well over 600,000 requests. This whole experience made me realize how important building to scale is, and I was very lucky that we built most of our architecture around serverless paradigms that scaled by default.

Selfie2Anime Architecture
Selfie2Anime Architecture

Most of August was just maintaining and improving the service for a while it grew exponentially and then eventually tapered off.

Blog Posts:


September


September also kicked off with a bunch of really exciting things. It marked a really important point for me as I started to get a lot more involved with community events both locally and internationally (I'll speak on this later).

AWS Community Hero

I was extremely-insanely lucky to be allowed to become an AWS Community Hero. I'd spent most of the year doing my best to open source and educate as many people as I could on AWS services, and was honored to be given this opportunity to be part of the program.

AWS Community Hero Nathan Glover
AWS Community Hero Nathan Glover

Google Cloud Summit

Another thing I was very fortunate to get to be part of was that Mechanical Rock flew a couple of us over to Sydney to attend Google Cloud Summit.

I found this event engaging and it was great to get some insights into where Google Cloud was putting the most focus in terms of the services. I spent most of my time in the App Dev track along with some time in talks on Containerization (Kubernetes).

Google Cloud Summit
Google Cloud Summit

BSides Perth

BSides Perth was another excellent conference I attended in September. I was amazed at how many security-minded people there are in Perth alone, it made me aware that the whole mindset around traditional Hackers no longer exists.

I also LOVED seeing Josh Armitage speak on that time he Red Teamed Mechanical Rock as a training exercise.

BSides Perth
BSides Perth

Trashé - Microsoft Azure AI Hackathon

Other than community events I also did find some time to work on some tech!

I worked with Stephen Mott on a SmartBin solution for the Microsoft Azure AI Hackathon that was meant to help engage people with recycling.

Our solution was called Trashé and we were extremely honored to be presented 1st place overall for our project.

Azure AI Hackathon - Trashé
Azure AI Hackathon - Trashé

Blog Posts:


October


October was a nice break from the chaos, or at least I thought it was going to be. I spent a good portion of October preparing for talks, and conferences and planning out the project I had lined up for January.

NASA Space Apps

I got a chance to take part in NASA Space Apps; the yearly NASA Hackathon where you get a weekend to build something to solve a big problem.

We ended up just having fun and built a solution called La Droné, a voice and phone control system for autonomous flight. We had a lot of problems defining what we were trying to solve, and I'm a bit ashamed of the final product we produced. However, I still got a lot out of the weekend and it's always great to hack away at some code with friends.

NASA Space Apps
NASA Space Apps

Deploying Models to the Masses

Post Selfie2Anime I had a lot of people asking me to do a breakdown of how we were able to scale up and down so easily during the frenzy. Because of these requests, I decided to do a talk on how we scaled our model to the masses so to speak.

I ran this talk at Perth Machine Learning Group and had a lot of fun trying to justify some of my weirder architecture decisions. If you would like to view the slides they are available below:

Deploying Models to the Masses
Deploying Models to the Masses

Blog Posts:


November


November was the month I tried to spend October planning for. Spoilers: It didn't work 😂 and I was still very overwhelmed!

Latency Conf

Mechanical Rock ran its conference yearly called Latency. It's so much fun, and this year I roped myself into running a workshop on Capture the Flag we ran internally a few months prior.

The event had small teams compete to find the most flags by hacking into various vulnerable services. I'd personally competed in CTFs in the past, however running one was a whole different can of worms.

We had a couple of cases where people solved challenges in totally unexpected ways, and in one case they found a vulnerability in the way we'd set up the challenge itself!

Latency Conf CTF
Latency Conf CTF

Bought A House

WE BOUGHT A HOUSE! It was very exciting and stressful but very pleased with how it all went. Here's a photo of me playing Nintendo Switch on the first night we moved in (without any furniture).

Playing Switch with no Furniture plus Cat
Playing Switch with no Furniture plus Cat

Blog Posts:


December


The end of the year meant lots of social events and meetups. However, there was one thing in particular that I attended that was mega exciting!

re:Invent 2019

I was very excited to be given the privilege to go to re:Invent this year. re:Invent is the yearly week-long AWS conference where all the big announcements are made.

The whole experience was mindbogglingly HUGE. We're talking about 65,000 people who all have very similar interests and passions in the same city for a week.

I had the best time meeting some new people at various meetups or just ad-hoc burgers.

re:Invent Burgers
re:Invent Burgers

IoT Projects from PoC to Production

I didn't just go as an attendee, however, as I also got the opportunity to speak doing my talk IoT Projects from PoC to Production. This was such an awesome experience and would do it again in a heartbeat.

re:Invent IoT Project to Production
re:Invent IoT Project to Production

It was great to have some face-to-face conversations with people about their specific problems and gauge what kinds of tooling or tutorials I should work on in the new year to help reduce friction.

re:Invent Recap - AWS Perth User Group

Post re:Invent I also had the opportunity to talk at AWS Perth User Group and do a re:Invent recap for people who were interested in catching up on all the various announcements.

re:Invent Recap
re:Invent Recap

Thanks to Donna Edwards for the photo

Style Transfer Workshop

The final big event I did for the year was a Perth Machine Learning group workshop on Style Transfer. The goal of the workshop was to help people make their very own Selfie2_Something_ project.

We had a massive turnout (much to my surprise) so I spent most of the evening running around like a headless chicken trying to help. I had lots of support from the meetup group, and am very thankful they let me run the event.

PMLG Style Transfer Workshop
PMLG Style Transfer Workshop

Blog Posts:


Summary


I'd like to end with some general advice based on the last year of my life. It isn't necessarily good advice (it could be really bad advice who knows 🤷), but It's a couple of things that have been core to me recently.

Don't Force Productivity

If you aren't feeling particularly productive, don't force yourself to do something your brain is going to hate you for. Just relax for a while and do something that makes you happy instead.

You will become burnt out if you take an always-on approach. I know from experience and it's horrible.

Say Yes Always (Sometimes)

If there's an opportunity to do something; maybe a talk or a workshop, push yourself to give it a shot. Sometimes you'll give a bad talk, but at least you gave it a go.

The caveat here is don't put these opportunities before your mental health. If you are feeling stressed out, let people know and they'll be there to help you.

Blog to Learn

I've always used blogging as a way to learn a topic, as it forces you to get a good grip on something to the point where you can explain it yourself.

This has been a methodology I've lived by the last couple of years and it's served me well.

No One Remembers a Bad Talk

If you are worried about things like "what if my talk is bad", I've found that no one remembers bad talks anyway. People won't hold the fact that you put yourself out there against you either; a lot of people are supportive even if you bomb.

Have Other Outlets

If you're a full-time tech head, it's really important to have other outlets. For me, it's video games, as I can just turn off my mind and have some fun with my mates.


Goals for 2020


I wanted to publish the following list as a reminder to myself:

  • to Support the people around me more - I want to spend less time looking out for opportunities for myself, and try to help those around me.
  • to Focus on AWS IoT: I want to specialize my blog posts more in the IoT realm. I'd love to work more on reducing friction for people coming into this area.
  • More Community Events: I would like to attend more events locally here in Perth and get better at talking to people face to face. I am quite introverted still and need to get over that.
devopstar

DevOpStar by Nathan Glover | 2024