Software Consultant & Developer. Passionate about writing clean solid code. Has a fascination with computer graphics and computational/discrete geometry.

Featured

How to Create a SearchView with Suggestions in Kotlin

Creating a SearchView with suggestions isn't simple as giving the SearchView a list of strings. It requires a CursorAdapter.
All Posts

How to Create a SearchView with Suggestions in Kotlin

Creating a SearchView with suggestions isn't simple as giving the SearchView a list of strings. It requires a CursorAdapter.

How Teaching Board Games Makes Me a Better Consultant

Sometimes we don't need traditional methods to grow as consultants. Non-traditional methods like teaching board games can greatly improve our skills.

Helper Functions for Testing a PostgreSQL Database

Writing tests for a node.js server? You should test the database too. Here are a few helper functions for testing a postgres database, using knex.

Data Binding with Live Data for RecyclerView in Kotlin

How to add data binding and live data for RecyclerViews in your Android and Kotlin apps.

It can be hard to figure out how to add notification badges to your Kotlin app. I'll show you two types of badges and how to implement them.

An Easy-to-Use TimePickerDialog for Kotlin

The TimePickerDialog in Android doesn't allow for restrictions on the times a user can select. But MaterialDateTimePicker allows for this.

Building a Horizontal Picker or Spinner in Kotlin

There are a lot of widgets in Android, unfortunately a picker or spinner isn't one of them. Follow these steps to add one to your Kotlin project.

Helping a Coworker with Grief in the Long Term

It's not easy to know how to help a grieving coworker. And as the months go by, we either don't know what to say or we think everything is alright.

A Simple Introduction to Crossing Numbers of Graphs

The local crossing number of a drawing of a graph is the largest number of crossings on a single edge. The minimum local crossing in any drawing of a graph is the local crossing nu

Using Objectives and Key Results for Self-Improvement

The Objectives and Key Results (OKRs) approach helps you stay on track and headed toward your goals. It's a business tool, but I've had great success using it on personal projects.

When Working Remotely Fails in Practice

Working remotely for long periods might not be ideal for software development and consulting wok. This likely depends on the work being done, but a week or two is probably safe.

Using D3 with React and TypeScript

How can we utilize D3 in a meaningful way while simultaneously breaking up our elements into individual components for React?