https://git.mleku.dev/mleku/smesh/src/branch/master/DDD_ANALYSIS.md

nostr:npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl i am forking jumble because i have lots of time at the moment and first thing i wanted to do before changing anything, was get a domain driven design analysis done. i will leave this in the repo where you see it now, you might be interested to read it or at least skim it.

nostr:npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl also, i know you know some stuff about various dev/design/architecture modalities, this is how things are done with DDD

just from first few screenfuls i can see a lot of things that i've noticed with other front end projects, especially the anemic domain model. in my own code i have for quite some years tended towards making a mess at first, and then after i find myself with several 400+ line functions, i go hard on refactoring, moving types that seem to live together into their own packages, and so on, and for which reason you can see here:

https://git.mleku.dev/mleku/next.orly.dev/src/branch/main/DDD_ANALYSIS.md

which was the state of orly until a few days ago (shortly after that was committed) that it evaluated my work pretty good, first it was 7, then after cleaning up the complexity of the 600+ line event handling code, i got upgraded to 7.5, still lots more to do.

i also applied it to the plebian-signer (forked from nostr:npub1qdjn8j4gwgmkj3k5un775nq6q3q7mguv5tvajstmkdsqdja2havq03fqm7 's gooti - i think he wrote that?) and here is the analysis of the codebase, after i added a ton of features, i wanted to get it cleaned up:

https://git.mleku.dev/mleku/plebeian-signer/src/branch/main/DDD_ANALYSIS.md

the signer, in particular, became noticably more performant after applying all of the recommendations in that document, and when i fully complete orly, i think it will also improve, though i have also added a new skill to https://next.orly.dev which is about go memory management and scheduling (just look in the .claude/skills directory). for go, there is some specific architecture to memory management, and what types go on the stack, what goes on the heap, and how to reduce allocations on the heap, and move stuff, especially stuff that the DDD analysis should be immutable, onto the stack, where it is very cheap pass by value (ie, copy) and thus enforce effective mutability with minimal cost.

Reply to this note

Please Login to reply.

Discussion

I haven't been able to keep up with the Orly changes, as my computer is currently being repaired and I have a terrible cold. I'll get back to you, hopefully next week, after I have caught up and recovered.

yeah, i know i haven't been sitting still :) so much to learn and my new environment is stimulating me.

i mentioned you more for your interest in the imwald fork. something that i've observed is that better architecture can make immense improvements to performance, and stability, but it also improves how quickly you can add things (or get claude to add things). btw i have passes to give away for claude if you wanted to have a week of pro 5x, i could give it to you on matrix or maybe dm, if you want it. i'll check my DMs, i don't often open up amethyst.

Oof, I already have Cursor Premium. It's all such a money drain. I'm moving toward using something self-hosted. Got some better hardware.

not your hw, not your ai

i wasted 200 eur in one month on that garbage before i finally tried claude. never looked back. 90eur/mo now, and i get 10x more done

chek ur dms you can have a week of claude max 5x when you recover

> and I have a terrible cold

Just got over mine early this week thankfully before Christmas. I'm usually buried under 10 blankets on Christmas morning.

I'm always a post-Christmas collapse, as I run myself into the ground, the six weeks before, and then crawl across the finish line and pass out.

also, the "anemic domain model" thing, since claude drew my attention to it, i can see all the places in the interface that it causes big issues. the settings that don't stick, the settings that live in the ui and have no correlate in the configuration interface, and the lack of persistence of these things, which gets really tedious any time i have to log out and back in and the indexedDB storing the settings is gone. all of the settings need to be stored in the ASD event, IMO. this is gonna be a major part of what i do with it.

Sure, I’ll find some time to go through it properly.

That's not me :) NVault is my signer

https://github.com/VnUgE/NVault

i was gonna say. haha. i think i know then.