Recent submissions

Comment · 1 month ago
Yes sorry I forgot to mention the king would have been like 70kg max so easier to transport then tonnes of gold.
Comment · 1 month ago
There is a very awkward episode in Belgium national history, at the eve of WWII, the then minister of finance Camille Gutt, had the foresight to move tonnes of gold from the national bank to America and France but for some reason our king did not manage to pack his bags in time and was captured by the Nazis.
Comment · 2 months ago
That is not what the text is arguing for and it has many good ideas, dropping the abstractions but keeping the test harness is one of them. I've worked on many aspect of programming language implementation through the years and I would struggle with the abstractions of parser-generators and bytecode designed by committee like an enterprise Java developer struggles with the Hibernate ORM. Dunno what people are putting in their prompts but ask LLM to roofline and it will pursue that target like a bloodhound.
Comment · 5 months ago
Comment · 5 months ago
Alright my bad I did not find any info about this, but still they are no longer mentioned as a sponsor.
Comment · 5 months ago
I love Bun & Zig and this feels a bit like my parent are getting a divorce. I thought it was a bit strange that Bun did not sponsor the Zig foundation while others much smaller companies have.
Comment · 8 months ago
Let management argue there case, don't do it for them.
Comment · 8 months ago
Man am I getting tired of these articles and we can do without this neurotic melancholic whining. Maybe it is the title of the article that triggered me, but it reminded me of hearing Douglas Murray read excerpts from "The Strange Death of Europe" in his self-aggrandising pompous tone.

The authors colleague needed a couple of tries to write a kernel extension and somehow this means something about programming. If it was not for LLMs I would not have gone back to low-level programming, this stuff is actually getting fun again. Lets check the assembly the compiler produced for the code the LLM produced.

Comment · 9 months ago
Interesting, I did not know that colors-of-noice was related to this, what you say sounds conceptually very similar to how Maxwell's demon connects thermodynamics to information theory.
Comment · 9 months ago
No, it is a hypothesis I formulated here after reading the article. I did a quick check on google scholar but I didn't hit any result. The more interesting question is, if true, what can you do with this information. Maybe it can be a way to evaluate a complete program or specific heap allocator, as in "how fast does this program reach universality". Maybe this is something very obvious and has been done before, dunno, heap algos are not my area of expertise.
Comment · 9 months ago
Maybe also heap fragmentation
Comment · 9 months ago
TS returns a tree with nodes, you walk the nodes with a visitor pattern. I've experimented with using tree-sitter queries for this, but for now not found this to be easier. Every syntax will have its own CST but it can target a general AST if you will. At the end they can both be represented as s-expressions and but you need rules to go from one flavour of syntax tree to the other.

AST is just CST minus range info and simplified/generalised lexical info (in most cases).

Comment · 9 months ago
You have to figure this out for yourself in most cases. Tree sitter does have a query language based on s-expressions, but it is more for questions like "give me all the nodes that are literals", and then you can, for example, render those with in single draw call. Tree sitter has incremental parsing, and queries can be fixed at a certain byte range.
Comment · 9 months ago
This is like the difference between an orange and fruit juice. You can squeeze an orange to extract its juices, but that is not the only thing you can do with it, nor is it the only way to make fruit juice.

I use tree-sitter for developing a custom programming language, you still need an extra step to get from CST to AST, but the overall DevEx is much quicker that hand-rolling the parser.

Comment · 9 months ago
Ah, I think I found the reason as to why WebAssembly (in a browser or some other sandboxed environment) is not a suitable substrate for near native performance. It is a very ironic reason: you can't implement a JIT compiler that targets WebAssembly in a sandbox running in WebAssembly. Sounds like an incredibly contrived thing to do but once speed is the goal then a copy-and-patch compiler is a valid strategy for implementing a interpreter or a modern graphics pipeline.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton