Space Jam
A comparison of the 1996 and 2021 Space Jam websites, analyzing their file sizes and load times on period-appropriate connections.
A comparison of the 1996 and 2021 Space Jam websites, analyzing their file sizes and load times on period-appropriate connections.
A response to criticisms of PHP 8's breaking changes, arguing they are necessary for progress and offering advice for a smooth upgrade.
A web development article advocating for the return of spacer GIFs as a layout tool, with modern React component examples.
Explains the future of React class components, recommending function components with hooks for modern development while assuring legacy support.
A guide to implementing dependency injection using StructureMap in legacy ASP.NET MVC applications, covering controllers and non-DI components.
A developer's personal story about learning the critical importance of unit testing while refactoring a complex financial calculation library.
Discusses scenarios where migrating from Python 2 to Python 3 may not be necessary or feasible, focusing on business and technical constraints.
A software team shares their adapted Git workflow for managing a monolithic codebase with multiple independent development teams.
Final part of a series on refactoring a legacy Python library, focusing on safe code rehabilitation techniques and tooling.
Michael Feathers reflects on software's struggle with complexity and the need to learn from other fields' research to manage it better.
Part two of a series on resurrecting a legacy library, focusing on adding CI and end-to-end tests to stabilize the codebase.
A developer recounts the process of reviving a deprecated open-source Python library for parsing recipe ingredients, detailing the challenges of legacy code.
A guide on how to approach and learn valuable lessons from legacy codebases, distinguishing between good and bad examples.
A guide to using dependency injection with static methods and classes in Swift to improve testability of legacy code.
A reflection on the JavaScript ecosystem's tool proliferation, the pitfalls of constantly chasing new frameworks, and the importance of stable, foundational choices.
Author transitions from a software engineering role at Disy to becoming a Java channel editor at SitePoint, reflecting on lessons learned.
A guide for developers on how to approach and manage an inherited legacy codebase, focusing on mindset, planning, and practical steps.
A guest post contribution on reading other developers' code to learn different problem-solving approaches and evolving best practices.
A developer shares a personal project from 2001-2003: Goal4D, a now-obsolete Java 3D engine, and considers open-sourcing it.
A developer's critique of Kent Beck's TDD book, highlighting its shortcomings in addressing legacy code and retroactive testing.