Amethyst & chunkwm – Comparing MacOS Tiling Window Managers

If you typically work with a lot of applications open at once on MacOS, you’ve probably noticed that things get pretty cluttered pretty fast. MacOS’s window manager has a few built-in features to help manage things, but I was never completely happy with it. In the last few months, I’ve been experimenting with using two tiling windows managers—Amethyst and chunkwm. In this post, I’ll give a brief overview of some of their differences and difficulties.

Read more on Amethyst & chunkwm – Comparing MacOS Tiling Window Managers…

A Simple Approach to Comparing Database Structures

On my current project, we are developing a replacement for a legacy system written in Visual FoxPro that our customer has used for the last couple of decades. Since there is a lot of risk in switching over, we have developed a bi-directional syncing tool that attempts to keep each system up-to-date with changes made in the other. Read more on A Simple Approach to Comparing Database Structures…

Improve Your Autocomplete Timing with Debouncing

We have an application with an autosuggestion search box that’s driven by a query to our GraphQL server. When the user types in a string, such as “at,” we can query our server for the term our search engine thinks we should suggest—maybe “atomic.”

We wanted this search box to be fast and efficient; what’s the point of an autosuggestion if it takes as long to generate as it does to type? So, we had to be thoughtful about how to power the search box. Here’s how we went about designing it.
Read more on Improve Your Autocomplete Timing with Debouncing…

Mob Programming: How We Stumbled Upon and Learned to Love It

I’ve been reflecting on how my current team is both super-productive and fun to work with. One key element of this is that we recently started to practice mob programming. We did this organically without actually knowing what the practice was, but we have since learned how to apply it in certain situations. The results have been extremely positive.
Read more on Mob Programming: How We Stumbled Upon and Learned to Love It…

What’s the AWS IoT Suite Like? – A Dozen Lego Kits Mixed Together

Recently, I’ve been hearing more and more chatter about Amazon’s AWS IoT tool suite, so I decided to do a bit of research to see what they have to offer. As with most Amazon development tools, there is a ton of documentation on these tools. But of course, the useful information is spread out across countless web pages and carefully hidden amongst a sea of marketing mumbo-jumbo. Nevertheless, I was eventually able to glean some useful information. Read more on What’s the AWS IoT Suite Like? – A Dozen Lego Kits Mixed Together…

Six Editor Features You Shouldn’t Live Without

When it comes to my choice of editor, I find that I’m a nomad. I’m always switching around based on the needs of my current project and the editor I’m using. If I squint hard enough, VSCode starts to look like Emacs. Over time, I’ve found a few editor features I can’t live without. Read more on Six Editor Features You Shouldn’t Live Without…

Mocking React/Apollo Data Tables for UI Development

Recently, I was tasked with creating a new screen containing a table of data for a project using React and Apollo. In the past, we would typically start by defining the database table, other access layers in between that and a GraphQL query schema, and finally the query on the front end using Apollo. This has been quite tedious, and often, we ended up tweaking the schema many times until we ended up with precisely what the front-end UI needed. Read more on Mocking React/Apollo Data Tables for UI Development…

Swift Tool Belt, Part 8: Extending UIButton with Background Color for State

The eighth item in my Swift Tool Belt is an extension for UIButton. This extension adds a bit of functionality that is sorely missing from UIButton, giving you the ability to set the background color for different button states.
Read more on Swift Tool Belt, Part 8: Extending UIButton with Background Color for State…