Back in the days when I worked as a "data engineer", we had two teams. One used a GUI to create pipelines, and the other built a custom Scala app to do the same, but with all the perks like config in git, CI/CD, tests, etc. At first, the GUI team was much more productive, but guess what?
After some time, their system started to become messy and hard to manage. Our team, on the other hand, had been able to deliver features steadily by just adding things to the config. This feature π looks like it combines both approaches. #spark #databricks https://youtu.be/GmWIvAyhkZU
At first, it was like "I want to write Haskell, but I'm forced to use JVM." Now it's like "I want to write Scala, but I'm forced to use Kotlin" π
Let's look at how a typeclass can be implemented in Kotlin with context parameters, and how you can achieve the same result in Scala. #kotlin #scala https://cdn.nostrcheck.me/f5c3f597f754f534d47b0be2b9afe263894ecdad3d639453c4abc31f40db2c23/86d6275fbda583d56ad815f19dcee2ed07d3a4da871b7b39ece51779bd19cbf6.webp https://cdn.nostrcheck.me/f5c3f597f754f534d47b0be2b9afe263894ecdad3d639453c4abc31f40db2c23/0fff0f2df08c1df938f99a3de83d027ad0267fc58beeebf128357bdbbcf57ae3.webp
Looks like Kotlin's implementation of implicits is becoming a reality. I think the community doesn't realize that this feature changes Kotlin forever, even though it's still experimental and bare bones. #kotlin https://carrion.dev/en/posts/context-parameters-kotlin/
Another new Scala 3-only library, this time for efficient work with multidimensional tensors. #scala https://github.com/Kright/ArrayView
I'm always looking forward to Evan's keynotes. Great insight into language adoption strategy. #lambdadays #functionalprogramming https://youtu.be/YPAaUFGrlEE
"Discovering Elm led to the state of mind: computer bliss." #elm #functionalprogramming https://youtu.be/-BncffLe10U
This kind of reminds me of Smithy, which is also able to specify types and methods in a pseudo-language and generate a working API. https://youtu.be/9htHwcLv3qY
While you all know the fold function, not everyone is aware of its powerful counterpart, unfold. #scala #haskell https://fpilluminated.org/allSlides/264 https://cdn.nostrcheck.me/f5c3f597f754f534d47b0be2b9afe263894ecdad3d639453c4abc31f40db2c23/7f00c5f0e92489a63c77b55b7ee7cf26420f06ff53809745b4cf392992158e82.webp
I'm almost ashamed to admit that I only discovered global sbt settings a month ago π #scala https://lukastymo.com/posts/021-sbt-settings-for-exp/
"The best way to approach concurrency is to master the fundamentals" #scala #concurrency https://lukastymo.com/posts/022-concurrency-basic-synchronization/
Trying my friend's new home gym. All you need is a barbell, a rack, and a bench πͺ https://cdn.nostrcheck.me/f5c3f597f754f534d47b0be2b9afe263894ecdad3d639453c4abc31f40db2c23/4c6b3e6724701ca108cba2b393ad1e59780b3bd1fc0cd05962d2e08fa69cf887.webp
If you're still struggling with the migration to Scala 3, there are two new articles worth reading:
π https://tanin.nanakorn.com/my-experience-migrating-a-playframework-app-to-scala-3/
π https://medium.com/@w.pitula/yet-another-scala-3-migration-story-6ecd47966be0
#scala
Which build system do you mean? Sbt? Bloop? Mill? ... ππ
This is what you should take from this year's WWDC, not that it's the macOS Vista π https://youtu.be/vUJTo7lMz2Q #apple #wwdc #docker
Hot take: Spark has one of the best APIs in the Scala space.
Disappointing, like Go itself. TL;DR: No changes to error handling are planned. #golang https://go.dev/blog/error-syntax
To be honest, I haven't tried the MCP support in Metals yet π΄ #scala https://softwaremill.com/a-beginners-guide-to-using-scala-metals-with-its-model-context-protocol-server/
Fantastic meetup yesterday! Shout out to the organizers and speakers for putting it all together. It was like looking into my CV: first job - Futures, next job - Actors, then monad transformers, and now tagless final. π https://cdn.nostrcheck.me/f5c3f597f754f534d47b0be2b9afe263894ecdad3d639453c4abc31f40db2c23/6b4c2682756968a801feddea2050bea1eb56001aa5d6e97896ed3efe0784a9b3.webp
If you're a fan of Tapir, you'll want to see how ZIO (natively) handles type-driven http endpoints, OpenAPI generation, codecs etc. #scala https://youtu.be/ea_CkgJ-tl4