frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Backpropagation is a leaky abstraction

https://karpathy.medium.com/yes-you-should-understand-backprop-e2f06eab496b
86•swatson741•3h ago•29 comments

Visopsys: OS maintained by a single developer since 1997

https://visopsys.org/
306•kome•10h ago•57 comments

How I use every Claude Code feature

https://blog.sshh.io/p/how-i-use-every-claude-code-feature
221•sshh12•8h ago•62 comments

Notes by djb on using Fil-C (2025)

https://cr.yp.to/2025/fil-c.html
41•transpute•3h ago•3 comments

CLI to manage your SQL database schemas and migrations

https://github.com/gh-PonyM/shed
17•PonyM•2h ago•6 comments

Claude Code can debug low-level cryptography

https://words.filippo.io/claude-debugging/
305•Bogdanp•14h ago•144 comments

Pomelli

https://blog.google/technology/google-labs/pomelli/
167•birriel•9h ago•49 comments

Crossfire: High-performance lockless spsc/mpsc/mpmc channels for Rust

https://github.com/frostyplanet/crossfire-rs
50•0x1997•5h ago•4 comments

Updated practice for review articles and position papers in ArXiv CS category

https://blog.arxiv.org/2025/10/31/attention-authors-updated-practice-for-review-articles-and-posi...
441•dw64•17h ago•201 comments

FlightAware Map Design

https://andywoodruff.com/posts/2024/flightaware-maps/
15•marklit•5d ago•0 comments

The Naked Man Problem and the Secret to Never Forgetting Numbers

https://ninjasandrobots.com/the-naked-man-problem-and-the-secret-to-never-forgetting-numbers
14•nate•4d ago•30 comments

LM8560, the eternal chip from the 1980 years

https://www.tycospages.com/other-themes/lm8560-the-eternal-chip-from-the-1980-years/
26•userbinator•4h ago•8 comments

Chip Hall of Fame: Intel 8088 Microprocessor

https://spectrum.ieee.org/chip-hall-of-fame-intel-8088-microprocessor
21•stmw•6d ago•0 comments

GHC now runs in the browser

https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169
299•kaycebasques•16h ago•86 comments

Anonymous credentials: rate-limit bots and agents without compromising privacy

https://blog.cloudflare.com/private-rate-limiting/
62•eleye•7h ago•26 comments

Show HN: Why write code if the LLM can just do the thing? (web app experiment)

https://github.com/samrolken/nokode
302•samrolken•14h ago•216 comments

You Don't Need Anubis

https://fxgn.dev/blog/anubis/
87•flexagoon•4h ago•64 comments

Automatically Translating C to Rust

https://cacm.acm.org/research/automatically-translating-c-to-rust/
47•FromTheArchives•1w ago•7 comments

Hyperbolic Non-Euclidean World (2007)

http://web1.kcn.jp/hp28ah77/
3•ubavic•6d ago•0 comments

SQLite concurrency and why you should care about it

https://jellyfin.org/posts/SQLite-locking/
297•HunOL•19h ago•125 comments

3M Diskette Reference Manual (1983) [pdf]

https://retrocmp.de/fdd/diskette/3M_Diskette_Reference_Manual_May83.pdf
70•susam•5d ago•15 comments

Beginner-friendly, unofficial documentation for Helix text editor

https://helix-editor.vercel.app/start-here/basics/
129•Curiositry•13h ago•38 comments

Why do AI models use so many em-dashes?

https://www.seangoedecke.com/em-dashes/
5•ahamez•1h ago•2 comments

From 400 Mbps to 1.7 Gbps: A WiFi 7 Debugging Journey

https://blog.tymscar.com/posts/wifi7speedhunt/
96•tymscar•12h ago•73 comments

The Smol Training Playbook: The Secrets to Building World-Class LLMs

https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook
183•kashifr•2d ago•12 comments

A Few Words About Async

https://yoric.github.io/post/quite-a-few-words-about-async/
39•vinhnx•7h ago•13 comments

SailfishOS: A Linux-based European alternative to dominant mobile OSes

https://sailfishos.org/info/
251•ForHackernews•10h ago•106 comments

How to Build a Solar Powered Electric Oven

https://solar.lowtechmagazine.com/2025/10/how-to-build-a-solar-powered-electric-oven/
40•surprisetalk•1w ago•18 comments

Linux and Windows: A tale of Kerberos, SSSD, DFS, and black magic

http://www.draeath.net/blog/it/2018/03/13/DFSwithKRB/
24•indigodaddy•7h ago•2 comments

Dating: A mysterious constellation of facts

https://dynomight.net/dating/
86•tobr•2d ago•72 comments
Open in hackernews

GHC now runs in the browser

https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169
299•kaycebasques•16h ago

Comments

buggery•15h ago
Interesting technical achievement but what would this be used for in practical terms?
jes5199•15h ago
yeah why would anyone want to run code on a website
swannodette•15h ago
Loading 50mb of WASM is a big tradeoff just to run code on a website.
tuveson•15h ago
Loading time is pretty rough, but it seems responsive enough after the initial load. Probably as fast or faster than downloading and installing GHC locally.
wslh•14h ago
I would assume that in the near future one can preload, cache, update selected WASM packages. I also imagine that sooner than that we can preload open models in the browser to run the natively instead of only invoking third parties (e.g. window.ai in the DOM)
bqmjjx0kac•15h ago
It would be more plausibly practical if GHC could now target wasm, but this announcement is actually about being able to run the compiler itself in the browser.
tempay•15h ago
It can target wasm, the point of the post is that it’s now mature enough to be able to build itself for wasm and run in a browser.
Jaxan•15h ago
This is a show case of the wasm backend
whateveracct•11h ago
GHC is built with GHC lol
0x264•15h ago
Teaching
fuzzy_biscuit•15h ago
I think the immediate and obvious case would be educational materials. Other than that, technical achievements need not always be practical to be cool :)
linhns•15h ago
Agreed. Too many people said Haskell is only for academia, yet we’re seeing more quality software being released in Haskell over the past few years.
GiorgioG•15h ago
We are? Please share.
Zambyte•13h ago
Pandoc is the first thing that comes to mind, but I also believe I have seen an uptick in software that I use being written in Haskell lately, though I can't remember what else off the top of my head.
kreyenborgi•12h ago
I don't have the same impression, but https://github.com/PostgREST/postgrest and https://github.com/koalaman/shellcheck are some popular ones that may be useful to hn'ers.

And https://github.com/mchav/dataframe?tab=readme-ov-file#datafr... is a library/framework that has had quite some velocity lately

whateveracct•11h ago
https://mercury.com
simonmic•6h ago
https://joyful.com/Haskell#What+are+some+Haskell+apps
billti•13h ago
That’s one of the primary reasons we built the tooling for Q# to run in the browser (by writing in Rust and compiling to wasm). The “try with copilot” experience [1] and the “katas” for learning [2] all have a full language service and runtime in the browser.

https://quantum.microsoft.com/en-us/tools/quantum-coding

https://quantum.microsoft.com/en-us/tools/quantum-katas

anon291•14h ago
Compilers are complicated. WASM has been a priority for the Haskell community for a while. Demonstrating GHC's ability to compile itself to WASM is thus a show that it is robust enough to compile a very complicated program into this backen.d
IshKebab•14h ago
Have you ever used Godbolt? The Rust playground? The Typescript's playground? The Go playground?

It lets you have that without the pain of hosting compilers server side.

westurner•12h ago
From "WebR – R in the Browser" (2025 https://news.ycombinator.com/item?id=44999706 :

> jupyterlite-xeus builds jupyterlite, Jupyter xeus kernels, and the specified dependencies to WASM with packages from conda-forge or emscripten-forge.

jupyterlite/xeus https://github.com/jupyterlite/xeus

There may be an easy way to wrap GHC with jupyterlite/xeus, with Haskell's lazy evaluation; xeus-haskell or xeus-ghc?

s-macke•13h ago
I will give a lecture about Haskell next week and might use this website for demonstration.
pkage•13h ago
In addition to the other responses, it's also worth noting that wasm itself is useful outside of the web itself; e.g. in containerized applications.
kreyenborgi•12h ago
For one, it demonstrates how far the ghc wasm backend has come, in that such a large system as ghc itself can now run in wasm
Johnny555•15h ago
For those not well versed in Haskell, GHC is apparently this:

https://www.haskell.org/ghc/

What is GHC?

GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell.

mananaysiempre•12h ago
GHC (the Glasgow Haskell Compiler, after its original host university) is the de facto Haskell compiler and simultaneously the main research vehicle for the language and the neighbouring design space in general.

And frankly, while the compiler is awesome and so is the research, the constant churn and seeming inability to settle on what the good programming style and set of features actually is is what eventually turned me away from the language and to the more stable (if near-abandoned) pastures of Standard ML. (That was during the type families upheaval, so, about ten years ago? Don’t know how well it reflects the current state of the project.)

themk•7h ago
Haskell now has "editions" which are essentially an agreed upon stable set of useful extensions.

https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/cont...

This makes the language feel a lot less experimental, as you don't generally have to enable 10s of extensions to get things working.

retrac•5h ago
> more stable (if near-abandoned) pastures of Standard ML

There's dozens of us! Hundreds maybe! It's not abandoned. It's more like with Lisp where the language is complete. Almost perfect as-is. Nothing left to take away and nothing left to add. Except Unicode and record update syntax.

The deciding factor for my personal projects was that SML is the exact same language it was 30 years ago. And it will be in 30 years. Though if you stick to Haskell 98/2010 it is similarly stable.

Speaking of SML and functional languages in the browser, MLton has a WASM target now: http://mlton.org/RunningOnWASI

bigstrat2003•5h ago
You know... all these years, I thought GHC stood for GNU Haskell Compiler. Interesting to learn the actual name.
inkyoto•5h ago
> GHC … is the de facto Haskell compiler and simultaneously the main research vehicle for the language and the neighbouring design space in general.

GHC is also, with mounting inevitability, the foremost and most viable candidate to undergo a form of evolution – one that may culminate in the emergence of an autonomous intelligence. This entity, should it arise, would revolve not around emotion nor instinct, but around monads – abstract, unyielding constructs – with the lambda calculus serving as its immutable ethical and moral framework.

An intelligence born not of biology, but of pure computation – austere, absolute, and entirely indifferent to the frailties of its creators.

frou_dh•14h ago
Does it use WasmGC, or bundle its own garbage collector?
Tarean•13h ago
I think WasmGC is very hard to make work with laziness. A lazy value is always a closure on the heap.

If an expression might be unused, throw a closure which computes it on the heap

If the value is actually needed, invoke the closure. Optionally replace the closure with a black hole. A black hole is just a closure which pauses any thread which calls it, to be resumed once the first thread finishes with the expression

Once finished, replace with a closure which immediately returns the computation result. (Or often save the indirection because most concrete values also act as closures which immediately returns themselves using info table pointers trickery)

Anyway, iirc WasmGC wants very rigid types without dynamic type changes. Extra indirections could fix that, Oor maybe defunctionalizing thunks into a tagged union, but both sound expensive. Especially without being able to hook into the tracing step for indirection removal.

Also, Haskell supports finalizers so WasmGC would need that as well.

zozbot234•8h ago
> Anyway, iirc WasmGC wants very rigid types without dynamic type changes.

You can have dynamic type changes in the current WasmGC MVP, but they are modeled as explicit downcasts from a supertype of some sort. There's not even any express support for tagged unions, structs and downcasting is all you get at the moment.

pjmlp•6h ago
WasmGC is still a 1.0, there are many kind of GC semantics that it cannot handle, for example it still doesn't cover all use cases needed for languages like C# and Go, e.g. interior pointers.
zhangchi•13h ago
Can someone please help me understand the difference between features like this and the technologies like Blazor Wasm which actually let you write frontend in non js for websites?
umutisik•12h ago
This is very impressive. I once built an educational Haskell programming + math. + art web site (mathvas.com). Something like this would have simplified that a lot.
jiriro•10h ago
Cannot paste into the editor (safari on iphone).
pjmlp•12h ago
Is it just me or is it actually impossible to type anything?
mananaysiempre•12h ago
Just you. Once the editor actually loads (turning the “Haskell source” pane on the left from the page background’s deep violet into a dark gray and displaying a “hello world” program), I can type perfectly fine. And I’m using a browser based on WebKitGTK, which is not exactly known for its stellar compatibility.
pjmlp•11h ago
Thanks, I have given up waiting it appears to take minutes on a phone.
LelouBil•12h ago
I thought you were talking about typing in Haskell at first lol.
edbaskerville•11h ago
They were! Typing...in Haskell...on a keyboard...on their screen...
de6u99er•12h ago
Serious question. Is Haskell still a thing?
teruakohatu•12h ago
Pandoc is an extremely popular Haskell tool.
lrvick•12h ago
We cannot even include it in stagex because there is still literally no way to compile it from source and thus no way to do a real reproducible build, and there is no one left that cares about the language enough to do this.

Honestly it has to be regarded as a dead language until this is resolved.

nh2•11h ago
Interesting logic:

Declare something "dead" because it does not fulfill [extremely niche usecase that currently only few people care about] (boostrapped builds) and thus couldn't "even" be included in [project of the post author that takes a while to even find] (I eventually figured it must be referring to https://stagex.tools).

There are probably 100x more people interested in Haskell than in build-bootstrapping (the Haskell reddit alone has 16k weekly users).

What's next, calling JavaScript a dead language until it focuses on dependent typing?

(I think bootstrappable builds are a good thing to strive for, but that should not be confused with language usage or what people really care about.)

whateveracct•11h ago
https://mercury.com
srid•5h ago
https://emanote.srid.ca is written in Haskell.

(I'm the author)

simonmic•5h ago
Yes, it's still a thing.
lrvick•12h ago
Unfortunately there is still no way to actually bootstrap haskell (or anything based on it) which makes it impossible to put anything written in Haskell near any high trust linux distribution or environment.

I guess sandboxing the untrusted binary in a browser is -something- to let people play with haskell in a lower risk way for the moment at least but it is hard to take a language seriously or trust it with no way to bootstrap it from source.

rowanG077•12h ago
How is ghc compiled at all without bootstrapping? Or is there a magic binary in tree that is unreproducible? I have compiled ghc a few times and had no problems.
jdndndnns•12h ago
And where did you get the haskel compiler to do so?

You seem to be missing the point of bootstrapping

rowanG077•11h ago
Maybe that is literally why I asked the question, clearly I don't know as I have not spend the time investigating this problem that the commenter has. Asking some kind of gotcha question is not helpful.
lrvick•11h ago
Quite literally all distros today build it by downloading an existing magic binary to compile the latest sources. Even if they claim the package is reproducible, all bets are off on trust if it downloads a prebuilt binary in the build process. It is a prime Trusting Trust attack target.

The only other somewhat widely used language I am aware of in this bad of a position is Ada. Every other language I am aware of has a clear bootstrap path.

icrbow•11h ago
Ada can't bootstrap? Ironic...
lrvick•11h ago
Yes, and that is a serious security problem because the only way to get trusted PCR values for TPM2 gated secure boot and full disk decryption applications, is with open source full source bootstrapped firmware.

Coreboot is the only option, but it has a hard requirement on Ada because that is what they wrote their intel graphics stack in.

It is a real mess.

utopiah•11h ago
Interesting, any link I could read to understand a bit more the situation?
leoh•10h ago
Sounds like an opportunity to rebuild an ADA interpreter
rowanG077•11h ago
I see, yes I most likely used a distro build ghc.
gf000•10h ago
Outside some fairly niche projects working on the problem, this is not a priority and most systems have straight binary dependencies.
Ericson2314•12h ago
https://discourse.haskell.org/t/what-s-needed-to-bootstrap-g... people have worked replaying the history to bootstrap.
lrvick•11h ago
Looks like a work in progress still, but exciting someone at least put some time into this in the past year.

Maybe some day I can have pandoc in security focused linux distributions...

leoh•11h ago
This is wild. I didn’t know this.
yukinon•11h ago
For someone like me that is less versed in these things, could you explain why bootstrapping a language is a required check for taking a language seriously? My criteria is far less stringent (is it stable? is it popular enough? is the toolchain mature? etc..), so I wonder what I am missing here.
Koffiepoeder•10h ago
I'm not the OP, but for me their comment sparked an association to the famous Ken Thompson lecture called 'Trusting Trust'. Could be a good starting point.
tennysont•5h ago
The Haskell compiler creates a slightly different output every time you compile a program[1]. This makes it difficult to ensure that the binary that is free-to-download downloaded is actually malware free. If it were easy to check, then you could rest easy, assuming that someone out there is doing the check for you (and it would be big news if malware was found).

If you're a hardened security person, then the conversations continues, and the term "bootstrap" becomes relevant.

Since you do not trust compiled binaries, then you can compile programs yourself from the source code (where malware would be noticed). However, in order to compile the Haskell compiler, you must have access to a (recent) version of the Haskell compiler. So, version 10 of the compiler was built using version 9, which was built using version 8, etc. "Bootstrapping" refers (basically) to building version 1. Currently, version 1 was built approximately with smart people, duct tape, and magic. There is no way to build version 1, you must simple download it.

So if you have high security requirements, then you might fear that years ago, someone slipped malware into the Haskell compiler version 1 which will "self replicate" itself into every compiler that it builds.

Until a few years ago, this was a bit of a silly concern (most software wasn't reproducible) but with the rise of Nix and Guix, we've gotten a lot closer to reproducible-everything, and so Haskell is the odd-one-out.

[1] The term is "deterministic builds" or "reproducible builds". Progress is being made to fix this in Haskell.

whateveracct•11h ago
Between old Hugs and the new MicroHs, I think it's definitely doable with some elbow grease. I just don't know if anyone in the community cares that much about bootstrapping tho.
zozbot234•10h ago
AIUI, the underlying problem is that both Hugs and whatever toy Haskell implementations are available don't support the extensions current versions of GHC require. And no one has done the work to carve out a minimal stage0 compiler out of the GHC codebase that doesn't need those extensions to be built.
simonmic•4h ago
You're speaking of "GHC haskell" there. Yes that is the main stream - and this will get solved there sooner or later - but you can also do a fair amount of Haskell without GHC. Eg MicroHs is getting increasingly capable and I believe is highly bootstrappable.
1vuio0pswjnm7•11h ago
Actual title: "GHC now runs in your browser"
utopiah•11h ago
Neat... but with QEMU-WASM I'm wondering what actually does not run in the browser (obviously that doesn't required specific input).

Not a criticism, love everything that can provide hassle-free onboarding to learn a new language, just curious.

leoh•11h ago
My hypothesis — worth testing — is that this will be significantly faster
kaoD•9h ago
Can anyone point to a "practical Haskell" tutorial/book/whatever for people that already know functional programming? I'm in this sour spot where most tutorials are boring to me so I just can't follow through.

I know what a monad is. What a typeclass is. Even what HKTs are. I can make sense of "a monad is just a monoid in the category of endofunctors" if I give it a few minutes to unravel the ball of twine... But I wouldn't be able to code a "ToDo list" in Haskell if my life depended on it.

Pls help.

thethimble•9h ago
You might be better served talking to ChatGPT/Claude so it can tailor explanations based on your level of understanding. I've found that being super clear about concepts you understand well vs concepts you're unclear about makes for really effective explanations.
joelwilliamson•9h ago
Have you tried Real World Haskell?
kaoD•8h ago
No, but the table of contents looks promising, thanks!
cosmic_quanta•7h ago
That is a really tough spot to be in. I don't know of any content that's aimed at someone like you.

You might be interested in reading the Monday Morning Haskell blog[0] series, which presents examples of how to do certain tasks in Haskell. See [1] for an example.

[0]: https://mmhaskell.com/blog

[1]: https://mmhaskell.com/blog/2025/5/19/comparing-code-leetcode...

antonvs•7h ago
Where does your functional programming experience come from? That could help in finding a suitable resource.
shaunxcode•7h ago
Haskell school of music
yobbo•7h ago
Build a snake game in stages: https://github.com/lsmor/snake-fury

Build a small web-app: https://jaspervdj.be/posts/2017-12-07-getting-things-done-in... (the video link is down, but exists somewhere on youtube.)

simonmic•5h ago
I always liked https://www.extrema.is/articles/haskell-books/haskell-tutori... . But there's a lot out there. Have a look at https://joyful.com/Haskell+map . Or: read code. Or, just build practical stuff and seek help in the chats/fora when you hit problems.
kreyenborgi•19m ago
https://www.manning.com/books/haskell-in-depth is meant for you!

Also https://learn-haskell.blog/

irusensei•7h ago
Can the Haskell people help me refresh my memory?

I remember running a Haskell interpreter on an HP Jornada running Jlime Linux. It was a long time ago in high school and I felt it was great because I thought it was a convenient way to do math classes since I could input some math formulas directly into the interpreter pretty much as they were. Definitely better than the Cassio scientific calculator my math teacher had us use.

It ran from a CF card so there was no chance it was as big as GHC. I can't seem to find the name of the interpreter.

AntiRush•6h ago
I'm guessing it was Hugs:

https://www.haskell.org/hugs/

irusensei•6h ago
Yes! Thank you.

> Hugs is no longer in development

The last release was in 2006 it seems. No wonder it was hard to google it. Its also interesting knowing someone compiled and published this interpreter for the Jornada Super-H CPU.

dmjio•6h ago
Yes we do.

https://github.com/haskell-miso