Daniel O'Connor (@_danoc) header
Daniel O'Connor (@_danoc) profile picture

Noodling on https://xitter.cf/t.co/Q9MaP9CWW0, a meal planning app. Previously a principal engineer @Thumbtack. Eu falo português.

New York
Joined July 2011
Photo by Daniel O'Connor (@_danoc)
Daniel O'Connor retweeted
theres 2 pms at wispr and granola battling it out rn
16
13
5
817
55,475
Daniel O'Connor retweeted
Breaking News: Luiz Inácio Lula da Silva defeated Flávio Bolsonaro to stay president of Brazil, halting the right’s march in Latin America. Follow live updates. nyti.ms/4iFMwIg
1,687
9,886
669
47,374
1,562,923
Daniel O'Connor retweeted
Me and the rest of the incident responders watching Claude cook
8
30
4
704
32,064
Daniel O'Connor retweeted
something that keeps bothering me is how some people see slop as something that is happening to them, like they're some kind of helpless bystander powerless to do anything about it excuse me but you are a software engineer, you literally learned how to make sand think and make computers do your bidding?! and now you can't do anything about it? please the 2 things you should know to cut through all the noise: 1. you need to give your agent a way to verify its own work (i just posted about this so won't rehash) 2. your codebase is memory the 2nd is not new either, we have always had lint rules, compilers with good diagnostics and strong type systems, LSPs, etc to help us write better code. there is no difference when agents write the code instead, you just need more of them, and stronger ones. forget rules and skills. you can add those later. yes, your codebase is a form of memory to agents! agents love extending what already exists. so every nit and every annoyance you've ever seen, every mistake and bad pattern you observe from agents, needs to turn into a constraint, or the agents will just keep repeating those same mistakes like a virus in your code. then you keep observing and repeating this process until your codebase is locked down enough that even agents with little context can one shot a high quality PR. an even better direction is to refactor/rewrite your code such that agent anti-patterns become categorically impossible. use type systems to your advantage, use libraries/frameworks that reduce the architectural search space, or heck, create your own framework like we did for grok bot and design high quality primitives and well thought out APIs
the slop conversation is so one sided, it's not just that you can produce more code you can also observe, debug, and refactor more code even if the code is slop you have such good tools to deal with it. even if you write code manually, it's still 100x easier to maintain it
231
340
103
4,622
334,873
Daniel O'Connor retweeted
the more ai can make, the more companies want you to know a human made it
Welcome home. October 13.
18
233
5
3,850
76,319
Daniel O'Connor retweeted
a session you compacted 157 times is like a seasoned cast iron pan
87
250
30
6,047
171,305
Daniel O'Connor retweeted
engineers being upset at the level of abstraction new engineers operate at is a tale as old as time.
72
286
28
5,371
224,611
It’s interesting to see the recent chatter on Tailwind and @stylexjs. (@poteto also had a great post recently that, among other things, mentioned that Cursor recently made the move.) Two thoughts: 1. Tailwind, by default, makes it easy to deviate from a design system. But this has been the case for years! I prefer stricter APIs, but many folks saw this as a feature, not a bug. Do agents change the math here? 2. The productivity benefits of atomic CSS don’t matter in agentic development. Agents don’t benefit from the shorthand provided by authoring in atomic CSS. In fact, they probably do better with StyleX than a heavily themed + customized Tailwind setup.
After about a ~decade with atomic CSS frameworks (BuzzFeed Solid, Basscss, and then finally Tailwind), I think I'm convinced now that Stylex is superior for agents. Stylex constraints lead to greater consistency and correctness as your codebase grows. I do still think Tailwind is the ideal human DSL for styling, but in a world where I'm barely touching CSS/class names by hand, the tradeoffs have changed. Again, if I were still hand writing code, Tailwind still wins, but we're not doing that anymore.
1
2
709
Enzyme to React Testing Library is the perfect AI-driven migration. The models are trained on both frameworks, the problem is well defined, and the solution is easily verifiable.
Rofl that both OpenAI and Asana management believed that it would take FIVE years to migrate Enzyme to React Testing Library. What amusing BS! I imagine it went like this: Manager: “How long will it take? Give me SOMETHING” Dev (annoyed): “FIVE YEARS OK?? Now leave me alone.”
1
187
Recently wrote a blog post for @figma about building a layered design system. Take a look! 👀
Wondering how to maximize your design system's potential? In his latest for Shortcut, Staff Software Engineer @_danoc peels back the layers of @thumbtack's design system, Thumbprint, to show how they built it for flexibility and efficiency: bit.ly/44yecFy
7
898