Sign in

Erik V

@verdevium.bsky.social
76 followers 93 following 222 posts

Senior Software Engineer @ Cisco · BJJ Black Belt · Dad Links: - verdevium.com - github.com/everduin94 - flotes.app - tomatillotimer.com

PostsRepliesMedia
Erik V @verdevium.bsky.social · 17/09/2026
Svelte people, please help 😅 How is this supposed to be done. A derived reads from local storage and filters. I bind a task.completed to an input for each element. But, the items are not runes / proxies. I am trying to avoid loading all of what's in local storage into a $state() rune.
let tasks = $derived.by(() => {
	const list = state_task_lists.current_task_list;
	const arr = storageGetItemArray<Task>('task-list');
	return arr.filter((task) => task.tasks_list_id === list.id);
});
110
Erik V @verdevium.bsky.social · 04/09/2026
Ouh, interesting. 👀 noaifridays.com "Can I do more than one day per week?" - "Sure, depending on how and what you do, you may find your balance with up to 7 days without AI." 🤣
noaifridays.com
No AI Fridays
A weekly ritual for software teams to unplug from AI coding assistants, prevent skill atrophy, and rediscover the joy of craftsmanship.
041
Erik V @verdevium.bsky.social · 02/09/2026
Must watch for web devs. I have fought this 100s of times and never realized what the cause was. The moment he typed the "y", I was like "Ooooohhh" 😅. - The examples in the end with the adjusted padding look just perfect. www.youtube.com/watch?v=Tdpo... by @kevinpowell.co #css #webdev
youtube.com
This CSS property fixes a problem as old as CSS
YouTube video by Kevin Powell
091
Erik V @verdevium.bsky.social · 02/09/2026
An introduction to my new tech blog. I'm hoping to load Bluesky discussions in the post directly. For now, each blog post just links to a Bluesky thread and vice versa. verdevium.com/posts/welcom... RSS: verdevium.com/rss.xml
verdevium.com
Welcome to my Blog
A brief introduction to this blog and who I am
000
Erik V @verdevium.bsky.social · 01/09/2026
New course by the threejs goat @bruno-simon.bsky.social. Instant purchase. I don't know that anyone else makes content at this size and quality, that is this affordable. threejs-journey.com/webgpu-tsl #threejsjourney
threejs-journey.com
WebGPU & TSL Course — Three.js Journey
Write shaders in JavaScript with TSL, no GLSL or WGSL required. 21 lessons of WebGPU and Three.js Shading Language.
000
Reposted by Erik V
Ilja @fubits.dev · 15/08/2026
oh this looks lovely github.com/everduin94/b...
github.com
GitHub - Everduin94/better-commits: A CLI for creating better commits following the conventional commits specification
A CLI for creating better commits following the conventional commits specification - Everduin94/better-commits
3193
Erik V @verdevium.bsky.social · 15/08/2026
Dear gods that's satisfying. @npmx.dev makes wins like this feel like little celebrations.
1384
Erik V @verdevium.bsky.social · 13/08/2026
First time using view transitions. I always heard about them ion the context of page transitions. This is just a svelte state change. 2 lines of js and 2 lines of css, to get a pretty decent animation, for 2 elements that don't share a parent / layout.
140
Erik V @verdevium.bsky.social · 09/08/2026
30 line svelte fsm. Concept that I was wracking my braining thinking about how to handle all the edge cases, was so simple with a state machine. Shows a cover img to hide youtube iframe branding that flickers on video id change or play / pause.
	const debounce_destroyed = useDebounce(() => {
		f.send('destroyed');
	}, 7000);

	type MyStates = 'show' | 'destroyed' | 'destroying';
	type MyEvents = 'show' | 'destroyed' | 'destroying';
	const f = new FiniteStateMachine<MyStates, MyEvents>('show', {
		show: {
			destroyed: 'destroyed',
			destroying: 'destroying',
			_enter: () => {
				if (debounce_destroyed.pending) debounce_destroyed.cancel();
			}
		},
		destroyed: {
			show: 'show',
			destroying: 'destroying'
		},
		destroying: {
			_enter: async () => {
				debounce_destroyed();
			},
			show: 'show',
			destroyed: 'destroyed',
			destroying: () => {
				debounce_destroyed();
			}
		}
	});
000
Erik V @verdevium.bsky.social · 12/06/2026
news.ycombinator.com/item?id=4842... "do people realize that code is just a means to an end?" "Users don’t care whether the code was written by AI or by hand ... They care that the product works." Demonstrably untrue. Fork any project on Github. Same exact code, different adoption. (1/6)
news.ycombinator.com
Ask HN: Why is the HN crowd so anti-AI? | Hacker News
100
Reposted by Erik V
DuckDuckGo @duckduckgo.com · 29/05/2026
Since Google revealed its plans for an AI search overhaul, visits to our "No AI" search page have tripled…and they’re still rising! Want to make it your default on Chrome or Firefox? Grab our No-AI extensions and banish AI-assisted answers, chat, and AI images. (1/3)
316148605239
Erik V @verdevium.bsky.social · 28/05/2026
You can't just vibe code it in rust, slap some agents on it, sprinkle in a dash of tokyonight and call it "better" 💀
010
Erik V @verdevium.bsky.social · 27/05/2026
Been thinking about this a lot lately. An AI generated book looks like a book, reads like a book. But, I for sure ain't reading 1300 pages of an Oathbringer knock-off by Sandon Branderson. In the same way I'll never use a vibed alternative to Obsidian or play a vibed Stardew Valley... (1/5)
110
Erik V @verdevium.bsky.social · 26/05/2026
Going to rewrite my Neovim config for v12. Going for as minimal as I can. Wondering if I should go totally scratch or start with something like MiniMax or Kickstart? github.com/nvim-lua/kic... github.com/nvim-mini/Mi...
github.com
GitHub - nvim-lua/kickstart.nvim: A launch point for your personal nvim configuration
A launch point for your personal nvim configuration - nvim-lua/kickstart.nvim
000
Erik V @verdevium.bsky.social · 15/05/2026
Checking out @npmx.dev for the first time, very fast, and looks very cool 👀 It seems like the video in my readme (that works on Github) breaks everywhere that is not Github (npmx, npm, socket). Anyone know how to get readme videos to work universally? npmx.dev/package/bett...
npmx.dev
npmx
2141
Reposted by Erik V
Ed Zitron @edzitron.com · 11/05/2026
That’s strange. Why are they booing? Maybe she should try being very condescending
191431105
Erik V @verdevium.bsky.social · 04/05/2026
Currently going through Whimsical Animations in my free-time. If you have the interest and means to buy it, I 100% recommend it. I don't believe that AI can teach you with this kind of depth + simplicity. If it seems like it can, well, it's probably just regurgitating courses like this one.
1123
Erik V @verdevium.bsky.social · 19/12/2025
It seems like Cloudflare Workers are much cheaper than Vercel for hosting something like a SvelteKit app. Am I missing something? - Vercel is $20/m for 10m requests - Workers are $5/m for 10m request, not including static assets.
020
Erik V @verdevium.bsky.social · 19/12/2025
Cleaned up some initial load performance issues on one of my side projects. Thought these two charts were pretty interesting in retrospective. Light chart is traffic, dark chart is data transfer. - Even though traffic kept increasing, data transfer dropped from 13GB to 500MB. timer.flotes.app
Tomatillo Timer TrafficTomatillo Timer Data Transfer
010
Erik V @verdevium.bsky.social · 16/12/2025
vim.lsp.config has fixed so many issues I've been having in Neovim. - Svelte LS crashes on large svelte projects - Autocomplete suggestions are duplicated - ts_ls doesn't attach to .ts buffers at all - svelte files don't recognize changes to ts files
110
Erik V @verdevium.bsky.social · 16/12/2025
Not perfect, but reduced the resources loaded on start by one of my svelte apps from 12.4MB to 1.5MB. Something like an 88% reduction in size. timer.flotes.app
110
Erik V @verdevium.bsky.social · 29/11/2025
I'm having a bunch of little issues pop up in my Neovim lately. - Svelte: I constantly have to restart the LSP for various reasons. Indentation stops working, duplicated references in auto complete, svelte/kit types aren't recognized. - Ghost text for things like copilot.lua break auto pairs.
340
Reposted by Erik V
Thomas G. Lopes @thomas.rocks · 24/11/2025
I'm looking for my next opportunity in the front-end space 🌐 I've worked at some great companies: Hugging Face, V7, Appwrite, and Significa. I've built NPM packages with 400k downloads/week, and am an avid open-source contributor. Let me know if you want to work together!
33920
Erik V @verdevium.bsky.social · 24/11/2025
"Property '"~standard"' is missing in type 'ObjectSchema' For anyone else that runs into a valid schema and svelte kit remote function failing with this error: My valibot version was old 🥲. May you save 30 minutes of your life not diddling your config and running :LspRestart 🫡
030
Erik V @verdevium.bsky.social · 10/11/2025
Anyone using Svelte + Neovim want to share their dots / config? 🙂 I've been using both for a long time, but recently the LazyVim extra for Svelte crashes the svelte-language-server on big svelte projects. I can't get ts file changes to show in svelte files without LspRestart. 🥲
400
Erik V @verdevium.bsky.social · 09/11/2025
Does FiniteStateMachine from Svelte Runed library have the ability to handle nesting similar to X-State? I was trying different ways but couldn't figure it out or find any examples. Runed: runed.dev/docs/utiliti... X-State Example: github.com/statelyai/xs...
runed.dev
FiniteStateMachine
Defines a strongly-typed finite state machine.
120
Erik V @verdevium.bsky.social · 06/11/2025
First time writing Svelte Kit Remote Functions. Used commands for cookie updates to save ssr layouts/preferences. Sheeeesh, remote functions kick ass. The code is so much nicer now.
2191
Erik V @verdevium.bsky.social · 02/11/2025
If you had a setting page in written Svelte / Svelte-Kit. No save button, every change event on a select, checkbox, etc... saves to the server. Do you use a form remote function with a form element, or omit the form element and use a command remote function?
230
Erik V @verdevium.bsky.social · 31/10/2025
Recently switched from Harpoon2 to Grapple.nvim. Insanely good plugin. I think Harpoon is so well known that people don't look at alternatives. Definitely worth the switch IMO and even has a harpoon-to-grapple config example in the readme. github.com/cbochs/grapp... #NeoVim #Vim
github.com
GitHub - cbochs/grapple.nvim: Neovim plugin for tagging important files
Neovim plugin for tagging important files. Contribute to cbochs/grapple.nvim development by creating an account on GitHub.
010
Erik V @verdevium.bsky.social · 30/10/2025
tonsky.me/blog/syntax-... by @tonsky.me Looking at the first color.js example, the idea made sense, but I was still like ehhh IDK. By the end of reading the article, the playSound example highlighting really had me convinced on a lot of ideas here. - Great read :)
tonsky.me
I am sorry, but everyone is getting syntax highlighting wrong
Applying human ergonomics and design principles to syntax highlighting
110
Erik V @verdevium.bsky.social · 09/10/2025
flotes.app now loads significantly faster. On the technical side, this uses a PWA + IDB to mirror data specific to the user. While some data uses a stale-revalidate strategy, notes utilize timestamps to verify if they need synced. This significantly reduces bandwidth usage from large markdown.
000
Erik V @verdevium.bsky.social · 09/10/2025
You can now view/navigate backlinks in a graph in flotes.app. Typing [[ now searches across all notes (and notebooks). On a technical side, this uses force-graph. Super easy to use and works via HTML 5 Canvas & d3-force. The backlink renderer is CodeMirror v6 autocomplete. #svelte #d3
030
Erik V @verdevium.bsky.social · 06/10/2025
Multiply the number of lines of code in your side projects using a framework by the number of young children you have by the number of additional hobbies you have. The higher the number, the more difficult to keep up with the changes to that framework. My score for Svelte is well over 200,000 🤣
130
Erik V @verdevium.bsky.social · 13/08/2025
Anyone writing Svelte with Ollama models? I feel like there should a Svelte 5 llms.txt *mini* lol. Smaller local models like gpt-oss:20b say they have a context of 128k tokens. But, it definitely seems like even the small llms.txt gets truncated. Their reasoning when given the file is way off
120
Erik V @verdevium.bsky.social · 12/08/2025
Ollama is really fun to use. So satisfying seeing my desktop's GPU run when I ask a model a question from code-companion.nvim on my Macbook.
110
Erik V @verdevium.bsky.social · 05/08/2025
Question for those using Svelte-Kit and Vercel - How do you co-locate your DB near your frontend? - How do you deal with load functions and cold starts? (Aside from pro plan). - Async in universal load blocks nav. But streaming requires server load functions, which may cold start, blocking nav.
120
Erik V @verdevium.bsky.social · 30/07/2025
So much has changed 🥲. Yet still so many improvements to make 😅.
000
Erik V @verdevium.bsky.social · 28/07/2025
Does anyone have recommendations for articles, videos, etc... on Svelte-Kit load + client side caching? I have a hard time wrapping my head around using something like load functions and IndexDB. Since load may happen on the server without having the context of whats cached on the client.
100
Erik V @verdevium.bsky.social · 25/07/2025
If you use better commits, consider sharing your config and an example commit for testing :) github.com/Everduin94/b...
github.com
Better Commits V2.0 [Share your config] · Issue #122 · Everduin94/better-commits
🦋 Better Commits V2 I'm planning to refactor better-commits semi-soonish. The codebase doesn't really reflect how I tend to do things now. Before I do that, I want to gather some real world example...
000
Erik V @verdevium.bsky.social · 24/07/2025
Question for my Svelte wizards. (1/2) Context I have code where my state is managed by a cookie and a form action (a button). This way, when I refresh, I SSR the state I want. On Vercel free tier (project over 1mb, no edge) this puts a delay on my button, and on a slow network, a long delay...
121
Erik V @verdevium.bsky.social · 17/07/2025
Remember when vibe coding meant listening to lofi bootleg boy with a cup of pour over coffee writing svelte? www.youtube.com/watch?v=617L...
youtube.com
remember when lofi hip-hop still sounded like this.
YouTube video by the bootleg boy 2
020
Erik V @verdevium.bsky.social · 29/06/2025
I'm in a software dev funk. I'm really starting to just not enjoy it. I spent 2 days rebuilding my stairs. - Challenging, rewarding, safer for my kids. I spent 4 months of nights refactoring my long-running svelte project. Tedious, exhausting, and the outcome leaves something to be desired.
250
Erik V @verdevium.bsky.social · 27/05/2025
If all I need I want out of a PWA is the most basic install this on my phone with these icons and background color. - Is switching from @vite-pwa/sveltekit to svelte-kit service workers (svelte.dev/docs/kit/ser...) ideal? I am very, very, very.... very, tired of @vite-pwa/sveltekit 🫠
svelte.dev
Service workers • Docs • Svelte
Service workers • Svelte documentation
100
Erik V @verdevium.bsky.social · 03/05/2025
When running a heap snapshot in a Svelte 5 application. What are detached comments? And why are they so... big? Is this something that's unavoidable? Or a product of making a mistake somewhere?
110
Erik V @verdevium.bsky.social · 07/04/2025
Any Svelte / JS wizards have tips for finding memory leaks in a Svelte 5 application? Transitioning between routes leaks some crazy amount of memory. I'm cleaning up Web workers, timeouts, event listeners, etc... I can even remove the majority of code between 2 routes and still leak badly.
620
Erik V @verdevium.bsky.social · 14/03/2025
The Day 24 Advent of Svelte 5 CLSX feature + Tailwind is just so dang good. svelte.dev/docs/svelte/...
000
Reposted by Erik V
Stephen G @jovianmoon.io · 27/02/2025
Just published the most detailed blog post I've ever written - how to create an interactive OBS stream overlay using Cloudflare Durable Objects, WebSockets and Svelte. jovianmoon.io/posts/making... #cloudflare #svelte #websockets #obs #streaming
jovianmoon.io
Making an interactive OBS stream overlay with Cloudflare Durable Objects and Svelte - JovianMoon.io
Control a dynamic stream overlay from an Elgato Streamdeck in an OBS Browser Source that you can self host.
1132
Erik V @verdevium.bsky.social · 26/02/2025
Svelte Tip. This one speaks for itself lol. A true red squiggly destroyer. 🟠 #svelte
<script>
  function onChange(e: Event) {
    const {value} = e.target! as HTMLInputElement;
  }
</script>

<input type="text" onchange={onChange} />
220
Erik V @verdevium.bsky.social · 24/02/2025
Refactoring my largest (and oldest) Svelte app to Svelte 5. After using Svelte 5 in small app since pre-release Using global state. The dance between ownership_invalid_mutation, refactoring to use context, and then getting hit by lifecycle_outside_component, is painful. svelte.dev/playground/4...
120
Erik V @verdevium.bsky.social · 22/02/2025
Cool little Vim / Neovim trick 👀. - You can `gf` jump to code files from markdown. So if my notes are placed in the same folder as my code. - Folder.svelte - folder-docs.md > "My notes about `Folder.svelte`" Cursor over Folder.svelte and type `gf` to jump to the file. 🔵🟢 #vim #neovim
120