HNHacker News
TopNewBestAskShowJobs

tome

9,217 karma · joined November 30, 2008

submissionscomments
tome··on The top secret URSALA, RAQUEL, and FARRAH satellites (2025)
> Everyone assumed they were going to do a Venezuela

When you say "everyone" do you mean "everyone in the US military establishment"? I remember very few independent commentators who suggested the US intervention in Iran was a good idea. (Personally I think it's too early to say.)

tome··on How to keep enjoying programming in a world of LLMs
Excitement is not a reward, excitement is a motivating force :)
tome··on Go Concurrency Distilled
> Apparently in the 90's the Haskell devs couldn't fathom two different types both having a field called "ID" or "name".

I think it's simply that making field names become functions that select from the record was a simple design that worked, and didn't require anything new to be added to the language.

tome··on Writing Parquet files using Haskell
> I haven't tried any serious LLM Haskell before 2026-02, because it was just not a timesaver.

Same, and now seven months later a GBP 20 per month Plus subscription gets me basically all the GPT-6-Luna-xhigh I can eat, which does a tremendous job of Haskell. It's even helped me with some really gnarly things like this, which require deep knowledge of the GHC RTS: https://github.com/tomjaguarpaw/bluefin/commit/c298733bdd67d...

It's possible it's much slower when working on Haskell than it is on other languages. I wouldn't know because I've only tried it on Haskell. But I'm very happy (and extremely impressed) by it.

tome··on How to keep enjoying programming in a world of LLMs
Why would you want to be pissed off when you could be excited?
tome··on How to keep enjoying programming in a world of LLMs
What do you mean? Because management says it makes you too slow? Or is it unacceptable for some other reason?
tome··on 'We hacked the FBI:' Hackers say they have data on all FBI employees
> > But it would have bad ergonomics and still end up with a SecurityManager equivalent because a DSL for permissions is more convenient than doing it all in code. > > This might be the core contention. I don't know if using actual capabilities in a language would have problematically bad ergonomics. You'd probably be passing more arguments to functions. But haskell seems to manage ok despite needing to pass IO to functions that need it. Capabilities seem similarly inconvenient. I think I'd need to see it tried. I agree - I might need to try it myself.

You can try it now yourself in Haskell! This is my effect system, based on capabilities: https://hackage.haskell.org/package/bluefin

One of the common objections I hear to Bluefin is "isn't it too inconvenient to pass around capabilities everywhere?". Perhaps surprisingly, no, I haven't found it remotely inconvenient. I find it liberating, actually.

tome··on Function Arguments Are Not Function Colors
What's the difference?
tome··on Function Arguments Are Not Function Colors
In Bluefin, IOE (which allows you to do I/O, i.e. what Haskell's IO also allows you to do) is an argument, and therefore not a color under your interpretation.

https://hackage.haskell.org/package/bluefin-0.0.7.0/docs/Blu...

tome··on VMs won't contain cyber-capable agents
Cool, my contact details are on the front page of that site.
tome··on Casey Muratori – The Root of the Root of All Evil – BSC 2026 [video]
Interesting, I have not heard of Spritely Goblins! But neither Bluefin nor effectful could be described as distributed capability systems/effect systems, so I don't think they're comparable.

On infection, I think it's a bit like being infected by mitochondria :)

tome··on Casey Muratori – The Root of the Root of All Evil – BSC 2026 [video]
I think nextaccountic is not technically fully correct, but he/she is at least correct in the most important part: Safe Haskell is not really practical.

But if you don't want an ironclad guarantee and instead you're content with making wrong code obviously wrong even if it's not formally verified, then I recommend Haskell with a capability system (what the Haskell world calls an "effect system"). As far is I'm concerned there are two practical choices in 2026, Bluefin (mine) and effectful (one of Bluefin's inspirations)

* https://hackage.haskell.org/package/bluefin

* https://hackage.haskell.org/package/effectful

tome··on VMs won't contain cyber-capable agents
Here you go! It's a complete document, but I'll continue to edit it over the next few days before I announce it. I'd love to hear any thoughts you have.

https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/

tome··on VMs won't contain cyber-capable agents
Yeah, I think they're basically identical concepts. I'm writing an article on that topic right now.
tome··on VMs won't contain cyber-capable agents
Yes! It started as an implementation of the effect system I always wanted: effects passed on the value level, rather than implicitly on the type level. Once I'd done that I realise that it was actually a capability system (and that was the better way of describing it, because more people already know what a "capability system" is).
tome··on We found a division by zero bug in FFmpeg with a vibecoded fuzzer
People don’t say "Haskell makes it impossible to write bugs"! You may have heard "if it compiles it works" which is somewhat tongue in cheek, but also true for a sufficiently loose interpretation of "works" in a way it is not true for languages with a less strong and flexible type system.
tome··on VMs won't contain cyber-capable agents
Yeah you can write a capability that encapsulates exactly whatever effects that you like!
tome··on VMs won't contain cyber-capable agents
I'll blow my own trumpet and promote my own Haskell capabilities library, Bluefin: https://hackage.haskell.org/package/bluefin

Bluefin is used in production, and as far as I know capability is not.

tome··on Xcancel and Nitter have been taken down
> The Twitter experience is a highly algorithmic feed ... that is, things they want you to see.

Not on Nitter! Which is the point, for me at least.

tome··on The turbulent AI era is here
It's fascinating to me that there's no one in this thread arguing that AI is a bubble and it's all going to crash soon.
tome··on The turbulent AI era is here
Which provider do you use for artificial compassion?
tome··on The turbulent AI era is here
> Aristocracy became useless around 1600-1700, when gunpowder meant that peasant armies took over instead of knights

Does this view rest on the claim that the only use of the aristocracy is warfare?

tome··on Mold: A Massively Parallel Linker
> so do most of the servers except the most popular 2

Are you sure? All three servers I regularly use, as well as all of the mirrors that I found with a quick search, are down. If there are other servers still working then can you please give a hint about how I could find them?

tome··on Kagi added a setting for removing paywalled links from search results
Are you sure? If I visit https://old.reddit.com/r/haskell/ in private mode (i.e. without my auth cookies) then I am asked to log in.
tome··on Malicious Rust crate Arrayref runs a build-time payload
Yes, I'm sure about that. I said that it is a systems language, not that it is as fast as C! I don't mind if your terminology excludes Haskell from being a systems language, as long as it also excludes Go. They are both managed, garbage collected, fast languages.

> Like lazy evaluation and memoisation

Yes, that causes performance impact. If you don't want the performance impact then don't write code that uses those behaviors. Sure, that rules out large parts of the ecosystem, but I said Haskell was a systems language not that its ecosystem was generally suitable for systems programming.

> however Haskell manages memory

No, Haskell's memory manager is world class, with two (at least) tunable garbage collectors.

> But I’m not aware of Haskell beating rust in program performance & memory usage benchmarks

Nor am I!

> If Haskell were a viable systems language, I suspect the kernel would not have been converted to C.

I suspect they converted it to C because you can't write a kernel in a managed language with a garbage collector.

tome··on Malicious Rust crate Arrayref runs a build-time payload
Haskell is a fast, compiled systems language like Rust (or rather, Rust is like Haskell).
tome··on Rethinking Database Programming
I don't think that's actually what one wants in practice from an RDBMS, but if it really is then one can add UNIQUE to all your SQL queries and get it. SQL is not somehow lacking in that regard.
tome··on Rethinking Database Programming
Sets and bags are trivially interconvertible so it's really not a big deal: https://h2.jaguarpaw.co.uk/posts/set-bag-irrelevance/
tome··on As AI eats the web, the internet’s collective memory is disappearing
> Would you be willing to do free work for a corporate entity that explicitly financializes that work's benefits?

Yes, that was one of the things that I hope happens with the open source software I write.

> Would you be willing to do free work for a corporate entity whose entire business model is making sure they sit as a gatekeeper between your free work and others who would benefit from your work?

Sure, that's what doing SEO on one's own blog is, isn't it?

> For some it's demoralizing to know that your work will be broken down and atomized into language model mush, and the credit will go to the computer.

I think this is probably the crux: that writing is no longer discoverable because people aren't using search engines any more. It would be interesting to put some hard numbers on that. I reckon writing is still more discoverable (in absolute numbers) than it was when blogs first took off (over 20 years ago?)

tome··on As AI eats the web, the internet’s collective memory is disappearing
I would be grateful if you could explain how that is related to my question.
Page 1 of 34Next →