Radish Components: 70 Svelte 5 Components on DaisyUI
We just published @abeedoo/radish-components — a Svelte 5 component library built on DaisyUI v5 and Tailwind CSS v4. 70+ components, zero custom CSS, all utility classes. Playground · npm · GitHub Why We build a lot of admin panels and internal tools with SvelteKit. Every project needs the same things — data tables,
dendriteJS v2: Mind Maps in Canvas and SVG
Back in 2012 I built a little interactive mind map tool using Processing.js. It drew bezier curves between draggable nodes, you could add children by clicking a plus button, and the whole thing ran in a canvas. Processing.js died, the code rotted, and I forgot about it. I
Gödel's Junk Drawer
I have a problem with organization. Not a lack of it — an excess. At some point I discovered clear plastic shoe boxes from The Container Store. They stack, they're uniform, they're transparent so you can see what's in them. I started putting things in
Announcing bigdesign-svelte
We just published @abeedoo/bigdesign-svelte — a Svelte 5 port of BigCommerce's BigDesign component library. 52 components, zero dependencies, MIT licensed. Playground: bigdesign-svelte.abeedoo.com npm: @abeedoo/bigdesign-svelte GitHub: abeedoolabs/bigdesign-svelte Why If you're building a BigCommerce app with Svelte, you need your UI to match the
Your Singletons Are Multiplying
If you're building a full-stack app with Vite and you have any server-side singletons — schedulers, database connections, telemetry adapters, bootstrap flags — you probably have a bug you haven't noticed yet. The Symptom Our dev server kept crashing with out-of-memory errors. Not immediately — it would run fine
The $effect Trap
If you're building anything real-time in Svelte 5 — SSE, WebSockets, polling — you will probably hit this. The Setup You have a reactive state object and an $effect that sets up a listener. The listener pushes new data into the state: let data = $state({ messages: [] }); $effect(() => { const source
The Fence Problem, Generalized
If you took calculus, you probably remember this problem: You have 100 feet of fence. Build a rectangle. Maximize the area. It's a classic optimization exercise. But I noticed something about the answer that my textbook never pointed out — something that holds not just for rectangles, but for
What is a quine?
q=chr(34)*3 s='q=chr(34)*3\ns={2!r}\na="""{0}"""\nb="""{1}"""\nprint(s.format(a,b,s))' a=""" A quine is... I just woke up from a nightmare.
Fractional Nested Sets: Solving a 30-Year-Old Tree Problem with Floats
The Problem with Nested Sets If you've ever stored a tree in a relational database, you've probably encountered the Modified Preorder Tree Traversal (MPTT) pattern — also known as nested sets. It's Joe Celko's classic: every node gets a lft and rgt integer,