New Year's Resolutions

     

For me, New Year’s is the most decisive holiday possible and one of the most important. It represents a clean break from last year and an opportunity to excel in the next one. For the past two years running I’ve made it a point to have some kind of new year’s resolutions to strive towards. In 2018 it was to learn a new programming language (Kotlin), a new framework (Jetpack), and to make a meaningful contribution to Github at least once per day.


The Final AAR

     

If you haven’t had a chance to read the first entry in the series for context, you can do so here. For the past couple years I’ve been doing an AAR (After Action Report) every other month. This was for several reasons: it helped me synthesize what I had learned over the past few months, it documented what I had personally struggled with, and the material was readily available (I jot down notes everyday).


My time with SwiftUI

     

Back in September I got a notice from Apple that one of my personally developed apps, the WRD Calculator, would be removed from the store in one month if I didn’t update it. Apple also released MacOS Catalina that month. Given this conjunction of events my mission was clear: update my Macbook Pro’s OS and rebuild my app using SwiftUI (which requires Catalina to develop with). Working mornings and weekends I hacked together a new app, converting what had been an Ionic abomination of HTML, CSS, and Typescript into a purely native mobile application.


AAR pt 15 (Architecture/Software Engineering)

     

If you haven’t had a chance to read the first entry in the series for context, you can do so hereGiven that my last post was about my architecture certification, I figured this would be a good time to do another post on some architecture concepts. This is the second architecture lessons learned post that I’ve done; you can find the first one here. The idea of debouncing is that you artificially limit multiple, similar requests by a client, only sending a new request every X seconds.


Solutions Architect Certification

     

Ever since I joined Nautilus I’ve wanted to better understand the infrastructure that we used in AWS to support the iOS and Android applications. Because Nautilus follows the principle of least privilege however I only ever had access to S3, DynamoDb, and Terraform. My IAM user policy to those resources also only applied to the QA & development environments. As a mobile developer I didn’t really have any need for additional access, since troubleshooting missing resources, incorrect database entries, and broken builds concerned 99% of my interactions with AWS.