It seems to me that most people, when wrapping up a big project that consumed their life for awhile, get excited, happy, and want to throw a party.

I, on the other hand, get weirdly depressed and dismayed. I question if it was worth it. I wonder if anyone will care or notice. I fear I wasted my time or that it was pointless. It's sort of a depressing time, mentally, in a strange way. I try to fight it, but the darkness is there anyway.

So anyway, just finishing up a huge Tapestry code project.

And before you get excited, it's not very user-visible. And that's why it hurts, maybe. It's important. It'll help in the situations it was meant to solve. But will you notice it day-to-day? I dunno. Ideally not if it's working correctly, anyway.

If you write 13,000 new lines of code in a forest and no one is there to review it, does it make a feature?

It was probably the most complex thing I've ever built.

I removed CKSyncEngine and did it all myself solving the problems we needed solved. Maintaining a synced database of items with unique IDs supporting cascade deletes and automatically handling conflicts without much participation from the server which knows nothing of our needs.

Do you know how hard that is? No, most people don't and never will.

Do you know how many ways it can go wrong? So many ways. Have I found them all? I don't know.

@bigzaphod I do have a good idea how hard, and hats off to you because I’m not sure I’d have been brave enough 🫑
@montyhayter every time I do some ridiculous big scale thing, I always wonder at the end why the hell I was brave enough to even try it. lol
@bigzaphod The ones with data migrations are the worst. I have an update just about ready that migrates one of the last remaining CoreData structures to something more manageable, and I'm hesitant to release, even though it’s non-destructive and the old data would still be there if the migration failed.

@bigzaphod I also have a major migration that I started on last year that I had to abandon knowing I wouldn't be able to get it across the line with the illness in the family.

Now I'm looking at it, and all the benefits for future plans, plus the removal of a decade of cruft and overloading of structures for things they were never designed for, are still there but it's awfully daunting to pick up again.

@montyhayter this catalog thing was kind of like that... sitting there lurking. It wasn't broken, just... not good enough. Bothering me....

(Catalog is my name for this database+sync layer.)