Scala collections in practice
How to choose and transform immutable Scala collections, avoid accidental work, and recognise the performance and semantic differences between List, Vector, Set, Map, View and Iterator.
Read articleInsights
Technical articles on languages, databases, serverless platforms and the awkward realities of keeping systems moving.
Showing 10–18 of 49 articles
How to choose and transform immutable Scala collections, avoid accidental work, and recognise the performance and semantic differences between List, Vector, Set, Map, View and Iterator.
Read articleHow recursive Scala functions use the call stack, how @tailrec makes constant-stack loops possible, and when folds or explicit work queues are the clearer design.
Read articleA type-led guide to transforming and sequencing Option, Either, collections, Future and IO, including for-comprehension translation and common nesting mistakes.
Read articleHow implicit parameters, implicit scope and context bounds work in Scala 2.13, how Scala 3 expresses the same ideas, and where invisible dependencies become a maintenance problem.
Read articleHow category-theoretic ideas influence map, flatMap, typeclasses and effect libraries—and how to use that vocabulary without turning application code into an abstraction exercise.
Read articleA practical account of tagless-final programs, effect capabilities, interpreters and testability—including when a concrete IO or Future service is the better design.
Read articleWhy interaction-heavy unit tests become coupled to implementation, how to recognise the damage, and how state, stubs, fakes, contract tests and integration tests restore useful confidence.
Read articleHow unit and integration tests provide different evidence, where mocks and real adapters belong, and how to build a suite that stays fast without testing away production risk.
Read articleA practical approach to selecting valuable browser journeys, writing stable Selenium tests, controlling data and authentication, and turning failures into useful delivery evidence.
Read articleStart a conversation
A feature that needs shipping, an ageing service that needs attention, or a deployment that has become harder than the code. Talk to us about your problems.