HackerLangs
TopNewTrendsCommentsPastAskShowJobs

andersmurphy

924 karmajoined 7 năm trước
https://andersmurphy.com

Submissions

Datastar: It's Pretty Good – With David Nolen [video]

youtube.com
6 points·by andersmurphy·19 ngày trước·1 comments

The Tao of Datastar

data-star.dev
6 points·by andersmurphy·tháng trước·1 comments

SQLite improving performance with pre-sort

andersmurphy.com
9 points·by andersmurphy·tháng trước·1 comments

A Trillion Characters

characters.fastserial.com
36 points·by andersmurphy·tháng trước·16 comments

We Deleted Tokio from Our Payment System and Cut Cloud Costs by $127,000

medium.com
4 points·by andersmurphy·8 tháng trước·1 comments

UI = Fn(state) Done Right

yagni.club
3 points·by andersmurphy·9 tháng trước·0 comments

Blinksy

play.putyourlightson.com
17 points·by andersmurphy·9 tháng trước·9 comments

[untitled]

1 points·by andersmurphy·9 tháng trước·0 comments

comments

andersmurphy
·3 phút trước·discuss
Yeah compile times have always mattered. It's why games often have a scripting layer in lua despite the engines being C/C++.
andersmurphy
·7 phút trước·discuss
Lisp/smalltalk programmers have been going on about this tradeoff for a long time. It mattered before LLMs too. Lisp/Clojure repl allowing you to compile tiny parts of your program inside your running program is incredible for your feedback/iteration loop.

Ironically, this is also what makes them shine with LLMs, the LLM has access to the running program and can modify it while it's running to get feedback instantly.

Complex type systems are cool. But, they are not free. I say this as someone who's first programming language was Haskell.
andersmurphy
·5 ngày trước·discuss
That's partly the problem ORMs. Lowest common denominator that prevents you from leveraging a lot of the power of your actual database.
andersmurphy
·8 ngày trước·discuss
Wait what? gpt5.5 is better than fable. I thought fable was the endtimes?!

Wonder if this is because fable swirches down to opus for somethings without telling you?
andersmurphy
·17 ngày trước·discuss
Neither of the companies you mentioned are listed.
andersmurphy
·17 ngày trước·discuss
Personally the main advantage of monoliths is performance.
andersmurphy
·17 ngày trước·discuss
Yeah, it's an intellectually intoxicating idea but incredibly hard to get right.

For me the problem is that in practice it only fits really well with quite a specific subset of problems, but we desperately want it to be a general solution that can apply to all the things (or at least it's often marketed that way).
andersmurphy
·17 ngày trước·discuss
> Generalization breaks down for offline-capable applications. Offline writes require conflict resolution, create authorization edge cases, and demand coordinated schema management across server and client replicas.

> ...These constraints are structural; engineering effort cannot remove them...

> The trade-off analysis shows that three sync engine vendors converged independently on this conclusion from different starting positions.

This is the big irony. That the vendors all converged on the fact that sync engines only really "work" when you remove the offline part. But, at that point they are a complicated/over engineered cache or worse introducing hard distributed computer science problems unnecessarily.
andersmurphy
·19 ngày trước·discuss
I honestly think streaming HTML is a game changer for collaborative realtime web apps.
andersmurphy
·tháng trước·discuss
I feel like independent thought will decrease considerably with LLMs. I wonder if they will effectively become oracles in the sense that the average output of an LLM will be what most companies do therefore you can predict what most companies will do.
andersmurphy
·tháng trước·discuss
I've found what works really well on 3G an MPA with streaming HTML with brotli compression rendering the whole page on every change.
andersmurphy
·tháng trước·discuss
Is it slow though? Like in practice? This demo [1] using Datastar (a streaming HTML framework) every action including scrolling roundtrips to the server. Even the checkboxes changing colour is a roundtrip.

https://checkboxes.andersmurphy.com
andersmurphy
·tháng trước·discuss
Also if anyone has a better way to do the pre-sort in Java/Clojure/JVM I'm all ears.
andersmurphy
·tháng trước·discuss
Tokenfalls! My dwarf fortress eyes read this deluge completely differently.
andersmurphy
·tháng trước·discuss
In SQLite all writes are serialisable by default and it scales really well. I think having a single writer is what makes the big difference here.
andersmurphy
·tháng trước·discuss
User permission can often be very dynamic. Sync engines (local first ones even more so) give them access to a much larger set if that data in a client side database.

This also makes them much more vulnerable to a data leak/breach if their device gets compromised or stolen as the data is all on their device.

The client having access to only what it needs in terms of data and making that as ephemeral as possible is a big part of defence in depth.
andersmurphy
·tháng trước·discuss
You don't even need your backend that close if your server is fast enough. Streaming HTML immediate mode is pretty good. See this demo (server is in Germany and runs on a potato uses no optimistic updates, eveb scroll round trips) [1]

Honestly client side animations go a long way to masking latency too.

- [1] https://checkboxes.andersmurphy.com/
andersmurphy
·tháng trước·discuss
Sync engines are fast to a point but if you start working with large enough datasets and/or care about security you ultimately end up with something closer to streaming immediate mode HTML. Of course that means sacrificing local first.
andersmurphy
·tháng trước·discuss
Although not as prominent as insert SELECT and UPDATE both benefit from page cache locality, assuming rows that are stored near each other are often selected/updated together.
andersmurphy
·tháng trước·discuss
An insignificant amount for the comparison (why I didn't mention it), it's a fast implementation and the JVM C2 JIT has kicked in by the time the first batch has completed.