A Splendid Scala Journey
My heartfelt thoughts, reflections, and notes on my 15 year Scala journey, and on what's next for me
My heartfelt thoughts, reflections, and notes on my 15 year Scala journey, and on what's next for me
Scala needs a new build tool to replace the aging SBT, but that new build tool needs to learn from mistakes of the past, rather than repeat them
Scala's market may not grow any larger unless we take action to address the challenges the language faces
With logging and metrics already baked in, configuration was inevitable
After almost 2 years in development, ZIO 2 is ready to change the world of functional programming
Travis Brown may have left Scala, but his pattern of online abuse won't stop until enough people stand up to him
It is possible to improve the Scala community not by pointing fingers, but by being the change we want to see in the community
The ZIO organization needs to use its strong position in the Scala community to bind together all Scala developers for a common good
Functional design is a framework for using functional programming to solve every day problems, without jargon or fancy techniques
After 3 years and more than 300 contributors, my pet project has finally grown up
Effect tracking is not a non-goal for commercial software development; the real reasons to use functional effect systems lie elsewhere
A brief history that explains the purpose of ZIO and how it relates to similar libraries in the Scala ecosystem
The COVID-19 pandemic is rapidly changing the world, and these changes will impact developers everywhere
Functional programming has a bit of jargon, but that doesn't have to stop you from understanding core concepts
Using tagless-final to manage effects has seen some buy-in in the Scala community, but the benefits are questionable and the drawbacks significant
After more than two years of evangelizing Scalaz, I'm stepping back, and here's why.
Type classes offer powerful capabilities, but knowing when to use them and when to avoid them is not simple.
ZIO is a compelling effect type for working with the great Cats Effect ecosystem.
A fun little challenge to improve your skills using FP for concurrency.
Environmental effects let you easily, quickly, and incrementally build tesable services.
Tagless-final has given us testable functional effects, but at great cost. Now ZIO provides an easier way.
Thread pool management used to be hard; with ZIO, it's now free.
Vertical composition of effects, like monad transformers, don't perform very well. Rotate effects for higher performance.
ZIO's new bifunctor design works beautifully with tagless-final style, with or without modifications.
A post that examines whether or not object-oriented programming is better suited to data modeling than functional programming.
Modeling effects in Scala with pure FP provides compelling advantages over FP-OOP alternatives.
Too long has sloppy, imprecise error handling been the norm in effect systems. Time for precision—time for bifunctor IO!
Scalaz 8 eschews monad transformers, which have proven themselves to be impractical in Scala.
Successful blockchain applications won't be built on top of blockchain platforms.
See how the release candidate for FCOP 1.0 compares to other common codes of conduct.
Prepare to unlearn everything you have learned to discover what blockchain is really about.
Effect monads are proliferating in Scala, but unlike many other data structures, more effect monads are not necessarily a good thing.
Scalaz 8 builds on a long-tradition of pushing the boundaries of pure functional programming in Scala.
Writing code that expects concrete data structures inhibits code reuse.
In an instant, @baljis deleted all of his tweets and left Twitter, which has left everyone wondering why.
An educational experiment that strips away jargon and develops some functional machinery from first-principles
Polymorphic code is more likely to be correct than monomorphic code
Introducing FCOP, a code of conduct for professional communities
The onion architecture may be the future of large-scale FP
The Twitter product is defective, broken beyond all hope of repair
Replace conditionals with lambdas for simpler code that's more powerful
There is a place in this world for a conference inclusive of all peaceful diversity
We want professional ethics and a great FP conference
Maybe the best answer is different conferences for different communities
How far is too far when it comes to including people with different beliefs?
Thoughts on living together in a world filled with diversity.
Death to IO monads: FP has better tools that point the way towards the future.
Lots of engineers have gone from coding to business-building, but it's not an easy transition.
Too much love in the world? Follow these five easy tricks to inflaming emotions and making enemies.
Telling the truth, even if it's unpleasant, can sometimes be the nicest thing you can do for someone.
Personal and business lessons learned from my experiences funding, growing, and selling Precog.
Why newtyping that next data type may not buy you as much as you think it does.
Ideas on how to fix some of what's wrong with type classes.
While popular among some entrepreneurs and sci-fi writers, the machines ain't ever gonna rise.
NoSQL is exploding in popularity, with serious ramifications for the entire database industry.
Functional programming is a means to an end, not an end in itself.
No content here, please ignore.