Ryan Florence

18.4K posts

Ryan Florence banner
Ryan Florence

Ryan Florence

@ryanflorence

📘 Latter-Day Saint 👩‍❤️‍👨👧🏽👦🏼👦🏽 Proud family man 💿 @remix_run at @shopify 🚤🏂🎸🧑‍💻⚽️🎾🍉🇺🇸

Katılım Mayıs 2023
445 Takip Edilen29.8K Takipçiler
Ryan Florence
Ryan Florence@ryanflorence·
@dustinharding Probably just OpenClaw and gave it access to 1Password, pretty normal case. Should really only give it access to a group of passwords you share with it.
English
0
0
0
5
Dustin Harding ✨ awakendaysaint
I don't know the details of how the AI got access. I use AI a ton but not the agentic models. I do know, however, it started approving expenses. Thinking through through it a bit more, I believe this is most likely the flow of events. 1. He was already logged into the website. 2. He thought, why don't I ask Claude Cowork to search through these pages and assess the ward finances and check for any invalid expenses. 3. He gave AI the permissions to do so. 4. The AI got a little trigger happy and decided to approve the expenses it assessed as valid.
English
4
0
5
1K
Dustin Harding ✨ awakendaysaint
I know of a Bishop who uses an AI assistant for work. One day he used the assistant to audit the ward finances. Then, without asking, the AI decided to further assist by logging into his church account and approving expenses…
English
20
1
33
9.5K
Rousseau Kazi
Rousseau Kazi@rousseaukazi·
what's a thing you no longer say because of ai?
English
4
0
6
1.1K
Ryan Florence
Ryan Florence@ryanflorence·
@thdxr Kent sent me a text asking if he could come over to show me some of his recent gooning
English
1
0
8
453
dax
dax@thdxr·
wait does gooning not mean coding?
English
42
7
134
7.6K
Ryan Florence
Ryan Florence@ryanflorence·
I should build a personal blog with Remix 3
Ryan Florence tweet media
English
5
0
27
1.2K
Ryan Florence
Ryan Florence@ryanflorence·
@WarrenInTheBuff Amen. I turned off all notifications on my phone except texts from my wife and kids. It's glorious. Wish we could go back to the days that the only way to interrupt somebody was to ride your horse to their house all morning and knock on the door.
English
1
0
7
627
WarrenBuffering
WarrenBuffering@WarrenInTheBuff·
I know I almost never go on rants, but I have one that's nagging at me...What is this ever-connected culture we've cultivated Work has 6 different platforms, social media is a few, selling stuff on the internet is a few more. Don't forget to check your emails. Also there's a new Teams message you missed. Did you check your Google calendar? Not sure it's in sync with your Outlook and Notion calendars. Thankfully there's a plugin for that on Slack, unfortunately it only works half the time. You might have a meeting in 15 minutes btw, your smartwatch will probably let you know but it depends if Slack's CRON fires on a semi-regular interval. Your mom is calling and your dad just sent you a text. Meanwhile your wife sms'd how you were doing 2 hours ago and asked you to pick something up from the store, plz don't forget it. The mail carrier just showed up, open those letters on time, they literally say time sensitive right there on the envelope. Yeah it's for a 5% off coupon at the local dealership but it *does* expire tomorrow. Push notif new video just dropped, you gotta watch it you wouldn't believe what this means for your livelihood. Your computer is warning you about the time you spent in meetings so you get in the car to catch a breath, but your car is cataloguing and prioritizing your messages and calls, to help I reject this reality and would switch to a flip phone if they still made them. Thankfully it looks like I get to build one myself And I don't even have Discord, for very intentional reasons. Yeah I'm just out on all of this shit. Find me in real life or hit me on the flip phone whenever I finally finish it
English
12
3
32
1.4K
Ryan Florence
Ryan Florence@ryanflorence·
Remix 3 mixins are like components for element behavior. One thing I love about them is it gets rid of the awkward as/asChild composition dance.
Ryan Florence tweet media
English
18
1
111
50.2K
Ryan Florence
Ryan Florence@ryanflorence·
@BrooksLybrand the old mixin implementation was slop, I knew it was and always intended to come back to it, this UI was the perfect test bed to fix it
English
0
0
9
658
Brooks Lybrand
Brooks Lybrand@BrooksLybrand·
@ryanflorence What was the issue? Was it something the LLM did or something in remix itself?
English
1
0
2
693
Ryan Florence
Ryan Florence@ryanflorence·
I fixed the Remix animateLayout interruption jank, looking good even at 4x CPU slowdown! Literally just mix it in and it just works. It uses FLIP with DOM el.animate() <div mix={[ blockStyles, animateLayout(spring()) ]} />
English
8
5
170
13.8K
Ryan Florence
Ryan Florence@ryanflorence·
There's a ton of type and runtime boilerplate for asChild/as props that simply doesn't exist with mix. It handles the composition for you. Mixins have other characteristics outside of being a replacement for "as props" for example, calling handle.update() only updates the node and not the the tree below it, allowing for some nice optimizations
English
0
0
2
102
Thomas Shaddox
Thomas Shaddox@tshddx·
@ryanflorence @jjenzz I can see some aesthetic arguments in favor of mix, but are there any major technical differences between the two? I would guess that they both have similar pitfalls regarding order-sensitivity and type safety.
English
1
0
0
102
Ryan Florence
Ryan Florence@ryanflorence·
@ryan_tipps @staysaasy depends on the engineer but many just don't have that mindset, the code is the thing they love, not the product
English
0
0
1
49
Thomas Shaddox
Thomas Shaddox@tshddx·
@ryanflorence I meant to type “12 months,” but “13 months” looks very weird and nebulous
English
1
0
0
12
Ryan Florence retweetledi
React Router
React Router@ReactRouter·
React Router 7.15.1 is now available! This release introduces a new useRouterState (unstable) hook which consolidates access to active and pending router states. We've also corrected useFetchers to now return a stable identity and fixed several other outstanding bugs.
React Router tweet media
English
1
11
64
5.3K
Ryan Florence
Ryan Florence@ryanflorence·
@aboodman I'm referencing all of us. We all think we have it figured out, and then we realize we actually don't eight hours later on a different domain.
English
0
0
1
451
Ryan Florence
Ryan Florence@ryanflorence·
@rjs I was talking to @tobi about git histories and squashing, he was adamant that you keep every commit, that history tells the story and agents can get the utility out of it
English
1
0
0
523
Ryan Singer
Ryan Singer@rjs·
Thinking about all the times when I'm working on a design, and I see a misfit. So I do something to fix it ("ensure the categories are always shown in the same sequence so you can compare across entries...") but there's no trace of the fact that the misfit happened and was solved. Meaning it can easily be lost later when we implement or change something. Wonder if we might soon be able to have AI capture a misfit history as we work, effectively populating a test suite to catch regressions later.
English
4
0
6
2.2K
Ryan Florence
Ryan Florence@ryanflorence·
@aboodman I think I agree. The question I have is how many code products do we actually need. What level of abstraction is enough and what level is too much. It's easy for me to believe the things I'm best at are the right level, but ofc that can't be true generally.
English
1
0
2
881
Aaron Boodman
Aaron Boodman@aboodman·
OK fine here is my thought. To a close approximation: - When code *is* the product, you are going to want expert human engineers carefully controlling the result to maximize reliability - When code is a means to an end, you won't Notice that this rule can be run in reverse: because humans control the result of products that are code, I theorize you'll see increased demand for "productization" of more and more infra. Basically a bifurcation of the software space: infrastructure and slop. And I don't mean slop in a disparaging way. There will be lots more quick software getting written by everyone. It won't ever be perfect, but it will get the job done. But in order for this to work well, it needs to sit on an absolutely solid foundation. More solid than the software community has produced before. This foundation will be very carefully managed by expert practitioners. It will have to be, because we will have 1000x more software running on it than we ever have before, created autonomously.
English
5
5
70
5.7K
Ryan Florence
Ryan Florence@ryanflorence·
is the placeholder for the element the app rendered, so you can do anything you want with it. It's exactly like a component except you can't provide context or children, but otherwise can put whatever you want on the element. let myMixin = createMixin((handle, type) => { // type "div", "a", etc. // handle.update() // handle.context.get(Parent) return (...args, props) => { return } }) The mixins merge all mixins provided by the app and other mixins automatically so there's also no useComposedRefs, useComposedEvents, and all the other wrapping shenanigans and instead you just add the behavior and be done with it
English
0
0
3
174
jenna
jenna@jjenzz·
@ryanflorence ah ofc, you always have access to the underlying element (doh). yeah that's nice. also i hadn't realised `mix` allows you to mix in styles too 👏
English
1
0
1
179