๐Ÿ‘‹ Welcome

Professional insights and DIY projects from 34 years in software engineering.

Software Development Engineer III at AWS โ€ข Open Source SDE โ€ข Eclipse Foundation Contributor โ€ข 3 Patents โ€ข PNW Silicon Forest

Paul Revere's 1770 engraving of the Boston Massacre

America at 250: A Watch List on Why a Nation Was Born

On July 4, 2026, the United States turns 250. The formal name for a 250th anniversary is the Semiquincentennial; the shorthand everyone is using is America250. Either way, it marks a quarter-millennium since the Continental Congress adopted the Declaration of Independence in Philadelphia. I wanted to mark the occasion with something more durable than fireworks. This is a watch list. It is not a โ€œgreatest hits of patriotismโ€ reel. It is a guided tour through one specific question. Why did thirteen British colonies decide they needed to become their own country? It was not inevitable. For most of the 1760s and early 1770s, the colonists wanted their rights restored within the empire, not a new nation. Something changed. This list is about what. ...

June 27, 2026 ยท 8 min ยท 1695 words ยท Jim Thario

DIY Propane Pool Heater: Project Overview

Building a DIY propane pool heating system to heat a 4,400 gallon above ground pool from 68ยฐF to 85ยฐF using a tankless water heater and submersible pump.

June 28, 2020 ยท 1 min ยท 146 words ยท Jim Thario

DIY Propane Pool Heater: The Pool Setup

Details about the Intex above ground pool setup including padding, dimensions, and skimmer installation for the DIY propane heating project.

June 28, 2020 ยท 1 min ยท 187 words ยท Jim Thario

DIY Propane Pool Heater: Complete Parts List and Links

Comprehensive shopping list for building a DIY propane pool heater, including tankless water heater, submersible pump, hoses, filters, and all necessary components with Amazon links.

June 28, 2020 ยท 3 min ยท 585 words ยท Jim Thario

DIY Propane Pool Heater: Assembly and Testing Guide

Step-by-step instructions for assembling and testing the DIY propane pool heater system, including water connections, propane setup, and safety testing procedures.

June 28, 2020 ยท 4 min ยท 643 words ยท Jim Thario

DIY Propane Pool Heater: Operation and Maintenance

Daily operation procedures and maintenance schedule for the DIY propane pool heater system, including startup/shutdown procedures and troubleshooting tips.

June 28, 2020 ยท 4 min ยท 684 words ยท Jim Thario

DIY Propane Pool Heater: Wildlife Encounters and Lessons Learned

Unexpected wildlife visitors to our DIY pool heater setup, including raccoon encounters that led to equipment damage and important lessons about protecting outdoor equipment.

July 24, 2020 ยท 4 min ยท 722 words ยท Jim Thario

Human Versus Machine Code Analysis

I see human code reviews as one tool in the quality toolbox. My opinion is that to keep code reviews interesting and engaging, humans should be the last link in the chain and get the most interesting problems. What I mean is that if the code review is burdened with pointing out that an opened resource was not closed or that a specific path through the code will never happen, code reviews become draining and boring. I also believe that code reviews need to scale up to teams that are not co-located. That might mean using an asynchronous process, like a workflow system or using collaboration tools to do the code review through teleconferences and screen sharing. A workflow system can prevent code from promotion into the mainline build until one or more reviewers have accepted it. To keep the code reviews interesting and challenging, I give the grunt work to the machines and use static analysis and profiling tools first. Before you can involve the humans, your code needs to pass the suite of static analysis tests at the prescribed level. This will weed out all the typical mistakes that are larger than what a compiler finds. There are many analysis and profiling tools available in open source and commercially. Most of my development work is in server-side Java, and my analysis tools of choice are FindBugs, PMD and the profiling tool in Rational Software Architect. FindBugs is a byte code analyzer, so it looks at what the Java compiler produces and is less concerned with the form of source code. PMD analyzes source code. Both tools have configurable thresholds for problem severity and they can accept custom problem patterns. PMD has a big library of problem patterns, including things like overly complex or long functions or methods. The RSA profiling tool only tests timing down to the method level of classes. It can quickly help a developer focus on where the sluggish parts of a system are hiding, which is valuable information going into a review. Once the code makes it through this array of automated tests, bring the humans in to look at it and get their input. I have found this approach in our case changes the review from a potentially adversarial situation into one with an educational tone. The review meeting, if it happens synchronously, is not overtaken by the small problems and pointing out basic mistakes. It is concerned with making recommendations at a higher level to improve the larger design. FindBugs, U. of Maryland, http://findbugs.sourceforge.net/ PMD, SourceForge, http://pmd.sourceforge.net/ Rational Software Architect for WebSphere Software, http://www-01.ibm.com/software/awdtools/swarchitect/websphere/

December 17, 2009 ยท 3 min ยท 432 words ยท Jim Thario

Recent AWS Certification

Here are links to my official AWS certification records. AWS Certified Developer - Associate AWS Certified Architect - Associate

September 17, 2017 ยท 1 min ยท 19 words ยท Jim Thario

My Dog's Microchip is 4723381A49

Eventually, this unique ID will be indexed by the various search engines on the Internet. My dog is not lost, but I see this as a form of insurance in case he ever does go on walkabout without my permission.

November 24, 2012 ยท 1 min ยท 40 words ยท Jim Thario