A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 3.0KB

4 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. title: Why?
  2. url: https://4042302.org/why/
  3. hash_url: 64f6381f9270b8b6c8eb1208336e052b
  4. <p><a href="https://1997.4042302.org">My first web site</a> was hosted on <a href="https://en.wikipedia.org/wiki/Yahoo!_GeoCities">Geocities</a>.</p>
  5. <p>Then <a href="https://web.archive.org/web/20040811232124/http://aral.tripod.com:80/">Tripod</a>.</p>
  6. <p>Then it was a full Flash site that I coded from scratch.</p>
  7. <p>Then it used <a href="https://web.archive.org/web/20020118200519/http://cafelog.com:80/">b2</a>.</p>
  8. <p>Then it used <a href="https://www.wordpress.org">Wordpress</a>.</p>
  9. <p>Now it’s <a href="https://source.ind.ie/aral/blog">my own hand-rolled static site generator in Node.js</a>.</p>
  10. <p>Soon, it’ll be my own <a href="https://source.ind.ie/indienet">Indienet</a> site.</p>
  11. <p>The Geocities site lives on only thanks to the <a href="http://archive.org">Internet Achieve</a> (thanks <a href="http://brewster.kahle.org">Brewster</a>) as does the Tripod page. I’m glad they’re still there (so embarrassing, but we all had to start somewhere!) But the original URLs today are broken. I couldn’t do anything about that because, just like my Facebook or Twitter profile today, they were never mine. I was just renting them from those companies and, when they went away, they took that part of the Web with them. My own site (and <a href="https://mastodon.ar.al">my Mastodon</a>), on the other hand, are mine and, among other things, I get to decide if they live or die.</p>
  12. <p>Once I had my own domain, I was able to be more thoughtful.</p>
  13. <p>I didn’t want to break the Web when I went from b2 to Wordpress. But that took some work. I had to write <a href="https://ar.al/588/">a b2 to Wordpress migration script</a>.</p>
  14. <p>Then, when I went from Wordpress to my own hand-rolled static site generator, I had to again write code to process <a href="https://ar.al/archive/">my legacy content</a> and make sure I maintained the URLs. That took some work also. It wasn’t trivial.</p>
  15. <p>(And, when I changed my domain from <a href="https://aralbalkan.com">aralbalkan.com</a> to <a href="https://ar.al">ar.al</a>, I had to keep a web server running at aralbalkan.com to forward the HTTPS calls to the new domain.)</p>
  16. <p>Soon, my personal site will change completely as it becomes a federated personal site. So it’s going to go from a static web site to a Node.js application. I don’t want to break the Web but I also don’t want to burden the new system I’m building with a means to handle legacy static content. And yet, this is also an important use case that I cannot ignore.</p>
  17. <p>So what’s a developer to do?</p>
  18. <p>Here’s the simplest solution I could come up with:</p>
  19. <ol>
  20. <li><p>Serve the current site from a subdomain (e.g., <code>2017.ar.al</code>)</p></li>
  21. <li><p>Make my 404s into 302s that point to the previous version of the site.</p></li>
  22. <li><p>If I change the site again in the future, rinse and repeat.</p></li>
  23. </ol>
  24. <p>I call the technique <strong>404 to 302</strong>.</p>