Trending
sporto's Avatar

sporto

@sporto

Web dev, Melbourne Australia ๐Ÿฆ˜

26
Followers
32
Following
77
Posts
24.08.2023
Joined
Posts Following

Latest posts by sporto @sporto

Putting some files in dev dir.

Properly namespacing source files.

Naming of recursive helper functions.

Naming of functions that convert custom errors to string.

Structure of project that has both backend and frontend in gleam.

07.01.2026 22:07 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

For me the problem is triggering effects implicitly by observing state changes. It makes the system unpredictable and hard to reason about. Effects should always be triggered explicitly.

I think Elm got this right. We use xstate/store which follows the Elm architecture making this much easier.

06.11.2025 21:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
@xstate/store | Stately Version 3.x (Version 2.x docs)

Reading about the new useEffectEvent in react.

This is throwing more stuff at trying to improve a bad fundamental pattern (reactive effects via useEffect).

If you use TEA (the Elm architecture) none of this is necessary.

stately.ai/docs/xstate-... in a great implementation for React.

02.10.2025 22:49 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Right now Gleam. Love Elm but not very active. I have also tried Haskell, OCaml F#, Unison and Clojure.

11.09.2025 22:02 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I like it but I cannot deal with not having an explicit step for staging changes.

I usually make changes that aren't meant to be committed.

19.08.2025 21:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

At work I have to use TS ATM. Elm is much better here.

But I have found that there is a subset of TS that is quite decent. As long as we don't use certain things and set every setting to the max the type safety is good. It just needs a lot more diligence.

15.07.2025 21:54 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I find the Haskell style type signature easier to read, specially with lots of arguments. I wish more langs adopted this.

13.07.2025 02:34 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I find the automatic ghost text behaviour when using copilot very distracting.

So a couple of months ago I changed that to be an explicit shortcut.

But I noticed that since then, I hardly use it. Maybe it wasn't that useful.

13.06.2025 23:12 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Disillusioned on the new Fujifilm X-E5. Reading the specs the viewfinder is quite disappointing. As I only use the EVF this is really important to me. I was really hoping that they would make a small camera with a great EVF.

12.06.2025 23:31 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

More specifically
- message based, no business logic or effects in the view
- effects and model updates must be in the same place
- local or global store
- great type safety
- avoid react useEffect as much as possible

06.06.2025 22:59 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
@xstate/store | Stately Version 3.x (Version 2.x docs)

I looked at xstate/store before for React state management. stately.ai/docs/xstate-...

But in V3 they added side effects handling. With this addition is mostly the perfect state management solution I want. Trying it in our app.

Pretty much what I'm looking for is Elm TEA in react.

06.06.2025 22:55 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

The previous Mission impossible was pretty good, I really liked it. So I went with high expectations to the new one. Unfortunately it was quite mid. A lot of nonsense, completely unbelievable stunts, very brain dead.

01.06.2025 09:49 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Definitely some pros of the microservice architecture like
- Failure isolation
- Independent scaling, versioning and deploys

But there are huge tradeoffs for me:
- Lots of incidental complexity and repetition
- Weak contracts
- Very high maintenance burden
- Harder to work with and refactor

23.05.2025 04:11 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Geez, we have gone so far on the microservices path that a lot of our business logic is in freaking cloudformation yaml files.

Do we process x for a customer? Need to look at CF yaml. It is like a terrible and untested programming language. I hate it.

23.05.2025 04:03 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

People keep repeating that React is "functional". Maybe at the beginning it was or I just don't understand their definition of functional.

Components can have lots of non explicit inputs with hooks. Which can get global mutable state from lots of spaces.

10.05.2025 00:16 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Conventional Commits A specification for adding human and machine readable meaning to commit messages

We use conventional commits everywhere.

www.conventionalcommits.org/en/v1.0.0/

However 'feat' is often used for user facing features and internal features. Gets confusing.

We need a distinction. I rather not use the scope for this.

Trying to find a good word for 'internal feature'.

20.04.2025 03:38 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I have been refactoring our React forms to use TanStack Form. Our current lib is poor at type safety.

I found it interesting that you need to explicitly subscribe to state all over the place (to avoid re-renders). Otherwise the view is stale.

One big promise of React was not having to do this.

12.04.2025 02:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I have been building an app with Datastar. I'm quite happy with it.

This is a great intro chrismalek.me/posts/data-s...

I still have one complex interaction in my app where a front-end framework like Elm is better.

But for the majority of interactions Datastar is excellent.

12.04.2025 00:52 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Datastar - The hypermedia framework. Datastar helps you build reactive web applications with the simplicity of server-side rendering and the power of a full-stack SPA framework.

Having a go at building an app with data-star.dev

It is like htmx but can do more things.

It took me a while to understand how to send responses from the server.

So far I'm quite happy with this.

22.02.2025 03:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
GitHub - josephschmitt/zide: Group of configuration files and scripts to create an IDE-like experience in zellij Group of configuration files and scripts to create an IDE-like experience in zellij - josephschmitt/zide

broot looks great, similar to yazi. It is just figuring out the configuration that puts me off.

I tried github.com/josephschmit...
Got a bunch of errors, and gave up.

06.02.2025 00:36 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Somedays, like today, I attempt to use Helix for editing. As Helix is great for navigation and many other things.

But the lack of a file tree is a huge downside. I don't want to figure out how to configure helix and zellij and yazi together in order to have a file tree.

05.02.2025 03:38 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

What libs are people missing

24.01.2025 22:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Now I need to deal with Headless UI too which is also outdated. At some point someone decided to use a new component lib (headless UI) but they couldn't be bothered removing the old one (material UI).

17.01.2025 23:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Just finished a grueling two months of work removing Material UI from this app.

Leaning so heavily on a component lib like this was a huge liability. Made it impossible to upgrade other things.

Now it is mostly vanilla html and some Radix components for the hard stuff.

17.01.2025 23:29 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Text editor, browser, terminal, slack, discord, git UI, outlook, ms teams, email client, photo editors

21.12.2024 02:43 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Off for a holiday for three weeks. Don't need to look at Typescript for a while, win :).

14.12.2024 00:54 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

100% Elm Is vastly superior.

But I cannot imagine maintaining our React apps without Typescript.

14.12.2024 00:49 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Each year the kids' school change the required books or editions. Making us buy new books. They just tell us to discard the books we already have from the older kids. Incredible waste (and spend), so annoying.

08.12.2024 06:35 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The user interactions, as what flows are possible. I make a state machine in my head. Then the data structure that support that.

07.12.2024 22:05 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Dependency management fatigue, or why I forever ditched React for Go+HTMX+Templ After getting to work on some personal projects using Go+HTMX+Templ this year, I have decided to give up on using React on any personal projects. You can actually find a lot of compelling arguments fo...

blog.erodriguez.de/dependency-m...

I empathize a lot with this. But moving to a different stack is not an immediate possibility for us. So instead my strategy has been to replace libs with of our own implementations. E.g. our own router, query string parser, form lib, etc.

03.12.2024 22:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0