Chris K Wensel

Chris K Wensel

@chris.wensel.net

Developer of: - https://retrofit.sh - https://chris.wensel.net/project/ Co-Organizer of https://lu.ma/sf-distsys

1.7K followers219 following381 posts

This release improves state lookup against tools that return json, and other minor improvements. In our limited test data (80 pipeline runs, same model, two weeks either side), we're seeing a 33% drop in turns and a 47% drop in context tokens in the resolve step. YMMV.

Chris K Wensel reposted

I actually wonder whether the Autor/Thompson complex Jevons analysis applies to mathematics, and in the coming 5-20y, *more* people will be doing math, rather than less, because it dramatically lowers the barrier to entry, and opens the field, when the degree of required effort / dedication drops?

jake@yetanotheruseless.com

It's a little more subtle than that. I think I mostly agree with Christian Szegedy's point of view on it: docs.google.com/document/d/e...

Chris K Wensel reposted

Software engineering is now about being able to make quality decisions around architecture, design, and technology. The actual engineering all along, the code just was in the way.

Chris K Wensel reposted

"AI is steadily reshaping parts of the U.S. economy in ways that aren’t immediately obvious. Zooming in on those changes reveals how the AI investment boom is creating economic dynamism but also instability." via @shiraovide.bsky.social www.washingtonpost.com/technology/2...

washingtonpost.comThe unexpected ways that AI is reshaping the U.S. economyThe technology is bringing new prosperity to certain parts of the economy, but also creating new vulnerabilities.

And if a later table or column rename is recorded in the log, retrofit will create the snapshot with the renames so the datasets do not need to be recaptured with the new names. This works because when we capture the dataset, we also capture where in the change history, the version, it was captured.

We see this data as layered. You may have a baseline dataset, but you usually also want to layer on additional fixtures to support different use scenarios or set the foundation for a regression test suite. retrofit lets you compose a final dataset by declaring what is to be included via labels.

The metadata within the datasets also informs the composition. A table in one dataset, for example, may declare that it appends rows to an earlier dataset declaration, or it may outright replace that table. retrofit honors this and composes a snapshot with exactly what was requested.

Seed data is the data you use to initialize a developer database instance or a CI/CD test suite. We treat reference data as part of the schema, it’s versioned and made tamper evident. Seed data never goes to production, it is a stand-in representative of your production data, warts and all.

Additions (or updates) to the reference table are captured in a new file and pinned against the current DDL version. So a migration between the two points in the schema history will result in a script that only applies the changes (adding the new currency to the currency table).

A downgrade will just remove the record(s). If a column or table is renamed that holds the reference data you don’t need to capture it again, the renames will be applied when the snapshot or migration script is rendered.

Reference data is the data that apps only read, and never write, like zip codes and states. This includes data that might change slowly over time, like an order status label, or even currencies. There are a lot of different strategies to manage this data in migration scripts and data files.

Retrofit can capture reference data and pin it to a specific version of your schema. By default, it is included when rendering a snapshot or migration script. If witnessed and sealed, the data cannot ship if changed underneath, retrofit will detect the edit and refuse.

Chris K Wensel reposted

Very much enjoying this “GPU glossary” mini-book by Modal I got from Can Duruk when stopping by at Modal’s NYC office. I don’t know if the physical books can be purchased, but the book has an online version, as I learned; with the same contents: modal.com/gpu-glossary

Chris K Wensel reposted

I’ve literally seen this in the wild. Had exec say they needed “real time data” … I knew they didn’t. Tech team was architecting Kafka bullshit so I asked in a meeting “how many times a day do you need this refreshed?” Answer: “once is fine. Twice if you can”

Samuel Wong@samuelwong.bsky.social

Do You Actually Need Real-Time Data? Why “real-time” is often a business requirement that hasn’t been defined yet seattledataguy.substack.com/p/do-you-act...

took my this many days to realize jev was named after William Stanley Jevons of Jevons Paradox fame. I guess I'm laxing on my vitamins.

Hey all It’s Wednesday and we have a new retrofit demo to share: retrofit.sh/demos/rails-... This is similar to the Liquibase and Flyway demos. We inject retrofit into the Ruby/Rails developer workflow. Bootstrapping an existing Ruby project into retrofit is quite trivial.

retrofit.shAdd foreign keys to a Rails polymorphic association with Retrofit · retrofitSee strong_migrations stop a one-migration refactor of a Rails polymorphic association, Retrofit render the five-migration recipe forward and in reverse from one operation log, and Rails run both dire...
View full thread

Check out our extended homepage content to learn how retrofit can help you and your team especially with managing risk where other tools leave gaps. Plus, even stronger support for migration reversal in the coming weeks.

Hey all It’s Wednesday and we have a new retrofit demo to share: retrofit.sh/demos/rails-... This is similar to the Liquibase and Flyway demos. We inject retrofit into the Ruby/Rails developer workflow. Bootstrapping an existing Ruby project into retrofit is quite trivial.

retrofit.shAdd foreign keys to a Rails polymorphic association with Retrofit · retrofitSee strong_migrations stop a one-migration refactor of a Rails polymorphic association, Retrofit render the five-migration recipe forward and in reverse from one operation log, and Rails run both dire...

The win is when you broker all your changes through retrofit, it will render the forward and reverse migration scripts for you that Ruby can run like it always has. One less thing to worry about since Ruby handles so much already but punted the risky stuff back to the developer.

Finally we merge (rebase!) all the branches, confirm there were no structural conflicts during the merges, and again test the combined up and down migrations. If you or anyone on your team would be interested in getting early access, have them sign up on our website. Please share!

Also, I’m not sure what we can pull off, but making reference data (data in tables your application only reads) first class and versioned with the schema is one of the harder problems we are currently designing and testing. Hope to have a demo of that soon.

In this demo, we show a user manually testing both the up and down migrations against a production shaped snapshot before merging them locally. In one of the branches, retrofit stops a migration because one of the schema changes would result in a dropped column, so it’s skipped.

Chris K Wensel reposted

Wrote about the etto principle, the Efficiency-Thoroughness Trade-Off, in the age of ai. tl;dr: I think ai tools lower the cost of both, but the focus in the tooling is all on efficiency. And the costs and benefits are not paying out to the same people. dev.karltryggvason.com/the-etto-pri...

dev.karltryggvason.comThe ETTO Principle - Efficiency-Thoroughness Trade-Off - in the age of AIThe ETTO principle refers to the fact that people (and organisations) as part of their activities frequently – or always – have to make a trade-off between the resources (primarily time and effort) th...

Chris K Wensel reposted