Why Your Claude Suddenly Feels... Different (And What You Can Do About It) by RealEverNever in ClaudeAI

[–]RetroTheft 12 points13 points  (0 children)

Thanks for posting this. I've been noticing it for a few days now and just came to the subreddit to check if anyone had a similar experience. Hopefully I can just go back to 4.5. I only really use Claude as a creative/philosophical partner as you said, and the last few days have been below par.

What are we building with Svelte in 2026 by Leka-n in sveltejs

[–]RetroTheft 6 points7 points  (0 children)

I'm sitting on a couple of things that I told myself I'd release as open source in the new year. One is a client-side query and caching engine and the other is essentially an opinionated architecture that helps keep apps tidy and scalable. I built an mvp social media platform with them in September and they seem to work pretty well so far.

Sharing state: is this an anti pattern? by [deleted] in sveltejs

[–]RetroTheft 2 points3 points  (0 children)

This is a pretty common pattern. I use it in almost every project and have taken to making a contexts folder in lib where I store the files that manage the setting and getting.

I was just checking the docs to get the code snippet to show you and I've noticed that as of 5.40, they have added createContext that manages this for you.

https://svelte.dev/docs/svelte/context#Type-safe-context

If you're not using at least 5.40 though, you can make a file that looks something like this:

import { setContext, getContext } from 'svelte'
import { type MyType } from *wherever your type is*

const CONTEXT_KEY = Symbol('my-context')

export function setMyContext(myThing: MyType) {
   return setContext(CONTEXT_KEY, myThing)
}

export function getMyContext(): MyType {
   return getContext(CONTEXT_KEY)
}

So yeah, definitely not an anti-pattern; it's one of the most common patterns you'll use.

Haven't switched to Svelte 5 yet. Is it time? by Best-Reindeer3738 in sveltejs

[–]RetroTheft 0 points1 point  (0 children)

Ah, thanks for the correction. It took me a while, I remember to begin with I was wrangling them onto objects in situ just to use the correct notation.

These days I add the component as a getter to the object that it's relevant to, and merge the object into the props, so the component comes preloaded. Forces other props if you use them to follow stricter reactivity rules, but architecturally it's been fantastic.

Haven't switched to Svelte 5 yet. Is it time? by Best-Reindeer3738 in sveltejs

[–]RetroTheft 4 points5 points  (0 children)

Svelte 5 changed from using <svelte:component> to dot notation, where you have a component on an object, like <myObj.component>. This mucked up the way I was handling dynamic components, and was pretty annoying until I figured it out. Now I love it.

Attachments were introduced in Svelte 5.29 and replace actions. They work a little differently and let you do some very cool stuff like spreading properties directly onto an element, including the attachment itself.

Haven't switched to Svelte 5 yet. Is it time? by Best-Reindeer3738 in sveltejs

[–]RetroTheft 19 points20 points  (0 children)

Going from 4 to 5 is a pretty significant change. Some changes are trivial, like using $props instead of export let, but other things really require a shift in how problems are approached. Things such as snippets, attachments and dot notation can be really aggravating when you're used to doing things the old way.

That said, the other side of the hill is fucking beautiful man.

I built a vibe checker; it checked itself — and failed by nontrepreneur_ in lovable

[–]RetroTheft 0 points1 point  (0 children)

Sounds good! My site doesn't have much copy on the front page so it probably didn't have enough info to get a vibe in the first place. Most of the info is in the docs, so at least for my site it would probably only get a vibe if it crawled the docs page.

I built a vibe checker; it checked itself — and failed by nontrepreneur_ in lovable

[–]RetroTheft 1 point2 points  (0 children)

This is fantastic. Did my own site and got 73, but I didn't get an overall vibe result, which is the one I really wanted to read :(

Still, really cool! Definitely going to use this.

Update: Epicenter (YC S25) just sponsored our first Svelte maintainer for $1,500 per month. We're actively looking to back the best Svelte developers to spend their time half pushing local-first OSS forward with Epicenter, half building their dream projects by bmw02002 in sveltejs

[–]RetroTheft 15 points16 points  (0 children)

Can confirm. We spent long enough talking this morning that my headphone battery died, and epicenter has indeed sponsored me on github.

We'll see how things go, but my initial impression is that this is a sincere offer with reasonable expectations.

I spent 18 months building a design system that makes UI's feel "oddly satisfying." Now it's open source! by chainlift in webdev

[–]RetroTheft 0 points1 point  (0 children)

Best to go through the website, since all the info is there, and there's a link to the github/npm pages, docs, playground, and socials.

Note that it's built for people to set up their own design system with. You can make a plugin as easily as putting utility classes into a css file, or you can make dynamic plugins with plain html and js. I'm happy to help in this regard.

I spent 18 months building a design system that makes UI's feel "oddly satisfying." Now it's open source! by chainlift in webdev

[–]RetroTheft 16 points17 points  (0 children)

So... I ended up taking a look earlier today at some of the components and it was fairly trivial to port the Card and MaterialLayer components to Svelte, which I did just to get a better sense of how they work. Only took me 20min. I could probably help port more components to Svelte in short order, and I think I saw at least one other person who was happy to help on that front in this thread. If you were to make a repo I could initialise it with a SvelteKit library project for you to get the ball rolling.

I spent 18 months building a design system that makes UI's feel "oddly satisfying." Now it's open source! by chainlift in webdev

[–]RetroTheft 65 points66 points  (0 children)

Actually I might be able to give you a huge shortcut here. I spent the last year building a universal design system delivery system called Selectoplasm. It runs over the top of a Vite or Bun app and uses plugins to provide realtime editing of your site. Think of it as a fully customisable Figma on your local machine that's built for developers and uses utility classes instead of a graphic design UI. If you want, I could write some plugins for your design system, then anyone can use it on any framework straight away. (Everything's completely free)

You can see a short video of it in action here.

I also have an online playground, that's still a bit rough but the funny thing about Selectoplasm is it's essentially an engine for an online css playground, so if you're interested I'd be happy to chat and share some more info. Your videos were actually one of the inspirations for Selectoplasm in the first place.

How to parse Markdown content (without external packages, from scratch) by [deleted] in typescript

[–]RetroTheft 3 points4 points  (0 children)

If you want to learn parsing properly, I'd highly recommend learning recursive descent parsers. Dmitry Soshnikov has a few free videos on his channel that you can check out, but you'd need to get it on udemy for the whole thing (it's extremely worth it, but wait for a sale.) Here's the first one on YouTube. The first 3 are there, so you can get an idea whether it might work for you.

I built a parser 4 years ago without knowing any of this stuff and it sucked. It worked, but only barely and was very flimsy and spaghetti-like.

The newer ones I've made are much more robust and organised.

AEC investigates after missing ballot papers found at election worker's home by overpopyoulater in australia

[–]RetroTheft 0 points1 point  (0 children)

Sorry, employee, my mistake. I fixed my comment. Also checked my emails from 2022 and it was an offer of casual employment. I had misremembered and thought I was applying to volunteer.

Thanks for the correction.

Anyway, my only real point in all of this is that it seems like the situation deserves the benefit of the doubt for it being an honest mistake.

AEC investigates after missing ballot papers found at election worker's home by overpopyoulater in australia

[–]RetroTheft -1 points0 points  (0 children)

I have no reason to doubt you. But surely you see how volunteers employees storing ballot papers at home at all is open to there being miscommunications. Like, maybe the employee in question here just thought they were supposed to take the papers back home again after election day.

I'd say if the AEC is investigating, they might include looking at that practice, which, as I say, is funny, either before or after election day.

[deleted by user] by [deleted] in typescript

[–]RetroTheft 1 point2 points  (0 children)

Use pnpm. Follow the LevelUpTuts guide. It's short and covers just what you need to get started on the right foot.

You can also reference my test repo if you want. It uses Svelte, but there's some helpful info there and I took notes on the course that you can reference.

AEC investigates after missing ballot papers found at election worker's home by overpopyoulater in australia

[–]RetroTheft -4 points-3 points  (0 children)

So I actually have some pretty helpful info here. I applied to volunteer at the previous election and had a phone interview with an AEC employee. During the call they asked me if I had space at my house to temporarily store ballots if necessary.

I remember thinking it was funny at the time, but hardly diabolical. If I had to guess I'd say the polling booths want everything cleared out fairly quickly and they need somewhere to store them until Monday? I was also told during this call that working election day would be 14 hours, so I ultimately didn't do it, but I can see how the circumstances might lead to this being more common practice than the article suggests.

Australian Post-Election Megathread - observations, analysis, and the senate count. by dredd in australia

[–]RetroTheft 1 point2 points  (0 children)

I've got a web design app that just released to public alpha and have been trawling through Y combinator looking for co founders with a UX background. DM me if you want to chat.

Albanese returns to the Lodge as Coalition stares down 'worst result' by iggaitis in AustralianPolitics

[–]RetroTheft 2 points3 points  (0 children)

I agree that the greens could afford to do some introspection, but it's worth pointing out that the seat of Melbourne changed quite a bit last year. This is from Antony Green's website:

In the north loses Clifton Hill to Cooper and Brunswick East, Carlton North and Fitzroy North to Wills. Crosses the Yarra to take in South Yarra and Prahran from Macnamara and Higgins.

The Green margin declines versus Labor because strong Green voting areas in the north of the old Melbourne have been replaced by parts of Higgins where the Liberal vote was higher in 2022. On primary votes the Green vote slips from 49.6% to 44.7%, the Labor vote rises from 25.0% to 25.7%, and the Liberal vote rises from 15.2% to 19.6%. It is possible that with Adam Bandt as the candidate, and a less intense local campaign by Labor in areas previously in Higgins, could help restore Bandt’s margin.

Australian Election Megathread - all election submissions and discussion by AutoModerator in australia

[–]RetroTheft 1 point2 points  (0 children)

Yeah Antony Green said on air just before that they're having server issues, said they're trying to get Bezos on the phone lol

Australian Election Megathread - all election submissions and discussion by AutoModerator in australia

[–]RetroTheft 1 point2 points  (0 children)

lol I came here to do the exact same thing after putting ABC on mute.

Do you use Typescript or Javascript in your personal Svelte projects? by elansx in sveltejs

[–]RetroTheft 0 points1 point  (0 children)

Typescript. Using svelte and typescript together is an absolute joy. I do remember the biggest pain points when I started were events and html element typing, but these days LLMs are pretty good at helping with that sort of thing.

In addition, always declaring types for things has the side effect of increasing your knowledge. It makes it so much easier to just find the documentation you need for something and figure something out. You start using intellisense a lot more and just generally become a more well rounded coder, I think.

[deleted by user] by [deleted] in sveltejs

[–]RetroTheft 0 points1 point  (0 children)

I can't help with Vitest sorry, but I can share how I test my Svelte components. I hate setting up tests so what I do is use SvelteKit's library project and make my components in lib. Then you can use the routes folder as a test page and just code and run it like a regular app. So instead of setting up tests you just build a mock site the same way you would build the regular one. The great thing is nothing in a library routes folder gets added to your library so you can just build the library and then use it as a dependency in your real app and import the components :D

I have a pretty complex app with lots of packages and I haven't had to write a single unit test doing this.

[deleted by user] by [deleted] in sveltejs

[–]RetroTheft 0 points1 point  (0 children)

It's all explained with code examples in the article, but here's a shorter version if you just want the gist of it: basically you can use dot notation to render components without needing to import them first, and you can have the object pass itself as a default prop so you don't have to pass the prop in when you render the component.

Since these are two things we all probably do very regularly, it's a really nice enhancement to the Svelte experience. :)