frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

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

PlainMarkdown v1.6: Clean conversion on heavy sites, AI actions and Exports

https://plainmarkdown.com
1•p_bits•2m ago•1 comments

The Ask

https://randsinrepose.com/archives/the-ask/
1•digitallogic•2m ago•0 comments

Build with Modern Web Guidance

https://developer.chrome.com/docs/modern-web-guidance
1•spking•2m ago•0 comments

Show HN: NanoApps: Run custom homebrew apps on iPod nano 7th generation

https://twitter.com/freemyipod/status/2058920520708468974
1•user890104•7m ago•0 comments

Liquid processed more transactions in three months than it did in all of 2024

https://blog.liquid.net/liquid-federation-quarterly-update-q1-2026/
1•janandonly•7m ago•0 comments

xscp - Interactive scp wrapper + transfer history, fuzzy matching, TUI browsing

https://codeberg.org/LuminaNAO/xscp.git
1•javruben•8m ago•0 comments

Fast is better than slow

https://dubroy.com/blog/fast-is-better-than-slow/
1•surprisetalk•8m ago•0 comments

Grappling with AI

https://hgrsd.nl/blog/grappling-with-ai/
1•RyeCombinator•11m ago•0 comments

Greek swimmer only athlete to beat world record at controversial Enhanced Games

https://www.bbc.com/sport/articles/cx211xyd298o
1•only_in_america•12m ago•1 comments

RADV Driver Lands Support for VK_KHR_shader_fma

https://www.phoronix.com/news/RADV-VK_KHR_shader_fma
1•doener•12m ago•0 comments

Why Ctrl+V won't paste images in Claude Code on WSL, with a fix

https://rajveerbachkaniwala.com/blog/2026/05/24/on-the-difficulty-of-pasting-a-picture/
2•rajveerb•12m ago•0 comments

Open AI and YC

https://www.marginpoints.com/issues/2026-05-20-openai-and-yc-ipo-oxygen-hacky-sack
1•historian1066•12m ago•0 comments

GrillKit – self-hosted AI technical interview trainer with voice

https://github.com/GrillKit/grillkit
1•vitchenkokir•13m ago•0 comments

Claude Mission Control *real *free

https://github.com/BEKO2210/My_Dash
1•Beko2210•13m ago•1 comments

JS Crossword: a crossword where the clue = eval(answer)

https://lyra.horse/fun/jscrossword/
1•thunderbong•14m ago•0 comments

Java Card

https://en.wikipedia.org/wiki/Java_Card
2•tosh•18m ago•0 comments

LPeg – Parsing Expression Grammars for Lua

https://www.inf.puc-rio.br/~roberto/lpeg/
1•tosh•18m ago•0 comments

One-and-Done Heart Disease Prevention? Scientists Show It May Be Possible

https://www.nytimes.com/2026/05/25/health/cholesterol-ldl-gene-therapy.html
1•brandonb•19m ago•0 comments

Regular Expression Matching Can Be Simple and Fast (2007)

https://swtch.com/~rsc/regexp/regexp1.html
1•tosh•20m ago•0 comments

I tracked London housing data: We are staying in our homes for 10 years

https://area360.uk/blog/27-how-long-londoners-stay
1•clean_field•22m ago•0 comments

Washington Diary

https://worksinprogress.co/issue/a-washington-diary/
1•surprisetalk•23m ago•0 comments

The Cost of Safetyism

https://stevemagness.substack.com/p/the-cost-of-safetyism
3•obscurette•23m ago•0 comments

The Coming Coordination Calamity

https://surfingcomplexity.blog/2026/05/24/the-coming-coordination-calamity/
1•azhenley•24m ago•0 comments

Why most engineers design systems too early

https://thescalableengineer.substack.com/p/why-most-engineers-design-systems
2•lucyb0207•25m ago•0 comments

Show HN: Smriti: Shared Reasoning State for Claude Code and Codex

https://github.com/himanshudongre/smriti/
1•himanshudongre•25m ago•0 comments

Kirill Dmitriev, the Magician of the Kremlin

https://www.theatlantic.com/international/2026/05/russia-putin-kirill-dmitriev/687283/
1•chmaynard•28m ago•0 comments

The problem with Rust for back end services

https://kerkour.com/rust-backend-services-problems
3•randomint64•28m ago•0 comments

Vitalik Buterin on the future of the Ethereum Foundation

https://twitter.com/VitalikButerin/status/2058583593102844111
1•bushwart•29m ago•0 comments

On Grindslop – By Will Manidis

https://minutes.substack.com/p/on-grindslop
2•karakoram•29m ago•0 comments

SQLite-Vector now with Google TurboQuant for a 38x speedup

https://github.com/sqliteai/sqlite-vector
2•marcobambini•29m ago•0 comments