frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Accidentally Turing-Complete

https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html
25•bschne•1y ago

Comments

panstromek•1y ago
Nice list. Some of those are arguably not accidental, TypeScript type system seems kinda obvious to be turing complete when it tries to describe dynamically typed langauage.
WalterGR•1y ago
x86 MOV instruction: “The mov-only DOOM [game] renders approximately one frame every 7 hours, so playing this version requires somewhat increased patience.”
a_cardboard_box•1y ago
Rule 110 is only Turing-Complete if you have an infinitely large array of cells, and are able to initialize it with an infinite repeating pattern. If I'm not mistaken, HTML+CSS can only do a fixed-sized array.

With a Turing-Complete language, if a program runs out of memory on one machine, you can run the same code on a bigger machine without modifying it, and it can use the additional memory. With fixed-length rule 110, you need to modify the code if you want to use more memory.

256_•1y ago
This is addressed in the second paragraph of TFA:

"Stuff which is somehow limited (stack overflows, arbitrary configuration, etc) is still considered Turing complete, since all "physical" Turing machines are resource limited."

In my opinion, worrying about infinite memory, in regards to Turing completeness, makes the task of implementing computation much less interesting.

Also, I'm pretty sure CSS only does one generation (or a finite number of them) before stopping anyway.

256_•1y ago
Logic in Doom is particularly interesting to me. Apparently you can fit ~64k logic gates in a map (using the method described). From [1]:

"As the DOOM engine was not designed to be an interpreter, there are some constraints on our programs written against it. The biggest one is how large our programs can be. Since each gate uses at least one tag, we can use this as a metric to derive an upper-bound on the size of a program. As the DOOM engine uses 16-bit tags, this means we can have, at most, 65535 gates. This is not a particularly large number. We may be able to implement a very small CPU but this limit will be hit pretty quickly I believe."

The z80 had ~8,500 transistors. The 8086 had ~29,000 (checking Wikipedia). You could get far fewer if you use a 1-bit microarchitecture, I'm sure. I think there was a DEC (PDP?) computer that used that trick to have a really low transistor count, but I don't remember what it was called.

The real problem is RAM; for this you may as well cheat and modify Doom's code to add a RAM chip, and I/O while you're at it.

You could create a CPU in Doom implementing an architecture for which a C compiler exists, capable of compiling Doom, and run it in the CPU in Doom. For "reasonable" speed you'd have to do more than one simulation step per frame render (in the host Doom). If you ran it for long enough maybe you could get a full frame of Doom in Doom.

[1]: https://calabi-yau.space/blog/doom.html

karmakaze•1y ago
Doom running in TypeScript static type checker[0].

> half trillion lines of types totaling 177 terabytes ran through the type checker around the clock for 12 days to get the first frame

[0] https://news.ycombinator.com/item?id=43184291

karmakaze•1y ago
My favorite one is Conway's Game of Life. It's perhaps the least surprising one, but it's also the most visually appealing. Really like this video that leads up to making the Game of Life in itself[0]. It's something you can show a non-technical person and they can get a sense of how crazy it is that something so simple can do anything.

[0] https://www.youtube.com/watch?v=Kk2MH9O4pXY

I was too broke to buy ads, so I built my own ad network

https://dev.profullstack.com/~anthony/blog/018-post.html
1•buffer_overlord•1m ago•0 comments

ChatGPT has almost stopped citing Reddit

https://promptwatch.com/data/reddit-citations-are-dropping-in-chatgpt
1•klaaz0r•2m ago•0 comments

A practical workflow for LLM-assisted development

https://yogthos.net/posts/2026-08-17-llm-workflow.html
1•yogthos•4m ago•0 comments

Lexical Editor List

https://github.com/chrysler-stone/awesome-lexical-editor
1•chrysler44•4m ago•0 comments

A Photo of Your Machines

https://machinemind.cdtglobal.org/
1•igdiaz•4m ago•1 comments

I Built a Voice Opening Door to Moria (My Garage) [video]

https://www.youtube.com/watch?v=woyvLnyTx0g
1•MattSteelblade•5m ago•1 comments

NeoBrowser: An MCP server that drives real Chrome with your logged-in sessions

https://github.com/pitiflautico/neobrowser
2•pitiflautico•6m ago•0 comments

Why is the Amish population growing so fast in America?

https://phys.org/news/2026-08-qa-amish-population-fast-america.html
1•simonebrunozzi•6m ago•0 comments

Extensible Software in the Age of LLMs

https://jeremymorrell.dev/blog/extensible-software-in-the-age-of-llms/
1•masterj•6m ago•0 comments

Patens – Stop tab-thrashing: clip research directly into local AI/IDE memory

https://patens.dev/
1•randomlyGenerat•6m ago•0 comments

Bit Alice Can Send. The most informative message isn't the winning one

https://medium.com/science-spectrum/the-best-bit-alice-can-send-871a70ae0e93
1•armchairquantum•8m ago•0 comments

Building a Concurrency Verifier Using Crucible

https://www.galois.com/articles/building-a-concurrency-verifier-using-crucible
1•surprisetalk•8m ago•0 comments

The Amazon Tax

https://seths.blog/2026/08/the-amazon-tax/
1•herbertl•9m ago•0 comments

Ask HN: Good content on using AI to modernize professional services delivery

3•mguerville•10m ago•1 comments

A 60-year-old theory about ants, bees and wasps may be wrong

https://www.sciencedaily.com/releases/2026/08/260813045552.htm
1•simonebrunozzi•11m ago•0 comments

Fixing a Bricked Framework Laptop

https://quantum5.ca/2026/08/16/fixing-bricked-amd-7040-series-framework-13-laptop-with-20-tools/
2•jp_sc•13m ago•0 comments

AI agent that learns from real-world experiences

https://alloomi.ai/blogs/the-new-frontier-of-ai-agents
1•lauraserein•13m ago•0 comments

Linux Bridge STP Timer Use-After-Free

https://ssd-disclosure.com/linux-bridge-stp-timer-use-after-free/
2•speckx•14m ago•0 comments

Show HN: Figranium – Dockerized, API-first, block-based browser automation

https://github.com/figranium/figranium
2•asernasr•15m ago•0 comments

Show HN: Stunt – a stunt double for the APIs you integrate (95 adapters)

https://github.com/stuntapi/stunt
1•polymatto•16m ago•0 comments

Global Bond Slump Sends Long-Term Borrowing Costs to Highest in Decades

https://www.bloomberg.com/news/articles/2026-08-18/bond-rout-sends-long-term-borrowing-costs-to-h...
3•toomuchtodo•16m ago•1 comments

A complete floating-point to_chars in 18 kB

https://vitaut.net/posts/2026/complete-to-chars/
1•vitaut•16m ago•0 comments

Firefox Smart Window

https://blog.mozilla.org/en/firefox/firefox-smart-window/
1•HieronymusBosch•16m ago•0 comments

Making stinkarm stink less, or more?

https://xnacly.me/posts/2026/making-stinkarm-stink-less/
1•ibobev•17m ago•0 comments

Xorshift Generators: Appendix

https://www.alanzucconi.com/2026/08/15/xorshift-generators-appendix/
1•ibobev•17m ago•0 comments

Show HN: I canceled my AI code reviewer and wrote a free local one

https://github.com/mukundzha/avouch
3•mukundzha6•18m ago•2 comments

The Making of Cursor's Icons

https://www.minoradventures.co/blog/the-making-of-cursors-icons
1•thm•18m ago•0 comments

Show HN: Rataflow – React Flow, but for the Terminal (Rust/Ratatui)

https://github.com/furkankly/rataflow
1•furkankly•18m ago•0 comments

Ask HN: How do you manage focus and avoid burnout while working remotely?

3•pranav_tech26•19m ago•2 comments

Show HN: Leviath – Structured context regions for LLM agents, in one Rust binary

https://leviath.dev
1•gemisis•19m ago•0 comments