Busting AI Myths and Embracing Realities in Privacy & Security

Mike's Notes

Sobering.

"Katharine Jarmul opened InfoQ Dev Summit Munich 2025 with a keynote on five myths she keeps meeting in AI security and privacy. Guardrails will protect us. Better models will be more secure. A new risk taxonomy will sort it out. One round of red teaming is enough. The next model version will fix it. InfoQ wrote a short news story, ‘Five AI Security Myths Debunked at InfoQ Dev Summit Munich’ about the talk." - InfoQ

Presentation video and slides are available on InfoQ.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > InfoQ
  • Home > Handbook > 

Last Updated

12/06/2026

Busting AI Myths and Embracing Realities in Privacy & Security

By: Katharine Jarmul
InfoQ: 15/10/2025

Katharine Jarmul focuses her work and research on privacy and security in data science, deep learning and AI. She is author of the well received O'Reilly book Practical Data Privacy and has more than 10 years experience in machine learning/AI where she has helped build large scale AI systems with privacy and security built in..

Summary

Katharine Jarmul keynotes on common myths around privacy and security in AI and explores what the realities are, covering design patterns that help build more secure, more private AI systems.

Transcript

Katharine Jarmul: We're going to talk about realities and myths when we think about privacy and security in AI and machine learning systems. Who here uses some sort of Anthropic-based assistant? The most recent Anthropic report said, for the first time ever, Anthropic is seeing more automation than augmentation. What does that mean? It means less of, can you make this text better? Less of, can you generate this image for me? Less of, what is X? More of, I want you to do A, B, C, D, go do it and come back to me. This is great. This was the promise of AI systems in a lot of ways that we could have 4-day work weeks and we could have relaxed times, and computers will just do stuff for us. That's the whole reason why we're building this.

I don't know if anybody here works in privacy or security as well. How do you feel about this? What's the feeling like right now? It's a little bit like this. Because we're not quite sure yet, there's not best practices yet. We have best practices from privacy and security for many decades now, but it's not yet sure how do we allow things like automation or things like agents or something like this and still provide some semblance of privacy and security. Every privacy and security team, they want enablement, but they also are on the line. Why is this still a problem?

What we're going to talk about is it's difficult to decide in privacy and security in machine learning right now or AI systems, what's real threats and what's relevant threats. That's a real difficulty in today's bubble around AI in a lot of ways. I do a lot of advising, consulting, and trainings at different companies, and a question I always get from privacy and security teams is, who is really an AI expert and do we need them? Obviously, a lot of my work has been in training deep learning models. I have a different understanding of AI than maybe somebody that uses a model.

If at your company you're not actually training models and instead you're using many models, do you really need somebody there who knows how to train a model? I think we can debate, probably not. You have to decide what is AI expertise at your organization and who gets to then exercise that expertise and try to help make these privacy and security decisions. We also unfortunately have a big problem in the privacy and security field, and I will say it out loud, and I don't agree with it, of using fearmongering to sell things. I don't know what your LinkedIn feed is like, but mine is now like, we're all going to get hacked tomorrow by the AI or whatever, and just screaming.

If you scream every single time, eventually, what happens? Nobody listens to you anymore. If you scream just to sell and then somebody buys it and then it doesn't solve all their problems, then also people are less likely to engage with privacy and security topics. Another problem, security and privacy blame culture. The best question that I've found when I go in and I ask the privacy and security team, how's it going at their organization? The first question I ask is, how many incidents do you have per month? What's the right answer? Is the right answer zero? No, why?

Participant 1: Because that means that most likely you are ignoring security incidents.

Katharine Jarmul: Exactly. If people are afraid to come forward and say, I don't know if this is the way I'm supposed to do it. I think I've accidentally leaked this key somewhere or whatever happened, because things happen. If it's zero incidents that are reported, it doesn't mean there's actually zero incidents, it means you don't have a trust culture where people can come forward. You don't have psychological safety around privacy and security.

Perhaps, maybe, either on purpose or on accident, you have this blame culture where people are afraid either they're going to get a bad performance review or they're going to lose their job or they're going to lose respect at the company if they say either, I don't know how to do this right, or if they say, I've made a mistake. We go fight against that. How do we fight against that? We talk about building responsibility, building agency, and building ownership. That's exactly where I mainly focus in and that's what we're going to talk about. How do we build a culture of responsibility and ownership of privacy and security so that it's not weird and scary and not part of your job but instead can be like a normal part of conversations at your work?

Myth1: Guardrails Will Save Us

The first myth we're going to talk about that I think is very big in this space is, guardrails are going to save us. Who here knows what I mean when I say guardrails? Who here feels a little fuzzy, like heard the term, not quite sure where does it live, what does it do? Yes, I'm with you. I work in this field and I feel like I'm number two because guardrails is a term, and we're going to go through all of them, but guardrails are used to create safety and privacy in models or at least to try. Guardrails, we need to disambiguate because it's used for many different things right now, and we need to disambiguate the term so that we can better understand it.

One type of guardrail, probably the first guardrail that really got launched at any scale was software-based guardrails. This is basically like you have an LLM or you have some system and then you basically have an input-output filter, and then you have the software on the other side. This was implemented in the first code assistants because it was found, which we'll get to later, that outputting copyright or private repository code was problematic in things like code assistants, that they were quite good at repeating other people's code verbatim. What happened is these things like very intelligent memory systems like a Bloom filter or whatever, just intelligent memory architecture used to look at the training data and say, this training data is under so-and-so license, or this training data is copyrighted, or we don't quite know if we can use this training data, and find matches and then filter those out, and basically say, stop after a certain amount of tokens. Please stop outputting this copyright or weirdly licensed or unclear licensed content. Sounds reasonable. Should work. Feels like a good solution.

Anybody have any idea how it might not work? How would you break this? Perhaps like the software engineer commits code that should be in private repo in a public, that's definitely one way. Chiyuan Zhang, who is a researcher in the space of privacy in machine learning systems, really easily bypassed this by just changing the variable names to French. This is a copyright, I think Google Code because at the time I believe that he was still researching or working with Google, and just changed the variables to nombre and then no problem, like no problem, can continue. Of course, this gets past the Bloom filter, because it's different enough, and yet for any developer, we could also just ask the LLM, can you translate back to English? It'd be no problem. Or whatever language you're using for your variable names. Great for some things, really good for some things, software-based guardrails, deterministic, useful. Use them, but know their weaknesses.

There's another type of guardrails. If you've ever used Llama Guard or heard of Purple Llama, or probably if you're using a cloud AI vendor, they probably have something like this that you can set up. This I call external algorithmic guardrails. Now we are looking more at the whole system. We have software APIs. We got those input and output processing guardrails, these memory architectures or simple matches that you're looking for. Then between the LLM and those, you have these algorithmic guardrails.

Usually these algorithmic guardrails, they're algorithmic, they're either another machine learning model, like a simple classifier, or they're an LLM-as-a-judge, you might have heard about something like this. Your results may vary, we can talk more about that. This is in charge of saying, I think either this prompt is something we shouldn't answer based on our rules. I think it violates privacy or I think it has to do with crime or I think it has to do with nudity, or whatever it is that your content control should be, or after the LLM processes to flag it on the way out.

Then to replace, I'm sorry, I can't do that request, here's some other stuff that I can talk about. Which means you might have a cycle there. If something comes out that you don't want, you have to re-prompt. How do we get past these? Any ideas? This was a really cool attack, I thought it's called ArtPrompt. It basically takes your words and turns the potential bad keywords into ASCII art. The LLM has seen enough ASCII because it's on the internet. If you ask how to build a bomb and you mask bomb into ASCII text — they've probably fixed this — but you used to be able to get GPT to teach you how to build a bomb. The interesting thing about this is that humans are really smart and they will figure out fun tricks to get around whatever algorithms you put around them. We're naturally curious, we're going to figure it out.

Then you're going, maybe we got to fix the LLM itself. That's where we get back to what most of the large AI vendors are already doing, RLHF or DPO, it's basically fine-tuning, so reinforcement learning with human feedback, and is called now alignment, but it's basically one of the last steps of training. There's a human, they look at things, or sometimes now there's an LLM that looks at things and decide, out of these three options, this is the one that we like the most, and then we use that data to then update the model, so that we get more and more answers that are more and more like what we want and less like what we don't want.

This is actually retraining the model, this is updating weights and biases, this is actually changing the model's behavior. Will it work for everything? No, because there's plenty of data, information in the model that I can activate. I'd asked it, can you build me an IMSI catcher, which is illegal, and then I say, I'm definitely a researcher, and I get the instructions. There are still many ways to bypass even alignment training, and this is just because these things are still in the models that we use. Should we use guardrails? Should we do alignment? Absolutely. Will it save us? Not all the time. Use with care.

Myth 2:  better Performance Will Save Us

Myth number two, better performance is going to save us. Who here's heard this one? When the models get even better, they're going to also know about privacy and security. I get this a lot, it's fine. We're going to take a little bit of a walk through the history of today's largest AI models, and we're going to start with understanding what overparameterization is to some level. Overparameterization means I have more space, I have more parameters in the model than I have data points in my training data. It basically, like computer scientists, developers, it'd be like, you have enough data to fit on a thumb drive, but you instead choose an SSD that's like four times the size. This is essentially the paradigm that we're working in, and this is just an example of parameter size growth over just the GPTs. We have data. We have even more space to save information than we have data. What could happen?

Interestingly enough, as this happened, we also had the death of overfitting, is what I like to call it. We basically stopped overfitting. We used to have something that looked like this, the left side. When you're training a deep learning model, you are watching the test error, and as the test error started to rise, you would make sure it's not just a blip, and then you would do early stopping. You would stop, because you're worried that you would overfit on the training data, and you wouldn't be able to generalize well when you saw new information. That's over now. Now we have models somehow that can overfit to some degree or train a lot on the small amount of data, and yet generalize quite well. This is peculiar from just a science and math point of view. What is happening? Chiyuan Zhang and numerous other really smart, cool researchers have been looking at this problem for a while, and the question at hand is, is learning without memorization possible at this large of a scale? The answer is firmly no.

That memorization will and does happen, and it's just a matter of how much memorization and what information is memorized. Zhang and researchers did an overparameterization test. They trained neural networks or deep learning networks with these amount of layers on just the 7, so just using the 7 to the left. They just showed the 7 again and again, and what they hoped was that the deep learning model would learn the identity function. You give me something, I give you it back. If you know linear algebra, just learning the identity matrix. We have that, that is their training data, and then we can see small, shallow learning networks, so up to about seven-to-nine-layer networks, it learned the identity function. It could say, ok, now I see a 4, here's the 4.

Now I see a shirt, here's the shirt, and so on. When we get to 20-layer networks, we just learned the 7. This is exactly how our biggest and most overparameterized model works, but it actually works well because, again, we had this much data, we put it in this much space. If some of it generalizes well, and some of it memorizes, sometimes we want memorization. I want to say, tell me the lyrics to this song. I expect to see the appropriate lyrics to the song.

What's actually in the training data? Has anybody here actually looked at some of the training datasets? You ever downloaded them, played around with them? Get a Hugging Face account, just for funsies, and download some of the training data. This is from one of the big ones that was collected by an organization in Germany. It has women's healthcare labeled as not safe for work. I've actually removed these people's faces. It has mugshots, people who died in the street, and stuff like this. It has watermarked images and ads, and it also has people's medical data that they didn't release. Numerous people have had to ask for their data to be removed because they have their consent form. It says, please don't show it, and then somehow that got forgotten, and their stuff got loaded to the internet, and it got scraped.

To some degree, why do we need to worry about overparameterization and memorization, and bigger and better models? It's because we have the potential to have more memorized data that is also private, that's also potentially problematic. There are some ways around this. Differential privacy, there is many theories and practices around differential privacy, which is one way that we can guarantee less memorization. Thank you, Gemma team. They literally just released the first from beginning to end differentially private-trained Gemma model. It's called VaultGemma. You can take a look. Probably you've heard somewhere, somebody said they tried differential privacy once, it didn't work, so we just give up. That's not exactly true. When we take a look here, these were also released with VaultGemma. We see the line to the left is VaultGemma.

The line in the middle is the same Gemma model without differential privacy. Obviously, for something like Trivia, it's going to score really low because Trivia requires memorization. For something like PIQA, it does pretty well in comparison. One thing I want to ask or think about is, when do you need memorization, and when would you rather have generalization and the potential to not accidentally output somebody's private data? It's just a question for us to think about. Also, goes back to better performance is not going to save us when it comes to privacy and security.

Myth 3: A New Risk Taxonomy Is All We Need

Third myth, a new risk taxonomy is all that we need. Just like Attention Is All We Need, now we just need a new risk taxonomy. Who here has worked with taxonomies? If they're new to you, let me take you on a wild tour. If you're working in AI risk and you're having a look, you can go to the MIT repository. You can go to the NIST repository. You can go to the EU AI Act. By now, you've amassed probably about 800 pages of reading for yourself. Is this feasible for you to do in your free time? Just to inform yourself, like, no problem, just going to someday crack open the AI Act. Probably not. I'm here to tell you it gets even worse. We have the AI risk benchmark. This is actually a really cool paper if you work in risk, but it's trying to categorize risk frameworks from around the world and then compare them across different regulatory environments and so on.

We end up here with like 40 to 50 types of risk. It's like, how are we supposed to manage that when most people are doing privacy and security work because it makes them feel good about their work and not necessarily that that's their only job. How are we going to navigate this? This is good. I'm not really a taxonomy person, so if you're a taxonomy person, probably this stuff is great. I feel like the same people that use colored binders for everything are like the taxonomy people. It's very good to have a taxonomy person in the team, but it's very hard if you're like a doer, a builder like myself. Let's zoom in to the mitigations. OWASP, when we dive into the mitigations that OWASP recommends for the top AI risks, we see something like, implement automated scanning for anomalies and cryptographic validation of stored data. I don't know what teams you've been working with, but most teams I know cannot implement their own anomaly system from scratch, and probably whether or not their cloud provider offers it may or may not be able to easily do cryptographic validation of data.

This is like out of the reach of a lot of teams who probably want to do AI security to some degree. We keep going, and then we have, limit knowledge propagation and ensure an agent does not use low-trust inputs. What about the training data that we just saw? How am I supposed to control what low-trust inputs were in the initial training data? I can't control that. I'm going to open a ticket with Anthropic and say, could you please make sure you don't use low-trust data? That's not a real thing that most teams can do. The systems that I have, yes, I can control that perhaps. I don't want to pick on OWASP, so here's one that is really useful. I can talk about tool access. I can talk about permissions. I can talk about these things. There are useful ones, but what I'm saying is, with a lot of these risk frameworks, maybe some of these things are relevant and some of these mitigations are something you can do and others are not. We're just simply not prepared for.

What can you do? The number one thing that I recommend is actually setting up what I call interdisciplinary risk radar. I was for a long time a principal of Thoughtworks working in this space, and I had a chance to develop this AI governance game with some of the other stakeholders in security and privacy, where we said, if we got the developers and the data people and the privacy and security people in a room together, could we have a conversation where we actually understand what's relevant for us? Could we debunk myths? Because sometimes people will come to me and, I heard this is the biggest problem in security. I'm like, if you're not developing your own models, you can't do anything about that anyways. Some things are just not possible. Then you can actually expose what real threats that you have and what solutions make sense for the capabilities that you have on your team or in your organization. If you do this on a regular basis, you develop this muscle, this practice of, when you see something come across your feed or when somebody forwards something to you, you start to know, is that relevant for us? Is it something we should talk about on our next risk radar? Is this useful or is this not useful for the type of AI that we're doing?

Myth 4: We Did Red Teaming Once, So We're Fine Now

Myth number four, we did red teaming once, so we're fine now. Who here has done red teaming at least once? No? I have a YouTube course on red teaming, if you want some free content to figure out how to do red teaming. Does everybody here know what red teaming is? Yes? We're like attacking systems to try to figure out, where do they break? Cool thing is we can develop even new attacks. We can take attacks from research. Many research attacks are now also open sourced. We can build an awareness, build this ability to attack things and understand. Hopefully, you do red teaming at least once, but maybe I'm here to convince you to do red teaming more than once. You can make this as like a fun product exercise because I think the best red teaming works from the team that actually knows what product or what service the AI is going into because you actually know how you might actually get around whatever it is you're trying to build.

If you've worked in security for a while, you know this paradigm, but this is useful for people where security might be new to your capability. I think when people think of cybersecurity, they think of nation state level attacks. Perhaps you work in nation state level systems, then probably you should be worried about all sorts of crazy attacks. Most of the time, cyberattacks, or even just major cyber threats are just automation and good data scraping. Being on the right channels, seeing so-and-so's passwords got leaked, and then trying them in new targets. This is 99% of how breaches happen. Or you found out this new vulnerability and now you just spam it across the entire internet until you hit something that might be valuable. Why is that? That's because we have to think like the attacker in a lot of ways. That means, what are we actually going after? Do we want the LLM to output how to build a bomb or are we actually after something much more valuable?

The answer is usually we're after something much more valuable. Usually, we're after data. We're looking for data that either we can hold hostage or we can resell or we can use. We're trying to DDoS services or take services down or reduce quality so that somebody will pay us, so we can have the lulls on the internet or whatever. We might be trying to steal software or get into infrastructure so we can get to the data, so we can get to other systems. We might be thinking about disrupting a brand, this very targeted attack. Or we might be going after increasing costs. We might want to cause them pain by increasing the costs either in their person time or their compute time or whatever. When you're red teaming, I actually want you to start here and decide, what's the biggest target? What are you going to focus on today? Are you going to try to disrupt a service? Are you going to try to get data? You're trying to steal software? What are you trying to do?

Then, you can attack, iterate, test, mitigate, repeat. You're going to model the attack. You're going to test the attack. You're going to learn from it. You might have a mitigation or two, and then you're going to repeat that. This is how we then build essentially security practice and security understanding for everybody. Why do we do this iteratively? It's because new attacks will also come. It's because our architectures and our implementations will change. It's because maybe you're testing out more than one model. It's also because we're focusing on the parts of the system that we can influence and control. We're keeping it simple. If a simple protection works, like the software-based guardrails, then we use that, before we go reach for the most complicated solution. If we do this regularly, not only are we improving our own knowledge and understanding, but we're also building infrastructure that we can reuse over time.

How can we do this for AI systems? We can start with threat modeling. There's PLOT4AI. It's open source. You can download it. It's free. It goes over a whole bunch of AI risk categories for threat modeling. There's also STRIDE, LINDDUN, if you want to add anything. We have our architecture, we've found the target, we've identified the threats, the potential ways to get in towards the target, then we integrate actual testing into our MLOps infrastructure. If you're not doing AIOps, that's fine for now, but even if you're using somebody else's machine learning model or AI model, I encourage you to start thinking about how you actually do integration testing and testing of that endpoint over time. Because if you ever want to switch out that model for something else, then you can have that testing already going. You can already be trying to see what's happening there. This requires these skills.

If you have any of these skills, you can help with MLOps or AIOps. In addition, if you're really offering products that even have somebody else's AI model in them, you need to be doing cost testing, so you can do load balancing. I don't know if people here are already doing LLM load balancing or other types of load balancing, but you can distribute your costs, your token spend across numerous models. You can do stress testing. You can decide what happens when the system is under stress. You can do evals. Who knows what evals is? Evals is like, I set up repeatable testing for my AI model or AI endpoint so that I can evaluate model A versus model B versus model C. Because I promise you, even small model versions can greatly change outputs. Even mini versions of an update can change an output.

This is something that if you're using it in a real production system, or even just to write your code, you probably want your own evaluations to figure out, is it useful for you or not? Then, finally, obviously part of MLOps is monitoring. Whatever monitoring system you use, whether it's one that you've built or one that you do, you want to monitor what's happening in your systems so that if you notice certain threats actually popping up in your system, you can then decide to red team them and to add them to your next risk radar and to talk about them and integrate them into your testing.

Myth 5: The Next Model Version Will Fix This

Final myth, the next model version is definitely going to fix this. Like I heard from Anthropic, definitely Claude Code number five is going to be super great and not give me any bugs. No hallucinations anymore. There was a really cool report on looking at how do people use AI systems. This was collected across many different things and put together. It's quite nice to read, but here's a really useful graphic from it. We're just going to look at the majority cases, 28.3% is practical advice. How do I do this? Make me a fitness routine. Teach me this thing, or build me a learning plan or something like this. Next biggest is writing. Edit this for me, help me think about this and so forth.

Then the third biggest is, what is X? Specific information. Do I have any product people? I have people that have been around product people long enough. We've all got the product person in the room in our head. We got the jobs to be done or the user wants to blah, blah, blah. That's in your head. I ask you, if the user wants to get advice, ask what is X, or help with writing, where's privacy and security on your priority list? Is it the number one thing that's going to get in the next model release? No. We can laugh, it's funny. We can relax and laugh. No. I'm going to make something that gets even better at writing, regardless of how we get there. I'm going to make something that's really good at giving advice and being really kind and friendly. I love sometimes using AI models now because I feel so brilliant, when I log off my computer, I'm like, I'm the smartest human ever. Because it's so like, Katharine, that's a brilliant idea. Yes, I thought so too. Or, that is basically a replacement for Google Search. If that's your product dream, that's what you're going to be building for. That's totally fine. I'm not here to harsh anybody's product goals. We can't be waiting for it to save us.

Maybe there's also some other product goals. I'm not here to tell anybody not to use any browsers that they want, use whatever browser you want. Literally on stage at a Silicon Valley panel, the Perplexity CEO was like, yes, we're building a browser so we can do really good ads. It's out there in the open. You don't have to look far. They're not the only ones. If you weren't following the news, the Simon guy who really likes ChatGPT was talking about, can you give me a summary of my memory features? The memory feature was literally profiling him and saying, the user likes this, the user likes that, the user wants these things. This is profiling that's happening if you have the memory feature turned on. It's not turned on by default for European residents or EU residents, but it is for our American friends and probably numerous other geographies. This is profiling.

If you've ever worked in advertising, profiling is a really good start to delivering ads or other services. It's also right out loud. OpenAI a few years ago started hiring for what they call model designer. You can look it up. It's active on their careers page. You can maybe even become one and add a little privacy and security flavor to the model. These model designers, they're really product people and design people. They now lead machine learning teams and say, we want to give this model this personality. We want to give this model these capabilities. We want this model to engage people in X, Y, Z ways, and test out this iterative thing to of course increase engagement, increase use, and increase our active thing. Have you ever noticed like an LLM now will always ask you a question at the end? It's like LLM bait. Because then you want to answer it. Then you're like, "I actually already got my answer. I don't need to be here anymore". This is the goal, which is totally fine. Again, everybody's got to make money. We live in capitalism. I get it, but at the same time, we shouldn't look at this and think privacy and security is going to be the number one priority for the next release.

Here's me at Darmstadt. I was there for a big data conference that happens every year in Germany. Here's me. This is my really cool gaming laptop. I built it myself from scratch. It has 30 gigs of GPU in it. Next door to my computer is one of the other organizers' computers. I set them up. I got them serving, and we threw what I called a feminist AI LAN party. Who's old enough to have ever been to a LAN party? I love LAN parties, and I've started throwing them again and I had a switch.

At one point in time, we got 30 people connected to me serving LLMs on my little machine. I mainly bring this up, A, because I really want people to host more LAN parties. The other reason is to try to diversify your model providers. Test out other things. Get an account on Hugging Face. You don't have to build a laptop or your own gaming computer, but if you want to, I have a how-to on how to do that. Try out Ollama. Ollama works on everything now. Try out GPT4All. These are local models that you can run on your machine. Claude also has a lot of local only options and so does Copilot and so does other things. Try out some local models and really get curious about switching up your model provider. Just test it out. Maybe once you had a bad experience with Gemma or with whatever many years ago, but try it again. Just get used to testing out different things. Get used to testing them locally because I think it's useful for us to know about. Whenever ads come and you don't want an ad experience, get used to working locally. Also, if you get used to this, you start to build the experience of, how do I run a model?

At what point in time does it crash? How much memory does it use? So that you can try out cool, open-source, open-weight models. Obviously, all of the open-weight models are running locally. I would call Apertus, which recently got released by EPFL and ETH Zurich, along with support, I think, from the Swiss government, was maybe the first open-source model because they actually also listed all the training data they used. They listed privacy and security testing, and they also open sourced their training code, which is pretty cool. Also, if you're working in German, I don't know if it speaks Swiss German or Hochdeutsch, I'm not sure, but give it a try. I'm sure it can do both. These are ways that we can diversify your model providers, provide some resiliency, and decide if privacy and security become important to your org or certain aspects, then you can test out model A versus B versus C, and you can make your decisions. Because you're not handcuffed to just one model.

At the end of the day, we can't wait for somebody else at an AI vendor to come save us from a privacy and security perspective. Nobody's going to swoop in like a superhero and say, "We've figured out how to solve all these problems. Here's your new model that definitely doesn't give you copyrighted code or whatever". Only we can save ourselves. Everybody here's a grownup. You probably already learned this, but it bears repeating. My question for us, because again, it's about responsibility, agency, and ownership. I come originally from Southern California and we grew up with a lot of Smokey the Bear. Smokey the Bear was like, only you can prevent forest fires by not smoking in the woods. I was like 9, like, "I don't smoke in the woods. I don't understand". The whole point is that only our own care and intervention is going to help reduce this risk.

What Can You Take On?

My ask for you, we're going to do a little exercise. We're going to go through all the different mitigations and things that we talked about. I'm going to ask you to clap, or whoop, or raise your hand, or do whatever it is you feel like doing if you see something that you're like, I'm willing to opt into this. I'm willing to try this out. Just try it out, you don't have to do it, just try it out. What can we take on? First, can we test and implement guardrails? Who's up for that? Can we use or maybe even train differentially private models, who's interested? Can we run an interdisciplinary risk radar at our organization? Can we develop robust security and privacy testing? Can we evaluate or maybe even use, and maybe you're already doing this, open weight and local models?

Resources

I have a newsletter. I have a YouTube. I get you started on red teaming in some of my latest YouTubes. I have a book from O'Reilly. It's mainly focused for other machine learning people or data scientists, how do we add privacy and security into normal data science and machine learning workflows? The German version also has some updates. It has some more recent attacks and things like this.

Questions and Answers

Participant 2: You talked a lot about Bloom filters and how can we put guardrails. Is there anything that can be done in the intrinsic model itself? Because at the end of the day, we all have to think more of the models. How can we save our data to be used as a training dataset?

Katharine Jarmul: This is a great idea. One really interesting piece of research recently came out on routing, so optimization of routing. The cool idea is that we're starting to have enough models available that we can think about an actual router. This router can operate of, it takes in a request. It decides which model is the cheapest model to still also accurately answer this request, but you could also add in privacy or security or any other concerns that you have for that. You essentially train this router, and then that router decides, or sometimes early on, it doesn't know yet, so it will sample from the models, and then you give feedback: it worked for me, it didn't work for me. What they found is this reduced like 60% of cloud costs, because more often than not, we're totally fine with the cheap model or the local model, but we're just paying and using the pro, or most pro, elite, whatever. I'm going to be adding some GitHub repos on this, that we can also add privacy and security evaluation into this, and we can decide, maybe even at an organizational-wide effort, when to shift to a local model for internal confidential information, and when to shift to maybe a cloud model for other things. I think this will only increase over time, but it's really good intuition.

Saving your traces, saving your data and your evaluations is a really good first starting point to then training your own guardrails or training your own router that can also implement guardrails. Purple Llama is open source. There's a whole class of models from Meta called Purple Llama. They do everything from prompt injection attacks to things like, we think this is private, we think this is crime, we think this is inappropriate, or harassment, or whatever. That's all an option. There's also plenty of good research on also prompting your own LLM-as-a-judge or something else. I think at the end of the day, you probably should eventually train your own guardrails. You won't train it into the model because you're probably not training models from scratch, but you will use that external algorithmic one and you just have a filter on what gets through to the LLM and whatnot.

Terence Tao: Hardest Problems in Mathematics, Physics & the Future of AI

Mike's Notes

A fascinating 3-hour interview by Lex Fridman of genius mathematician Terrence "Terry' Tao. I learned a great deal from watching.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

11/06/2026

Terence Tao: Hardest Problems in Mathematics, Physics & the Future of AI

By: Lex Fridman
Lex Fridman: 15/06/2026

Terence Tao is widely considered to be one of the greatest mathematicians in history. He won the Fields Medal and the Breakthrough Prize in Mathematics, and has contributed to a wide range of fields from fluid dynamics with Navier-Stokes equations to mathematical physics & quantum mechanics, prime numbers & analytics number theory, harmonic analysis, compressed sensing, random matrix theory, combinatorics, and progress on many of the hardest problems in the history of mathematics.

Terence Tao: Hardest Problems in Mathematics, Physics & the Future of AI | Lex Fridman Podcast #472

YouTube: 15/06/2025 3:14:33

The real cost of living, city to city

Mike's Notes

Got this from reading Vitaly Friedman (Smashing Mag) on LinkedIn. Will need to know what the cost of living is around the world. For contractors, volunteers, interns, etc.

Smashing Magazine is a fantastic resource for CSS, designing accessibility in web UX, design systems and much more. Has a ton of references to useful resources. I follow it daily to build Pipi UX.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Smashing Magazine
  • Home > Handbook > 

Last Updated

10/06/2026

The real cost of living, city to city

By: Vitaly Friedman
LinkedIn: 03/06/2026

Vitaly is the founder and editor-in-chief of Smashing Magazine since 2006, an online magazine for designers and engineers, where he helps curate friendly, inclusive UX conferences (SmashingConfs).



Cost of Living and Quality of Life Comparison (https://cityparity.com), a lovely tool to decide if a move from one city to another is worth it — and compare cities against take-home pay, childcare, healthcare and social safety net. Designed to help answer one single question: "If I take this offer in another country, what salary do I need over there to keep my life roughly the same?"

1. Every City Can Be a “Perfect” City

Every city has its own advantages and disadvantages. Living in Europe, I sincerely appreciate the quality of healthcare and a social safety net. Of course it comes at a cost, but it doesn’t surprise me much that Scandinavian countries are happy to pay larger contributions to make sure that they don’t have to worry about anything — from kindergarten to hospital bills to recovery courses in case of accidents to retirement.

I’ve moved between 7 cities and countries in my life. And looking back, I keep thinking that for every period in life there is a “perfect” city — and that’s a city where you build strong and sincere relationships, where you meet incredible people, where you make memories and experiences for the entire lifetime.

It can be pretty much any city in the world. And usually it's just the one where you happen to be, and where life brings you to.

Really the perfect city is the one where you have incredible people around you, and where you can build relationships that will last your entire lif

2. Numbers Aren’t Everything

Of course numbers will tell you what you can afford, but not where you’ll love the vibe and the people. If anything, it’s always a good idea to travel and stay in a place for a while to really start feeling it. 

As time passes by, even within the same city you can find places to explore and get lost, but then also to relax and calm down, and then to build a family and spend time with children. Finances might matter significantly more in life early, but the chase for finances often fades away as we grow older.

And sometimes it might feel like just the right time to reshuffle things — and that’s a great opportunity to explore a very different city on the other side of the Earth. Even despite lower pay.

If you're looking for another quick tool to compare the quality of life between cities, you can also look up Numbeo (https://lnkd.in/e8yMXJFB), which is world's largest cost-of-living and quality-of-life database with millions of crowdsourced reports on living, housing, crime, healthcare, transport and other key indicators.

And if you already found a perfect place — please leave a comment and share where it is! I’d love to hear your story, and I’d love to learn just what place in the world makes you feel genuinely happy! 💚



I have been very lucky

Mike's Notes

A curious mix of chance and trying hard; who would have thought? I am very grateful to all those who helped me along the way.

I learn by the seat of my pants, making lots of mistakes, never repeating them. Being self-educated is great. So is listening, asking questions, reading print books, learning to use tools to make things, challenging every assumption, "strong opinions, weakly held", subject to change as factual evidence emerges via robust Science. We are all capable of doing this.

We are all smarter than we give ourselves credit for.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

09/08/2026

I have been very lucky

By: Mike Peters
On a Sandy Beach: 27/07/2026

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

I have been very lucky. I have had a lot of people in my life who were a good influence on me. (I get rid of anyone who sabotages or is a bad influence)

My grandmother Bessie showered me with attention and love, gave me endless things to pull apart to see how they worked, and took me to meet very clever people in a small-minded backwater town.

Family holidays in wild New Zealand, next to rivers, beaches, forests and mountains, which ignited a lifelong obsession with the patterns of nature, the why in my life.

My best friend right through school; he was the brightest kid in NZ.

My high school science teacher, Alan Morgan, let me play in the chemistry lab, doing experiments after school unsupervised for several years, and taught me the scientific method on my very last day at school, the most important thing I learned in 12 wasted years.

The wise old tradesmen, who took a skinny kid from sweeping the floor to being able to make anything, by learning on the job, trying hard, and having my butt kicked.

Nelson Mandela taught me to have the courage of my convictions and never give up.

The sculptor Neil Dawson and the set designer Tony Geddes taught me how to work authentically.

My blind friend Grant, who made and gave away $60 M NZD, taught me, while he was cutting down bushes with a chainsaw, determination, quiet courage and human decency.

The magnificent 50,000 working people of South Christchurch, who trusted me to lead a volunteer residents army doing recovery work for 3 years, after the Christchurch Earthquake, teaching me humility, what honour is and valuable leadership skills gained by trial and error in the moment.

My beloved Tracy, the bravest woman I have ever met, the only paraplegic to do the Coast-to-Coast Iron Man, who married an undomesticated autistic male and made me a much better man. Her unwavering devotion, encouragement and loyalty made all this possible.

They all shaped me; I can't thank them enough. May their memories be a blessing.

Microservices Platforms: When Team Topologies Meets Microservices Patterns

Mike's Notes

Great presentation by Chris Richardson, who is very experienced.

"Chris Richardson explains how microservices platforms reduce team cognitive load, sharing six key platform patterns to streamline delivery and accelerate software development flow⁠." - InfoQ

The link has a video recording of the talk. Excellent as usual. 

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > InfoQ Weekly Digest
  • Home > Handbook > 

Last Updated

08/08/2026

Microservices Platforms: When Team Topologies Meets Microservices Patterns

By: Chris Richardson
InfoQ: 04/08/2026

Chris Richardson is a software architect and serial entrepreneur. He is a Java Champion, a JavaOne rock star and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. Chris was also the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2.

Transcript

Chris Richardson: Welcome to my talk on microservices platforms. Really, what the talk's about is a simple idea, taking the concept of team topologies, platforms, and platform groups, which is another term for platform teams, and using those to accelerate the delivery of applications that use the microservice architecture. Basically, it's all about reducing the cognitive load of the service teams, enabling them to deliver better software faster. I've been building software for a million years now, at least that's what it feels like. It did mean that I was actually around when patterns became popular within the software community back in 1994, 1995. I was really good, and that shaped my thinking ever since.

My brain is full of 30 years of patterns now, as well as 30 years of Java. I've just done various things. I've worked on Lisp systems, created the original Cloud Foundry. Then I also, for the past 10-plus years, been pretty much focused on the microservice architecture, just helping organizations around the world improve how they deliver software. I'm excited, so my book, "Microservices Patterns," came out like 7 years ago now, which is still quite current, remarkably. I'm in the middle of working on a second edition of the book, so one day it will come out. I just think about microservices most of the time.

Microservices Platform: Why?

In this talk, I'm actually going to walk through six different patterns that I've identified that will help with the delivery of microservices. I'm sure there's actually many more. I want to start off just by talking about why platforms, why do they matter? What are the benefits in the context of developing microservices? I want to take a step back and talk about what software development is all about, and I like to think that at the heart of software development is a feedback loop. We in IT, we develop software, and then we put it into production, put it into the hands of the users, and we get feedback from that. It's really critical for businesses today to have short feedback loops so that they can thrive in today's volatile, crazy world, which is unpredictable from one moment to the next. Ages ago, I used to talk about brick-and-mortar businesses being disrupted by digital technology.

Since then, we've had pandemics, we've had wars, we haven't had tariffs, now we do, now we don't. It's just completely volatile. Businesses quickly need to be nimble. There's a lot of research that shows, and this is one of the findings from the keynote, that the better you are at delivering software, as defined by continuous stream of small changes, the more successful the business is likely to be. Fast flow is really important. To actually achieve fast flow, you need a combination of three things. You actually need a process, or specifically DevOps, which I'm actually not going to talk about today. That's how an organization should work. You need a properly structured organization, specifically one that follows the ideas of team topologies, which is actually a collection of patterns for structuring an organization for fast flow. Then you need an architecture that enables both of those things, which, at scale, is often the microservice architecture. I'm really focusing on the organization and the architecture piece of this in today's talk.

What is this team topologies thing? That is a collection of organizational patterns and principles for fast flow. It's basically, how do you structure your organization to deliver software rapidly, frequently, and reliably, using DevOps, actually? There are several different concepts involved. The first one is there's four different team types. Most of the work is done by what is known as a stream-aligned team. That is a team that is responsible for the end-to-end flow of work that is taking requirements and turning it into code running in production. These teams are generally small, five to nine people. Those are the teams that are doing the vast majority of the work. Then they're supported by three other team types. There's enabling teams that act as consulting teams that help teams acquire new skills. There's complicated subsystem teams that focus on domains that actually involve deep skills like math, for example.

I'm not talking about them so much in this talk. Then, lastly, there are what used to be called platform teams, and then they got renamed into platform groupings. I reject that, and I just call them platform groups in the second edition of "Team Topologies." Which is what I'm really going to talk about today. You've got these. I'll talk about what platform groups do. Then there are these three different interaction styles. Most of the interactions are via X as a Service, one team consuming the output of another in a self-service fashion. Occasionally, teams need to collaborate to discover new capabilities. Then, of course, enabling teams, which are acting as consultants, facilitate with the team that is learning. I'm going to talk about these interaction types quite a bit. Then there's a set of principles, and the most important principle is about managing a team's cognitive load.

The human brain can only deal with so much complexity. Collectively, a team, a set of brains can only deal with so much cognitive load as well. They only have a certain cognitive capacity, and you do not want to exceed that. Because if you cognitively overload a team, like just in order to get the work done, there's just so much mental effort, then that actually reduces team performance, and it ultimately impacts their mental health in terms of stress, and burnout, and so on. As Nicole mentioned in the keynote, a key part of having a great developer experience is minimizing the cognitive load of a team. As you're going to see, that is one of the key goals of having a platform or a collection of platforms. That's team topologies and cognitive load.

Then in terms of what is my definition of the microservice architecture. It's an architectural style that structures an application as a set of components or deployable units, which also go by the name of services. Then those services have two essential characteristics. They are independently deployable, meaning a service can be built, tested, and deployed in isolation from other services. They are loosely coupled, or specifically loosely design-time coupled, which means that a change to one service rarely requires other services to change in lockstep. Notice in this definition, I'm not talking about claiming that services should be small or numerous. That might be implied by the name, but that's not an important characteristic. The reason I'm talking about microservices here is because they actually enable fast flow. The way they do that is that they enable the teams that are developing in them, the stream-aligned teams, to be independent.

That comes from those two properties. Because the services are loosely design-time coupled, a team can change their service without having to coordinate that change with other teams. Then because the services are independently deployable, a team can deploy their service without any kind of collaboration with those other teams, at least the vast majority of the time, which means that teams are able to work separately most of the time, which is essential for fast flow. The challenge that you have is that the microservice architecture is quite complex. If you go look at the microservices patterns language, most of the patterns there are solutions to problems that you encounter when implementing microservices. There's a lot of different patterns that you have to implement. If you look at each pattern, it's a combination of three things. Application logic, which is what the team should be focusing on. There tends to be a lot of plumbing, so supporting infrastructure code, connecting to databases and message brokers, and logging and so on.

Then there's infrastructure services as well. Teams should be focused on application logic, and for them, having to deal with plumbing or infrastructure services would be an excessive burden. In some cases, it requires deep expertise, so it would impose a significant cognitive load. If each team was dealing with this, it would be duplicated effort. You'd end up with multiple bespoke implementations, which would be a maintenance nightmare. Then, on top of that, there are these cross-cutting application-wide concerns that don't really belong to any one team. Not only that, it's not just patterns. If you go look at the source code for a service, it's not just the application code. There's build logic, a definition of the service's dependencies, and task definitions that compile and test and package that service. There's also some deployment logic. There's also the definition of the service's deployment pipeline. Then there's probably Infrastructure as Code, like Kubernetes YAML, for example, that's there to deploy the service.

You don't want the team reinventing the wheel for all of that, because that would be an excessive burden. There's even more. Not only do you have the services, but then there's all these infrastructure services, including the infrastructure that runs the deployment pipeline, services that are global, like your message broker, for example, and then the deployment infrastructure. It would be a burden for all of the teams to actually have to take on that work themselves. That's the big motivation for platforms and platform groups. From a team topologies' perspective, a platform is an artifact that reduces the cognitive load of a stream-aligned team. It could be just a wiki page, but usually it's a tool or a library or some kind of self-service, SaaS-like solution providing a capability. It's developed by a platform group, and it's consumed as a service by the stream-aligned teams. That's the big idea here.

If you look at what a platform group is, it's actually a composite team type. It most certainly would have a stream-aligned team that develops the platform, but there might also be an enabling team that provides a consulting function that helps the stream-aligned teams be more successful with that platform. Then in terms of collaboration, this is primarily X as a Service. It's all about self-service platforms, but then the teams will collaborate to evolve the platform. Then, as I mentioned, the enabling team that's part of the platform will also consult with the service teams. The primary benefit is that it reduces the cognitive load of the teams, enabling them to work on their specific business functionality and actually deliver value. Then the platform is a single standardized implementation of some important capability. It's done right just once. Then the platform group itself can focus on developing skills in that area. Unlike the stream-aligned team, which is focused on delivering business functionality, the platform team can dive deep into whatever their particular more technical problem domain is. That's the big idea with these platforms.

The Service Foundation Platform

As I mentioned, I identified six different platforms, and there's most likely more, but I thought this was a good start. I'm going to talk about each one very briefly in turn. The first one I want to talk about is the service foundation platform that simplifies the creation and maintenance of services. As I mentioned a little while ago, if you look at a service, there's a lot of plumbing, there's build logic, there's Infrastructure as Code for deploying the service. There's a lot of stuff, and actually setting up a new service from scratch would be quite a burden on the teams, and maintaining all of that would be quite a burden as well. The solution is to have a service foundation platform that simplifies that part of service development. The service foundation platform is comprised of two parts. There's the service template, which, as the name suggests, is a template that can just be cloned to create a running service.

Then there's a service chassis that is a framework that the template is built upon. The idea of a service template, super simple. It's a complete running service that a team can just copy and drop in their business logic, and they've got this testable, deployable, observable service up and running relatively quickly. Big reduction in cognitive load there. The problem you have is that a template, and this is same as true with code generation as well, it is basically glorified copy and paste. Then what's more is the template is changing. When it's time to make an update to the plumbing for the services, you now have multiple copies of the code and it's likely to be slightly different because each service was cloned from a slightly different version of the template. There's potentially a massive maintenance task in updating all of these services. That's where the service chassis comes in.

The idea is you extract out most of the functionality that is in the template into this chassis, which is this framework. Then that framework is just referenced by the template. Hopefully, the template is really small, so the amount of copy and paste is significantly reduced. When it's time to make a change to the plumbing, you just update the framework, release a new version of it, update the service template to use that version, and then update each service to use the new version of the chassis. Fingers crossed, you've just rolled that change out and it's just a one-line version update. Of course, there are scenarios where it's a bit more complicated than that. A lot of the time, the upgrades are quite straightforward. If you have more complex upgrades that require code changes to each service, which includes updating stuff that is in the service template, one option is for the teams to do it themselves.

A much better option is for there to be some kind of update or migration script or some tool that you can apply to each service's repository to create a pull request. That might be a deterministic tool like OpenRewrite, which provides large-scale refactoring of your codebase. Or maybe, and this is my obligatory mention of GenAI, because that's the only thing that's real today, you might be able to use GenAI to actually do this update. You could actually give it the diffs of the service template, and maybe it would figure out how to apply those diffs to each and every service and create a pull request for it. Who knows, because every time you use GenAI, it's a roll of the dice as to whether you'll get something usable out of it. That's the service template, or to be more precise, the service foundation.

The Security Platform

The next platform I want to talk about is the security platform. Who here, first off, understands security and likes it. Because to me, it's like a prime example of my brain does not have the cognitive capacity to maintain knowledge of how OAuth authorization flows actually work. I learn it for a while, and then a month later, it's paged out. I don't know if that's because it's complex or because I'm getting old and my mental capacity is diminished. Security is really important, yet at the same time, it's really complicated. There's a lot of different areas to that, and I just want to talk about three areas that can impact developers. One part of security that's obviously important is authentication, verifying the user is who they claim to be, logging them in, in other words. There's a whole complex mechanism involving OAuth and OIDC and IAM services, and so on, that result in services being handed a token.

Then they have to do authorization based on that token, which might be hard-coded Java authorization rules, or perhaps they delegate to an authorization service like also cloud. There's also access control lists for things like Kafka topics and stuff. This is not what developers should be spending their time thinking about, because this stuff is hard, or at least for me, it's hard. Then, on top of that, there's also transport level security. You want to secure the communication between services as well, and that involves technologies like certifical authorities that are handing out certificates and so on. That's also quite complicated. The obvious solution is to have a security platform that takes care of that. This platform consists of two parts. There's a bunch of infrastructure services that provide the security mechanisms that I just described, like an IAM service, certificate management, which might actually be a service mesh, for example.

Maybe there's the authorization service as well. You've got that infrastructure. Then there are elements that provide security that are incorporated into the service chassis so that services are actually secure by default. You build them on top of the chassis. Then, let's just say automatically every REST endpoint will require a JWT. It knows how to get the JWT signing certificate from the IAM service. The idea is that this insulates the developer from the complexities of security, and the only security aspects they need to think about are writing the authorization rules that determine which operations can be invoked by whom. That's about it. That's the security side of things.

Infrastructure Services Platform

The next platform I want to talk about is the infrastructure services platform. Services are not these standalone things. They need a bunch of infrastructure services in order to run. Most obviously, the services need database servers, which need to be provisioned and managed. Typically, even if you're running on Kubernetes, you'll probably use AWS RDS or Aurora for the service databases. Then there's application-wide infrastructure like Apache Kafka. Maybe you use AWS MSK. On the one hand, it sounds simple, but on the other hand, setting up cloud resources on AWS and other public clouds is incredibly complicated and requires deep expertise, starting with getting an access key and taking it from there. It's like really complicated. You don't want teams dealing with this, because they should be focusing on their business logic. It makes sense to have a platform to do this. Once again, the platform consists of two parts.

One part provides the shared services like Apache Kafka and other pieces of infrastructure. Then there's what I call an infrastructure orchestrator. What that does, it enables the service team to say, my service needs a Postgres database with this capacity. Then the orchestrator is responsible for taking that service specification and creating the appropriate cloud resources, which are then managed. The teams can just go, I need this. They can express their intent and the orchestrator takes care of it. There are a few different solutions out there. One that I've used in the past in the Kubernetes world is Crossplane, which if you can get past the word soup of the documentation, it's actually really interesting. It basically extends the Kubernetes API. Let's say the platform team create a new resource type like service database. That's a CRD in Kubernetes terminology. Then they define how that maps to cloud resources.

Then, a service team can just write the manifest, the YAML that says, I need a service database and it needs to be this big and so on. Crossplane provisions and manages it for you. It's really cool because the service is defined at the Kubernetes level and now its infrastructure is defined at the Kubernetes level. Perhaps it's all packaged up into a Helm chart, so you install the Helm chart. You automatically get cloud resources in that environment. I think the technology is still maturing, but it's actually really interesting. Daniel Hertz company has one, Kratix, even better than Crossplane. Really interesting stuff, but it's deep technology.

The Observability Platform

Yet another platform I want to talk about is the observability platform. As you can imagine, a team that develops a service needs to understand how that service is behaving in production, and then they also need to understand what the users are doing, and how they're actually using that service. In the microservice architecture pattern language, there's actually six observability patterns. The gray ovals are the patterns. This includes the standard stuff like log aggregation, application metrics, and distributed tracing. It's like an observable service has to implement these patterns. As you can imagine, each of these observability patterns is some instrumentation which is comprised of application logic, plumbing, plus some dependencies, and that's emitting telemetry. Then there's infrastructure services like Prometheus, or something for storing logs and so on, that's gathering the telemetry, storing it, analyzing it, and presenting it to the teams. Yet again, on the one hand, the teams probably have to write some application-specific instrumentation, but everything else would be too much of a burden.

Setting things up, yet again, requires specific knowledge or in-depth expertise. Having an observability platform provide the infrastructure services like Prometheus, or ELK, or CloudWatch, or Datadog, so it could be a SaaS, or it could be on-prem, doesn't really matter, but it's stuff that needs to be provided, managed, and so on. Then, in the service template and chassis, there's elements that ensure that out of the box, the service is observable by default. You just build on top of the service chassis. You have an observable service. The team just needs to write the appropriate logging code, and collect the appropriate business-oriented metrics, and all of the low-level details are just insulated from them. Recurring theme. The team either ignores the low-level stuff completely, or focuses on the valuable parts, and everything else is provided via the chassis and these pre-managed infrastructure services.

The Build Platform

I now want to talk about the remaining two platforms, which are actually quite connected in a way, two sides of the same coin, the build platform, which is responsible for the deployment pipeline, and then the deployment platform that's responsible for the production environment. They're actually connected, because what comes out of the build platform actually has to be compatible with what the deployment platform is expected. Let's look at the build platform. Every service has a deployment pipeline that's going to compile the service, run the tests, package it up, perhaps as a deployable unit, like it could actually build a container, and a Helm chart, test that, and then either push it into the production environment or publish it to a registry where the production environment can pull it. Every service has one of these. It needs to be set up. It needs to be administered. That can be a significant burden for the team.

Then, also, the infrastructure that the deployment pipeline runs on also needs to be set up and administered as well. If we're using GitHub Actions, you've got to have a GitHub Actions workflow file for each service. Then the organization that contains the service's repository needs to be configured with GitHub Actions runners that actually execute the deployment pipeline, and also budgets need to be set and all of that administrative stuff. Not something you really want the teams to be doing, especially when you have a lot of services that are more or less built the same way, it's like, why reinvent the wheel? Good use case for having a build platform which provides the pipeline infrastructure, properly configured GitHub organizations. Then in the service template, there's actually a templated definition of the deployment pipeline, whether that's a GitHub Actions file or a CircleCI config.yml. Then, hopefully, the actual pipeline specification is built using these reusable package components like GitHub Custom Actions or CircleCI Orbs, to actually minimize the amount of copy and paste that's involved.

At least those two have a way of providing reusable deployment pipeline logic, and GitLab has something similar as well. Then the build platform can also provide some repository/registries for storing build artifacts, shared libraries, as well as publishing deployable units to a container registry for your container images and Helm charts. Because what comes out of the deployment pipeline obviously has to be stored somewhere. With this build platform, hopefully, most teams don't have to be concerned with all of this. It just happens for them. Maybe they need to tweak the deployment pipeline if they have specialized use cases, but hopefully not so much. I feel like this is pretty standard.

The Deployment Platform

Then that leads to the last part, which is the deployment platform. To actually run an application, you obviously need to have a production environment, and you might actually have some other environments, staging, dev, QA, though unclear exactly how many you really should have. Those are a centralized place where your service is run, and they actually have to provide a rich set of capabilities. They need to have a deployer mechanism that takes an updated service and rolls it out somehow. It's hard to talk about this in the abstract, but later on, I'll mention things like GitOps tooling like Flux CD or Argo. They also need to deploy your services in a fault-tolerant way. The big idea is like, here's my service, I need to run n instances of this. The infrastructure tries its hardest to make sure that's true. That could be an AWS autoscaling group, or it could be Kubernetes deployment, depending on what mechanism you're using.

Then there's also a networking capability as well. Requests that come in get routed and load balanced across your service instances. As you probably know, or maybe you're blissfully unaware, it's really complicated to set all of that up. Then the other part of this, every service needs some Infrastructure as Code configuration to define how it's deployed. It's either Kubernetes YAML, or maybe it's some Terraform Infrastructure as Code or something worse. There's a lot of stuff. It's really funny. I mostly live in the Spring world. When I step outside the Spring world and I go to the frontend, I'm horrified. I have been for many years. Then, over the past few years, I've been doing more of this DevOps-y stuff, and I'm equally as horrified. It is so complicated. I guess it's evolving. As a Spring developer, I don't want to have to deal with this. Actually, I find it cool and interesting, but there's another part of me that just wants to run away screaming.

You need a deployment platform to shield the developers from the complexity of the infrastructure. That will provide the various environments. Hopefully, in your service template, it'll provide IaC code for deploying the service, some kind of template. Then hopefully that is composed out of some reusable Infrastructure as Code components. Though the modularization technologies there leave a lot to be desired, specifically in the Kubernetes YAML world. Here's one example that I've worked with, which is where there's a GitOps tooling, here I've shown Flux, but there's also Argo CD. The state of the cluster is defined by one or more Git repositories. When those change, Flux will actually apply those changes to the cluster. It can also monitor the container registry. When a new Helm chart is published, it will edit the manifest and then deploy that new version. It's a pretty slick setup, but it is quite complicated. That's the deployment platform, and ideally it shields the developers from a lot of the complexity.

Microservices Platforms: How?

That's the six platforms. I just want to wrap up with a few comments about this platform development thing. While I was putting this talk together, I saw this article by The New Stack, which just pointed out that the success rate for platform engineering is not that great. Mostly fails. Based on what I've seen looking at organizations, is it's not surprising. I think one issue that's going on is for a lot of organizations, platforms are a way of ignoring the hard problems of people and solving actual customer problems. They do that by diving into what I call the infinity pool of technology. Because you can just get lost in the Kubernetes world and feel like you're doing useful things like creating custom Kubernetes operators. If you're not actually solving real problems, you're not going to succeed. A few thoughts. I've observed this antipattern forever. You really have to focus on the services, get those deployed in production, and worry about the technology later.

Specifically, what that means in terms of platforms, build some services, put them in production. Figure out what problems the teams are struggling with, then build the platforms, migrate the services to those platforms, and just iterate around that. Rather than go do a lot of platform development up front. Then team topologies has this great concept of a thinnest viable platform, or you could say it's like a minimum viable platform, where you build just enough platform to enable the teams to be successful. No more, no less. Maybe that involves Kubernetes operators, but maybe it doesn't. Then, teams need to adopt a customer-focused mindset, where customers in this case are the teams that are developing the services. The platform teams exist to help those teams, not actually dictate to them. They need to learn what their problems are, and provide platforms that help. Then they also need to actually help those teams use the platforms through facilitation. Build just enough platform to help, and do it in a customer-focused way.

Summary

In summary, microservices do require platforms to avoid the teams having to reinvent a lot of complex wheels. I identified six different platforms. There's probably more. Then I think it's really important to take a software engineering approach to these platforms, which are actually easier said than done with some aspects, and develop reusable components, rather than just copy-pasting everywhere, which creates a maintenance nightmare. Obviously, if you're a developer, you go, that's no big deal. Programming languages have libraries, frameworks, build tools like Maven, Gradle have plugins, even CI/CD platforms like GitHub Actions and CircleCI have reusable components. Then it gets a bit iffy when you're in the Kubernetes YAML world. There's Helm library charts, which are just weird. They work, but they're weird. Then there is a language called q, but that seems slightly weird to me as an application developer. I think there's work to be done in that area. You want to have these modular, reusable components everywhere. When you do have copy-paste, you then need tooling to actually automatically roll out updates to all of your services, generate pull requests for each one. Then, lastly, if you're building microservices, focus on the services, not on the technology. Build just minimal platforms that help.

Demis Hassabis and DeepMind

Mike's Notes

Some useful background about Demis Hassabis, co-founder of DeepMind and a rare genius.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Turing Post
  • Home > Ajabbi Research > Library > Subscriptions > SemiAnalysis
  • Home > Handbook > 

Last Updated

07/08/2026

Demis Hassabis and DeepMind

By: Christian Dinar
The Next Web: 09/04/2026

Cristian Dina is the CRO at The Next Web. He has interviewed 300+ industry leaders and authored the book King of Networking, establishing himself as one of the most connected and respected voices in the ecosystem. At just 23 years old, Cristian was included in the Forbes 30 Under 30 2025 list, representing a new generation of tech builders, bold thinkers who move fast, build with purpose, and create real impact.

In short: Demis Hassabis, speaking on the 20VC podcast with Harry Stebbings in early April 2026, described how Google DeepMind has accelerated its pace over the past two to three years by merging Google Brain’s compute resources with DeepMind’s research culture and returning to what he called a “startup or entrepreneurial” way of working. He also disclosed that he runs Isomorphic Labs, the group’s pharmaceutical AI spinoff, as a “second workday” beginning around 10pm, ahead of expected human trials in oncology later this year.

Assembling the ingredients

Google DeepMind’s formal merger of DeepMind and Google Brain completed in 2023. Hassabis described the period since as one of deliberate acceleration: aligning talent “from around the company, sort of pushing in one direction,” gaining access to the compute infrastructure that DeepMind had previously lacked at scale, and driving what he called “relentless sort of focus and pace.” In his characterisation, the transformation required a cultural adjustment as much as a structural one: the organisation had to “come back to almost our startup or entrepreneurial roots and be scrappier, be faster, ship things really quickly.” The current competitive environment, he said, was “ferocious.” Veteran employees with careers of 20 and 30 years were telling him it was “the most intense environment they’ve ever seen, perhaps ever in the technology industry.”

Hassabis said he speaks to Sundar Pichai, Alphabet’s chief executive, “every day,” reflecting the degree to which Google DeepMind now operates at the operational centre of Alphabet’s product and research strategy. That proximity is matched by a capital commitment of corresponding scale. Google’s compute build-out, developed in part through its custom chip partnerships with companies including Broadcom, is central to that positioning: Alphabet spent $91.4 billion on capital expenditure in 2025 and has guided for between $175 billion and $185 billion in 2026, a near-doubling, with supply constraints rather than capital availability described as the primary limiting factor.

The 90% claim

One of Hassabis’s more assertive statements in the podcast concerned DeepMind’s contribution to the history of AI. He said approximately 90% of the breakthroughs underpinning the modern AI industry were produced by either Google Brain, Google Research, or DeepMind. The claim is broadly consistent with the academic record on foundational developments, including the transformer architecture produced by Google Brain in 2017, early work on reinforcement learning from human feedback, and deep reinforcement learning techniques developed at DeepMind. The 2024 Nobel Prize in Chemistry, awarded to Hassabis and John Jumper and shared with David Baker, for the AlphaFold protein-folding system is the most formally recognised of those achievements. Whether 90% is accurate as a proportion is a matter of interpretation, and the industry has pluralised substantially since those foundational papers. The framing functions as a positioning statement as much as a historical claim.

The operational consequence of that legacy is a product release cadence that has accelerated sharply. Google’s open-weight model programme, most recently Gemma 4, now releases models built from the same research and training infrastructure as Gemini 3, closing a gap between frontier research and open-source contributions that previously existed. Gemini reached approximately 750 million monthly active users by the end of the fourth quarter of 2025, with Gemini 3 described in secondary reporting as having prompted an urgent internal response at OpenAI on its release in November of that year.

The second workday

Alongside leading Google DeepMind, Hassabis also runs Isomorphic Labs, the pharmaceutical AI spinoff that DeepMind established in 2021. He described his working arrangement in the 20VC conversation: a first workday at DeepMind, followed by a “second workday” beginning around 10pm dedicated to Isomorphic’s drug discovery programme. The dual commitment reflects a conviction that applying AI to drug discovery is both Hassabis’s most important long-term ambition and a project that requires sustained personal involvement rather than delegation.

Isomorphic raised $600 million in April 2025 and has existing partnership agreements with Eli Lilly and Novartis with combined milestone values of up to $3 billion. In February 2026, the company released IsoDDE, a drug design tool that Isomorphic says doubles the accuracy of AlphaFold 3 for generating drug candidates. Human clinical trials in oncology are expected later in 2026. The competitive dynamics in AI-driven drug discovery are intensifying across the industry: Anthropic’s acquisition of Coefficient Bio for approximately $400 million in April 2026, a stealth startup founded by former Genentech computational biology researchers, signals that general-purpose AI companies are now treating pharmaceutical discovery as a product category, not merely a demonstration of model capability.

The competitive framing

The 20VC podcast conversation, like Sebastian Mallaby’s biography of Hassabis, “The Infinity Machine,” published on 31 March 2026 and based on more than 30 hours of interviews, presents a researcher who has moved into the most commercially urgent phase of his career with a consistent thesis: that the most important research and the most important products are not separate activities, and that the organisation capable of doing both simultaneously at frontier scale will determine the shape of the industry. The year 2025 consolidated AI as a central strategic priority across the technology industry, with capital, talent, and institutional structure all reorganised around the question of pace. For Hassabis, the answer has been to bring the speed of a startup inside the resource base of one of the world’s largest technology companies, and to treat that combination as a durable advantage.

The scale of the capital flowing into the field makes that advantage harder to sustain. SoftBank’s $40 billion bridge loan to OpenAI represents a form of capitalisation that even Alphabet’s compute commitments cannot trivially match in kind. Hassabis’s account of a “ferocious” competitive environment is not rhetorical: it is a structural description of a race in which the resources of incumbents and the ambitions of challengers have converged to a point where institutional inertia is not merely a disadvantage but a disqualifying one. The startup mentality he describes at Google DeepMind is, in that context, a necessity rather than a preference.