Thomas
August
Ryan

Work Posts Résumé

October 25th, 2024

Auditing a .NET 8 web app with Lighthouse

I have a new .NET 8 web app to release, but before I hit deploy on the pipeline to prod, let’s see what we can do to improve it using Lighthouse as a benchmarking and auditing tool.

June 20th, 2024

King County Districts and Development Conditions Report | Improved Performance and Modern Look

The biggest improvement is performance. On average it’s more than twice as fast to look up a parcel and in heavy traffic scenarios, it can be nearly instant.

June 6th, 2024

Announcing the new Districts and Development Conditions Report

King County GIS Center is launching the new Districts and Development Conditions Report (also referred to in short as the Districts Report) application to the public and King County internal staff!

January 19th, 2024

Understanding Users of Tabular GIS Data

Understanding your users is one of the most difficult problems in software development.

January 15th, 2024

Fixing the Single Rear JBL speaker in my Camry

I noticed an annoying rattle from the rear of the car when music was playing and decided to handle the issue.

November 1st, 2023

Who is using ArcGIS Pro anyway?

Given that ESRI is ending support for ArcGIS Desktop in 2026, the King County GIS Center needed to understand the migration of users from ArcGIS Desktop to ArcGIS Pro.

August 30th, 2023

Creating Desk Phone Backgrounds

To help our customers solve this issue we decided to make custom backgrounds for all the desk phones we sell and support at Accelerate Networks.

August 21st, 2023

Leaving Xfinity for Astound

I week ago, I switched my internet services provider (ISP) from Xfinity to Astound.

June 15th, 2023

WAGISA 2023

Today I woke up early at 7 AM and drove down to the UW Tacoma campus to present at the WAGISA conference.

October 23rd, 2022

Updating Porsche Macan headlights to LEDs

There are two main advantages to replacing the stock light bulbs with LEDs: improved light output and reduced power consumption.

May 21th, 2022

Cleaning up a .NET 6 Web API Converted from Visual Basic

The Road Assets Editor or RAE is a tool that enables employees to review all road assets built in King County.

April 17th, 2022

Load a CSV into SQLite on Startup in ASP.NET Core 6

When I deploy my ASP.NET Core 6 app I want it to gather CSV formatted data and ingest it into SQLite as part of its startup process.

January 12th, 2022

Using Next.js and ArcGIS JS to build Geospatial Web Apps

ArcGIS JS is a JavaScript library for creating web maps using ESRI’s ecosystem of tools and services. Next.js is a framework for building web apps.

June 16th, 2021

The Cool & High Impact Award

An award from an internal hackaton where my team pitched an accounts system for the public that would aggregate all information published by the County on that user.

April 2, 2021

Expose Swagger docs at both the default and root Route of your .NET 6 Web API

By default, the interactive docs in your .NET 6 Web API will be routed to the “/swagger” endpoint if you follow this tutorial.

September 6th, 2020

Deserializing XML into Objects in C#

Compared to the simplicity of deserializing JSON, dealing with XML in dotnet core can be confusing and unintuitive.

June 2nd, 2020

Serve GeoJSON Files in ASP.NET Core 3.1

By default ASP.NET Core 6 will not expose files with the .geojson file extension in its wwwroot folder.

May 22nd, 2020

Comparing Azure Static Web Apps and Github Pages

I host my personal website on Github pages. At Build 2020 I watched a demo of a new service called Azure Static Web Apps.

April 8th, 2020

Adding Security Headers to an ASP.NET Core 3.1 MVC Web App

Last week I was inspired by this post from Scott Hanselman to benchmark the performance of an application I developed called Number Search.

March 3rd, 2020

Malicious Scraping and Account Number Schemes

On Monday morning just before 11 AM my supervisor walked into my cube. “Hey Tom, did you change anything about the voting precincts query lately?”

November 29, 2019

Adding a Loading Spinner to an ASP.NET Core 3.0 MVC Web App

Recently I built an ASP.NET Core 3.0 MVC Web app that acts as a front end for a group of APIs that are each supported by a different third-party vendor.

October 10, 2019

Quickly Indexing File Directories in ASP.NET Core 3.0

I recently upgraded an ASP.NET Core 2.2 web app to 3.0. As part of this process I took some time to review the existing code base.

September 1, 2019

Making Buildings By Year Built in Kitsap County

While scrolling through Twitter a couple weeks ago I saw this map of building ages in the Netherlands.

July 30, 2019

Using Dapper and .NET Core to pull data from SQL Server 2000

I’m in the process of porting a web app from .NET Framework to dotnet core.

May 11, 2019

How I Converted ADO.NET DataSets into Dapper data models

Parcel Details is a monolithic .NET web app written using the now deprecated Web Forms framework that Microsoft introduced in 2002

Feburary 7, 2019

In Praise of Sticky Notes

The sticky note is my favorite personal management tool. Some consider the sticky note to be an archaic tool. But I love it dearly.

Feburary 7, 2019

Purging the Search Page

About 60 percent of its users enter Parcel Details through the search page. The search page calls out to a SOAP service with query and then it’s returned a JSON payload of results.

January 17, 2019

Making Zoning Codes Useful

Big pushes are being made in major cities across the Northwest to rethink their zoning codes.

January 4, 2019

Parsing Tax Descriptions

Tax Descriptions are extremely difficult to parse, let alone meaningfully understand, if you're not a surveyor or parcel specialist.

November 7, 2018

A Most Disappointing Bug Report Button

I've been reading a lot of HackerNews the last few months. One of the ideas that I've picked up from reading the comments there has been the idea of creating short feedback loops.

June 17, 2018

Buttons As Actions

One of the UX issues I’ve been struggling with is designing my web apps to make their workflow as clear as possible.

June 15, 2018

Modernizing Kitsap County’s Parcel Details

Parcel Details is a public service offered by Kitsap County that allows anyone to look up information on a parcel of land using a tax account, street address, or parcel ID number.