Open in app

Sign In

Write

Sign In

Adam Warski
Adam Warski

2.3K Followers

Home

About

Published in

SoftwareMill Tech Blog

·Mar 6

Cancelling HTTP requests on the JVM

HTTP is one of the primary ways of exposing applications to the outside world and communicating microservices within a system. Almost every backend service, at some point, performs an HTTP request. However, in certain situations, we are no longer interested in the results of an HTTP call. This might be…

Http

8 min read

Cancelling HTTP requests on the JVM
Cancelling HTTP requests on the JVM
Http

8 min read


Published in

SoftwareMill Tech Blog

·Feb 3

Prototype Loom-based concurrency API for Scala | SoftwareMill

Java 19 brought a preview of virtual threads and an API for structural concurrency. Java 20 extends this with ScopedValues, a much-improved version of ThreadLocal s. When writing concurrent code in Java, the first option is to work directly with threads (virtual or not). However, this is usually not the…

Scala

9 min read

Prototype Loom-based concurrency API for Scala | SoftwareMill
Prototype Loom-based concurrency API for Scala | SoftwareMill
Scala

9 min read


Published in

SoftwareMill Tech Blog

·Jan 5

Trying out Unison, part 4: from the edge to the cloud

In the previous installments of the “Trying out Unison” series, we’ve first explored its core feature, content-addressed code, thanks to which a function’s identity is determined by what it does, not by its name (names are just labels). Then, we’ve examined how this impacts how you might organize your code…

Cloud

9 min read

Trying out Unison, part 4: from the edge to the cloud
Trying out Unison, part 4: from the edge to the cloud
Cloud

9 min read


Published in

SoftwareMill Tech Blog

·Nov 21, 2022

The architecture of Mastodon

While uncertainty surrounds Twitter, people are looking into alternative microblogging platforms. One such application is gaining a lot of popularity, Mastodon. The concept is similar to Twitter: we can post toots (short messages), which are visible to our followers; we can boost (retweet) posts or favorite (like) them. However, there…

Mastodon

8 min read

The architecture of Mastodon
The architecture of Mastodon
Mastodon

8 min read


Published in

SoftwareMill Tech Blog

·Oct 27, 2022

Protecting state using virtual threads

Java 19 contains a preview of the core component of Project Loom: virtual threads. We can now create threads at will, as we’re no longer (or at least, much less) constrained by their costs in terms of memory and context switch time. Where there are threads, there’s concurrency. So what…

Java

9 min read

Protecting state using virtual threads
Protecting state using virtual threads
Java

9 min read


Published in

SoftwareMill Tech Blog

·Oct 19, 2022

Trying out Unison, part 3: effects through abilities | SoftwareMill

In the previous articles on Unison, we’ve introduced Unison’s “big idea”: content-addressed code and explored how this impacts code organisation and dependency management. But that’s not everything that Unison has to offer. Its effect system is equally interesting and worth exploring in detail. Effect systems aim to add some structure…

Functional Programming

9 min read

Trying out Unison, part 3: effects through abilities
Trying out Unison, part 3: effects through abilities
Functional Programming

9 min read


Published in

SoftwareMill Tech Blog

·Oct 6, 2022

Trying out Unison, part 2: organising code

Dependency hell, package managers, publishing, supply chain attacks-these are just a few of the problems that might be solved by Unison! Let’s see how. In the first part of the series surrounding Unison, we’ve covered the “big idea” behind it: content-address code. …

Functional Programming

8 min read

Trying out Unison, part 2: organising code
Trying out Unison, part 2: organising code
Functional Programming

8 min read


Published in

SoftwareMill Tech Blog

·Sep 30, 2022

A tapir looms in the distance | SoftwareMill

The moment Java and JVM developers have long been waiting for came last week: Java 19 has been released. Among other changes (also significant!), the release includes a preview of VirtualThreads, which are part of project Loom. We’ve been discussing Loom on this blog a couple ⧉ of ⧉ times…

Scala

3 min read

A tapir looms in the distance
A tapir looms in the distance
Scala

3 min read


Published in

SoftwareMill Tech Blog

·Sep 21, 2022

Migrating from Akka HTTP to tapir

In the light of the recent announcement by Lightbend that the entire Akka stack is going to be relicensed from an open-source licence to a source-available one, I’m sure many development teams are assessing their options and considering next steps. Akka was used in a number of situations, ranging from…

Scala

8 min read

Migrating from Akka HTTP to tapir
Migrating from Akka HTTP to tapir
Scala

8 min read


Published in

SoftwareMill Tech Blog

·Sep 5, 2022

Trying out Unison, part 1: code as hashes

Unison is an upcoming language & distributed runtime. It’s functional, statically typed, and introduces some really interesting ideas, which make Unison different from “mainstream” languages. If you’re into Scala, you might have heard of Paul Chiusano and Rúnar Bjarnason, the co-founders of Unison Computing (a public benefit organisation). …

Functional Programming

6 min read

Trying out Unison, part 1: code as hashes
Trying out Unison, part 1: code as hashes
Functional Programming

6 min read

Adam Warski

Adam Warski

2.3K Followers

Software engineer, Functional Programming and Scala enthusiast, SoftwareMill co-founder

Following
  • Michał Matłoka

    Michał Matłoka

  • Maciej Adamiak

    Maciej Adamiak

  • Mikołaj Koziarkiewicz

    Mikołaj Koziarkiewicz

  • Krzysztof Ciesielski

    Krzysztof Ciesielski

  • Michał Chmielarz

    Michał Chmielarz

See all (43)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech