MRK's Avatar

MRK

@marma.dev

I seek meaning in systems, both digital and human. 🌐 marma.dev

101
Followers
324
Following
69
Posts
21.11.2023
Joined
Posts Following

Latest posts by MRK @marma.dev

Preview
Fixing Svelte LSP Indexing in Helix If your Svelte LSP does not index your files properly in Helix, here might be a solution.

New Quick Tip: Fix Svelte LSP indexing in Helix.

Vite’s multi-tsconfig setup can break your dependency graph. Here is how to point svelteserver to the right path.

Read more: marma.dev/articles/202...

#Helix #Svelte #Vite #LSP #Programming

09.01.2026 18:06 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The set 20 announcement was my highlight from this talk. It hyped me to a degree that can only end in disappointment... but hope dies last :D.

I think the design space in fab has still so much potential and I can't wait to see what they were holding back.

09.12.2025 06:54 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

We are using TypeScript. We could also explicitly set the return type, but the problem is that the types don't exist during runtime. They are being checked through the LSP during development and before building. Our function was being changed to an async one after type checking.

02.11.2025 12:12 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I already switched to tanstack start for my personal projects. It's really a joy to work with and thank you very much for your contributions to this amazing stack!

02.11.2025 10:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Yes, it should've never built successfully and throw us an error that the function must be an async one.

Which, to be fair, does it now. But I don't want to imagine how many people might have stepped into this and/or maybe still running this version without knowing...

02.11.2025 10:39 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

How our "perfect" one-line isOwner() function in Next.js started always returning true.

Spoiler: It is because of server functions...

Wrote about the bug, the fix, and the "magic" that caused it:

marma.dev/articles/202...

#webdev #javascript #typescript #react #nextjs #serverfunctions

26.10.2025 17:20 πŸ‘ 19 πŸ” 1 πŸ’¬ 4 πŸ“Œ 5

Thank you very much!

09.10.2025 12:32 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This one is lying on my desk for too long untouched. I think it is time to pick it up. Thanks for reminding me :)!

06.10.2025 15:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yes, this is me and thank you very much for this feedback! I really appreciate it! Have a good day sir :)

01.10.2025 08:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The more I think about it, the more I agree with you. I've heard multiple times that seasoned engineers struggled longer until it clicked bc they had to unlearn a lot of bad practices learned through other languages. So I think first timers might have an advantage here.

10.09.2025 18:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

May I ask which resources you used and what was lacking?

09.09.2025 13:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Preview
Under the hood: Vec<T> Let's look at Vec<T> to get a better understanding of its inner workings.

What is Rust's Vec<T> hiding? The docs just show { /* private fields */ }. I went on a deep dive into the standard library to uncover the layers of abstraction, from unsafe pointers to the safe API we know and love. A look under the hood!

marma.dev/articles/202...

#rustlang #UnderTheHood #DeepDive

07.09.2025 16:39 πŸ‘ 10 πŸ” 1 πŸ’¬ 1 πŸ“Œ 1

No problem. Thanks for replying!

25.08.2025 20:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

If it's open source would you mind sharing it for us to also read and learn from it? :)

25.08.2025 07:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I guess when it comes to features, godot might be the clear winner here.

19.08.2025 17:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It depends on what you mean by advantage. I use bevy bc I like rust and coding in general. I tried all the GUI engines but I just can't work with so much clicking. With pure coding frameworks I have a sense of being in full control. Does that count as an advantage? Maybe... For me at least it is.

19.08.2025 14:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

It may be... The tv is at my parents place. It's so frustrating and honestly enraging that this is possible or even legal!

13.08.2025 08:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

As bad as it is the software would keep working. We bought a Smart TV about 6 to 7 years ago with Netflix. But they decided, that our TV won't get an update of the Netflix app anymore and the service requires a specific version to connect. So we now have a "broken" tv since we only watch Netflix...

13.08.2025 06:17 πŸ‘ 6 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Yeah my day to day job is also JS/TS and I'm always longing to get cozy with rust after work :D

13.08.2025 06:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

​The initial productivity boost from Copilot is a trade-off. By outsourcing design and algorithmic thinking, I failed to build a mental map of the code, making it feel foreign weeks later. The temptation is too great, so I deactivated it to prioritize my engineering skills over superficial speed.

13.08.2025 05:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Definitely commit by commit. But sometimes colleagues put everything in a giant sole commit... The horror!

13.08.2025 05:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Really interested in the outcome. I'm also really interested in zig but learning rust changed me. Any language without the safety guards feels like a battlefield... So that's what holding me back right now.

13.08.2025 05:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

are there any official news about this? and what's the rationale behind this decision?

13.05.2025 09:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Ah thank you very much! Was always wondering how to do stuff like this. Excited to skim through the code!

30.04.2025 16:25 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I guess this is not open source? πŸ₯²

Awesome work! looks really clean!

30.04.2025 14:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Copy in std::marker - Rust Types whose values can be duplicated simply by copying bits.

In addition, anything that implements Drop is not allowed to implement copy.

doc.rust-lang.org/std/marker/t...

20.04.2025 06:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Very well written! I'd also add:
Strings/Vectors manage heap data and impl Drop. Their stack part holds pointer info. If Copy, these pointers duplicate, meaning multiple pointers reference the same heap data. Drop called for each then causes a double-free error. For memory safety, they are not Copy

20.04.2025 06:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

nothing to add here folks. this is the way!

09.04.2025 04:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Yeah, I really don't like this behavior.
I found this article and the solution to this seems wild...

mangatmodi.medium.com/go-check-nil...

08.04.2025 05:21 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

go.dev/play/p/FKdxm...

I think what's happening here is that indeed it's because the interface value is only nil when both parts of the tuple are nil.
I guess the compiler sets the type of the interface value when a concrete type (here a struct) is passed as an argument.

07.04.2025 20:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0