sophie alpert
sophiebits.com
sophie alpert
@sophiebits.com
10K followers 230 following 480 posts
you have the ability to understand things principal engineer, react person, super gay, still masking
Posts Media Videos Starter Packs
h/t @simonwillison.net for writing a lot about AI security
More blogging! I don't want AI agents controlling my laptop. Not because that's not useful, but because it's incredibly hard (impossible?) to do securely: sophiebits.com/2025/09/09/a...
I don’t want AI agents controlling my laptop
sophiebits.com
yes! I didn’t realize until this week that it used similar techniques
no need to deviate from the style you use for everyone!
love it! (btw I use she/her pronouns)
probably cases where all three make sense! I know some providers eg Materialize also offer subscriptions on top of materialized views so you can have both in the same system
I wonder why you still need memory turned on at the account level to enable it!
I keep getting into conversations with engineers where I talk about how desperately I want my database to support materialized views with incremental updates and too often I get a blank stare in response.

so I wrote a new post about why you should care! sophiebits.com/2025/08/22/m...
Materialized views are obviously useful
sophiebits.com
right now I'm at Clay! hiring mostly in NYC and SF only for now www.clay.com/jobs
Open roles at Clay | Clay.com
www.clay.com
"there’s no way to get at those thinking traces via the API; all you get is silence" — this isn't true, you can pass {"reasoning": {"summary": "auto"}} in Responses API to get similar "thinking summaries" streamed
you gotta say which processes!
if you’re seeing it in screen recordings then it’s probably this

if you’re seeing it IRL then idk maybe something else
I have a confession to make. I've gone back and forth on whether to say anything, but I can't keep quiet any longer—not only does this look bad, it makes no sense. Please stop doing the cursor-smoothy effect that Screen Studio does. It's so bad. Not how hovering on things works!! Hello!
(logos are kimi, deepseek, qwen, openai, anthropic, gemini)
A provider component like in your screenshot makes this mostly moot.
so that if `theme` changes and App rerenders, then it won’t also rerun MainContent and its children and their children, just the descendants that actually listen to the theme.
I’m pretty sure what I meant is like if you have

function App() {
const [theme, setTheme] = useState();
return (
<ThemeContext value={theme}>
<MainContent route={…} />
</ThemeContext>
);
}

then you want MainContent to have a memo()…
you’re just like Padparadscha
you can always do the “5 whys” in your incident review but be careful about going past that because after like 8 whys it’s just “capitalism”
Reposted by sophie alpert
every time you think "maybe I should add a layer of caching in the application", take that energy and make the database faster instead
every time you think "maybe I should add a layer of caching in the application", take that energy and make the database faster instead