Should tests be Pure?

I noticed Scala has several testing libraries that tout functionally pure tests. Is purity desirable for developer tests?

April 27, 2023 · 5 min

Late-bound inheritance vs Function Composition

I heard Go had late-bound inheritance and was excited to see how that would effect my coding. Instead I found that I already achieve the same kind of value in F#, just in a different way.

April 20, 2023 · 4 min

Concise Notation Matters

Of all things, a sci-fi novel recently got me thinking about the importance of notation and how it influences our thinking. In short, syntax length impacts the kinds and sophistication of ideas.

April 16, 2023 · 6 min

Design-by-Contract vs Type-driven Constraints

Validating that data fits certain constraints is a prevelant programming task and how we approach it effects the system’s safety and reliability. Many approaches have been devised, and I recently realized the key difference between two major approaches: Design-by-Contract and Type-Driven Development.

April 7, 2023 · 4 min

Architecture - Facilitated over Separated

I was asked what percentage of time I spend on system design (or architecture) over coding. The question didn’t make sense to me, and I think I’ve articulated why. I see architecture as a facilitated aspect of implementation rather than a separable process.

March 30, 2023 · 4 min

Clear Observability Terms

I never realized how sloppy my use of observability terminology was until I read the OpenTelemetry documentation.

March 24, 2023 · 1 min

Smooth iteration over improved prediction

I’ve been thinking about the estimation books sitting on my shelf. Why haven’t I read them? For some reason they don’t seem as critical as other reads. Estimation may be taking a back seat to improved iterative process.

March 16, 2023 · 4 min

Revisiting iDesign and Clean Architecture Merge

I generated a visual while trying to reconcile the iDesign and Clean Architecture architectural patterns. The visual helped cement some important ideas, but I never published it. Here I’ll revisit the visual and review how my ideas have changed.

March 10, 2023 · 6 min

Open-Closed Principle by Example: Conclusion

This series clarifies the Open-Closed Principle with examples. This post recaps what we’ve learned

March 2, 2023 · 2 min

Open-Closed Principle by Example: Anti-Examples

This series clarifies the Open-Closed Principle with examples. This post describes some approaches that may look like the OCP, but don’t deliver the expected value.

March 2, 2023 · 3 min