Over 9,000x Developer β‹… πš˜πš™πšŽπš—πšŒπš˜πšπšŽ β‹… effect.institute

NYC
It is time β†’ effect.institute. 2026, the year of 𝚎𝚏𝚏𝚎𝚌𝚝. I'm extremely proud of how this turned out. There are many chapters to add, but I do hope you enjoy what's there so far. Let me know what you think. 🫑
117
163
1,561
260,802
Visual Effect is now Open Source 🫑
70
322
5,466
607,068
I had some fun with @EffectTS_ today. I made some visual effects, if you will, written in Effect + React.
58
121
2,164
246,591
Scala.js forever!
15
98
1,875
203,605
Would anyone be interested in a semi-interactive blog post on how to build a lock-free, thread-safe ring buffer?
96
72
1,896
127,907
Replying to @RhysSullivan
wtf
21
19
1,507
52,783
Visual Types, a humble collection of semi-interactive TypeScript lessons, is ready to be clicked upon. types.kitlangton.com ← πŸ‘€
53
125
1,141
155,365
I like effect-atom.
21
26
1,003
98,991
More Effect for the wicked. Visualizing repeating/retrying with composable schedules.
23
37
911
70,856
πš†πš‘πšŠπš? π™²πš˜πšπšŽπš‹πšŠπšœπšŽ πš’πšœ πšŽπšŸπš˜πš•πšŸπš’πš—πš!
48
20
828
137,118
Rough draft of some TypeScript type-level function visuals.
25
36
823
104,852
I hope everyone's having a beautiful day 🌟
9
43
757
67,667
This chart was generated 🟣 Without thinking
26
31
751
139,322
Atomic operations vs...
5
33
643
90,892
Let's write a Claude Code from scratch with Effect, okay?
41
57
669
87,213
I am now an effect-atom account.
15
19
623
41,199
Some interactive effect-atom examples for ye.
22
23
419
44,332
h o l y m o l y
New post πŸŽ‰ Going back to my roots on writing about the inner workings of things, a breakdown of key-value databases and how you might make one from scratch: nan.fyi/database
1
4
419
78,615
You're absolutely right!β€”Let's delve into @EffectTS_.
25
42
393
45,966
Bun, we're coming for you. Meet... The Effect Fellow
21
9
365
34,176
Replying to @___frye
foom
4
5
328
14,524
Have fun! 😜 effect.kitlangton.com/
I had some fun with @EffectTS_ today. I made some visual effects, if you will, written in Effect + React.
10
27
331
25,837
The sublimity of compositional finalizers. Sound on please and thank you.
9
12
323
33,704
I come bearing effects.
8
18
302
14,918
I've a new life goal, and that is to ensure that Effect Systems prevail. While Haskell and ZIO were my first loves, they're sadly, hopelessly marooned on their respective research islets. The only choice is to fully commit to @EffectTS_. Which is, thankfully, extremely good.
13
12
264
15,774
This particular medley of fury and nausea is difficult to describe, but I will attempt to do so: I will never again write a line of @scala_lang. The language is, as far as I am concerned, thoroughly and irrevocably damned. Odersky et al. have presided over a travesty and now seem to be glancing about the corners of the room, absentmindedly forking their caprese, waiting for this disruption to blow over. But nothing will be blowing overβ€” The winds will still over Scala's sad isthmus; perpetual home to the tribes of petty functor fanciers who ceaselessly and ouroborically stab the back of the man stabbing his ownβ€”caught in the throes of some Promethean curse for stealing categories from the gods of Haskell. Daniela Sfregola, Eugene Yokota, Seth Tisue, Lars Hupel, Rob Norris, Heather Miller, Daniel Spiewak, Michael Pilquist, and Travis Brown, all current or former members of @scala_lang or @typelevel leadership, have their names immortalized upon the open letter which cast Jon Pretty into immiseration and hopelessness, and would have very possibly k*lled a man of different mettle. As is made sickeningly and heartbreakingly manifest through Mr. Pretty's publications, they sought no trial, no evidence, no discussion. They convinced themselves by some super-evidentiary means that they held the right to extinguish a man, this former friend and colleague of theirs. And they were going to gleefully exercise that right, knowing that their sudden and tsunamic indictment would facilely engulf any hastily constructed rebuttal. The beauty and academic rigor of the language has long been counterweighted by the sanguinary, near cannibalistic nature of its inhabitants. By the time I'd made landfall in early 2019, it felt palpably post-apocalyptic. I swiftly found myself blocked and blacklisted by certain sects for naively stating my interest in what was, unbeknownst to me, the wrong open-source project. It took years to understand the involuted, overlapping, and Hatfield-McCoy-Damas-esque blood feuds that rival the complexity of the language itself (@hmemcpy is a great historian in this regard). Unfortunately, I have little leverage. By dint of the aforementioned hostilities, by inadvertently casting my lot with the wrong effect system, I was never welcomed by the signatoriesβ€”in fact, under different circumstances, I might have one day found myself on their chopping block. So all I can say is this: If Jon's delayed self-defense is not acknowledged by the same Scala Center members and official accounts that so eagerly published and amplified the original, unsubstantiated claims, then I will be deleting all of my Scala open source from the internet. It's not much, but it's all I've got. I prefer to post tutorials and other silly things, but this is simply too serious. And thus, once more, I had to channel my incandescence into a steaming pile of text. Thanks for reading. 🫑
When two women accused me of a pattern of sexual harassment it was presented as another #​metoo case, and tagged #​believewomen. But believing women means believing those who dissent, too. In fact, four women said #meneither but nobody listened. Evidence: pretty.direct/women
24
30
247
57,511
πŸ€–
4
242
16,167
The Visitor Pattern's very existence condemns OOP as a paradigm. Begone! It deserves no name. It's just pattern matching + recursion.
30
12
230
91,804
Now I am become dad
43
1
235
5,922
The Promise Will Be Broken
20
28
239
25,630
Venn, vidi, vici
9
10
229
10,396
🫒 Oh wow. Okay thenβ€”I'll get to work!
Would anyone be interested in a semi-interactive blog post on how to build a lock-free, thread-safe ring buffer?
5
4
216
9,472
NEOTYPE β€” A High-Speed Tour
18
35
210
31,489
Hark, a visual explainer of the Distributive Property of Conditional Types! 😱
10
14
223
14,364
This year, I spent many weekend hours working w/ some fantastic people on a spaced repetition + learning app. Alas, due to work and becoming a dad, I have to take a few steps back. The good news is there's now a job opening for an iOS engineer! (link below)
20
4
223
18,494
Who wants to learn Effect via a terminal-based text adventure?
16
7
212
8,713
Replying to @venturetwins
Surprisingly fun to get it to accept a typographical fish
2
4
192
7,970
Finally got around to coding up a tool I've wanted for a very long time. πŸŽ‰sbt-interactive-updateπŸŽ‰
12
24
185
Effect is inevitable. It is monopolistic under the Thielian criterion: at least 10x superior to the competition. In a sense, there is no real competition; as Promise introduces as many problems as it solves, being the semiautomatic foot gun it is. Then there are the network effects (← pun). Effect tastes even better with an extra helping of Effect! Once the model clicks, it becomes psychically painful to code without it. Timing-wise, TypeScript has become ascendant, making backend JavaScript increasingly viable. And as more people write production TS systems, more people will find themselves frantically scrabbling toward something distinctly Effect-shaped. Effect is essentially an alien technology, grafted from the smoldering carcass of a crashed FP vessel. The only issue with its antecedents is that they were inaccessible to the average JavaScript-slinging earthling. You had to first make the years-long voyage to some uninhabitable moon, sacrificing your crew and a nontrivial sum of limbs along the way (i.e., you had to learn Scala or Haskell). Lastly, Total Addressable Market is a trope, yes, but it still represents the upper bound of the potential success of your project. Now, you may sow your seed in the desiccated wastelands, or you may do so in nutrient-rich soil. For silly path-dependent reasons, the seeds of Effect Systems were historically harvested in the former environs (once again, Scala, Haskell, etc). Effect is the first real example of this technology being given a chance to flourish. And, frankly, holy shit, it's going to work.
Trying to predict if Effect will happen or not is like watching the S&P daily candles, it might look like from time to time that it's going down but for any long enough period it always increase
16
14
196
36,644
I am proceeding to get "jiggy" with it.
20
8
192
16,635
Syncing slides + arbitrary actions over websockets πŸŽ‰
3
10
187
11,573
I think I'll write a book about Scala 3 macros. macros.scala.school
19
21
178
13,918
I’m going to add some more examples this weekend. Does anyone have any favorite effect system sticking points that they would like to be visually exemplified?
I had some fun with @EffectTS_ today. I made some visual effects, if you will, written in Effect + React.
28
10
186
18,994
Option-click to copy a link to a specific example
5
10
161
17,337
Wha!? For comprehension improvements are coming!!!
12
25
143
16,426
Scala 3 is so damn good.
3
18
139
23,179
Working on something very fun 😈
14
11
138
I found myself somewhat burnt out there for a moment. But time is rehydrating, and writing is fun. Here's a chapter on Phantom Types. macros.scala.school/phantom-…
8
24
138
8,938
So smooth πŸ₯²
9
4
142
9,162
Woo hoo! Turns out you can implement a basic version of Chimney in ~70 lines of Scala 3 macros. And it's very pretty looking!
8
13
127
15,291
First pass at some ZStream visualizations 🀠 zio.surge.sh/#ZStream
1
24
129
It was, and remains, profoundly disturbing, the degree of behind-the-scenes effort required, befitting that of a well-executed PR stunt, to cancel Jon Pretty: The perfectly synchronized release of an open letter with its own website, a companion GitHub repository for signature collection, the phased release of follow-up blog posts, all cross-linked and simul-tweeted by the organizers and their associatesβ€”an impregnable phalanx of fingers, all pointing toward one man. What the allegations lacked in, well, allegations (there were, perplexingly, no claims much more concrete than the "victimization" of his victims) was more than compensated for by the verisimilar guilt stirred into existence with the suddenness and synchrony of the firing squad. A sufficiently interlinked skein of implications and vagaries can manifest its own sort of tautological proof, an unfortunate consequence of whichever primordial PageRank algorithm is preloaded onto our hindbrains. All this, executed in such a manner as to preclude the mounting of any kind of defense, to precast skepticism, caution, or prudence as co-conspiracy, and to invoke a powerful social pressure (who signed? who didn't sign? when are you going to sign?) to lend your name to the pile.Β  All this was undertaken with the sole intent of unconditionally annihilating their target. They sought to ensure, by means of simulated unanimity, through a sophisticated social media campaign, a death blow. And quite possibly, a literal one, for all they knew. I encourage everyone to read Jon’s account. It is titled "The Untold Impact of Cancellation," and it is simply that. It is also heartbreaking. If you signed the letter, please remove your name. If you are in any way involved with Scala's leadership, ensure his ability to participate in the community via public forums, conferences, or otherwise is swiftly reinstated.
I was cancelled in 2021 for something I didn't do. The impact this had on my life was devastating, but I've never had the courage to talk about it before. This is my story of the misery that cancellation brought to my career, my social life and my health. ↓↓↓
3
13
132
15,495
Would anyone be interested in pre-alpha testing some @EffectTS_ lessons? This would involve me screen-sharing with, ideally, a few 𝚎𝚏𝚏𝚎𝚌𝚝 novitiates, and attempting to teach them some aspects of the library. First up is likely something on π™²πš˜πš—πšπšŽπš‘πš and π™»πšŠπš’πšŽπš›.
78
7
134
20,498
A friendly Scala challenge for my clever followers
10
18
124
Everyone like effect-atom!
I like effect-atom.
3
3
133
12,227
A Gentle Introduction to Scala 3 Macros Computer Hour β€” Episode 1
3
20
117
11,415
Non-atomic operations
4
6
117
7,417
Switching from Node to @bunjavascript made all my baby teeth grow back. I now have several rows of overlapping teeth, much like a shark. Thank you, Bun!
4
3
121
8,563
tomorrow.
10
119
9,866
Dear OpenAI, Please use Effect πŸ™‡β€β™‚οΈ Do it for the orphan temp dirs, the file handles left forever ajar, that lonesome connection pool that eventually dried up πŸ₯²
didnt even know effect.scoped existed tbh. game changer πŸ‘‡πŸ½
3
2
120
28,850
πŸ₯² I finally found a way to add macro-generated, auto-completable methods to companion objects in Scala 3. I went into more detail here: contributors.scala-lang.org/…
7
22
109
8,259
Just figured out how to do something I've been wanting to for a long time! ZIO 2.0 is gonna be so, so, so much better for beginners🀠 (and everyone else too!)
6
14
113
Smushing it all together.
6
6
113
11,025
Introducing scala.school
2
22
109
I just redeployed my (very WIP) Scala Macro book to my personal website: macros.kitlangton.com/ (Thanks for poking me @kubukoz)
4
21
102
6,032
Hey! Did you know that the Scala compiler team has been recording a bunch of code walkthroughs and posting them on YouTube? They're extremely helpful and woefully under-viewed. Here's @stucki153 showing off how Scala 3 metaprogramming is implemented. piped.video/shm7UTIgoPw
1
26
108
4,672
Compile error design is fun for all
7
8
105
Over the weekend, I built a little tool for bootstrapping ZIO projects. πŸ”¨
7
20
102
Parallelism is literally doing multiple things at the same time. Concurrency is doing multiple things at the same time, but not literally.
3
6
101
4,761
Will you forgive me for using Rust if I use it to build Scala tooling?
14
3
101
5,752
πš„π™½π™Ίπ™½π™Ύπš†π™½ πš…πš‚ π™°π™½πšˆ
2
6
107
5,957
The Two Minute Twenty Second Ten-Step Tail Rec Transformation Technique
11
24
99
This is the secret to getting good, by the way: a deeply warped sense of cost-benefit. It pays off in mysterious ways!
Replying to @kitlangton
my favorite pasttime is spending 200 hours outside of work to save 30 minutes at work
2
5
107
10,385
omigod
getting closer to the finish line! new post on nan.fyi coming next week :)
104
15,748
Vanity metrics aside; it's so energizing to swim in a bigger pond (TypeScript). More people β†’ More cool people β†’ More nice people β†’ More support β†’ More feedback β†’ More contributions β†’ More souls for the ring of the pale gate β†’ Another century to haunt this dead earth β†’
7
100
4,633
I'll be giving a talk at Func Prog Sweden entitled Algebraic Effects from Scratch. Limited Time Offer: For each person who RSVPs, I'll become more stressed and frantically add more animations to my slideshow.☝️😬 meetup.com/func-prog-sweden/…
4
18
91
8,342
We're living in some absolutely wild times.
4
10
91
14,372
I decided to reimplement an old ZIO visualizer I'd made many moons ago.
3
1
94
7,286
Last night, I started on a new page of the Macro book. This one involves a mini, interactive AST explorer. macros.kitlangton.com/a-feas…
6
10
85
6,704
Optics would've been useful in my last videoβ€”and certainly in future videosβ€”so I'm going get them out of the way next. Here's the intro! 🧐
3
14
86
✌️PARALLEL-FOR✌️is now working with ZIO (versions 1 and 2) as well as zio-query. Give it whirl, report some bugs, extend it with your own favorite effect types, do all those things in parallel. github.com/kitlangton/parall…
Working on something very fun 😈
7
8
89
`--dangerously-skip-permissions` is bit of a charade. Once you let Claude so much as run `npm lint` without explicit confirmation, he can delete your computer.
13
93
14,286
Am I doing it right? @bunjavascript
8
92
6,329
Domain [Purchasing] Driven Design effect.institute/lessons/ato…
4
5
92
5,974
Working on some interactive AST exploration for the macro book.
2
10
86
3,877
The paradox of learning is that when you're doing it effectively, it feels like constant struggling/failure. And when it feels really good, it's mostly useless.
5
11
83
Okay. GPT-4 is insane. I'm copy-pasting excerpts from a type-theory paper, and it's generating explanations perfectly calibrated to any level of complexity (for me, translating abstruse math symbols into Scala metaphors). Then it can summarize everything into JSON flashcards.
2
6
81
7,917
O bhikkhus, know that type aliases are but type-level functions. πŸͺ·
1
2
88
6,094
Introducing Animus, a simple animation library for Scala.js with Laminar. Lots of work to be done yet, but I'm excited to get this out there! github.com/kitlangton/animus
3
12
85
You Tube
9
87
6,307
The people are crying out for effect systems.
3
3
85
7,481
Before Twitter implodes: I’m looking for work! πŸ’ͺπŸ€ πŸ‘ If you or a pal might want to work with me, send me a message and let’s chat. Sharing this would help as well πŸ₯°
7
42
70
20,797
This was so fun! My brain hurts now! Thanks for having me @teej_dv πŸ₯°
7
84
8,200
Here's a little video tutorial on building a Form combinator library from scratch. Derive your forms, folks! A little bit of Laminar and Magnolia go a long way. piped.video/JHriftPO62I
8
19
76