Recent submissions

Comment · 4 months ago
Yes, there is a middle ground. Elixir's Ecto does this well.

Database rows map to structs. But it doesn't try to figure out how to mutate the data for you to keep the struct in sync with the database. All mutations are explicit using changesets (which can also be used for other non-database purposes, like validating user input for an API.)

There is no implicit preloading of data. You have to explicitly preload.

Data is never fetched implicitly. You have to call Repo.all or Repo.one or something.

It has a query DSL that's a thin wrapper over SQL. It's well-designed and I've never had a problem with it.

Comment · 1 year ago
This reminds me of the recent Claude Imagine, which passed quietly through most people's radars, but let you create web interfaces of any kind on the fly. There was no JS code generated. Instead, any time the user clicked a button, the AI would manually update the page accordingly. It was also slow and terrible, but a fun idea.
Comment · 1 year ago
I agree, prototyping seems like a great use-case.
Comment · 1 year ago
These seem like a lot of great ways to work around the limitations of LLMs. But I'm curious what people here think. Do any career software engineers here see more than a 10% boost to their coding productivity with LLMs?

I see how if you can't really code, or you're new to a domain, then it can make a huge difference getting you started, but if you know what you're doing I find you hit a wall pretty quickly trying to get it to actually do stuff. Sometimes things can go smoothly for a while, but you end up having to micromanage the output of the agent too much to bother. Or sacrifice code quality.

Comment · 1 year ago
I have a pet theory that LLMs being confused about what they just wrote is why they use so many em dashes. It's a good way to conceptually pivot at any point -- or not.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton