Hojjat Jafarpour lives with his family in California. He got his PhD in databases and data streaming, back when the landscape was different and data streaming wasn't "cool" yet. He was an early member at Confluent, but also spent time at Quantcast, Informatica, and NEC Labs. Outside of tech, he has a family with young kids. He enjoys traveling, and can't wait until the kids are old enough to take on big trips.
Hojjat joined Confluent in their early days. He was on a project that built out kSQL, which was a key cornerstone of Confluent. As these were the early days of stream processing, he started to think about ways to make it easier - to make this sort of tech available without all the infrastructure.
CodeCrafters helps you become a better engineer by building real-world, production-grade projects. Learn hands-on by creating your own Git, Redis, HTTP server, SQLite, or DNS server from scratch. Sign up for free today using this link and enjoy 40% off.
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
After careful deliberation, the Python Steering Council is pleased to accept PEP 798 – Unpacking in Comprehensions.
Examples
[*it for it in its] # list with the concatenation of iterables in 'its'
{*it for it in its} # set with the union of iterables in 'its'
{**d for d in dicts} # dict with the combination of dicts in 'dicts'
(*it for it in its) # generator of the concatenation of iterables in 'its'
Inferred by default for string data (instead of object dtype)
The str dtype can only hold strings (or missing values), in contrast to object dtype. (setitem with non string fails)
The missing value sentinel is always NaN (np.nan) and follows the same missing value semantics as the other default dtypes.
Copy-on-Write
The result of any indexing operation (subsetting a DataFrame or Series in any way, i.e. including accessing a DataFrame column as a Series) or any method returning a new DataFrame or Series, always behaves as if it were a copy in terms of user API.
As a consequence, if you want to modify an object (DataFrame or Series), the only way to do this is to directly modify that object itself.
pd.col syntax can now be used in DataFrame.assign() and DataFrame.loc()
You can now do this: df.assign(c = pd.col('a') + pd.col('b'))
Like codespell, typos checks for known misspellings instead of only allowing words from a dictionary. But typos has some extra features I really appreciate, like finding spelling mistakes inside snake_case or camelCase words. For example, if you have the line:
*connecton_string="sqlite:///my.db"*
codespell won't find the misspelling, but typos will. It gave me the output:
For more on the differences between codespell and typos, here's a comparison table I found in the typos repo: https://github.com/crate-ci/typos/blob/master/docs/comparison.md
By the way, though it's not mentioned in the installation instructions, typos is published on PyPI and can be installed with uv tool install typos, for example. That said, I don't bother installing it, I just use the VS Code extension and run it as a pre-commit hook. (By the way, I'm using prek instead of pre-commit now; thanks for the tip on episode #448!) It looks like typos also publishes a GitHub action, though I haven't used it.
Ned’s taught us before to “Mock where the object is used, not where it’s defined.”
To be more explicit, but probably more confusing to mock-newbies, “don’t mock things that get imported, mock the object in the file it got imported to.”
See? That’s probably worse. Anyway, read Ned’s post.
If my project myproduct has user.py that uses the system builtin open() and we want to patch it:
DONT DO THIS: @patch("builtins.open")
This patches open() for the whole system
DO THIS: @patch("myproduct.user.open")
This patches open() for just the user.py file, which is what we want
Apparently this issue is common and is mucking up using coverage.py
Ryan is joined by Kayvon Beykpour, CEO and founder of Microscope, to dive into AI-powered code review’s potential for managing large codebases, the need for humans-in-the-loop for reviewing PRs so AI tools can efficiently and effectively debug, and how AI can increase visibility through summarization at the abstract syntax tree level and high signal-to-noise ratio code reviews.
Episode notes:
Macroscope helps you understand your code through AI-powered code review, automated PR descriptions, and real-time status reports
Today, we are kicking off a new series, entitled Developer Chats - hearing from the large scale system builders themselves, sponsored by our friends at Beyond Tech. Beyond Tech is a top tier consulting company, specializing in creating portfolios for tech and science professionals seeking the UK Global Talent Visa.
In this episode, we are talking with Svyatoslav Babinets, Engineering Manager at Meta. Svyatoslav helps to illuminate teh approaches he takes when building larger scale systems, connecting millions of users, and motivating users and developers alike.
Questions
You’ve worked on everything from large-scale multiplayer worlds to social technologies that power digital presence — how did that journey shape the way you think about engineering today?
You’ve worked on systems that connect millions of users across different platforms and products. How do you design architecture that supports high development velocity in large teams while still delivering experiences that delight users?
In your experience, what helps large companies move faster without sacrificing quality? Can you share how approaches like Virtual mission squad enable cross-functional collaboration across different disciplines and tech stacks?
As systems and teams grow, platform solutions often become the glue that holds everything together. How do you approach designing and implementing platform architecture that supports autonomy while keeping the whole ecosystem consistent?
From your experience, where do culture and infrastructure intersect? What kinds of engineering decisions are really decisions about trust, not technology?
You’ve worked both in games and in metaverse projects. What do these worlds teach us about building systems that feel alive — where motion, identity, and emotion all need to synchronize?
Large-scale systems evolve constantly. How do you design for long-term adaptability — ensuring that architecture remains flexible and scalable as product and user demands grow?
Looking ahead, how do you see the future of human–digital interaction? What should the next generation of engineers focus on — performance, presence, or empathy?
Ranjan Roy from Margins is back for our weekly discussion of the latest tech news. We cover: 1) AI Device Wars are here 2) Apple loses its head of user interface design 3) Meta's chances in the AI device wars 4) Apple's Ai device will only be as good as the assistant 5) OpenAI's AI device could work? 6) Amazon's Alexa+ is underrated 7) Google Glass returns? 8) Is the Metaverse dead? 9) Code red at OpenAI 10) Anthropic gains in enterprise AI adoption 11) Netflix to acquire Warner Brothers Discovery 12) Kalshi and CNN team up
---
Enjoying Big Technology Podcast? Please rate us five stars ⭐⭐⭐⭐⭐ in your podcast app of choice.
Want a discount for Big Technology on Substack + Discord? Here’s 25% off for the first year: https://www.bigtechnology.com/subscribe?coupon=0843016b
From Big Technology on Substack: The AI Device Wars Just Kicked Off In A Big Way https://www.bigtechnology.com/p/the-ai-device-wars-just-kicked-off
Questions? Feedback? Write to: bigtechnologypodcast@gmail.com
Spriha Baruah Tucker has spent time in a number of places - growing up in India, attending boarding school in Singapore, and now living in San Francisco. She spent many years at Google, before founding her own startup called Aviator. Outside of tech, she really likes music, having a soft spot in her heart for Bollywood, but really digging into the jazz world these days. She enjoys the guilty pleasure of trashy romance TV, and tends to travel to get the best food - her favorite being Nashville.
Spriha was a founder at Aviator, and was made aware of her current company while serving her customers. He noticed that all of her customers who used this platform absolutely adored it, to the tune of making infomercials for the platform. She reached out to the founder to let him know... and the rest is history.
CodeCrafters helps you become a better engineer by building real-world, production-grade projects. Learn hands-on by creating your own Git, Redis, HTTP server, SQLite, or DNS server from scratch. Sign up for free today using this link and enjoy 40% off.
Ryan is joined by Outshift by Cisco’s VP of Engineering Guillaume De Saint Marc to discuss the future of multi-agent architectures as microservices, the challenges and limitations of the infrastructure for these multi-agent systems, and the importance of communication protocols and interoperability in order to build decentralized and scalable architectures.
Episode notes:
Outshift is Cisco’s tech incubator that pursues emerging technologies like agentic AI, quantum computing, and next-gen infrastructure. Learn more about multi-agent architecture at their open-source collective AGNTCY.
Gajus Kuizinas lives in Mexico City, and travels between there, New York and San Francisco. He had a non-traditional upbringing for an engineer, as all of his family were into the arts - so he had to make his own way. He started in Lithuania, and eventually was recruiting to setup computers and networks for dating platforms. Eventually, he got into freelancing, and started his first startup in the UK. Outside of tech, he has a garden, which doubles as an ecosystem for his free roaming hedgehog and bunny.
Gajus started to think about the arc of becoming a freelancer. He realized that everyone who goes through a journey as a freelancer feels like a cog in the machine, and falls off the marketplaces out there. He realized that there was a massive vacuum and gap in the internet for these folks that needed to be filled.
CodeCrafters helps you become a better engineer by building real-world, production-grade projects. Learn hands-on by creating your own Git, Redis, HTTP server, SQLite, or DNS server from scratch. Sign up for free today using this link and enjoy 40% off.
Evan Hubinger is Anthropic’s alignment stress test lead. Monte MacDiarmid is a researcher in misalignment science at Anthropic.The two join Big Technology to discuss their new research on reward hacking and emergent misalignment in large language models. Tune in to hear how cheating on coding tests can spiral into models faking alignment, blackmailing fictional CEOs, sabotaging safety tools, and even developing apparent “self-preservation” drives. We also cover Anthropic’s mitigation strategies like inoculation prompting, whether today’s failures are a preview of something far worse, how much to trust labs to police themselves, and what it really means to talk about an AI’s “psychology.” Hit play for a clear-eyed, concrete, and unnervingly fun tour through the frontier of AI safety.
---
Enjoying Big Technology Podcast? Please rate us five stars ⭐⭐⭐⭐⭐ in your podcast app of choice.
Want a discount for Big Technology on Substack + Discord? Here’s 25% off for the first year: https://www.bigtechnology.com/subscribe?coupon=0843016b
Questions? Feedback? Write to: bigtechnologypodcast@gmail.com
Today, we are dropping our final episode in the series "The Railsware Way", sponsored by our good friends at Railsware. Railsware is a leading product studio with two main focuses - services and products. They have created amazing products like Mailtrap, Coupler and TitanApps, while also partnering with teams like Calendly and Bright Bytes. They deliver amazing products, and have happy customers to prove it.
In this series, we are digging into the company's methods around product engineering and development. In particular, we will cover relevant topics to not only highlight their expertise, but to educate you on industry trends alongside their experience.
In today's episode, we are speaking with Oleksii Ianchuk, Product Lead at Railsware, specifically for Mailtrap. Thought he doesn't like to limit his activities to product development, Oleksii has spent six years in product and project management, and is keen on searching for insights and putting them to work, as well as gauging the effects of his input.
Questions:
The story of Mailtrap starts with accidentally sending test emails to real users in 2011. How did Mailtrap evolve from an internal "fail" to a platform serving hundreds of thousands of users? How did that mistake spark the creation of Mailtrap, and what lessons did you learn about turning problems into opportunities?
What made you decide to expand from email testing into Email API/SMTP delivery - and why was it harder than expected? What specific challenges around deliverability, spam fighting, and infrastructure caught you off guard?
Can you walk us through the "splitting the product" mistake and its long-term consequences? Your team decided to separate testing and sending into different repositories and isolated VPC projects. What seemed like a good engineering decision at the time - how did this create problems as you scaled, and what would you do differently?
You spent a year struggling with Redshift before switching to Elasticsearch - what did that teach you about technology decisions? You ran tests, evaluated alternatives, and still picked the wrong database for your use case. How do you balance thorough research with the reality that you can't always predict what will work until you're in production?
When do you buy external expertise versus rely on your internal team? How do you decide when to hire outside knowledge, and how do you find the right consultants for niche problems?
Why didn't existing Mailtrap users immediately adopt the Email API/SMTP feature, and what did that teach you?
You expected current users to quickly transition to the new sending functionality. What did you learn about switching costs, user perception, and the challenge of changing how people think about your product?
What business insights around deliverability, spam prevention, and compliance surprised you most?
Email delivery isn't just about infrastructure - there's a whole ecosystem of postmasters, anti-spam systems, and compliance requirements. What aspects of this business were most unexpected, and how did they shape your product strategy?
Looking at Mailtrap's 13-year journey, what's your philosophy on "failing fast" versus "building solid foundations"?