Rewriting the web


The concept of "rewriting the web" is broad, often encompassing discussions on changing major aspects of software, particularly in terms of security, development, and architecture. Here are some insights from trusted experts in podcasts:

  1. Security and Development:

    • speaks about rewriting software originally built with C and C++ using Rust to eliminate security vulnerabilities. He emphasizes that while such a rewrite could introduce temporary bugs, the long-term benefits in securing software are substantial. He encourages ambitious projects to rewrite crucial web servers and other major components for a more secure digital future 1.
  2. Challenges with Rewrites:

    • and discuss the technical challenges associated with rewrites, acknowledging the wisdom in Joel Spolsky’s argument against ground-up rewrites due to the risk of losing encoded knowledge in the original code base. They describe their own project of rewriting Exercism to improve clarity and intention, despite facing significant delays due to personal challenges 2.
  3. Python Rewrite for Data Engineers:

    • A notable example is discussed by and , where a project was rewritten in Python so it could be better maintained and extended by the data engineers familiar with that language, highlighting a practical business decision to support employee effectiveness and satisfaction 3.

      Rewriting the World

      Josh discusses the importance of rewriting software in Rust to eliminate vulnerabilities and create a more secure world. He encourages ambitious thinking and highlights the need for teams to take on the mission of rewriting major web servers and libraries. Adam acknowledges Josh's accomplishments and emphasizes the significance of secure software in the future.

      The Changelog

      Securing the web with Let's Encrypt
  4. Rewriting in the Age of AI:

    • The role of AI in rewriting is explored. It's suggested that AI could help transition code to new languages if there's a strong business case, potentially replacing manual rewrites. This reflects a shift where rewrites could become more about strategic needs rather than basic code quality improvements, with AI playing a major role in easing this transition 4.

These discussions reveal that rewriting the web, while daunting, can significantly enhance security, efficiency, and modernization of systems, though it needs to be approached with careful planning and clear objectives.