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•8mo ago

Comments

panstromek•8mo 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•8mo 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•8mo 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_•8mo 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_•8mo 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•8mo 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•8mo 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

Ask HN: Reading list for being a better engineer?

1•drekipus•25s ago•0 comments

GhostBSD Comes Up with Gershwin, a New Desktop Environment with OS X Like Looks (2025)

https://itsfoss.com/news/ghostbsd-launches-gershwin/
1•alhazrod•1m ago•0 comments

Optimizing Ray Tracing in Haskell (2020)

https://medium.com/@s.nawaz/optimizing-ray-tracing-in-haskell-3dc412fff20a
1•PaulHoule•5m ago•0 comments

Developing a BLAS Library for the AMD AI Engine [pdf]

https://uni.tlaan.nl/thesis/msc_thesis_tristan_laan_aieblas.pdf
2•teleforce•7m ago•0 comments

Prompts Are Engineering Artifacts

https://feipeng.substack.com/p/prompts-are-engineering-artifacts
1•roman10•8m ago•0 comments

Show HN: Why Seamless AI Is a Gaslighting Apparatus

https://github.com/daiki-kadowaki/judgment-transparency-principle
1•daikikadowaki•11m ago•0 comments

MyTorch – Minimalist autograd in 450 lines of Python

https://github.com/obround/mytorch
2•iguana2000•12m ago•0 comments

The Great Gatsby is the most misunderstood novel

https://www.bbc.com/culture/article/20210209-the-worlds-most-misunderstood-novel
2•1659447091•18m ago•0 comments

Show HN: OpenGrad – Self-directed, AI-facilitated graduate programs

https://realadeel.github.io/opengrad/
1•proletarian•22m ago•0 comments

Induction-Based Compass

https://www.youtube.com/watch?v=eiDhbZ8-BZI
2•skogstokig•31m ago•0 comments

SQLNet A social network that looks like Twitter but you write SQL to do anything

https://sqlnet.cc
1•colinbartlett•31m ago•0 comments

Arb – schema-driven CLI generation (Rust example with nested subcommands)

https://github.com/abstractrenderblocks/arb
1•arbopa•36m ago•1 comments

Ask HN: Why Can't We Make Approved Building Plans Reusable?

2•silexia•39m ago•1 comments

Turn your favorite Substack into a printed "newspaper"

https://rawandferal.substack.com/p/substack-print
3•danielleegan•41m ago•1 comments

How the bubble bursts – This time isn't different

https://www.ft.com/content/7987310a-5c90-4976-b730-3559502006e2
5•zerosizedweasle•42m ago•1 comments

The red flags investors should look for in private lending

https://www.ft.com/content/d6b2a25f-7a0d-4f31-96d8-3a0e184af27e
1•zerosizedweasle•43m ago•0 comments

Show HN: Comet MCP – Give Claude Code a browser that can click

https://github.com/hanzili/comet-mcp
3•hanzili•45m ago•0 comments

Interview with Petro Tyschtschenko: Through the Eyes of a Legend

https://www.youtube.com/watch?v=YF4uup4bPjw
1•doener•46m ago•0 comments

Corroded: Illegal Rust

https://github.com/buyukakyuz/corroded
1•csmantle•48m ago•0 comments

Show HN: Shardium – open-source "Dead Man's Switch" for crypto inheritance

https://www.shardium.xyz/
1•maxcomperatore•55m ago•0 comments

Minikv: A little KV store implementation in OCaml to practice DB systems things

https://github.com/alpha-convert/minikv
1•eatonphil•55m ago•0 comments

CSV on the Web

https://csvw.org/
3•cxr•58m ago•0 comments

And This Was My Christmas and New Year Break

https://auteursoftware.substack.com/p/and-this-was-my-christmas-and-new
3•eyeplum•59m ago•0 comments

Product quality improvement and US manufacturing productivity

https://www.nber.org/digest/202512/product-quality-improvement-and-us-manufacturing-productivity
2•hhs•1h ago•0 comments

KDE onboarding is good now

https://rabbitictranslator.com/kde-onboarding/
3•todsacerdoti•1h ago•0 comments

Pickle 1 AR Glasses (YC W25) May Be Fraudulent

https://twitter.com/thedowd/status/2007337800430198913
24•tragiclos•1h ago•2 comments

Aristotle's Rhetoric, Strunkified

https://lukebechtel.com/blog/aristotle-rhetoric-strunkified
1•lukebechtel•1h ago•1 comments

'Data is control': a year investigating the Israeli military's ties to big tech

https://www.theguardian.com/world/2025/dec/30/israeli-military-big-tech
5•lehi•1h ago•0 comments

The Lizard Wireless Station: Pivotal wireless radio station marks 125 years

https://www.bbc.com/news/articles/cwylyyex0w6o
2•1659447091•1h ago•0 comments

Adding Support for ARM MTE Debugging to QEMU

https://www.linaro.org/blog/adding-support-for-mte-debugging-to-qemu/
2•westurner•1h ago•0 comments