My Profile Photo

kubuszok.com


Personally, just a developer without X in front of it.

I enjoy learning new things, especially more abstract like mathematics or algorithmics.

Currently working with Scala, since to me functional programming feels more mathematical, aesthetic and pure. I've also got experience with commercial programming in imperative languages like Java and C++, as well several small projects in other languages under my belt.


  1. Reflections on using Typelevel Scala

    At some point, Typelevel decided to fork Scala in order to test feature that it’s members found useful and get feedback on these features without the need for waiting for next official Scala release. Latest such version was Typelevel Scala 4 based on Lightbend Scala 2.12.4, which I decided to use at some point. Now, that everyone is migrating on 2.12.6 I can tell: what TL Scala give me for all that time? …


  2. sbt tips and tricks

    In previous posts (#1, #2) I described a bit of theory about using sbt. However, besides long, heavy topics there are also some smaller pieces of knowledge, that you can find useful. Most of them should be obvious for people, who use sbt a little bit longer, but I decided to gather these tips here nonetheless. …


  3. Speed up things in scalac and sbt

    Scala is not the fastest language to compile. sbt adds its own overhead. So in a life of most (every?) business applications written in Scala, CI build is so long, that after git push you can go watch next episode of a TV show. Local changes take ages, even with Zinc. And you don’t want to rewrite half the stuff not has the budget for considering things like Triplequote Hydra. What then? …


  4. Relearn your sbt

    When I started to learn sbt, I noticed, that there is a huge gap between how I’m told to write builds for simple projects and how I have to write them when I maintain complex multi-module monstrosity. After a while I came to conclusion, that very often the way we are writing build.sbt is but a cargo cult programming. …


  5. Cake antipattern

    A long time ago in the land of Scala emerged new type-safe way of dependency injection. In a long run, it brings more trouble than it is worth. …


  6. Scala FUD FAQ for newbies

    When I browse Reddit, read Hacker News comments or google for Scala-related topics I sometimes find some misconceptions. These are not about: what is monad or how to start using Cats, as people asking this kind of questions already have some basic knowledge about what they want to learn. …


  7. Adventures with custom Predef

    I first heard about custom Predef from Paweł Szulc. I don’t remember exact circumstances, but I think it was soon after he started working at Slam Data on Quasar. Apparently, in all of their projects, they decided to use own Predef instead of Scala’s build in. But what does that mean? Why one would consider it, and what would be the consequences? …


  8. Tagged or AnyVal?

    When we want to better describe our domain, at some point we might want to start using types for describing what each value means. String, Int or Double tell us everything about what could we do with a value, but does it really explain context? …


  9. Ammonite + Uberjar = Domain Shell

    I had an issue, when on my test server I had to modify some values. I could log in directly into database, but I didn’t want to. I could use REST API, but not all services are mapped to endpoints (and for a good reason!). Nonetheless, sometimes I needed to call them. …