ncreep.hashnode.devMoving Away from HashnodeThis blog has moved away from the Hashnode platform. Going forwards new posts will published on: https://blog.daniel-beskin.com If you subscribed to the RSS feed it should work with the same URL as before. If you subscribed via email you should be au...Aug 8, 2025·1 min read
ncreep.hashnode.devFirst Make It CorrectWay back in December, in the spirit of the times (it seems that everyone was either solving Advent of Code or looking for a job), like an elephant in a china shop, I found myself solving a leetcode-style problem. Before I say anything else1, I would ...Jun 10, 2025·70 min read
ncreep.hashnode.devRandom Scala Tip #624: The Pitfalls of Option BlindnessGiven this class: case class User( id: UserId, email: Option[Email], address: Option[Address], posts: Option[List[Post]], lastLogin: Option[Timestamp]) What does Option on each of the fields actually means? Well, after spending hours diggi...Apr 30, 2025·6 min read
ncreep.hashnode.devWhiteboxish Macro Powers with Named TuplesI've recently stumbled upon a post on Scala Contributors by Kit Langton describing how he managed to create the illusion of adding automatically derived (publicly visible) members to a companion of a class. Something that's no longer possible to achi...Apr 14, 2025·10 min read
ncreep.hashnode.devRandom Scala Tip #568: Beware of Leaking IteratorsThe Tip The Scala collections library defines an Iterator trait. As you might expect, a typical Iterator's implementation relies on mutable state. And so for the today's tip: Beware of leaking Iterator instances outside the scope you initialized it ...Jan 15, 2025·5 min read