Two cheers for ugly code
Argues that ugly, legacy code can hold valuable domain knowledge and be more practical to refactor than to rewrite from scratch.
Argues that ugly, legacy code can hold valuable domain knowledge and be more practical to refactor than to rewrite from scratch.
Discusses the unsustainable expectation of long-term support for open source software and the necessity of regular updates.
A developer's 2025 retrospective covering career moves, open-source project stewardship (HTML Minifier), and the impact of AI on engineering productivity.
A developer discusses the dangers of assuming code won't change or be misunderstood, advocating for defensive programming practices.
A developer's six-week retrospective on using Claude Code for software engineering tasks, highlighting transformative productivity gains and new workflows.
A developer's critique of unnecessary breaking changes in software dependencies and their impact on project maintenance and developer experience.
A developer draws parallels between physical clutter and technical debt, advocating for regular 'code cleaning' sessions to improve team happiness and productivity.
A developer recounts the decision to revert a major refactoring of the EqualsVerifier library after encountering persistent edge cases and bugs.
A developer's critique of Dependabot's flaws under GitHub, including silent failures and slow updates, leading them to stop using it.
Compares Rust and Python using a 'build vs. wash' analogy, arguing Rust's upfront effort yields long-term maintenance and performance benefits.
A podcast discussing why all code becomes legacy and how to write modular, maintainable code to reduce future technical debt.
Discusses the challenges of keeping software dependencies updated and compares manual vs. automated strategies for managing updates effectively.
A practical guide for developers on how to approach, understand, and incrementally improve a newly inherited legacy C++ codebase.
A developer compares coding in volunteer, agency, and product roles, using gardening as a metaphor for managing legacy code and continuous improvement.
An article comparing software engineering to gardening, emphasizing ongoing maintenance, adaptation, and thoughtful care over rigid planning.
Explores key characteristics of well-maintained software, focusing on code understandability, clear steps, and comprehensive testing for easier changes.
An open source maintainer outlines their 2023 goals, focusing on TypeScript static analysis, community engagement, and performance improvements for typescript-eslint.
Explains why open source maintainers require minimal reproductions for bug reports and how to create them effectively.
Explains the critical role of good documentation in software development, highlighting its benefits for maintenance, onboarding, and knowledge transfer.
Argues that software projects can and should aim for completion, focusing on stability over constant new features, using examples like Sway and scdoc.