Re:AI is forcing us to pay off 40 years of technical debt
by ihavesomeexampl on Wednesday November 04, 2026 @09:04AM
(#50365677)
But.. alter data that gets executed (interpeter?), I mean, how does this work even in theory? All data is potentially code?
[ Parent
| on HN ]
Re:AI is forcing us to pay off 40 years of technical debt
by intrasight on Wednesday November 04, 2026 @09:32AM
(#50366051)
All data is potentially code only in a Von Neumann architecture, but not in a Harvard architecture, where there's a separation of data and code with different memory access to each.
Re:AI is forcing us to pay off 40 years of technical debt
by esterna on Wednesday November 04, 2026 @09:43AM
(#50366219)
[delayed]
Re:AI is forcing us to pay off 40 years of technical debt
by lelanthran on Wednesday November 04, 2026 @02:56PM
(#50370670)
> All data is potentially code only in a Von Neumann architecture, but not in a Harvard architecture, where there's a separation of data and code with different memory access to each.
Says you. I wrote a program for a Hardvard architecture chip (PIC) that read bytecode from the data memory and executed it. Updates were made by replacing the data block with a new data block.
In practice, there is no way to separate data and instructions. After all, JS downloaded inside a webpage is literally data, and it gets executed.
Re:AI is forcing us to pay off 40 years of technical debt
by AdamH12113 on Wednesday November 04, 2026 @03:42PM
(#50371218)
To clarify what intrasight is talking about: A Harvard architecture CPU has two physically separate memory busses for code and data. This makes it possible to build a computer with a program memory that cannot be altered through the data bus. In practice, this isn't normally done -- even on Harvard architecture microcontrollers, the flash and RAM are connected to both busses because memory is expensive. And having inalterable program memory doesn't save you from stack-smashing attacks that alter a return address.