Home

Blog

Rebuilding EVEMon for the Next Decade.

A 10-part series documenting the complete transformation of a 20-year-old codebase. Plus deep-dive references.

12 posts · ~173 min total

CoreDataSerializationModelsInfrastructureCommonEveLensdependencies flow down →
0410 min

Surgery on a Beating Heart

Splitting 846 files into 6 assemblies without breaking anything.

Engineers
Before: 930 polls/secAfter: ~4 pollsevery 5s, all characters, blindonly when cache expires
0512 min

The Scheduler Was Broken All Along

930 polls per second on the UI thread. Nobody noticed for years.

Engineers
Before: 11 copy-pasted controlsAfter: 1 generic ListViewModel<T>FilterSortGroup10,000 lines of copy-paste → 384 lines of generic pipeline
0610 min

101,000 Lines and Zero ViewModels

How 10,000 lines of copy-pasted code became 384.

Engineers
WindowsmacOS$_LinuxOne Codebase
0710 min

Three Platforms, One Codebase

From Windows-only to Windows + Linux + Mac.

For everyone
12345678910111213141516171819202122alpha.1alpha.22 — fixed22 releases hunting one bug class
088 min

The Linux Settings Saga

22 alpha releases hunting one bug class.

Engineers
BeforeAfter210K123Klines690static events930/s~4polls99K25KUI lines
096 min

The Numbers

The complete before and after. No commentary, just data.

For everyone
Week 1Week 2Week 3Week 4Week 5Week 6SHIPWeek 7199 commits in 50 days7 weeks. 1 complete rebuild. Ship it.
1012 min

Ship It

What I got right, what I got wrong, and what comes next.

For everyone
+30 min

The EveLens Technical Bible

A forensic comparison: Peter Han's EVEMon v4.0.20 vs EveLens 1.0.0-alpha.28.

Engineers
+45 min

The Complete Journey

The full engineering blog series in one page. From dark mode to cross-platform.

For everyone

Reading Paths

01

EVE Players

Parts 1, 2, 7, 9, 10. No engineering needed.

~46 min
10

Engineers

All 10 in order. Parts 3-6 and 8 are for you.

~98 min
#

Just the Data

Part 9: The Numbers. Or the Technical Comparison.

~6-30 min
+

The Full Story

The Journey compiles the complete series.

~45 min