Dani Guardiola Profile Banner
Dani Guardiola Profile
Dani Guardiola

@daniguardio_la

585
Followers
645
Following
322
Media
4,762
Statuses

open-sourcing at @automattic - TS + 🦀 - @biomejs maintainer / @lexicaljs , @ariakitjs contributor

Joined July 2020
Don't wanna be here? Send us removal request.
Pinned Tweet
@daniguardio_la
Dani Guardiola
3 months
✨ My biggest open-source release ever. ✨ The last RPC library you will ever need. Lightweight, type-safe, and completely flexible. Works anywhere: iframes, web workers, browser extensions, Electron IPC... Give it a star? Link below!
Tweet media one
4
16
88
@daniguardio_la
Dani Guardiola
4 months
🚀 An initial version of Tailwind CSS sorting in @biomejs is about to be merged! Docs preview: What do you think? Any feedback? Any questions?
14
37
348
@daniguardio_la
Dani Guardiola
3 months
@mattpocockuk no problem, one has a J and the other has a T follow for more expert tips
4
0
214
@daniguardio_la
Dani Guardiola
28 days
0
0
139
@daniguardio_la
Dani Guardiola
4 months
@jacobmparis not just that but this is for strings
2
0
124
@daniguardio_la
Dani Guardiola
4 months
@t3dotgg this is literally typescript preventing an actual error though. booleanish just means that you could also pass "true" or "false" as a string, because that's how the html disabled attribute works 🤷‍♂️
3
2
112
@daniguardio_la
Dani Guardiola
1 year
GPT-4 on ChatGPT still sucks for the most part when it comes to math problems, it hallucinates a lot and gets many things wrong with a lot of confidence. On the other hand, Kahnmigo, the GPT-4 powered chatbot by @khanacademy , has been blowing my mind. It's SO good!
10
12
99
@daniguardio_la
Dani Guardiola
4 months
@nealagarwal @aveIIar wow it's the first time I randomly find out someone has blocked me on Twitter. what have I done to this person lol
Tweet media one
12
1
97
@daniguardio_la
Dani Guardiola
4 months
@jacobmparis "If it's worth doing, it's worth doing twice" "If it's worth doing, it's worth doing twice" - useEffect
0
8
94
@daniguardio_la
Dani Guardiola
3 years
@Justweeterin @afbutt @saruhhhdanae I have read that the false HIV positives were caused by a specific vaccine in Australia (I think?) that was scraped for that exact reason. Does this issue also exist for other vaccines as well?
2
0
85
@daniguardio_la
Dani Guardiola
6 months
🚀 Just published a new article! A deep dive into how Lexical (the text editor framework) updates its state. It is more interesting than it seems! cc @lexicaljs @trueadm
1
12
72
@daniguardio_la
Dani Guardiola
2 years
@diegohaz Honestly after a bit into the proposal, something like "asResource(promise)" feels better: - not really a hook (can be called conditionally) - that's literally what it does, turns a promise into a resource
7
3
69
@daniguardio_la
Dani Guardiola
3 months
I am now officially a @biomejs maintainer! 🎉
Tweet media one
6
3
68
@daniguardio_la
Dani Guardiola
2 years
Nested layouts confirmed in @nextjs ?!?
Tweet media one
3
2
68
@daniguardio_la
Dani Guardiola
3 months
I've got news. I'm joining @automattic ! 😁 I'm hoping they'll allow me to make "Pixel Wrangler" my job title. Really happy with the fact that I'll be doing open-source full-time, and now getting paid for it!
13
0
62
@daniguardio_la
Dani Guardiola
1 year
@JoshWComeau It's me, Michal, send me my course pls.
2
0
63
@daniguardio_la
Dani Guardiola
5 months
here's the progress of biome's effort to port linter rules eslint => @biomejs (and also rust's clippy) i made a console script that generates it from the github discussion page lol:
Tweet media one
1
2
63
@daniguardio_la
Dani Guardiola
4 months
@heyImMapleLeaf YOU PSYCHOPATH you forgot to add a caching system now it is actually optimized, you n00b
@daniguardio_la
Dani Guardiola
4 months
pff junior code, you need to add a cache
Tweet media one
4
2
28
0
1
58
@daniguardio_la
Dani Guardiola
2 months
@mattpocockuk why choose?
Tweet media one
5
0
41
@daniguardio_la
Dani Guardiola
4 months
@Trashman_sol @WhatLayoff @Cloudflare if it has "nothing to do with performance" why did the corpos say the exact opposite?
2
0
39
@daniguardio_la
Dani Guardiola
2 years
0
0
38
@daniguardio_la
Dani Guardiola
4 months
@souporserious position relative could be problematic if you want to position a nested child absolutely
6
0
37
@daniguardio_la
Dani Guardiola
4 months
@saltyAom 'is-even' 2.6k i want to die
2
0
35
@daniguardio_la
Dani Guardiola
5 months
Tailwind CSS class sort support is coming to @biomejs ! Update #1 : I already have a proof of concept that sorts classes alphabetically when passed to a clsx() call. Next goal: support JSX attributes, and a wider range of functions, including templating strings (tw​.foo``).
4
2
38
@daniguardio_la
Dani Guardiola
3 months
🚀First article of 2024 The secret to awesome extensibility used by Radix, Ariakit, and more. Probably the most important pattern that no one talks about. The open/closed component (part 1).
2
4
32
@daniguardio_la
Dani Guardiola
4 months
pff junior code, you need to add a cache
Tweet media one
@heyImMapleLeaf
MapleLeaf 🍁
4 months
I prefer my highly optimized version instead :)
Tweet media one
77
116
2K
4
2
28
@daniguardio_la
Dani Guardiola
1 month
@aristath I just joined Automattic to work on the components package, and I've made it my personal goal to push for a radical simplification and streamlining of everything. Who knows, maybe after that I'll expand the scope of my goal.
1
0
30
@daniguardio_la
Dani Guardiola
4 months
@bunjavascript should create a warning when upgrading in the next versions. I missed this and it was kinda painful til I realized.
0
0
28
@daniguardio_la
Dani Guardiola
4 months
@merlindru @jarredsumner this is inherently bad code though, why would you call bar inside the argument list of foo?
2
0
25
@daniguardio_la
Dani Guardiola
4 months
@Trashman_sol @WhatLayoff @Cloudflare okay so it's shitty and this person is exposing it. so don't victim blame. are we supposed to just not talk about it?
1
0
25
@daniguardio_la
Dani Guardiola
4 months
@MFerrar0 @nealagarwal @aveIIar ah, good point. I don't even want to pay, but I've had to so my tweets and open source work doesn't fall into the void :( pay to win website 🤷
2
0
23
@daniguardio_la
Dani Guardiola
3 months
@saltcod completely redundant 😆 twMerge basically does this for you already, except for object support which is a terrible API anyway imo
6
1
24
@daniguardio_la
Dani Guardiola
2 years
@bitandbang You can mostly do this on Linux by just moving your home directory around.
3
0
23
@daniguardio_la
Dani Guardiola
4 months
@ryanflorence in Spanish you'd say "tengo una" (I've got a) "duda" (question). it's very common for Spanish speakers to use English words that look/sound similar, so I can see someone using duda->doubt. this kind of thing is called a "false friend".
2
0
23
@daniguardio_la
Dani Guardiola
3 years
@jon_neal Police? Yes, this tweet right here.
0
0
22
@daniguardio_la
Dani Guardiola
3 months
@ematipico @TkDodo you know a website sucks ass when a 15 second spinner would have been a better UX than SSR lol
2
2
20
@daniguardio_la
Dani Guardiola
3 months
@kentcdodds @andrewingram hey Kent, i recently open sourced this library that should also work and is fully type safe, if you wanna give it a try - I think it should be easier to understand than coming and I'd love your feedback
2
1
21
@daniguardio_la
Dani Guardiola
4 months
@mhartington @ryanflorence now that y'all know, be kind and forgiving to these folks, they're just learning and don't mean anything negative by it :)
1
0
21
@daniguardio_la
Dani Guardiola
4 months
@kyleshevlin I usually just literally write TODO with no definition. The error is annoying, which is kinda the point.
1
0
20
@daniguardio_la
Dani Guardiola
4 months
@jarredsumner the answer is always "depends", but honestly in 98% if this change breaks your app you're probably doing something wrong
0
0
18
@daniguardio_la
Dani Guardiola
5 months
@heyImMapleLeaf I hate windows with all my soul but I have to admit I've been developing in wsl2 almost exclusively for the past two months just so I can switch between some (non-linux-supported) gaming and coding and it's actually so good
1
0
20
@daniguardio_la
Dani Guardiola
3 years
@devongovett @DavidKPiano Hmm my experience as a TS developer is somewhat the opposite. I often find myself looking at the declaration files and source code for certain libraries, just so I can make sense of the types, because they are often not documented.
2
0
19
@daniguardio_la
Dani Guardiola
11 months
I really believe that Ariakit is the next level of headless UI. I am a top donor and I pushed my former employer (Guide) to donate as well. Try it:
Tweet media one
@diegohaz
Haz
11 months
Ariakit is in a very stable state right now. It remains in v0.x because I want to sync the official package release with the launch of the website. It's following semver, and breaking changes are now preceded by deprecation warnings prior to the actual
5
21
108
1
1
19
@daniguardio_la
Dani Guardiola
5 months
should i consider this as I work on @biomejs 's class sorting feature?
@buildsghost
Hot Jamie Kyle 🏳️‍🌈
5 months
Shitposting aside, the Tailwind prettier plugin should wrap lines something like this
Tweet media one
1
3
93
5
1
19
@daniguardio_la
Dani Guardiola
4 months
if you want to add a cool @biomejs badge to your repo, here's the image URL:
Tweet media one
1
0
19
@daniguardio_la
Dani Guardiola
6 months
@adamwathan @BjarnBronsveld yes, you'd need the inverse (<Avatar asChild><button /></Avatar>). I'm personally a fan of @ariakitjs 's render={<button />} API because it is the same as asChild but it doesn't block you from using the children prop.
3
0
18
@daniguardio_la
Dani Guardiola
5 months
@kossnocorp i literally have done this - 3.23 kB (gzip) it comes with some trade-offs, and it's missing a few minor details (which is why I haven't released it yet)
4
1
18
@daniguardio_la
Dani Guardiola
4 months
here's a progress update on Biome's effort to port linter rules eslint => @biomejs compared to ~25 days ago: +2% (+12 new ported rules!)
Tweet media one
@daniguardio_la
Dani Guardiola
5 months
here's the progress of biome's effort to port linter rules eslint => @biomejs (and also rust's clippy) i made a console script that generates it from the github discussion page lol:
Tweet media one
1
2
63
0
1
18
@daniguardio_la
Dani Guardiola
4 months
@tannerlinsley You can't parse [X]HTML with regex. Because HTML can't be parsed by regex. Regex is not a tool that can be used to correctly parse HTML. As I have answered in HTML-and-regex questions here so many times before, the use of regex will not allow you to consume HTML. Regular
3
0
16
@daniguardio_la
Dani Guardiola
4 months
@wobsoriano @bunjavascript @zack_overflow bro your library was cool and useful to me, so you have my respect for filling that void til now
1
0
17
@daniguardio_la
Dani Guardiola
4 months
@aveIIar @MFerrar0 @nealagarwal it's all good! I understand, those are very annoying.
1
0
16
@daniguardio_la
Dani Guardiola
4 months
@typecraft_dev macOS is prettier than the average, non-riced desktop env. but that's about all it has going for it. Linux envs are consistently better. macOS is a pain to use and has many weird UX decisions. seems like it only supports working with a small-screen laptop and that's it.
1
0
15
@daniguardio_la
Dani Guardiola
4 months
1
0
15
@daniguardio_la
Dani Guardiola
3 months
dumbest ratio I've ever achieved lol peace and love to @mattpocockuk
Tweet media one
1
0
14
@daniguardio_la
Dani Guardiola
4 months
@bunjavascript so, 11 days
1
0
15
@daniguardio_la
Dani Guardiola
3 years
@dSmk @dan_abramov Although in this specific case you could just use Object.fromEntries()
Tweet media one
0
0
14
@daniguardio_la
Dani Guardiola
9 months
@jasonlaster11 just one (no deps array), the rest could be fine depending on the context that's not present in the screenshot :P
2
0
13
@daniguardio_la
Dani Guardiola
3 years
@mikesherov @cassidoo @swyx Any of those three things.
0
0
14
@daniguardio_la
Dani Guardiola
4 months
@Trashman_sol @WhatLayoff @Cloudflare so what, it's still extremely shitty and a literal lie. why does money justify doing shitty things to people.
1
0
14
@daniguardio_la
Dani Guardiola
2 years
@benawad This pic looks very mintable.
0
0
13
@daniguardio_la
Dani Guardiola
5 months
@dan_abramov2 cyberpunk 2077
0
0
13
@daniguardio_la
Dani Guardiola
3 years
@dSmk @dan_abramov I believe he means something like this.
Tweet media one
1
0
11
@daniguardio_la
Dani Guardiola
4 months
@atoiansk @jacobmparis not how js works though
1
0
13
@daniguardio_la
Dani Guardiola
4 months
@asilvadesigns shit, you're right fixed
Tweet media one
2
0
13
@daniguardio_la
Dani Guardiola
6 months
🚀 New small article Did you know there's a way to execute code in a function *after* the return? "Try, return, finally: a curious JavaScript pattern"
3
3
13
@daniguardio_la
Dani Guardiola
4 years
Have you ever liked your own tweet? Well, I built a browser extension that detects self-likes. I call it "Egolatron". Coming soon to the Chrome Web Store.
2
8
12
@daniguardio_la
Dani Guardiola
4 months
🤔 I wonder who is wrong, the person making a categorical statement, or the authors of VERY successful OSS libraries known for their excellent type safety? TanStack Query (17): tRPC (71): TanStack router (35):
@the_mzakrzewski
Michał Zakrzewski
4 months
@daniguardio_la @igalklebanov @mattpocockuk In my opinion when you use ‚any’ that’s sign for you that you’re are doing something wrong no offense 😉
1
0
0
0
0
11
@daniguardio_la
Dani Guardiola
1 year
Khan Academy is a huge boon to self-taught folks like me, and this AI takes it to the next level in mind-blowing ways. Amazing. Insane. So exciting to be alive right now.
0
1
12
@daniguardio_la
Dani Guardiola
3 years
@daniguardio_la
Dani Guardiola
3 years
Google (suite) is COMPLETELY down! I guess this is my cue to exit #Google definitely. I've already moved my email, calendar, and contacts over to @ProtonMail (probably will move cloud drive too when it's out of beta). Will move to @DuckDuckGo for search. Etc.
1
1
6
0
0
12
@daniguardio_la
Dani Guardiola
3 years
@theavalkyrie I was like 17 and I approached him after a talk and mentioned I was a Linux user (had recently discovered it) and that I was a supporter of his (recently discovered as well). Well, it didn't go well. He was super rude about the whole GNU/Linux thing (that I didn't know about).
1
0
11
@daniguardio_la
Dani Guardiola
1 year
@JoshWComeau You can tell it's true because this is Twitter and there haven't been any impersonations in this platform ever.
1
0
11
@daniguardio_la
Dani Guardiola
4 months
i did it lol coming soon to a tailwind config file near you.
Tweet media one
Tweet media two
@daniguardio_la
Dani Guardiola
4 months
about to build a boolean algebra simplification algorithm for a tailwind css plugin
0
0
2
2
0
12
@daniguardio_la
Dani Guardiola
8 months
@Mobius_Games yes but new game or no new game WE NEED ANSWERS
1
0
12
@daniguardio_la
Dani Guardiola
3 years
@theavalkyrie GNU and the FSF did a lot of good things for FSS, but he is just a man child that hasn't learned how to behave appropriately and treat others with respect.
1
0
11
@daniguardio_la
Dani Guardiola
4 months
old stack: node + npm + webpack + babel + eslint + prettier new stack: bun + biome
0
0
11
@daniguardio_la
Dani Guardiola
3 months
@adamwathan the title is "Dani Guardiola", and i know someone who fits the role really well
3
0
11
@daniguardio_la
Dani Guardiola
11 months
ariakit is radix-ui in steroids, check it out
@diegohaz
Haz
11 months
Ariakit is in a very stable state right now. It remains in v0.x because I want to sync the official package release with the launch of the website. It's following semver, and breaking changes are now preceded by deprecation warnings prior to the actual
5
21
108
0
2
11
@daniguardio_la
Dani Guardiola
3 years
@ameernormie @wesbos Wow, man! Are you really gonna let this opportunity pass? Where else are you gonna be able to learn - HTML5 Rocks - coding Algorithm - E.T.C ???
0
0
11
@daniguardio_la
Dani Guardiola
5 months
✨ My deep dive into Lexical state updates is now linked from the official @lexicaljs docs! Article: Thanks @acywatson :)
Tweet media one
2
2
11
@daniguardio_la
Dani Guardiola
4 months
running self-contained typescript files. without installing bun, tsc or npm modules. $ npx bun script.ts the time for TypeScript scripting is now, thanks to @bunjavascript . but something very important is missing 👇
Tweet media one
Tweet media two
1
1
11
@daniguardio_la
Dani Guardiola
3 months
RPC Anywhere already powers multiple projects, including Electrobun by @YoavCodes , and @TeampilotAI . It's still the early days though, so I appreciate any feedback and feature requests you might have!
2
0
11
@daniguardio_la
Dani Guardiola
2 years
@DennisKortsch @AdamRackis every version I've heard of an answer to this has involved not understanding why it exists in the first place, not wanting to follow a simple install guide, and just shitting on OSS devs work bc "yarn bad"
2
0
11
@daniguardio_la
Dani Guardiola
5 months
100% but I haven't seen anyone talk about this one problem... - I want my website to have a dark theme by default. - I also want to respect the user preferences. these two things are COMPLETELY INCOMPATIBLE, which is so annoying to me. why is this? 🧵
@kentcdodds
Kent C. Dodds 🌌
5 months
Stand up for the light mode people. It's an accessibility thing. You're not cool for only supporting dark mode.
29
27
368
1
0
11
@daniguardio_la
Dani Guardiola
5 months
@biomejs Tailwind class sorting in @biomejs - update #5 The tailwind spec is now auto-generated from a tailwind.config.js file. This means that, in the simplest situation, the sorter already works! 🎉 Next goal: creating a preset with all of Tailwind's built-ins.
Tweet media one
1
2
13
@daniguardio_la
Dani Guardiola
3 months
@kyleshevlin I would extend this rule to all "external/outer" styles, like flex child properties and z-index.
2
0
11
@daniguardio_la
Dani Guardiola
2 months
0
0
10
@daniguardio_la
Dani Guardiola
5 months
@uuuuunai @kareem_carr it does because the meaning of √x is "the positive real number that, when squared, results in x". it's a definition. just like √-x has its own (separate) definition.
0
0
10
@daniguardio_la
Dani Guardiola
4 months
@tomlienard @codesandbox yeah i was stumped by this too. doesn't make any sense. should be the other way around. glad that I've been using @stackblitz instead more and more.
2
0
9
@daniguardio_la
Dani Guardiola
5 months
@adamwathan do you use the greyscale filter function, or manually set different colors?
2
0
10
@daniguardio_la
Dani Guardiola
2 years
@DistroHopper39B Now do the opposite and we're golden.
0
0
10
@daniguardio_la
Dani Guardiola
1 year
It will walk you through the solution and ask questions so that you can work it out yourself rather than just get the answer. It will answer questions with very good accuracy and good explanations. Mistakes are rare and easy to correct. SO GOOD!
1
2
10
@daniguardio_la
Dani Guardiola
3 years
bro just hear me out statecharts
1
0
9
@daniguardio_la
Dani Guardiola
5 months
is there anyone over at @tailwindcss I can get in touch with? i mostly have questions about tailwind internals + seek feedback on design decisions/compromises. cc @adamwathan ? :)
@biomejs
Biome
5 months
Tailwind class sorting is progressing. @daniguardio_la has just submitted their PR!
7
11
194
1
0
9
@daniguardio_la
Dani Guardiola
4 months
my first Rust code ever, and my first contribution to @biomejs . feel good man. now if only i could do Rust full-time :) *cough*hireme*cough*
@biomejs
Biome
4 months
We just published a nightly release that contains the CSS utility class sorting! Please read the documentation to understand expectations, limitations and works. All credits go to @daniguardio_la , who made their first contribution to Biome!
5
12
117
1
1
9
@daniguardio_la
Dani Guardiola
4 months
@SergiiKirianov latest development
@daniguardio_la
Dani Guardiola
4 months
what a surprise
Tweet media one
1
0
1
3
0
9