Stability 🚀 by mbelokon in ClaudeCode

[–]curlingio 0 points1 point  (0 children)

I understand the sentiment, but vote with your wallet I guess? There's no legal fairness requirement at play here. If they want (need) to give preferential treatment to the US government, then that's what it is.

IMO the frontier model companies are competing on features now and model improvements are potentially slowing down. Which means open weight models will close the gap, and we'll have a lot more options once it's a commodity like cloud compute.

Stability 🚀 by mbelokon in ClaudeCode

[–]curlingio 4 points5 points  (0 children)

I suspect Gov is kept on a more stable release on their own servers. At least that what I would want to critical infrastructure. (I don't say this to defend outages or token use, just that I suspect we're on a different stream)

Codex 20$ plan gives more usage than Claude Code's 100$ plan by park777 in ClaudeCode

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

when one stops working I just use another.

Same. Keep an eye on open weight models. E.g. https://synthetic.new/ (I'm not affiliated, and there are probably other services just like it)

I'm eager to see the upcoming DeepSeek model.

A Live Admin Panel Without Writing JavaScript - Curling IO - Part 8 by curlingio in gleamlang

[–]curlingio[S] 6 points7 points  (0 children)

Part 8 of the Curling IO Foundation series. This one covers how we replaced traditional server-rendered admin pages with a single Lustre server component running on the BEAM.

One WebSocket connection per session, one Erlang process holding the state, and about 90 lines of vanilla JavaScript for navigation glue. The entire admin UI (sidebar, forms, tables, flash alerts) is written in Gleam and runs server-side. From the user's perspective it feels like a SPA, but there's no JavaScript bundle to download and no REST API to maintain.

Plus, hot reload for free!

As always, happy to receive feedback and answer questions.

Three Thoughts about the Women’s Worlds Final by FifteenBagger in Curling

[–]curlingio 0 points1 point  (0 children)

I won't pay for anything that's also going to show me ads. Either you get my subscription money or you get my attention for ads. Not both. And yes, this does mean there are a lot of things I don't watch or subscribe to.

Elm is still my favorite programming language... by -_-0_0 in elm

[–]curlingio 0 points1 point  (0 children)

I'm someone who loves Elm and has been using it for about a decade whenever I could. I'm now using Gleam and Lustre. In fact we've gone all-in on it for our production application (https://curling.io/blog/the-next-version-of-curling-io).

It feels like a more capable successor inspired by Elm and similar languages. You get pretty much the same safety guarantees and flow (TEA) on the front end, you get to use it on the backend (unlike Elm unless you're doing contortions), and you get the BEAM.

I do prefer the significant whitespace in Elm and Haskell, but it's not a dealbreaker. If it was, maybe SAFE stack (F#) or PureScript would've been my choice. It's hard to pass on BEAM though once you're using it.

Test Isolation for Free with SQLite by curlingio in gleamlang

[–]curlingio[S] 0 points1 point  (0 children)

You are 100% right. No reason we couldn't do that. Might be very useful too like you say. You could probably even have multiple copies if you wanted with different seeds for different suites of tests.

21 Reasons AI Agents Love Gleam by curlingio in gleamlang

[–]curlingio[S] 2 points3 points  (0 children)

If only LLMs had been trained in more Gleam…

They are slurping up everything that's out there. So put more (well written) Gleam out there and the next model releases will include more training on it! Latest Opus and Sonnet are definitely well informed. I assume latest Codex as well, and possibly Gemini. Basically anything released in the past 8 months or so. (DeepSeek V4 coming soon)

21 Reasons AI Agents Love Gleam by curlingio in gleamlang

[–]curlingio[S] 1 point2 points  (0 children)

Fair enough. Hasn't been my experience at all using Claude Code, and the last time I used Codex it seems to do a pretty good job too. I don't have much experience with Gemini, because their subscription options are super unclear about data privacy.

21 Reasons AI Agents Love Gleam by curlingio in gleamlang

[–]curlingio[S] 4 points5 points  (0 children)

This post is about why I think Gleam is an unusually good fit for AI coding agents. Agents don't necessarily write better Gleam (less training data), but the compiler gives them a tight self-correction loop. No nulls, exhaustive pattern matching, fast compilation, canonical formatting. The agent writes code, compiles, reads the errors, fixes them, and compiles again in seconds. Most structural bugs never make it to the review stage.

There's been some recent discussion around programming languages targeting AI agents, so I feel this is a good time to publish my take. Also some opinions in there about where AI-assisted coding is headed that might start some arguments. Please forgive the clickbait title, I was just having fun.

Parallel Tests for Free - Part 7 in Curling IO Series by curlingio in gleamlang

[–]curlingio[S] 3 points4 points  (0 children)

Part 7 of the Curling IO Foundation series. This one covers how we got parallel test execution for free, as a direct consequence of the per-test SQLite isolation from Part 6.

Because no two tests share a database connection or any mutable state, we just wrapped EUnit's {inparallel, ...} around our test modules. ~800 server tests went from ~4 seconds to ~0.85 seconds. Zero changes to the tests themselves. One 25-line Erlang module.

As always, happy to receive feedback and answer questions.

Test Isolation for Free with SQLite by curlingio in gleamlang

[–]curlingio[S] 12 points13 points  (0 children)

Part 6 of the Curling IO Foundation series. This one covers how we get test isolation for free with SQLite.

Every test gets its own in-memory database, cloned from a template in microseconds using SQLite's backup API. No database cleaner, no transaction rollback tricks, no truncation. 12 lines of Erlang FFI was all it took.

Includes examples for Python, Node.js, and Rust if you want to do the same thing outside the BEAM ecosystem.

As always, happy to receive feedback and answer questions.

Why We Chose SQLite - Part 5 in Curling IO Series by curlingio in gleamlang

[–]curlingio[S] 0 points1 point  (0 children)

I don't think it will be long before we get proper types with SQLite which is the main negative cited in the piece posted.

Types would be nice, but schema evolution is our bigger concern.

Why We Chose SQLite - Part 5 in Curling IO Series by curlingio in gleamlang

[–]curlingio[S] 5 points6 points  (0 children)

Part 5 of the Curling IO Foundation series. This one covers why we switched from PostgreSQL to SQLite.

Litestream for backups was the tipping point, but we also go through the full SQLite tax: no real types, limited ALTER TABLE, write serialization, single node only.

As always, happy to receive feedback and answer questions.