π¦Έ Community Superhero
Our community superhero this week is Lee Harding, founder of Proxylity and AWS community Builder. Lee is a wonderful writer and the biggest advocate for UDP I have ever seen (in a good way, of course). His ideas are novel and creative, and his writing style is easy to follow and entertaining. Thank you for everything you do, Lee!
π― Spotlight
Have you ever needed to download hundreds of files from S3? Sure, you could do it one at a time but that’s incredibly impractical. Generally, your answer is to put the files in a zip and download that in one shot. But how do you get your files in the zip? You certainly can’t do it in Lambda… or can you? Turns out you can, and JΓ©rΓ©mie Rodon showed us exactly how he did it in Rust in a brilliant article that has technical depth, easy-to-understand diagrams, and great storytelling. My favorite part of this is how impressively fast it is. He was able to zip 3000 files totalling 15GB in 215 seconds π€―! It’s been a long time since I’ve seen such a thoughtful, well-presented piece like this. Wonderful job!
π₯ My Favorite Content
It was only a matter of time before we start trusting AI agents with money. The turning point (kind of) came last week when got a deep dive into AgentCore payments. The post talks about how agentic commerce is shaping up and goes into the technical weeds on how the AgentCore team designed payments with plenty of checks and balances. I really like how it explains the landscape, then goes into the challenges with solid answers to them. While I don’t think everyone is going to jump headfirst into this, it’s feeling like we’re at the point now where we’re ready for it.
I published a blog post last week talking about using two types of caching to improve agent performance. The post goes through how and why agents are burning through tokens by simply repeating themselves, and how you can use both exact-match and semantic caching to lower costs and get results faster. They say the two hardest things in computer science are cache invalidation and naming things, so while it might be simple to throw a cache in front of your AI model and call it a day, there are still strategies you need to consider to prevent serving stale data.
Ran Isenberg published an article last week making observations about how AI changed how we build, but processes are yet to follow. He covers how the AI software development life cycle has fundamentally changed how engineers operate, but in many cases, we’re still trying to run things the same way we always have. What happens to sprints when a single engineer can do a “sprint’s worth of work” in 2 days? How do we get coding agents to get repo-spanning context for bigger builds? While Ran doesn’t have all the answers to questions like these (who does?) they’re good to bring up and start figuring out what we need to do to adjust to the new way of coding.
Here’s a problem I know many of us have had at one point or another: consistent structured outputs from an LLM. Sometimes you get exactly what you’re looking for, other times you get the property names slightly changed, and others still might wrap your json with backticks (`). Paul Santus shared an article last week on how he manages this problem. He uses tool calls to structure outputs instead of relying on the response itself. I’m inclined to agree, and have found success with this approach many times. Paul’s article explains the problem well, but also goes into why alternatives still aren’t perfect. It’s a well-rounded piece that covers all the bases.
π‘ Tip of the Week
The Middy team has been absolutely crushing it recently. Will Farrell posted on LinkedIn last week about a huge update for the middleware package that integrates directly with a dozen new AWS services. Great job everyone!
Last Words
This was a low week for content, but I really like what I saw! I’m so encouraged by the amount of developers sharing their first-time experiences and the lessons they learned from building something themselves. But here’s my monthly reminder to keep your personality. Nobody wants to read the LLM-generated blog post that sounds like everyone else. Put your words, humor, and character into it. It goes a long way in an age that’s starting to crave humanisms.
That’s my take on the week, but what’s yours?
What did I miss? What made you nod along (or π)? Hit reply if you’re reading the email. Prefer socials? Ping me on Twitter, LinkedIn, or email.
Happy coding!
Allen