A photo of Maximilian Schwarzmüller

Maximilian Schwarzmüller

My articles & thoughts

I write articles and share my thoughts about all kinds of things - mostly related to software development, devops and more.

RSS Feed

  1. AI Has A Favorite Tech Stack. That's A Problem!

    AI Has A Favorite Tech Stack. That's A Problem!

    Large Language Models (LLMs) are great at generating code, but they often default to a narrow set of technologies. This could stifle innovation and lead to outdated practices.

    Read more

  2. Why LLMs Need GPUs and VRAM

    Why LLMs Need GPUs and VRAM

    Many large language models (LLMs) can be run on your own computer. And whilst you don't need a supercomputer, having a decent GPU and enough VRAM will help a lot. Here's why.

    Read more

  3. Using Open LLMs On-Demand via Bedrock

    Using Open LLMs On-Demand via Bedrock

    Running open LLMs locally or self-hosting them is great, but it can be a hassle (AND may require significant resources). Services like Amazon Bedrock allow you to use (and pay for) open models on-demand, without the hassle of self-hosting.

    Read more

  4. The Danger of Relying Too Much on AI

    The Danger of Relying Too Much on AI

    AI coding assistants are powerful tools, and, to some extent, they can replace developers. But they are not a replacement for coding skills. In fact, they make coding skills even more important. The danger just is that we might forget that.

    Read more

  5. Mixture of Experts (MoE) vs Dense LLMs

    Mixture of Experts (MoE) vs Dense LLMs

    Mixture of Experts (MoE) LLMs promise faster inference than traditional Dense models. But the model names can be confusing. And a surprise might await when trying to run them locally.

    Read more

  6. Making Sense of Quantization

    Making Sense of Quantization

    Quantization is a technique that essentially "compresses" the weights of a LLM, hence allowing it to run on way less (V)RAM than it would otherwise need. This is a game changer for running open LLMs like Gemma, Qwen or Llama locally.

    Read more

  7. Don't Sleep On Running Open LLMs Locally

    Don't Sleep On Running Open LLMs Locally

    You don't need ChatGPT or Google Gemini for everything. Running open LLMs locally is a great way to save costs and have more control over your data. It's super easy, you don't need a supercomputer, and those models are way better than you may think.

    Read more

  8. Making Sense of Google's A2A Protocol

    Making Sense of Google's A2A Protocol

    Google's new A2A (Agent-to-Agent) Protocol aims to standardize how different AI agents communicate. But which problems does it solve? How does it relate to MCP (model context protocol)? And is it all just hype?

    Read more

  9. Server-sent Events (SSE): The Champion Nobody Knows

    Server-sent Events (SSE): The Champion Nobody Knows

    You might not need WebSockets! Server-Sent Events (SSE) are a simple yet powerful alternative to WebSockets for unidirectional data streaming from server to client. Perfect for real-time updates with automatic reconnection and easy integration.

    Read more

  10. AI-powered Development: The Good Parts

    AI-powered Development: The Good Parts

    AI can boost developer productivity - it's not just marketing. But it's also not a magic "vibe coding" wand. Instead, it's all about TAB, TAB, TAB and the occasional chat.

    Read more

  11. Looking Beyond the Hype: What's MCP All About?

    Looking Beyond the Hype: What's MCP All About?

    There's a new buzzword in AI-town: MCP - or 'Model Context Protocol'. But what is it? And why should you care despite the annoying hype?

    Read more

  12. What Are "Machine Code" & "Byte Code" Anyways?

    What Are "Machine Code" & "Byte Code" Anyways?

    You often hear (and maybe even say) it: Something compiles to "machine code". For example Go. Or Rust. But what does that actually mean? And what's the difference to "byte code"?

    Read more

  13. TypeScript in Go: Why Not Rust?

    TypeScript in Go: Why Not Rust?

    The TypeScript team shared that they're porting their compiler and type checker to Go. Not everyone's happy about the free performance gain, though. The question is: Why not Rust?

    Read more

  14. Vibe Coding Is NOT My Future

    Vibe Coding Is NOT My Future

    Vibe coding, a term coined by Andrej Karpathy, is all about letting LLMs generate code for you. I'm not convinced it's the future of coding, though.

    Read more

  15. Use AI Assistants With Care

    Use AI Assistants With Care

    AI is here to stay and it WILL likely replace developers. Developers who don't leverage its advantages. The same will happen to developers who rely too much on AI assistants, though.

    Read more

  16. Modern Node.js Can Do That?

    Modern Node.js Can Do That?

    Chances are high that you're using unnecessary third-party libraries. Stop wasting modern Node.js' potential!

    Read more

  17. Making Sense of tsconfig

    Making Sense of tsconfig

    The tsconfig.json file is a file most developers aren't touching. For a good reason! There are many options and settings with non-descriptive names and unclear effect. It doesn't have to be like that, though.

    Read more