Dillon Mulroy λ Profile Banner
Dillon Mulroy λ Profile
Dillon Mulroy λ

@dillon_mulroy

Followers
7,158
Following
2,581
Media
1,488
Statuses
10,150

Software Engineer @vercel ▲ • Tweets about Functional Programming, TypeScript, Neovim, & Formula 1 • •

Raleigh, NC
Joined October 2011
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@dillon_mulroy
Dillon Mulroy λ
3 months
@ThePrimeagen
ThePrimeagen
3 months
real talk, dillon really is one of the most talented engineers to follow on twitter do it follow him now
11
2
134
4
1
99
@dillon_mulroy
Dillon Mulroy λ
8 months
this is what peak software engineering looks like, i dont make the rules
Tweet media one
69
632
11K
@dillon_mulroy
Dillon Mulroy λ
3 months
accidentally rolled my own auth again
Tweet media one
171
179
5K
@dillon_mulroy
Dillon Mulroy λ
27 days
The book that cost the world more than null
Tweet media one
187
122
3K
@dillon_mulroy
Dillon Mulroy λ
1 month
legend
Tweet media one
11
82
2K
@dillon_mulroy
Dillon Mulroy λ
1 year
Better TypeScript error handling in 54 lines
Tweet media one
81
167
2K
@dillon_mulroy
Dillon Mulroy λ
23 days
.then and .catch are a better api than async/await with try/catch and you can't change my mind
170
45
1K
@dillon_mulroy
Dillon Mulroy λ
5 months
eslint
Tweet media one
12
79
986
@dillon_mulroy
Dillon Mulroy λ
6 months
First day ▲
76
16
874
@dillon_mulroy
Dillon Mulroy λ
26 days
If I had any wisdom to teach younger devs it would be this: 1. Program against, consider, and handle the error path first and foremost. Include useful logging, telemetry, and error messages. 2. Utilize your type system, whatever that may be, to make as many invalid states
23
72
825
@dillon_mulroy
Dillon Mulroy λ
2 months
it breaks my heart to think of all the millions of cpus and petabytes of ram fully dedicated to running eslint in ci/cd eslint has cost the world more than null
10
24
625
@dillon_mulroy
Dillon Mulroy λ
4 months
they even gave him a proper send off
Tweet media one
5
6
611
@dillon_mulroy
Dillon Mulroy λ
4 months
Vim and Neovim users on OSX, set this in Keyboard settings and thank me later
Tweet media one
48
13
558
@dillon_mulroy
Dillon Mulroy λ
9 months
Woops! Despite doing everything by the books and not using any escape hatches ('as', 'any', or 'non-null assertions') TypeScript let us give a normal 'member' admin permissions! 💥
Tweet media one
73
31
519
@dillon_mulroy
Dillon Mulroy λ
3 months
I was firmly in the merge > rebase camp for over a decade(!) and preached "why add complexity and risk!?" I took an hour one day to really learn about rebase and I've completely flip flopped and actually find merge commits fundamentally more confusing and hard to work with.
@wagslane
Lane || Boot.dev
3 months
Rebase is based. Feat @ThePrimeagen
9
21
196
52
30
529
@dillon_mulroy
Dillon Mulroy λ
18 days
me learning 🦀 and low level memory management
Tweet media one
14
20
478
@dillon_mulroy
Dillon Mulroy λ
4 years
Did you know Array.from accepts a second argument for mapping over your data? Super useful for making test data sets.
Tweet media one
8
92
473
@dillon_mulroy
Dillon Mulroy λ
4 months
Yup. I'm a fan. 🤩
Tweet media one
38
24
460
@dillon_mulroy
Dillon Mulroy λ
10 months
🌶️ React/TS/JS Hot Take🌶️ One thing that drives me crazy about the React ecosystem, and more specifically "tech influencers" and "thought leaders" in the space, is the infantilization of the developers using and working in it. I’m tired of reading takes like TypeScript
41
36
447
@dillon_mulroy
Dillon Mulroy λ
11 days
Rust + sqlx is such a nice experience. The query is even type checked at compile time
Tweet media one
27
14
413
@dillon_mulroy
Dillon Mulroy λ
8 months
Finally landed on a tmux, neovim, and ghostty config + setup I'm super happy with
Tweet media one
24
6
373
@dillon_mulroy
Dillon Mulroy λ
8 months
Ya know what’s way more important in being a great software engineer than having strong math skills? Having great catalytic/soft skills. You can be the smartest person on the planet, but if you can’t communicate your ideas, build consensus, and empathize with your stakeholders
@mauricexxvi
maurice
8 months
"you don't need to know math to be good at programming" WRONG! You might be able to program without being good at maths but you certainly would be a better programmer if you were a better mathematician. Fight me!
19
3
46
37
22
358
@dillon_mulroy
Dillon Mulroy λ
9 months
Lets build the Option<T> type and some helpers for it from scratch in TypeScript! First, lets define our types
Tweet media one
21
19
342
@dillon_mulroy
Dillon Mulroy λ
10 days
kinda where I'm at
Tweet media one
35
6
338
@dillon_mulroy
Dillon Mulroy λ
3 months
The anatomy of a good error message from the Wix UX/Eng team. So. Good. 🤌
Tweet media one
3
25
341
@dillon_mulroy
Dillon Mulroy λ
5 months
I can't think of a language where performing a req/resp cycle, including serializations and deserialization, looks this nice and is as simple as this. Gleam is winning my heart
Tweet media one
38
19
325
@dillon_mulroy
Dillon Mulroy λ
8 days
One of my favorite and most used type helpers, UnifyIntersection (also commonly referred to as Prettify)
Tweet media one
5
5
336
@dillon_mulroy
Dillon Mulroy λ
24 days
echo -n I will be engaged to @justine_cgrove in 10 hours 😁| shasum -a 256 85416d66705fb334964f111c7921a32dc4c9cd0ea80a3e49521e35835c10fb9c -
Tweet media one
@dillon_mulroy
Dillon Mulroy λ
25 days
85416d66705fb334964f111c7921a32dc4c9cd0ea80a3e49521e35835c10fb9c
6
0
47
51
4
321
@dillon_mulroy
Dillon Mulroy λ
17 days
🥰
Tweet media one
Tweet media two
Tweet media three
15
4
313
@dillon_mulroy
Dillon Mulroy λ
2 months
My hot take is that JS has the lowest bar of entry to building and being productive (a good thing) but one of the highest bars of any language and stack to building high quality, stable, and reliable software. Very few devs have the expertise to pull off the latter
@thdxr
dax
2 months
JS ecosystem is weirdly a high judgement required stack - tons of garbage to dodge - noise from the amount of VC funding pushing confusion - infinite solutions for every micro problem tempting their way into your codebase you really need to be good at finding clarity
31
33
498
18
17
304
@dillon_mulroy
Dillon Mulroy λ
8 months
took an absolute L on stream
Tweet media one
15
5
305
@dillon_mulroy
Dillon Mulroy λ
1 year
That time I was trying to verify a JWT in OCaml and found a bug that I thought was in the JWT library, which then lead to thinking there was a bug in OCaml's main crypto library, which then lead to thinking there was a bug in the underlying C library, which then turned into the
9
14
291
@dillon_mulroy
Dillon Mulroy λ
3 months
@lucacicada This is the wisest advice given in this entire thread
2
0
288
@dillon_mulroy
Dillon Mulroy λ
4 months
Okay. I've given @EffectTS_ a real shot and built the app below. It concurrently runs several services for communicating with Twitch and Spotify. I can confidently say Effect is a joy to use and will be a core part of my stack going forward. Take aways below 🧵👇
Tweet media one
5
24
284
@dillon_mulroy
Dillon Mulroy λ
22 days
really digging using namespaces to organize modules and code in typescript
Tweet media one
Tweet media two
37
6
275
@dillon_mulroy
Dillon Mulroy λ
6 months
Introducing ts-error-translator.nvim 🚀 A Neovim port of @mattpocockuk 's VSCode extension, ts-error-translator, that turns messy and confusing TypeScript errors into plain English. Get it here!
Tweet media one
18
32
268
@dillon_mulroy
Dillon Mulroy λ
9 months
Where do y’all normally load these heavy black pans at in your dishwasher? Every angle I try is awkward
Tweet media one
97
7
266
@dillon_mulroy
Dillon Mulroy λ
23 days
@majdav_ you_dont() .then(haveTo) .then(doThat) .then(bigDawg) .catch(gitgud)
8
4
255
@dillon_mulroy
Dillon Mulroy λ
20 days
the book that cost the Frontend World more than null
Tweet media one
19
5
248
@dillon_mulroy
Dillon Mulroy λ
6 months
Once again I will repeat: The value of tailwind is not inherently the inline utility classes (though, I am a huge fan), it's the underlying design system and API to access that design system in a common sense and predictable way. It makes doing the right thing easy.
11
24
245
@dillon_mulroy
Dillon Mulroy λ
2 months
npm uninstall prettier eslint typescript-eslint && npm install biome
17
8
248
@dillon_mulroy
Dillon Mulroy λ
5 months
If this isn't your answer you're ngmi
Tweet media one
@zlatov_cristina
Cristina 🦉
5 months
how would you reverse an array during an interview?
655
30
1K
43
15
241
@dillon_mulroy
Dillon Mulroy λ
6 months
Tweet media one
Tweet media two
36
1
239
@dillon_mulroy
Dillon Mulroy λ
1 year
@NoahKahan Chain of sunflower seeds
2
1
231
@dillon_mulroy
Dillon Mulroy λ
1 year
When @ThePrimeagen 's new hyper-fixation is Go instead of OCaml
Tweet media one
5
5
222
@dillon_mulroy
Dillon Mulroy λ
6 months
My #1 TypeScript wish is being able to statically type that a function throws
31
8
223
@dillon_mulroy
Dillon Mulroy λ
3 months
Am I a Rust dev now? 🦀
Tweet media one
26
5
210
@dillon_mulroy
Dillon Mulroy λ
11 months
I can't explain it, but we all know it's true
Tweet media one
4
11
204
@dillon_mulroy
Dillon Mulroy λ
8 months
I never want to work in a language without pattern matching again
Tweet media one
25
14
192
@dillon_mulroy
Dillon Mulroy λ
9 days
ghostty just started falling apart on me @mitchellh @badcop_
15
4
191
@dillon_mulroy
Dillon Mulroy λ
4 months
Tweet media one
9
20
179
@dillon_mulroy
Dillon Mulroy λ
1 month
👏stop👏throwing👏http👏errors👏outside👏of👏the👏http👏layer👏
13
4
174
@dillon_mulroy
Dillon Mulroy λ
10 days
OCaml
@alifarhat79
Not Jerome Powell
10 days
Without Googling, name something France invented
Tweet media one
12K
108
3K
20
9
168
@dillon_mulroy
Dillon Mulroy λ
2 months
literally tech twitter
@Rothmus
Rothmus 🏴
2 months
Tweet media one
116
3K
25K
0
4
161
@dillon_mulroy
Dillon Mulroy λ
16 days
We got a simple pubsub server and worker running with only postgres notify and rust 🦀🚀
Tweet media one
6
4
157
@dillon_mulroy
Dillon Mulroy λ
8 months
Figuring out CJS and ESM in node might be one of the worst experiences across any tech stack
20
5
152
@dillon_mulroy
Dillon Mulroy λ
8 months
Tweet media one
@welltypedwitch
Prophet
8 months
if you want to learn about monads, please read this. seriously! waders paper and "you could have invented monads" are literally the only good monad tutorials I know
14
19
221
7
9
148
@dillon_mulroy
Dillon Mulroy λ
10 months
Don't take my word for it
Tweet media one
@dillon_mulroy
Dillon Mulroy λ
10 months
TypeScript
5
5
57
4
12
148
@dillon_mulroy
Dillon Mulroy λ
3 months
Okay so Svelte is web dev on easy mode. So good. So Simple
16
5
147
@dillon_mulroy
Dillon Mulroy λ
18 days
sue me
Tweet media one
@dillon_mulroy
Dillon Mulroy λ
6 months
javascript classes are good, actually
27
2
97
32
0
148
@dillon_mulroy
Dillon Mulroy λ
5 months
Most JS dev tools written in Rust would be better off written in OCaml
19
8
147
@dillon_mulroy
Dillon Mulroy λ
5 months
We have contact ✨🚀 Successfully authenticated and made a request to Twitch's API with @gleamlang It really does feel like the Go of functional programming. I'm a huge fan so far.
Tweet media one
Tweet media two
7
6
146
@dillon_mulroy
Dillon Mulroy λ
4 months
Date night with this smoke show
Tweet media one
Tweet media two
8
3
143
@dillon_mulroy
Dillon Mulroy λ
25 days
we’re about to have Checo off the grid, Danny Ric in a Red Bull, and Lawson in a cash app Venmo PayPal racing bull when we come back from summer break
@mereeedithh
meredith
25 days
the full video of Daniel seen in conversation with Mekies and Horner post race. Appears that Horner and Mekies walked off together afterwards. #BelgianGP
175
401
12K
12
10
144
@dillon_mulroy
Dillon Mulroy λ
1 year
@Cloudn0things These two resources will do a much better job at explaining the important concepts than I would: 1. 2.
2
11
142
@dillon_mulroy
Dillon Mulroy λ
24 days
she said yes btw
26
0
143
@dillon_mulroy
Dillon Mulroy λ
9 months
@wagieeacc One step closer to the promise land of OCaml
Tweet media one
2
1
139
@dillon_mulroy
Dillon Mulroy λ
4 months
Tweet media one
3
3
142
@dillon_mulroy
Dillon Mulroy λ
2 months
The biggest problem with TypeScript/Node backends is that the language makes it far too easy to only ever consider the happy path
10
3
138
@dillon_mulroy
Dillon Mulroy λ
8 months
Announcing create-melange-app 1.0.0
Tweet media one
5
33
136
@dillon_mulroy
Dillon Mulroy λ
1 year
I wrote a quick little lualine component for @ThePrimeagen 's Harpoon plugin for @Neovim . It will display the current buffer's mark index if it is "harpooned"
Tweet media one
8
6
132
@dillon_mulroy
Dillon Mulroy λ
8 days
you can't hide your private/internal types from me
Tweet media one
12
2
139
@dillon_mulroy
Dillon Mulroy λ
1 year
A year ago I had little idea of what OCaml was. I had been writing JavaScript and subsequently TypeScript since I was 13 (17 years for those counting). I loved TypeScript, in fact, I still do - I will always choose it over its untyped predecessor. That being said, OCaml (and
8
20
135
@dillon_mulroy
Dillon Mulroy λ
3 months
@OndrejTucny i dont even have users
2
1
135
@dillon_mulroy
Dillon Mulroy λ
1 month
Building api clients with gleam is such a nice experience client api module
Tweet media one
15
3
135
@dillon_mulroy
Dillon Mulroy λ
9 days
i've got a fever and the only prescription is more rust 🦀
Tweet media one
6
1
135
@dillon_mulroy
Dillon Mulroy λ
26 days
@daveddev It is exceptionally incorrect to laud the identification and use of design patterns and best practices from the Gang of Four book, as they have led to significant misapplication and overuse, resulting in overly complex and rigid codebases. This "pattern obsession" has encouraged
15
4
131
@dillon_mulroy
Dillon Mulroy λ
22 days
modes are implemented 😍
10
3
127
@dillon_mulroy
Dillon Mulroy λ
9 months
i knew it
Tweet media one
2
6
128
@dillon_mulroy
Dillon Mulroy λ
24 days
progress pics
Tweet media one
11
4
125
@dillon_mulroy
Dillon Mulroy λ
2 months
all of us right now
Tweet media one
8
11
127
@dillon_mulroy
Dillon Mulroy λ
16 days
i am being bullied on the internet
Tweet media one
8
0
126
@dillon_mulroy
Dillon Mulroy λ
1 month
I detest trump and most of his policies, didn't and won't vote for him, but if you're spouting "inside job" conspiracies or wishing this went worse, you can do ahead and unfollow me. Violence and conspiracies are not the answer.
5
2
124
@dillon_mulroy
Dillon Mulroy λ
3 months
Tweet media one
Tweet media two
8
1
124
@dillon_mulroy
Dillon Mulroy λ
9 months
Even I didn't expect to be here
Tweet media one
4
2
121
@dillon_mulroy
Dillon Mulroy λ
7 months
If bash is so good why did it need to be bourne again
15
5
122
@dillon_mulroy
Dillon Mulroy λ
7 months
I often get asked about my @Neovim configuration and setup, so I decided to make a video walking through all of it. Check it out and let me know what ya think!
Tweet media one
4
7
119
@dillon_mulroy
Dillon Mulroy λ
1 year
Calling OCaml from Bun because why not
Tweet media one
@dillon_mulroy
Dillon Mulroy λ
1 year
"Hello, world!" - Bun - OCaml - Michael Scott
Tweet media one
5
6
94
5
29
120
@dillon_mulroy
Dillon Mulroy λ
6 months
Just sayin' 🐫🔥
Tweet media one
3
5
119
@dillon_mulroy
Dillon Mulroy λ
9 months
ngl life comes at you fast November 2022 vs November 2023
Tweet media one
12
3
117
@dillon_mulroy
Dillon Mulroy λ
3 months
Happy birthday to my better half, welcome to your late twenties 😘
Tweet media one
13
2
113
@dillon_mulroy
Dillon Mulroy λ
5 months
Why I disabled Copilot
@dillon_mulroy
Dillon Mulroy λ
5 months
@thedevdad_ I got to the point where I felt like I was constantly pairing with a junior dev. I was spending more time reviewing bad suggestions from copilot and it distracted me from my flow of solving the real problem. If I want AI's help for writing boilerplate I jut chuck it in Chatgpt 4
12
1
87
18
7
112
@dillon_mulroy
Dillon Mulroy λ
25 days
look ma, no hands (my first 🦀 program after rustlings)
Tweet media one
Tweet media two
8
0
111
@dillon_mulroy
Dillon Mulroy λ
5 months
Gleams error messages are top notch 😍
Tweet media one
9
2
111
@dillon_mulroy
Dillon Mulroy λ
3 months
Learning OCaml before Rust has made Rust significantly less intimidating and easy to learn
11
9
112
@dillon_mulroy
Dillon Mulroy λ
9 months
Declarative code is too concise, and erroneously makes developers focus on the less important things, like business logic.
11
9
113
@dillon_mulroy
Dillon Mulroy λ
19 days
if gleam compiled to native with mlir i would literally never use any other language
@leostera
Leandro
19 days
somebody get @gleamlang an mlir backend stat
Tweet media one
6
7
110
8
6
112
@dillon_mulroy
Dillon Mulroy λ
1 month
@MattP1Gallagher Pit Oscar first and let them race
4
0
110
@dillon_mulroy
Dillon Mulroy λ
5 months
Tweet media one
@ptr_to_joel
Joel 🇦🇺
5 months
This mfer loves you and you love it
Tweet media one
5
6
66
3
9
108
@dillon_mulroy
Dillon Mulroy λ
15 days
10/10 recommend 🦀 Cells are singled threaded Mutexes RefCells are single threaded RWLocks RC's (and their atomic counterpart, ARC) are way simpler (and cheaper to clone) than I thought. They're all implemented from scratch and thoroughly explained 👇
6
7
109
@dillon_mulroy
Dillon Mulroy λ
7 months
My time writing OCaml professionally is coming to an end (for now). It is Very bittersweet to be leaving @skolemlabs , but I’m Extremely excited for what’s next. The past year has been incredibly Rewarding and I’m so thankful and grateful that I was introduced to OCaml, functional
20
2
109