<story><title>Post-Apocalyptic Programming</title><url>https://zserge.com/posts/post-apocalyptic-programming/</url></story><parent_chain></parent_chain><comment><author>wokwokwok</author><text>&amp;gt; what if you are the only survivor with some programming skills sitting in front of a computer you’ve never heard of, with some hex pad to enter machine codes, with maybe some pen and paper. What will you do?&lt;p&gt;Leave it on the ground and forage around until I find a computer that runs windows. It&amp;#x27;s not great, but, it&amp;#x27;ll do. Failing that, a phone and a solar charger.&lt;p&gt;Charming as it is to build yourself toys &amp;#x27;from scratch&amp;#x27; to play with, it&amp;#x27;s pretty unrealistic that you&amp;#x27;d end up ever needing those skills in a real &amp;#x27;end of the world&amp;#x27; or &amp;#x27;total supply chain disruption&amp;#x27; situation.&lt;p&gt;It&amp;#x27;s far, far more likely that you&amp;#x27;d use off the shelf software, and your skills would revolve around being a cell-phone&amp;#x2F;laptop&amp;#x2F;whatever repairman, repairing old screens, charging cables, and other mechanical bits and bobs on hardware that was never really intended to be used for more than ~5 years; and ripping up &amp;#x27;no longer working&amp;#x27; stuff for bits you can put into &amp;#x27;mostly working&amp;#x27; stuff, and maybe building analogue circuits or maintaining power grids and solar panels.&lt;p&gt;Electrical engineer, soldering wires types of skills, not writing interpreters and coding skills, is what you would need ...if, you were indeed, in the luxury of not spending all your time just looking for food and water.&lt;p&gt;Let&amp;#x27;s be real. No one is going to sit around implementing an interpreter for some obscure cpu you found.&lt;p&gt;That&amp;#x27;s a skill for idly bored rich modern folk and archeologists of the future.</text></comment>
<story><title>Post-Apocalyptic Programming</title><url>https://zserge.com/posts/post-apocalyptic-programming/</url></story><parent_chain></parent_chain><comment><author>kibwen</author><text>Even aside from the apocalypse, I was wondering recently how someone might &amp;quot;pass down&amp;quot; some piece of software, like say a video game, to their descendants. If you want to leave a written record for future generations then it&amp;#x27;s easy enough to print out a book on some acid-free paper and reasonably expect that it will last for up to a millennium. But for robustly archiving a piece of software it&amp;#x27;s not enough to print out the complete source code (including dependencies), you also need the complete source of the compiler (including dependencies), and the complete source of the operating system it runs on, and complete schematics for the hardware it runs on, and instructions on how to manufacture the hardware, and possibly more.&lt;p&gt;In the same way that we have standards for archival-grade books, it seems like we could benefit from some sort of standard archival-grade software stack designed for simplicity (and I mean real simplicity, I agree with the article that even C is too complicated and you want a Forth or something (or maybe a Scheme)). It&amp;#x27;s okay if the stack is as slow as molasses, as long as you have a functional reference implementation you can always produce a translation into whatever modern stack exists in your time period.</text></comment>