Alessandro Lacava

3.4K posts

Alessandro Lacava banner
Alessandro Lacava

Alessandro Lacava

@lambdista

In love with FP and type systems. Scala developer. Coauthor of Professional Scala - Wrox

Italy Katılım Ocak 2013
75 Takip Edilen478 Takipçiler
Sabitlenmiş Tweet
Alessandro Lacava
Alessandro Lacava@lambdista·
Let's be honest, learning statically-typed functional programming is harder than the imperative one BUT reasoning about pure functional programs is much easier. I myself prefer to spend more time learning than debugging programs.
English
7
62
168
0
Alessandro Lacava
Alessandro Lacava@lambdista·
@gabro27 Comparing how frequently I change the configuration to how frequently I rebuild the application and deploy, anyway, it’s not a big deal in my opinion. Of course, as usual, YMMV.
English
1
0
0
67
Alessandro Lacava
Alessandro Lacava@lambdista·
Config files should be the exception, not the rule. Configuration is code.
English
1
0
0
98
Alessandro Lacava
Alessandro Lacava@lambdista·
TFW your integration test catches a bug, introduced in an external service, that could have been caught with a simple unit test on their side.
English
0
0
0
58
Alessandro Lacava
Alessandro Lacava@lambdista·
@gabro27 Yeah, probably there are three hard problems in computer science: cache invalidation, naming things and designing a decent Date API.
English
1
0
1
81
Alessandro Lacava
Alessandro Lacava@lambdista·
Now, seriously, why should anyone decide to design it like that? JavaScript is so f*cked up folks! year -> the actual year day -> the actual day month -> the actual...nope! it's 0-based. #syntax" target="_blank" rel="nofollow noopener">developer.mozilla.org/en-US/docs/Web…
English
2
0
1
302
Alessandro Lacava
Alessandro Lacava@lambdista·
@propensive As a firm believer in the presumption of innocence I’m very happy I never signed that letter. Welcome back Jon!
English
0
0
3
314
Jon Pretty
Jon Pretty@propensive·
A Statement I am a Scala developer and speaker who was cancelled three years ago. Yesterday I attended the High Court in London to hear an apology from several prominent members of the Scala community for making untrue claims about me on 27 April 2021. I sued them for libel, and they admitted fault and settled, paying me costs and damages. Their allegations were sensational and squalid, but unfounded. Their source was the resentment of one woman following a relationship in 2018, which I ended against her wishes. She fabricated or was offered an alternative narrative, which developed into claims of a pattern of behaviour, and culminated in the defendants’ publication of an open letter, which they now agree is defamatory. In two years of legal action, the defendants never presented any evidence to support their allegations, and admitted in court that they had no proper reason to make them. They have given undertakings to the court not to publish further or similar defamatory statements, or have anyone else do so on their behalf. No signatory contacted me about the allegations before publication. I received no warning, and had no knowledge of the claims’ substance. I only discovered what I was accused of at the same time as I learned of my indefinite exclusion from the community; at the same time everyone else found out. I had no opportunity to defend myself. It is no coincidence that the absence of due process led to an abject injustice. The experience of cancellation and enduring the online hysteria was traumatic. I responded by withdrawing from the life I knew. Its consequences hurt me and people close to me, and have been immiserating. My employment opportunities were obliterated. My charitable and educational projects, and my small business, could not continue. Despite my transferable skills, the allegations were a transferrable red flag recognised across programming communities and industries, and I have barely earned a living since. It has taken two years of legal action to receive fair scrutiny in a forum reliant on facts. This outcome finally vindicates me. Many familiar with the open letter will be surprised by this outcome, given the certainty expressed by some of the letter’s supporters. But they should question why no defence of my libel claim was ever offered. They should seek answers for how so many people became so convinced without evidence. And the defendants’ co-signatories should reassess the credibility of everything that compelled them to support the open letter. Nonetheless, I believe the open letter’s authors were convinced it was the right thing to do. I believe that they wished to show their kindness in response to a story which shocked them. Many of them I have known for years, and know to be good, moral people who were mistaken, and would not wish to be mistaken. Good people can make mistakes, without becoming bad people. So, I offer them the respect and compassion I believe they deserve. I recognise their good intent, and I interpret its consequences charitably. We owe each other civility in ceding the time and space necessary to reflect upon this in open enquiry, without coercion or urgency, so everyone can reach a better understanding of this outcome, and of one another. I have avoided naming any third parties here, and I urge others to do the same. I know too well how it feels to be the subject of online harassment, and I do not wish it upon anyone. I reject the culture of blame and escalation. I have not been idle since 2021. I’ve spent much of my time writing Scala 3, which I believe is an exceptional platform for software development, and deserves far greater success. I am motivated to be part of that success, and I will start sharing my work again soon. pretty.direct/statement.html
English
105
251
2K
756.1K
Alessandro Lacava
Alessandro Lacava@lambdista·
A junior dev never applies DRY. A senior dev always applies it. A wise dev applies DRY only where it’s needed.
English
0
0
0
92
Alessandro Lacava
Alessandro Lacava@lambdista·
Don't get me wrong, comments are important. Nevertheless, never stop wondering if what you're writing as a comment can be expressed in your code, instead, and make it clearer.
English
0
0
2
127
Alessandro Lacava
Alessandro Lacava@lambdista·
Annotate every type in Scala. The time you're going to save when you read the code in the future is much more than the one you'd save taking advantage of type inference to avoid some more typing.
English
0
0
1
0
Alessandro Lacava
Alessandro Lacava@lambdista·
When designing your ADTs always keep in mind that: ab + ac + ad = a(b + c + d)
English
0
0
5
0
mandubian
mandubian@mandubian·
Life v1.0 Archived Natural Intelligence On Cuteness Overload Love NaN Sleep Off Life v2.0 Launched
mandubian tweet media
English
20
0
51
0
Alessandro Lacava
Alessandro Lacava@lambdista·
Hey junior devs: many senior devs will suggest you read some academic/difficult books on programming, such as TAOCP. You can be sure most of them read from 0% to 5% of the pages of those books, so don't feel down if you don't fully understand them and move on.
English
0
0
1
0
Alessandro Lacava retweetledi
Martin Odersky
Martin Odersky@odersky·
Exciting news: We are starting a large scale research project to develop a universal theory of resources and effects based on capabilities.
English
17
157
930
0
Gabriele Petronella 🦋 gabro27.bsky.social
Some Scala news: I’m humbled to have been offered a seat on the newly formed SIP committee for Scala 3, alongside a group of amazing Scala experts 🎉
Gabriele Petronella 🦋 gabro27.bsky.social tweet media
English
7
17
150
0
Alessandro Lacava
Alessandro Lacava@lambdista·
@alexelcu In the context of IO, always. It’s more explicit and always composable regardless of it being top-level or down in the flatMap chain.
English
0
0
0
0
Alessandro Lacava
Alessandro Lacava@lambdista·
Talking about naming things: IMO `filter` is, probably, one of the worst and most ambiguous name ever given to a method of a std lib.
English
5
1
7
0