InSoftwareMill Tech BlogbyAdam Warski·Aug 16, 2023Principles of developing applications in ScalaHere are some principles to consider when developing code with functional programming and Scala.
InSoftwareMill Tech BlogbyAdam Warski·Jul 21, 2023Go-like channels in Scala: receive, send, and default clausesThe next step in the evolution of ox, a programmer-focused concurrency library for JVM based on Project Loom.
InSoftwareMill Tech BlogbyAdam Warski·Jul 10, 2023What is blocking in Loom?Let’s investigate the special handling of blocking operations and identify potential corner cases when programming using Loom.A response icon5A response icon5
InSoftwareMill Tech BlogbyAdam Warski·Jun 22, 2023Two types of futuresAre the concepts and mechanics behind futures/promises always the same, or are there some differences?
InSoftwareMill Tech BlogbyAdam Warski·Mar 6, 2023Cancelling HTTP requests on the JVMThe article discusses the issues with abandoned HTTP calls and offers an overview of how JVM HTTP clients enable their cancellation.
InSoftwareMill Tech BlogbyAdam Warski·Feb 3, 2023Prototype Loom-based concurrency API for Scala | SoftwareMillGiven Scala’s advanced type system, how can we improve the developer experience when using project Loom and structured concurrency?
InSoftwareMill Tech BlogbyAdam Warski·Jan 5, 2023Trying out Unison, part 4: from the edge to the cloudAn overview of Unison’s support for distributed and, more generally, networked computing.
InSoftwareMill Tech BlogbyAdam Warski·Nov 21, 2022The architecture of MastodonWhile uncertainty surrounds Twitter, people are looking into alternative microblogging platforms. Here’s Mastodon from an IT perspective.
InSoftwareMill Tech BlogbyAdam Warski·Oct 27, 2022Protecting state using virtual threadsVirtual threads or not, we still need a way to synchronize access to memory.
InSoftwareMill Tech BlogbyAdam Warski·Oct 19, 2022Trying out Unison, part 3: effects through abilitiesUnison’s effect system is equally interesting as content-addressed code and namespaces.