Posts

  • How The Big Cloud Providers Fail at IDaaS: Scorecard

    See Part 1 of this post: How The Big Cloud Providers Fail at IDaaS: Heuristics

  • How The Big Cloud Providers Fail at IDaaS: Heuristics

    I started looking for an Identity as a Service (IDaaS) offering recently for my hobby project Tower Scouter. When I’m thinking of IDaaS I’m thinking of a service that handles all of the authentication, authorization and user management for my application so that I can spend less time on these well-solved problems and more time on what makes my application unique.

  • Serverless Secrets Management

    Getting started securing secrets in AWS Lambda is confusing at best and downright frightening at worst. You are faced with understanding and comparing KMS, Parameter Store, Secrets Manager, and Secure Environment Variables. You need to consider whether you are going to be retrieving secrets at run time, deploy time or a hybrid. And when you do retrieve the secrets you also are faced with deciding on whether to retrieve them decrypted or encrypted for later manual decryption.

  • Serverless ETL For Data Analytics

    I recently started collecting data on reservation events for Fire Lookout Towers booked via Recreation.gov as part of my side project Tower Scouter. This post explores my first attempts in using AWS Glue, Amazon Athena, and Amazon SageMaker services for a fully managed ETL and analytics pipeline to really geek out on fire lookout reservation trends and patterns.

  • 7 Lessons In Writing UI Tests For iOS

    I recently finished a project to automate the deployment of my iOS hobby app Weather Hunt to the App Store with a CI pipeline. In the end it looks like this:

  • Behavioral Diversity Within Dysfunctional Processes

    Diversity in teams is a good thing. I’ve been thinking about the diversity in behavioral tendencies that help to create a one-of-a-kind team culture. Specifically, how does diversity play a role when encountering dysfunctional processes in a software organization?

  • Forward Geocoding the Outdoors with Swift

    In contrast to the geotagged, Yelp rated, and Google streetviewed locations that cover populated areas, points of interest in the wild are very sparse in terms of accessible API data. Searches for trailheads, rivers, mountain peaks, climbing routes, swim holes all have wildly different results between the big geo-based API providers.

  • Agile Camp NW 2017: Scaled Agile and DevOps

    Agile Camp Northwest 2017 was held in early September at the Nike World Headquarters in Beaverton, OR. There were a couple talks that really got me scribbling. These are some takeaways from the talk Scaled Agile and DevOps: Give Your DevOps Initiatives More Context by Leveraging Agile At Scale by Kathryn Kuhn (Slides)

  • Artisanal File Transfers with Netcat

    It’s 2017 and when two devs sitting next to each other are confronted with the task of transferring a giant bulky file from one laptop to another, the stress in the room rips. Why is this so hard? I found myself in this situation recently when my coworker suggested we try netcat. With full skepticism on how an ancient unix tool can possibly be an acceptable answer with all the airdropping, cloud syncing, and transfer-a-file-as-a-service options out there, I agreed to give it a shot.

  • GitLab: The best CI you haven't used

    It wasn’t until recently I realized GitLab, the opensource alternative to GitHub, has an amazing CI/CD platform. In my last post on How to Choose a Continuous Integration Tool I outlined my key criteria to choosing a CI tool. More often than not, CI tools end in developer frustration at the complexity, poor UX, and high amounts of effort to tune it just right. CI shouldn’t be that complicated.

  • How to Choose a Continuous Integration Tool

    I love continuous integration. Why?

    1. I’m forgetful.
    2. I break lots of stuff.
  • Distributed Retrospectives with Slack

    The most rewarding meeting for me is by far the team retrospective. It is the opportunity to pause, express gratitude, and look collaboratively for ways to continuously improve as a team. It builds trust, it removes bottlenecks, it provides learnings, and it accelerates positive outcomes for the company. It’s a great meeting.

  • Mob Programming: Two Months In

    Team Mobbing

  • Serverless Web Scraper with Change Notifications

    A scraper should run as infrequently as possible. It’s polling at its worst. These short-lived, infrequent requests make it a great candidate for Function-As-A-Service (FaaS) as it eliminate all the complexity and cost around running a server ourselves. For this post I’ll be in AWS land using the Lambda service and DynamoDB for auto-detecting changes to a website via scraping.

  • Serverless Python

    I recently switched over my python based microclimate weather app Weather Hunt from running in Heroku to AWS Lambda. Heroku changed their pricing structure a while back that made it so a 24/7 running hobby app costs $7/mo. Amazon’s Lambda serverless offering on the other hand offers 1 million requests a month for free!*. Because I’m cheap, that $7 savings got me all excited. I also fully concur with the post on how Serverless is the PaaS I always wanted.

  • Book Learnings: Lean UX

    Reading the The Lean Startup by Eric Ries was one of those foundational mind-shifting books for me. The Build-Measure-Learn feedback loop, using the scientific method of starting with a hypothesis and defining ways to test it up front, and the concept of the MVP have changed the way I think of software development. I’ve been pressed recently in how to integrate UX into our Scrum team so I sought out Jeff Gothelf and Josh Seiden book Lean UX: Applying Lean Principles to Improve User Experience. It’s a quick read with some great practices for UX in agile environments. Here are some of my takeaways.

  • Four Reasons To Use Sticky Notes

    My coworkers joke that I secretly have large investments in 3M. Boxes of Post-it notes regularly are being shipped to our office, our walls are covered with them and it’s not an uncommon occurrence to find someone scraping at their shoe to flip off the vagabond sticky hitching a ride. Sticky notes at first glance may seem like chaos when there are so many well polished tools out there that are luring you to start your ‘free trial’. Here are 4 benefits to using sticky notes that you just can’t get with a digital tool.

  • Talking With Users

    By taking the time to regularly checkin with our users we minimize waste (expensive engineering on the wrong things) and we maximize value (small feedback loops to validate assumptions with real users). This can be a challenge in small companies and even more of a challenge in larger organizations with a history of requirement documents and segregated business units. It’s easy for an agile team in a traditional organization to be handed a Requirement Spec from product management and jump straight into the technical implications of ‘how’ to implement a user story without really understanding the ‘why’.

subscribe via RSS