Hexagonal Architecture in Action

I’ve been an advocate of the single-responsibility principle for a long time. I’ve used it effectively on several projects to make sure that each individual class or function has a singular purpose. It’s definitely kept me from making an unholy mess out of some of the more complicated projects I’ve worked on.

However, particularly with large projects, I kept feeling like I needed another layer of abstraction. Something that would help organize all these simple, tiny functions into a cohesive whole. Something that would help guide the structure of the app as new features were added. That’s roughly where my head was at when I began to read about hexagonal architecture.
Read more on Hexagonal Architecture in Action…

A Simple Way to Implement Timers and Timeouts in Redux

Managing timers in React Redux is often tricky. While trying to implement some features that required a lot of timeouts and time measurement of user interactions, we ended up using a simple approach for timers that I hadn’t seen before, so I thought I’d document it here.
Read more on A Simple Way to Implement Timers and Timeouts in Redux…

How Not To Lose Your Mind on a Conference Call

It seems as though the conference call is unavoidable in the modern office. Whether you’re presenting new ideas or troubleshooting an issue, there will likely be someone calling in. You may also find yourself calling in to meetings.

I spoke with my teammates, and we came up with a few things to consider in order to maximize the value you add to the call and not lose your mind! Read more on How Not To Lose Your Mind on a Conference Call…

Getting Started with NSTouchBar for macOS using Storyboards

With the addition of the Touch Bar comes the ability to customize it for your own applications. From simply adding buttons to incorporating sliders or color pickers, programming the Touch Bar is a new, creative way to add shortcuts and other functionality into your Mac app.
Read more on Getting Started with NSTouchBar for macOS using Storyboards…

Five Chrome DevTools Tips for Troubleshooting Web Apps

I recently needed to find and fix a bug in a web app I’ve been working on. The bug had something to do with code that was updating the dimensions of a third-party generated UI component whenever the window was resized. While troubleshooting the issue, I repeatedly used a handful of the tools provided by Chrome DevTools. Some of these I’ve used many times in the past, but a couple of them were new to me, so I thought I’d discuss them here. Read more on Five Chrome DevTools Tips for Troubleshooting Web Apps…

Drawing Shapes with SkiaSharp

My team was working on an activity tracking application and wanted to be able to display segments of time on a radial gauge.  When implementing this feature, I initially tried using some libraries specifically designed to build arcs, but I was disappointed by their lack of flexibility. When my pair recommended looking into SkiaSharp, I was pleased to discover that not only could I build a radial gauge, but I also had quite a few options as to how to build it. Read more on Drawing Shapes with SkiaSharp…

Don’t Force Diverse Stakeholders into the Same Tools

How do you share information with your team? There are so many different things to communicate:

  • Bob is out sick today.
  • The TPS reports are functional and deployed.
  • The utilization metrics have been spec’d.
  • Visual design is complete for the login screen.
  • We’re still seeing errors from that federated login package.
  • We’re all out of beer.

All of those things matter. But they matter differently, to different people. Read more on Don’t Force Diverse Stakeholders into the Same Tools…