RSSAmplifier

Blog

The Cranky Developer on Crater Moon Development

Recent content in The Cranky Developer on Crater Moon Development

cmdev.comRSS feed ↗27 posts

Latest posts

Leaving Amazon

Steps for leaving Amazon S3 for S3-compatible Backblaze B2

Go Defer Tricks

Effective use of the defer statement in the Go programming language.

Writing as a Programmer

For programmers, writing is an essential skill to build shared understanding.

Deep Into Technical Debt

Technical debt is anything done today knowing it will make code harder to change later

Fred Brooks

Frederick P.Brooks Jr., April 19, 1931 – November 17, 2022

Functions on the Heap

The history of object-oriented programming started with a simple buf very technical and low-level idea.

XPiphany

I thought XP was chaos. Turns out, I was both right and wrong

Unit Testing Randomness

Testing a (pseudo)random number generator

Elegy for a Profession

A song of the discarded

Is Coding Style Important?

Have a style, any style

Why Refactoring Isn't Popular

Refactoring is cleaning the kitchen while you cook.

Test-Defective

If you have automated tests, believe them or discard them.

On Check Constraints and Whole Value

A business object with setters for attributes that are interdependent, will need check constraints on the setters. But there is a better way, using the Whole Value pattern.

Documentation has a Cost and a Value

The cost of documentation is proportional to change frequency and distance from the code

Build vs. Buy, Part 5

Buy for parity, build for advantage

Build vs. Buy, Part 4

Customization and programmability of commerical and bespoke software

Build Vs. Buy, Part 3

Polist and quality comparisons in vendor vs in-house software

Build Vs. Buy, Part 2.

Upgrades and feature creep in commercial software

Build vs. Buy -- Responding to All-or-Nothing Approaches

Technology, cost, and quality in deciding build vs buy

Continuous Integration, Misapplied

Putting together an continuous-integration-style automated build and deploy halfway through the project is exponentially more effort than starting off with one. At some point in the project, it may even be that the effort outweighs the gain.

Unit Tests Manage Complexity

Unit testing is more than a design tool, not just a practice that enhances quality, it is a tool for managing complexity.

Coding Pet Peeves

Eight little things I like to nitpick about in code. Mostly applicable to Java, but some are language-neutral.

Defect Reporting

Guidelines for defect reporting

Reporting Is A Code Smell

Six reasons reporting is a code smell

Firefox Burning

Building Firefox to learn how large software is developed and shipped.

Cem Kaner at PNSQC 2003

My notes and impressions from a talk Cem Kaner gave at the 2003 Pacific Northwest Software Quality Conference in Portland, Oregon. The title of his talk was “How Many Lightbulbs Does It Take To Change A Tester?”

Code Janitor

Programming is 80% maintenance