Technical Blog
Several years ago, I published technical blog posts on the DZone.com platform. Unfortunately, for some obscure reason, DZone decided to hide certain older blog posts and now requires registration to access them. Since I believe that many of my older posts still hold value, I have decided to republish them here, making them easily accessible and searchable by search engines.
- 
Type Variance in Java and Kotlin (January 4, 2023) 
- 
LJV: What We Can Learn From Java Data Structures Visualization (November 25, 2020) 
- 
Celesta: SQL Database APIs, Schema Migration, and Testing in a Single Java Library (March 25, 2020) 
- 
Presentation as Code: Why I Abandoned PowerPoint (October 23, 2019) 
- 
Running IntelliJ IDEA in Jenkins (September 26, 2019) 
- 
Introduce Static Analysis in the Process, Don’t Just Search for Bugs With It (April 12, 2019) 
- 
Producing Spreadsheet Reports Using Xylophone (January 7, 2019) 
- 
Hidden Complexity of a Routine Task: Presenting Table Data in User Interface (August 23, 2018) 
- 
Using O Notation Beyond Algorithm Analysis (February 12, 2018) 
- 
Trouble-Free Database Migration: Idempotence and Convergence for DDL Scripts (March 27, 2018) 
- 
Things I Wish I’d Known Prior to Creating a Queuing System (January 31, 2018)