All blogs / Software / engineering practice
TheExceptionCatcher
Over a decade of progressive professional software development experience in conjunction with more than two decades as a hobbyist developer has pushed me to reduce the burden of support and cost of delivery by writing highly-maintainable software of the highest caliber. This blog is intended to be a
Software / engineering practiceAI / MLDevOps / SRE / infrastructureGo
- Posts
- 199 from 31 Jan 2011 to 23 Jun 2026
- Posting
- monthly (11 in the last year)
- Kind
- personal blog
- Feed
- https://theexceptioncatcher.com/feed.xml
2026 11
- My AI Movie Night Disaster
- Connecting Ollama to OpenCode: A Faster Workflow
- Vibe Coding
- What Comes Next
- GitHub Actions: The Hidden Billing Trap
- gRPC: Up And Running (2020)
- Is This the Future of Software Development? (2026 Predictions)
- Getting Started with gRPC: A Practical Example in Go
- Best of 2025: Part 3
- Best of 2025: Part 2
- Best Of 2025
2025 16
- Beyond Single Commands: SDKMan's Hidden Environment File Feature
- Finding The Owner of An Open Port
- Web Serial: The Only Reason I’ll Admit JavaScript Isn’t All Bad
- 6 Features You Should Enable On A New OPNsense Installation
- How to Ask Questions About YouTube Videos Using Open-WebUI & Ollama (All locally)
- Remotely Accessing Your Local AI Services with Wake-on-LAN & a Web Proxy
- Kafka in 2025: A Clean Docker Compose Setup Without ZooKeeper
- Following Up on 'New Adventures', the progress so far
- Project: Page Recommender
- Project: 404Browser
- Project: FunnyHats (Computer Vision)
- Project: Financial Stock Strategy and Simulator
- Project Anansi: Ebook organizer and library manager
- New Adventures- What's Next?
- Assumptions Are Like Legos
- Antipatterns
2024 12
- Unexpected Scala Functions: groupMap
- What is EXIF Data in Photos? How can I view it? How can I automate the removal in my project?
- Installing Arch on an Existing Arch Machine, The Easy way
- Running local commands in your pre-commit hooks
- Git hooks and Pre-commit hooks.
- Ins and outs of the Japanese Rail Pass
- Using Pipewire and Low volume in Kodi drove me through a dark rabbit hole
- 'The good days' of software engineering in 2020-2
- I made a low carb peanut butter pie
- Building a table
- NVidia 545 upgrade issues with Arch
- New blog, Switching to Jekyll
2021 1
2020 7
2018 7
- Looking for Resources on Kafka and Kafka Streams?
- I made a new thing: serialization-checker
- A suggestion for those who create projects for open source
- New Repository: Reactive Summit 2018 Notes
- Refactoring the Monolith (A CJUG Lightning Talk)
- I built a Tetris Engine in Scala
- What have I been learning lately/What Have I been reading lately (March/April 2018)
2017 7
- Tips on Traveling to Hong Kong
- You can Either Try or not (Scala: Try, Either)
- I'm asking for your help. (About this Summer)
- Some of the things that I’ve been up to in the last few months (March-June)
- Something I love about the builder pattern
- What I learned from my trip to Costa Rica and Panama
- Response to: Quality vs Quantity and the Ceramic Art Students
2016 24
- From "The Zen Of Akka" By Konrad Malawski: Protip: Logging Formatting
- My Christmas Wishlist For Groovy/Java/Scala
- "I wanted to like _______, but...."
- Things I’ve learned so far this week (6 Dec)
- Secure Services - It's not just for REST or SOAP anymore
- No Fluff Just Stuff October 2016/Chicago
- Akka/Scala vs Groovy for a Periodic Process
- (Transitive) Dependency Hell (In Java) Part 1
- (Transitive) Dependency Hell Pt2: How it could have been avoided
- In Support of Complex Software
- Changing Power Adapters Types
- Project: Meetup Photo Downloader
- A few things that I would like to see in Docker
- Educators/Corporate Trainers: Hire professional evaluators
- Project: Music Organization System
- I really like Docker
- Video Posted: "I didn't know that about Groovy!" (Chicago JUG 3 June)
- My Second Chicago Java User's Group: I didn't know you could do that with Groovy!
- The Scalafication of Java Libraries
- Groovy Tip of the Day: Getters and Setters aliases
- Simple tip to take better pictures with an Android Phone
- Exit Codes: Why Java Gets it Wrong
- Notes: Using Betamax in Grails (2.4.x)
- I gave a technical talk and so should you
2015 9
- How I got my Bot Banned by Twitter
- German Food In Chicago
- Need to install The PG (Postgres GEM) via Bundler?
- Just an Awesome Tip I found on Debugging RestClient in Groovy
- Spring Security OAuth- The missing Instructions
- Things I've been Learning This Week (13 April 15)
- Weirdness with GORM and Inheritance
- What Did I do this Week? (26 March)
- It's taken more than a year to go from 12000 to 0.
2014 11
- Somethings I learned about the Train System in Europe
- Awesome Projects That I've found Recently
- Should you buy a rail pass in Europe?
- Having difficulty getting your NGinix service working on the Digital Ocean install instructions?
- Stoicism and "The Obstacle is the Way"
- Two book reviews that were not done
- I don't like Virtual Machines
- Java 8: Presentations, and audience engagement
- Seven Databases in Seven Weeks: Postgres
- First Thoughts: “Coders at Work” by Peter Seibel
- An Easier Way to Deal with Thread.sleep
2013 42
- Are all technical books dry and boring?
- Today I learned: Use %n rather than \\n in String.format
- Pastebin for HTTP Requests.
- Kegerators
- Installing Maven on Centos 5 or 6/RHEL
- Protip of the Day: Always Delay your Email From Being Sent
- Apache Wicket MarkupNotFoundException
- Whats on your bookshelf?
- Installing ArchLinux on an Asus UX31A?
- A cool new Argumented Reality Application
- Who would benefit from a TrueCrypt API?
- Some of the Best and Worse Things of Hotels
- Debugging/Depedency Issue with Maven
- Well, that's Interesting and Unique: OptaPlanner
- Why your PodCast May Irritate It's Listeners
- Why I'll buy more Logitech Wireless mice
- This Week I Learned [19 May 2013 Edition]
- My response to “7 Open Source Projects to cut your teeth on (and the ones to avoid)”
- The Problem with Resolutions
- Don't let the User Fail
- Apache Wicket [In Action]: A Review and How It Relates to the Java World
- My Two Cents on Interviewing Software Engineers
- 3 Strikes Budget Rental Car: You're Out!
- Things I learned a week or so ago
- Review: "What Compsci textbooks don't tell you: Real world code sucks"
- PSA: Software Development Tip: Clean out your Code Base
- Good News Everybody! The Mobile Phone Unlocking Petition Reached it's Goal!
- A Skill that All Technical People Can Use (System administrators, Database Administrators, Developers, etc)
- A Few Signs That Your Project May Be In Some Serious Trouble
- The Pitfalls of Testing
- Two Issues I have With IntelliJ: Inconsistent building, and GUIs
- Make Mobile Phone Unlocking Legal Again
- Getting Over Writer’s Block
- Review: The Java Virtual Machine Specification: Second Edition (Java 2 Platform)
- Features I'd like to see Added in Wikis
- Progress on Tech Resolutions of 2013
- New Repository ogg2mp3
- Interesting finds of the Week [Week of the 20January 2013]
- In Support Of Maven
- Groovy in Action: A review
- Links I’ve Found Interesting in the Last Week/Technical Things I’ve found Interesting (6 January 2013)
- Things I would like to Learn/Experience/Improve-Upon This Year [2013]
2012 35
- Init.d Script for codeBeamer MR
- Massive IntelliJ Sale
- Rant on Web Interfaces: Quick Context Menus
- Some of the Articles/Links/Video That I found Interesting in the Last Week
- Varying your Reading Materials
- Whats wrong with Wikis (Well One Aspect)
- Tips for Travelling (Updated 22 Nov)
- Really Cool Things I've Learned This Week (R, Random Numbers, Java, Hypervisiors, and fan maintenance)
- Part 2 of 2: How To Make Your Life Easier As A Tech Worker (IT/Software Engineering/System Administrator): Motivation
- Part 1 of 2: How To Make Your Life Easier As A Tech Worker (IT/Software Engineering/System Administrator): Automation
- SSH Mastery, A Book Review
- Stackoverflow Is A Difficult Community to Participate In
- Don't trust your Technical Documentation Staff to write Quickstart guides and Tutorials, Hire a Professional.
- Interactive Customer Service: How to fix Airlines' Broken Phone Service
- New Equipment and Switching Workstations
- How to get rid of Screen Scrapers from your Website
- How difficult is it to sell an open source solution?
- The Linguistics of Webservices
- APIs: A Strategy Guide
- "Wanted Java Developer" could you be a little more ambiguous?
- "10 Ten Reasons why You're Programming Wrong" -- How to bore/annoy your audience
- My first attempt at open source: PageRecommender
- Review: "Test-Driven Development" by Kent Beck [The creator of JUnit]
- Regular Expressions Tester
- Well That Was Silly Of Me, Issues with Sed....
- A Tool That Would Be Rather Nice To Have
- Computer Science Classes I Would Like To See Offered
- I’m a student, what [language, framework, API, concept] should I learn?
- Lost the Passion for Software Development?
- Technical Writing for Programmers
- Suggestions for Authors of Technical Books
- Trends with Low Powered Clients [Tablets, and Smartphones]
- CrossOver Linux Professional
- What Have I been up to lately? Erlang, Scala, Clojure, Ruby, IO, Haskell, and Prolog Oh MY!
- The saying “Foreign Carriers are better than domestic” Sounds True until you try Lufthansa.
2011 17
- Immutable Objects (Article 3 of 3)
- Immutable Objects (Article 2 of 3)
- Immutable Objects (Article 1 of 3)
- Things I Wish Existed a Long Time ago: Unit Test Reporting
- Fixing Classpath Issues with JasperReports, J2EE, and Maven
- Train Stations
- Update to NC - High Speed Rail
- "The World Has Changed"
- Selling Technology Solutions to the Classroom
- Letter To Rep Killian (R) on the bill "No High-Speed Rail Money from Federal Gov't."
- Review: "Fooled By Randomness" by N. Taleb
- Emerging QT/KDE On Gentoo
- Why Data Visualization is the Wrong Solution and How to Fix It
- Restaurant Review: The Thai House of Charlotte
- Privacy Activists, Rejoice! ZeoDecoderViewer is in alpha!
- What's to come
- fist psot!