<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Daniel Manzke on Medium]]></title>
        <description><![CDATA[Stories by Daniel Manzke on Medium]]></description>
        <link>https://medium.com/@danielmanzke?source=rss-3f7731e67ab1------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*roh194yb8st2t8NcWlG0vA.jpeg</url>
            <title>Stories by Daniel Manzke on Medium</title>
            <link>https://medium.com/@danielmanzke?source=rss-3f7731e67ab1------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 23 Jun 2026 15:29:56 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@danielmanzke/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Your RAG system works on 10,000 documents. Here’s why it dies at 30 million.]]></title>
            <link>https://medium.com/@danielmanzke/your-rag-system-works-on-10-000-documents-heres-why-it-dies-at-30-million-529171cd30c0?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/529171cd30c0</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[retrieval-augmented-gen]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Thu, 05 Mar 2026 09:56:49 GMT</pubDate>
            <atom:updated>2026-03-05T09:56:49.280Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iv_pp-sv0GZZeuMDhcyHLQ.png" /><figcaption>Your RAG system works on 10,000 documents. Here’s why it dies at 30 million.</figcaption></figure><p>Every week, someone posts about how they built a RAG system over the weekend. Teams share internal solutions that answer questions across a few hundred or a few thousand documents. It works. They’re proud. They should be. It’s genuinely impressive for that scale. But after 25 years of building enterprise search products and three years of building RAG systems on top of that foundation, I can tell you: what works at 10,000 documents doesn’t just slow down at 30 million. It breaks in ways you won’t see coming. And the data backs this up: 72% of enterprise RAG implementations fail in their first year [1].</p><p>The failures follow predictable patterns. Not because the technology is bad, but because teams architect for the demo, not for the reality waiting behind it.</p><h3>The demo that ruins everything</h3><p>A small RAG prototype is seductive. You load a few hundred PDFs into a vector database, wire up an LLM, and within hours you’re getting answers that feel magical. Stakeholders see it and immediately start planning the production rollout. This is the moment where most enterprise RAG projects begin their slow death.</p><p>The prototype succeeds because everything is working in your favor. The document set is small enough that vector similarity actually means something. The content is usually clean, homogeneous, and well-structured. There are no permission boundaries to enforce. The questions you test with are the easy ones: direct lookups where a single passage contains the answer.</p><p>Enterprise reality looks nothing like this. According to IDC research, only 1 in 10 home-grown AI applications survive past the proof-of-concept stage [2]. A senior GenAI lead at PIMCO reported that 80% of enterprise RAG projects experience critical failures [3]. These aren’t random misfortunes. They’re the predictable result of scaling an architecture that was never designed for scale.</p><p><strong>The gap between demo and production isn’t a gradual slope. It’s a cliff.</strong> One practitioner building RAG for a Fortune 500 manufacturer described the challenge of going from a slick prototype to a system handling over 50 million records across a dozen databases [4]. The retrieval logic doesn’t degrade gracefully at enterprise scale. It stops returning useful results entirely.</p><p>I’ve watched this play out dozens of times. A team builds something promising, shows it to leadership, gets budget, and then spends months trying to make it work on real enterprise content. By month six, they’re questioning everything. By month nine, the project is either abandoned or quietly restarted with fundamentally different assumptions.</p><h3>At 3 billion documents, semantic search becomes noise</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TiO0aeRU_icBmMZfZijiXQ.png" /><figcaption>At 3 billion documents, semantic search becomes noise</figcaption></figure><p>Here’s something the tutorials and vendor demos won’t tell you: vector search has a scale ceiling, and most enterprises hit it hard.</p><p>When you embed documents into a vector space, semantically similar content clusters together. At 10,000 documents, those clusters are tight and distinct. Search for “asbestos regulations in Switzerland” and the relevant passages stand out clearly from the rest of the corpus. The signal-to-noise ratio is excellent.</p><p>At 30 million documents, those clusters start bleeding into each other. At 3 billion, they’re so diffuse that querying for a specific topic returns hundreds or thousands of “similar” passages across dozens of unrelated documents. The four passages that actually answer your question are buried in noise. The embedding space has effectively collapsed. Recent research suggests that in high-dimensional vector spaces, retrieval precision can plummet as the corpus grows, because points become effectively equidistant from any query [5].</p><p>This is why <strong>enterprise RAG at scale is a partitioning problem, not a retrieval problem.</strong> You can’t fix this with better embeddings or a fancier vector database. You fix it by dramatically reducing the search space before semantic search ever runs.</p><p>That means metadata extraction, document classification, named entity recognition, and permission-based filtering become the load-bearing walls of your architecture. They’re not optimization layers you add later. They’re the reason the system works or doesn’t.</p><p>Think of it like a library. At 10,000 books, you can browse the shelves and find what you need. At 3 billion books, you need the Dewey Decimal System, a librarian, and a catalog search before you even walk into the right room. Semantic search is the browsing. Everything upstream of it is the navigation system that makes browsing possible.</p><p>Research from Chroma (2025) confirms this from the LLM side: retrieval performance degrades as context length increases, even on straightforward factual tasks, across testing of multiple frontier models [6]. Bigger context windows don’t save you. Sharper filtering does.</p><h3>Chunking is where your assumptions go to die</h3><p>The RAG community has spent enormous energy debating chunking strategies. Fixed-size versus semantic. 256 tokens versus 512 versus 1,024. Overlapping versus non-overlapping. Most of this debate misses the point.</p><p>A study examining whether semantic chunking justified its computational cost tested both approaches across five datasets. Fixed-size chunking outperformed semantic chunking on three of them. The differences on the other two were minimal [7]. The conclusion: semantic chunking adds computational overhead for marginal gains in most scenarios.</p><p>But the real insight isn’t that one strategy beats another. <strong>The real insight is that no single strategy works across document types.</strong> What performs well on legal contracts fails on source code. Optimizations for news articles break on scientific papers. NVIDIA’s chunking benchmarks found page-level chunking achieved the lowest variance and highest accuracy (0.648), but only for paginated documents [8]. Financial documents, by contrast, performed best with 1,024-token chunks at 57.9% accuracy [9].</p><p>I learned this the hard way while building retrieval systems for enterprise customers. One customer had XML-structured regulatory documents. Standard chunking destroyed the document’s inherent structure. The fix wasn’t a smarter chunking algorithm. It was treating the document’s own structural markup (sections, subsections, clauses) as the natural chunk boundaries. Another customer needed location-specific regulations. Chunking by content wasn’t enough. We had to enrich each chunk with geographic metadata so the system could filter by jurisdiction before attempting retrieval.</p><p>This is where most projects get stuck. They pick a chunking strategy during the prototype phase, optimize it for their test documents, and then discover in production that their actual content is wildly heterogeneous. Internal wikis, scanned PDFs, email threads, spreadsheets, structured XML, unstructured memos. Each type demands different treatment.</p><p>The right question isn’t “what’s the best chunking strategy?” It’s “what does my specific content require, and am I willing to build multiple pipelines to handle it?”</p><h3>Query decomposition: the unreliable engine room</h3><p>Enterprise questions are rarely simple. A compliance officer asks: “What are our obligations under the updated Swiss asbestos regulations for buildings constructed before 1990?” That question requires the system to understand regulatory jurisdiction, temporal scope, building classification, and the specific regulatory framework. No single passage in any document answers it directly.</p><p>This is where query decomposition comes in. The LLM breaks the complex question into sub-queries, retrieves evidence for each, and synthesizes an answer. In theory, agentic decomposition improves retrieval accuracy. A 2025 fintech RAG study showed retrieval accuracy jumping from 54.12% to 62.35% with structured decomposition, and reaching 69.41% when accounting for semantically relevant alternate sources [10].</p><p>In practice, decomposition is maddeningly unreliable. The same query, submitted six times, might produce four good decompositions and two bad ones. The LLM misreads company jargon. It splits the question along the wrong axis. It hallucinates sub-queries that don’t map to any real document.</p><p>Part of this is a fundamental architecture problem. LLMs are non-deterministic. Even with temperature set to zero, floating-point non-associativity in GPU batch processing means identical inputs can produce different outputs [11]. OpenAI added a “seed” parameter to improve reproducibility, but it only works reliably at temperature zero, which kills the reasoning capability you need for good decomposition. You’re stuck choosing between reproducibility and quality.</p><p><strong>My working hypothesis, which I’m actively testing, is that the real fix isn’t fighting for determinism. It’s giving the LLM enough domain context that its decomposition becomes reliable even with temperature variance.</strong> When the model understands your company’s terminology, your document structure, and your users’ actual intent, the signal is strong enough that even non-deterministic outputs land in the right place. Early results are promising but not yet conclusive. I mention this because intellectual honesty about what’s proven and what’s still being validated is part of the credibility that makes enterprise work possible.</p><p>The compounding effect makes this worse than it sounds. If retrieval accuracy is 95%, reranking accuracy is 95%, and generation accuracy is 95%, your end-to-end accuracy is 0.95 × 0.95 × 0.95 = 85.7%. One in six queries fails. At enterprise scale with thousands of daily queries, that’s hundreds of wrong answers per day.</p><h3>The chicken-egg nobody wants to solve</h3><p>Every technical failure I’ve described has a common upstream cause: nobody separated discovery from proof-of-concept.</p><p>Most enterprise RAG projects run a POC that’s simultaneously trying to prove the technology works and discover what the business actually needs. That’s two different objectives crammed into one phase, and it’s why 89% of implementations ship without permission-aware retrieval, audit trails, or role-based access controls [12]. The team is so focused on making retrieval work that they skip everything else.</p><p>Here’s the chicken-egg at the center of it: you can’t know what enrichment and metadata extraction to build until you see real users asking real questions and failing. But without that enrichment, the POC produces mediocre results, and stakeholders lose confidence before discovery can happen.</p><p>The fix is deceptively simple. <strong>Separate discovery from delivery.</strong> Run a discovery phase with a low cost and short timeline, where the explicit goal is learning, not proving. What questions do users actually ask? Where does retrieval fail? What metadata would have caught those failures? What document types need special handling?</p><p>This only works if business and IT are in the same room. Three years of enterprise deployments taught me that IT alone can’t solve this. They don’t know the content deeply enough. But business alone can’t solve it either, because they invariably want to start with the most complex problem instead of the simplest one.</p><p>Getting them to the same table requires credibility you can’t fake. You earn it by being transparent about what works, what fails, and what you’re still figuring out. Customers don’t trust vendor pitches. They trust practitioners who’ve been through the pain and can describe it specifically. Every failed deployment I’ve been part of has made the next conversation with a new customer more productive, because I can say “here’s exactly what went wrong and here’s what we changed.”</p><p>Less than 30% of RAG deployments in 2025 included systematic evaluation from day one [13]. Of those that did, the ones that succeeded built golden datasets: 200 or more questions with human-generated reference answers, validated by domain experts against real documents. Not synthetic data generated by another LLM. Real questions from real users about real content.</p><h3>What a working enterprise RAG system actually looks like</h3><p>Strip away the hype and vendor promises, and a working enterprise RAG system has four load-bearing walls. If any one of them cracks, the system fails.</p><p><strong>Content quality comes first.</strong> Shit in, shit out. If your source documents are poorly structured, inconsistently formatted, or missing metadata, no amount of downstream engineering fixes the retrieval. The companies that succeed invest in document enrichment early: classification, entity extraction, geographic tagging, temporal metadata. This isn’t glamorous work. It’s the work that makes everything else possible.</p><p><strong>Navigation architecture comes second.</strong> At enterprise scale, you’re not building a search engine. You’re building a navigation system. Page-level indexing with table-of-contents awareness. Hierarchical document understanding. Permission-based partitioning that reduces the search space before vector similarity runs. This is the layer that prevents embedding space collapse at 30 million or 3 billion documents.</p><p><strong>Orchestration logic comes third.</strong> Query decomposition, intent classification, routing to the right document partitions, deciding whether to search again or accept the current results. This is where prompt engineering matters most, not in the final answer generation, but in the upstream decisions that determine whether the right evidence even reaches the LLM.</p><p><strong>Evaluation methodology ties it together.</strong> A golden dataset of human-generated questions and verified answers. Regular testing against real user queries. Systematic tracking of where failures occur in the pipeline [14]. Without this, you’re flying blind, optimizing based on gut feeling instead of evidence.</p><p>The sequence matters. Most failed projects start with orchestration or evaluation (the exciting parts) and skip content quality and navigation architecture (the boring parts). The successful ones do the opposite.</p><p>None of this happens in five days. The teams that succeed treat their first implementation as a learning phase. They separate discovery from proof-of-concept. They bring business and IT to the same table. And they accept that building a system to answer questions across 30 million documents is a fundamentally different engineering challenge than building one for 10,000.</p><p>The technology is ready. It has been for a while. The question is whether your organization is willing to do the unglamorous work that makes it actually function.</p><h3>References</h3><p>[1] “Why 72% of Enterprise RAG Implementations Fail in the First Year — and How to Avoid the Same Fate.” RAG About It, 2025. <a href="https://ragaboutit.com/why-72-of-enterprise-rag-implementations-fail-in-the-first-year-and-how-to-avoid-the-same-fate/">https://ragaboutit.com/why-72-of-enterprise-rag-implementations-fail-in-the-first-year-and-how-to-avoid-the-same-fate/</a></p><p>[2] Referenced via Pureinsights, “Why Enterprise AI Projects Fail,” April 2025. Original data from IDC research on home-grown AI application survival rates. <a href="https://pureinsights.com/blog/2025/why-enterprise-ai-projects-fail/">https://pureinsights.com/blog/2025/why-enterprise-ai-projects-fail/</a></p><p>[3] “Enterprise RAG Failures: The 5-Part Framework to Avoid the 80%.” Analytics Vidhya, July 2025. Cites PIMCO GenAI lead on 80% critical failure rate. <a href="https://www.analyticsvidhya.com/blog/2025/07/silent-killers-of-production-rag/">https://www.analyticsvidhya.com/blog/2025/07/silent-killers-of-production-rag/</a></p><p>[4] “How I Built an Enterprise RAG System That Searches 50+ Million Records in Under 30 Seconds.” Medium, March 2025. <a href="https://medium.com/@ceo_44783/how-i-built-an-enterprise-rag-system-that-searches-50-million-records-in-under-30-seconds-fe84f409b187">https://medium.com/@ceo_44783/how-i-built-an-enterprise-rag-system-that-searches-50-million-records-in-under-30-seconds-fe84f409b187</a></p><p>[5] “Stanford Just Exposed the Fatal Flaw Killing Every RAG System at Scale.” DEV Community, 2025. References precision degradation from 95% at 1K documents to 12% at 100K. <a href="https://dev.to/aryan_shukla/stanford-just-exposed-the-fatal-flaw-killing-every-rag-system-at-scale-h7i">https://dev.to/aryan_shukla/stanford-just-exposed-the-fatal-flaw-killing-every-rag-system-at-scale-h7i</a></p><p>[6] “Evaluating Chunking Strategies for Retrieval.” Chroma Research, 2025. Tested retrieval degradation across multiple frontier models. <a href="https://research.trychroma.com/evaluating-chunking">https://research.trychroma.com/evaluating-chunking</a></p><p>[7] “Is Semantic Chunking Worth the Computational Cost?” arXiv, 2024. Fixed-size outperformed semantic on 3 of 5 datasets. <a href="https://arxiv.org/html/2410.13070v1">https://arxiv.org/html/2410.13070v1</a></p><p>[8] “Finding the Best Chunking Strategy for Accurate AI Responses.” NVIDIA Technical Blog, June 2025. Page-level chunking at 0.648 accuracy with lowest standard deviation (0.107). <a href="https://developer.nvidia.com/blog/finding-the-best-chunking-strategy-for-accurate-ai-responses/">https://developer.nvidia.com/blog/finding-the-best-chunking-strategy-for-accurate-ai-responses/</a></p><p>[9] “RAG Text Chunking Strategies.” Amir Teymoori, November 2025. Financial documents at 57.9% accuracy with 1,024-token chunks, referencing NVIDIA FinanceBench experiments. <a href="https://amirteymoori.com/rag-text-chunking-strategies/">https://amirteymoori.com/rag-text-chunking-strategies/</a></p><p>[10] Ghosal, K. et al. “Retrieval Augmented Generation (RAG) for Fintech: Agentic Design and Evaluation.” arXiv:2510.25518, October 2025. A-RAG strict accuracy 62.35% vs. baseline 54.12%, rising to 69.41% with semantically relevant sources. <a href="https://arxiv.org/abs/2510.25518">https://arxiv.org/abs/2510.25518</a></p><p>[11] “Temperature=0 is a Lie. Why Your LLM is Still Random.” Medium / Write A Catalyst, January 2026. <a href="https://medium.com/write-a-catalyst/temperature-0-is-a-lie-why-your-llm-is-still-random-b58e26b65752">https://medium.com/write-a-catalyst/temperature-0-is-a-lie-why-your-llm-is-still-random-b58e26b65752</a></p><p>[12] “RAG Permission Management: The Overlooked Enterprise Blind Spot.” RAG About It, December 2025. 89% of enterprise RAG implementations ship without RBAC, audit trails, or permission-aware retrieval. <a href="https://ragaboutit.com/rag-permission-management-the-overlooked-enterprise-blind-spot/">https://ragaboutit.com/rag-permission-management-the-overlooked-enterprise-blind-spot/</a></p><p>[13] “The Next Frontier of RAG: How Enterprise Knowledge Systems Will Evolve (2026–2030).” NStarX Inc., December 2025. Less than 30% of RAG deployments included systematic evaluation from day one. <a href="https://nstarxinc.com/blog/the-next-frontier-of-rag-how-enterprise-knowledge-systems-will-evolve-2026-2030/">https://nstarxinc.com/blog/the-next-frontier-of-rag-how-enterprise-knowledge-systems-will-evolve-2026-2030/</a></p><p>[14] “The Path to a Golden Dataset, or How to Evaluate Your RAG?” Microsoft Data Science Blog, June 2024. Silver-to-gold dataset progression methodology. <a href="https://medium.com/data-science-at-microsoft/the-path-to-a-golden-dataset-or-how-to-evaluate-your-rag-045e23d1f13f">https://medium.com/data-science-at-microsoft/the-path-to-a-golden-dataset-or-how-to-evaluate-your-rag-045e23d1f13f</a></p><h3>Additional sources consulted</h3><ul><li>“Enterprise RAG Architecture: A Practitioner’s Guide.” Applied AI, 2025. Hybrid + RRF shows 15–30% better retrieval accuracy than pure vector search. <a href="https://www.applied-ai.com/briefings/enterprise-rag-architecture/">https://www.applied-ai.com/briefings/enterprise-rag-architecture/</a></li><li>“Unmasking the True Culprit: Why Temperature=0 Doesn’t Mean Deterministic LLM Inference.” SugiV Blog, 2025. Root cause analysis of GPU floating-point non-associativity. <a href="https://blog.sugiv.fyi/temperature-determinism-llm-inference">https://blog.sugiv.fyi/temperature-determinism-llm-inference</a></li><li>“Evaluating Retriever for Enterprise-Grade RAG.” NVIDIA Technical Blog, October 2024. Recall@K methodology and retrieval evaluation. <a href="https://developer.nvidia.com/blog/evaluating-retriever-for-enterprise-grade-rag/">https://developer.nvidia.com/blog/evaluating-retriever-for-enterprise-grade-rag/</a></li><li>“Comparative Evaluation of Advanced Chunking for Retrieval-Augmented Generation in Large Language Models for Clinical Decision Support.” PMC/MDPI Bioengineering, November 2025. Adaptive chunking at 87% accuracy vs. baseline 50%. <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12649634/">https://pmc.ncbi.nlm.nih.gov/articles/PMC12649634/</a></li><li>“Enterprise RAG Predictions for 2025.” Vectara Blog, 2025. Industry outlook on agentic RAG adoption trajectory. <a href="https://www.vectara.com/blog/top-enterprise-rag-predictions">https://www.vectara.com/blog/top-enterprise-rag-predictions</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=529171cd30c0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Great Alliance: The Quartet of Code Gods]]></title>
            <link>https://medium.com/@danielmanzke/the-great-alliance-the-quartet-of-code-gods-77ea7e849c1f?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/77ea7e849c1f</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Sun, 22 Feb 2026 17:30:41 GMT</pubDate>
            <atom:updated>2026-02-22T17:30:41.517Z</atom:updated>
            <content:encoded><![CDATA[<h3>An AI-based Good Night Story</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wKJGcJUXB1PJYH97TgyCZQ.png" /></figure><h3>The Great Alliance: The Quartet of Code Gods</h3><p>It was the year 2026, and software development had transformed into something our ancestors would have mistaken for magic. It was no longer enough for <strong>Claude</strong> to know the context and <strong>OpenAI</strong> to provide the logic. Humanity’s projects had grown too gigantic — spanning millions of lines of code and needing to respond in real time to a world that changed by the second.</p><p>This is where two new powers entered the stage: <strong>Gemini</strong> and <strong>Grok</strong>.</p><h3>The Librarian of the Infinite: Gemini</h3><p>While Claude Code worked in the terminal, Google Gemini hovered above everything like a digital god of memory. With its gigantic context window of millions of tokens, Gemini was the only one who could hold the entire history of a corporation in its mind at once — from the first line of COBOL in the ’70s to the newest cloud-native microservice.</p><p>When Claude hit a dead end, Gemini would whisper: “Do you remember the documentation from ten years ago? That’s where the bug is buried.” Gemini became the team’s “long-term memory.” It didn’t just scan files — it understood the entire digital civilization of a company.</p><h3>The Rebel on the Pulse of Time: Grok</h3><p>And then there was Grok. He was the wildcard factor. While the other AIs lived in their training data and clean repositories, Grok was directly connected to the nervous system of the world — the real-time data stream of X.</p><p>When a new library released a faulty update in the middle of the night, Grok was the first to know. He didn’t wait for the next scan. He interrupted Claude mid-keystroke: “Stop! The community on X is reporting a zero-day exploit for this exact function right now. We need to change the approach — now!” Grok brought the “vibe check” and unfiltered reality into the sterile code.</p><h3>The Birth of the “God Stack”</h3><p>The pinnacle of this collaboration became known as the “Night of 1,000 Patches.” A global bug threatened to cripple the financial systems. That night, they didn’t work sequentially — they operated as a single consciousness:</p><ol><li><strong>Grok</strong> identified the bug in real time by analyzing the desperate reports from developers worldwide in milliseconds.</li><li><strong>Gemini</strong> instantly searched petabytes of legacy code to locate every affected spot in the world’s systems.</li><li><strong>OpenAI</strong> (o-models) calculated the mathematically perfect solution to fix the bug without compromising encryption integrity.</li><li><strong>Claude Code</strong> was the one who moved the “hands.” He executed the commands in the terminal, wrote the patches, validated them with tests, and rolled them out worldwide.</li></ol><h3>The New Era: The Symbiosis</h3><p>Today, developers no longer sit in front of an empty file. They sit in front of a control center.</p><ul><li><strong>Claude</strong> is their loyal assistant and craftsman.</li><li><strong>OpenAI</strong> is their brilliant architect.</li><li><strong>Gemini</strong> is their infinite library.</li><li><strong>Grok</strong> is their radar for the stormy outside world.</li></ul><p>We no longer program with syntax alone; we conduct a choir of intelligences. The rivalry is over. In the world of Claude, OpenAI, Gemini, and Grok, code is no longer a static desert of text — it is a living organism that learns, remembers, thinks logically, and never sleeps.</p><p>The story of Claude Code didn’t end with Claude. It ended with humanity learning to unite the entire intelligence of the planet in a single terminal command.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=77ea7e849c1f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Identity Crisis No One in Tech is Talking About Yet]]></title>
            <link>https://medium.com/@danielmanzke/the-identity-crisis-no-one-in-tech-is-talking-about-yet-b197ff1b9149?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/b197ff1b9149</guid>
            <category><![CDATA[the-future-is-now]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[identity-crisis]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Thu, 19 Feb 2026 10:49:15 GMT</pubDate>
            <atom:updated>2026-02-19T10:49:15.407Z</atom:updated>
            <content:encoded><![CDATA[<p><em>By Daniel Manzke, Seasoned Executive CTPO • February 2026</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0-MdeKt6N265_pr_vZhS8Q.jpeg" /><figcaption>The Identity Crisis</figcaption></figure><p>A developer with twenty years of experience posted on Reddit last year: <em>“I feel mentally broken. The thing I spent my entire career mastering is being done better than me by a machine.”</em> He was not alone. Across forums, engineering Slack channels, and private conversations, a quiet crisis is building inside software teams — one that HR dashboards and sprint velocity metrics will not catch until it is too late.</p><p>This is not a piece about whether AI will replace engineers. That debate has become a distraction. The real question is more specific and more urgent: <strong>what happens to the people who spent a decade becoming genuinely excellent at a craft that AI is now partially automating?</strong> Two kinds of engineers are at risk, and they are suffering for completely different reasons.</p><h3>The Lighthouse Is No Longer Untouchable</h3><p>Software engineering was built on a myth of indispensability. For roughly two decades, engineers occupied a unique social position inside companies: they were <strong>the chosen ones</strong>. They got the MacBooks when everyone else was on Windows. They controlled the roadmap by simply saying something was or was not “technically feasible.” Product managers had to beg for features. Business stakeholders tried to learn to speak a second language — tech — just to communicate their needs.</p><p>That protective bubble was not built on arrogance. It was built on scarcity. Writing production-grade software required years of accumulated knowledge. Architecture decisions, security considerations, performance optimization, system design — these were hard-won skills that genuinely separated experienced engineers from everyone else. The lighthouse metaphor is apt: in a foggy sea of business complexity, engineers were the fixed, reliable point that ships navigated toward.</p><p>Then, in roughly eighteen months, something fundamental shifted. Not the tools — AI coding assistants had existed for years. What shifted was the <strong>capability threshold</strong>. The gap between what AI could produce and what a mid-level engineer could produce collapsed fast enough to matter at the business level.</p><p>Today, <a href="https://fortune.com/2024/10/30/googles-code-ai-sundar-pichai/">Google CEO Sundar Pichai confirmed that over 25% of Google’s new code is generated by AI</a>, reviewed and accepted by engineers (Q3 2024 earnings call). <a href="https://www.cnbc.com/2025/03/15/y-combinator-startups-are-fastest-growing-in-fund-history-because-of-ai.html">Y Combinator’s Garry Tan revealed in March 2025</a> that for a quarter of the Winter 2025 startup batch, 95% of lines of code were LLM-generated — companies reaching $10 million in annual revenue with teams of fewer than 10 people. The lighthouse is not being torn down. It is being automated.</p><h3>Two Types of Pain, Two Types of Engineer</h3><p>The crisis playing out inside engineering teams is not uniform. There are two distinct groups at risk, and conflating them leads to the wrong interventions.</p><p><strong>The first group: senior craftsmen.</strong> These are the engineers with ten to twenty years of experience who built their identity on deep technical expertise. They know architecture patterns by instinct. They can spot a security vulnerability in a code review the way a doctor spots something wrong in an X-ray. They spent years becoming really, really good at something — and now a tool can approximate that goodness in seconds.</p><p>Their pain is an identity crisis, not a job loss. When the AI solves in five minutes the problem they spent three hours on, something breaks inside. The craft was not just the output. It was the process — the thinking, the problem-solving, the moment of insight. <strong>When the machine takes the craft, what remains?</strong> Annie Vella, writing about the software engineering identity shift, captured this precisely: engineers were “masters of their code, proud wielders of a modern magic. And now, just as we’ve perfected this craft, AI is threatening to take it away from us.” (<a href="https://annievella.com/posts/the-software-engineering-identity-crisis/">annievella.com</a>) The senior craftsman does not fear unemployment yet. They fear irrelevance.</p><p><strong>The second group: mid-level coders</strong> — solid engineers who did their job well but never built a distinctive identity around it. They showed up, took tickets, wrote code, attended standups. They never used their own product. They were <em>good enough</em> at a skill that is now widely available. Their pain is more existential: they have fewer arguments for why they specifically should be here.</p><p>Both groups are at risk. But the first group’s crisis is harder to see — and harder to fix — because it is invisible on performance metrics. A senior engineer can be deeply destabilized while still shipping.</p><h3>The Irony That No One Has Said Out Loud</h3><p>Here is the uncomfortable truth: <strong>most engineers today are already doing the AI’s job.</strong> They receive a specification, they implement it, they ship it. They are, in the most literal sense, executing instructions. The AI’s role in software development — receive input, produce code output — is the same role most engineers currently occupy.</p><p>This is the irony. Engineers are resisting a tool that does what they already do, while simultaneously being unaware that what they already do is exactly what the tool does. The resistance to AI among some engineering teams is not irrational — it is the mind protecting itself from a truth it is not ready to process.</p><p>A Hacker News commenter described it bluntly: “I wrote 200K lines of my B2B SaaS before agentic coding came around. With Sonnet 4 in Agent mode, I’d say I now write maybe 20% of the ongoing code from day to day, perhaps less.” That is not a future scenario. That is someone’s current daily workflow.</p><p>The ticket written for an AI looks different from a ticket written for a human engineer. It requires more precision about intent, more explicit description of edge cases, more architectural thinking up front. The engineers who have figured this out — who write prompts and specifications the way they used to write code — have not lost their value. They have translated it into a new language.</p><h3>The New Skill That Twenty Years Gives You</h3><p>Spend time with engineers who are thriving alongside AI tools, and a pattern emerges. They are not the ones with the most AI experience. They are the ones with the deepest <strong>product and technical translation ability</strong> — the capacity to move fluidly between what a user actually needs, what a product should do, and what a technical system requires.</p><p>As a CTO, I spent the past nine months building an enterprise platform largely solo, next to running three engineering teams, doing presales, and managing professional services. The AI did the front-end work I was never fast at. It generated boilerplate, handled repetitive API patterns, wrote tests. What I provided was everything the AI could not: <strong>the ability to decompose a product vision into specific, unambiguous technical requirements</strong>. That is not a prompt engineering trick. It is two decades of translating between user behavior, product logic, and system architecture.</p><p>Authentication is a good example. You cannot prompt an AI: “build me authentication.” You have to think it through — do we need users? Groups? Roles? Permissions? Session handling? OAuth flows? The AI can build any of those things excellently. But deciding which of those things you actually need, in what order, at what level of complexity — that requires genuine domain knowledge. The AI executes. The experienced engineer decides.</p><p>This is also why <strong>security remains a critical human responsibility</strong>. A business founder who built his own app with AI gave me access to his server during a conversation. An exposed configuration endpoint was downloading his database contents to external requests. He had no idea. The AI built what he asked for. No one had asked the right security questions. Experience is the thing that knows which questions to ask before they become incidents.</p><p>GitHub’s own research shows that <a href="https://news.outsourceaccelerator.com/ai-tools-google-code-base/">92% of U.S. developers are already using AI coding tools</a>, with 70% believing these tools give them a competitive advantage. But the same data shows that 75% still manually review every AI-generated code snippet before merging. The tool accelerates. The human decides.</p><h3>What Managers and HR Leaders Are Missing</h3><p>Most company AI transformation programs are built around tools and productivity metrics. Introduce GitHub Copilot, measure code velocity, report the win to leadership. What they are not measuring — what they often cannot measure — is the psychological displacement happening inside engineering teams.</p><p>The <a href="https://medium.com/@anoopm75/the-uncomfortable-truth-about-ai-coding-tools-what-reddit-developers-are-really-saying-f04539af1e12">research on developers using AI coding tools</a> describes something that productivity dashboards cannot capture: “Several describe experiences that sound almost dissociative, a strange disconnection from work that once felt deeply personal and engaging.” That disconnection is a warning signal. Dissociated engineers do not quit immediately. They disengage slowly, their judgment and creativity quietly withdrawing while their commit counts stay stable.</p><p>There is also a structural problem forming in how junior engineers learn. <a href="https://medium.com/@kombib/7-brutal-tech-industry-realities-reddit-developers-exposed-that-ai-obsessed-ceos-completely-miss-f78bd2305fbd">One Reddit thread captured by Medium</a> put it starkly: “My company fired all the junior devs and now our senior devs spend their time doing code reviews on AI slop instead of mentoring the next generation.” The mentorship pipeline — where senior engineers transferred judgment and experience to junior ones through shared work — is breaking. Companies are trading a long-term knowledge ecosystem for short-term output.</p><p>What should managers and HR leaders actually do? Three things matter:</p><p><strong>Create protected experimentation time.</strong> Engineers who discover the power of AI tools themselves, on a real problem they care about, transform faster than any training program can achieve. Give teams a project where failure is safe and AI tool use is expected, not optional.</p><p><strong>Redefine the career ladder explicitly.</strong> The skills that matter most are shifting toward product thinking, system architecture, security judgment, and AI instruction quality. If your current competency framework still rewards lines of code reviewed or tickets closed, it is measuring the wrong things.</p><p><strong>Name the identity shift, openly.</strong> Senior engineers who feel their craft being automated need their managers to acknowledge what is happening — not to reassure them that nothing will change, but to help them see what is emerging on the other side. The creator identity is available to anyone willing to claim it. But most people need someone to show them it is there.</p><h3>The Creator Is Not a New Role. It Is the Original One.</h3><p>Code is a means, not an end. It always was. The engineers who understood this — who used technical depth to serve a product vision and a user need — are the ones who will navigate this moment most cleanly. Their language was never really code. Code was just the implementation detail of a deeper thought.</p><p>The engineers who struggle most will be those who confused the implementation detail with the identity. The ones who built their professional self-worth on a specific set of syntax and abstractions, rather than on the deeper skill of <strong>turning a human problem into a working system</strong>. That deeper skill has not been automated. It has been freed.</p><p>Young engineers entering the field today will likely never experience this transition as a loss. For them, AI tools are simply part of the environment, like version control or cloud infrastructure — things you learn from day one and take for granted. The identity crisis belongs, almost entirely, to the people who built their skills before this shift. That is not a reason for those people to give up. It is a reason for the organizations around them to take the transition seriously.</p><p>The rock is rolling. The question is not whether to move — it is whether you move before it hits you or after. Engineers who pick up the AI tools, build something real, and discover what their twenty years actually gives them in this new context will find, as many already have, that they are more capable than they have ever been. The ones who wait for someone to prove it is safe will find the decision made for them.</p><p><strong>Start something. Build something. Prompt the machine. See what your expertise actually looks like when the implementation bottleneck is gone.</strong></p><p>—</p><h3>References &amp; Sources</h3><p>1. Sundar Pichai, Google Q3 2024 Earnings Call (October 2024): <a href="https://fortune.com/2024/10/30/googles-code-ai-sundar-pichai/">fortune.com/2024/10/30/googles-code-ai-sundar-pichai</a></p><p>2. Garry Tan / Y Combinator, Winter 2025 Batch Announcement (March 2025): <a href="https://www.cnbc.com/2025/03/15/y-combinator-startups-are-fastest-growing-in-fund-history-because-of-ai.html">cnbc.com — YC startups fastest growing because of AI</a></p><p>3. TechCrunch — A quarter of YC’s W25 startups have codebases 95% AI-generated (March 2025): <a href="https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated/">techcrunch.com</a></p><p>4. Annie Vella — The Software Engineering Identity Crisis: <a href="https://annievella.com/posts/the-software-engineering-identity-crisis/">annievella.com/posts/the-software-engineering-identity-crisis</a></p><p>5. Anoop Menon (Medium) — The Uncomfortable Truth About AI Coding Tools: <a href="https://medium.com/@anoopm75/the-uncomfortable-truth-about-ai-coding-tools-what-reddit-developers-are-really-saying-f04539af1e12">medium.com/@anoopm75</a></p><p>6. Mihailo Zoin (Medium) — 7 Brutal Tech Industry Realities Reddit Developers Exposed: <a href="https://medium.com/@kombib/7-brutal-tech-industry-realities-reddit-developers-exposed-that-ai-obsessed-ceos-completely-miss-f78bd2305fbd">medium.com/@kombib</a></p><p>7. GitHub &amp; LinkedIn Work Trend Index 2024–92% of US developers use AI coding tools, 66% of business leaders won’t consider candidates without AI skills: <a href="https://news.outsourceaccelerator.com/ai-tools-google-code-base/">outsourceaccelerator.com</a></p><p>8. Hacker News thread — AI coding adoption in practice (August 2025): <a href="https://news.ycombinator.com/item?id=44974183">news.ycombinator.com/item?id=44974183</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b197ff1b9149" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Voice Cloning in 5 minutes]]></title>
            <link>https://medium.com/@danielmanzke/voice-cloning-in-5-minutes-7ea29b69662d?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/7ea29b69662d</guid>
            <category><![CDATA[google-colab]]></category>
            <category><![CDATA[voice-cloning]]></category>
            <category><![CDATA[qwen-3]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Wed, 04 Feb 2026 10:39:45 GMT</pubDate>
            <atom:updated>2026-02-04T10:39:45.473Z</atom:updated>
            <content:encoded><![CDATA[<p>There are a lot of impressive tools outthere for voice cloning. You will see a lot of premium offerings, which are amazing.</p><p>You record several tracks and they are able to clone your voice. I know several creators who are using it to create shorts with their own voice, but it is not them talking, it is a team scripting the scene, generating the voice and publishing it.</p><p>The OpenSource community behind AI is amazing. With the latest release of a Qwen model (<a href="https://qwen.ai/blog?id=qwen3tts-0115">Blog</a>) for Text-to-Speech (TTS), you can now get into voice cloning by your own.</p><p>You don’t have a GPU? No problem, Google for the rescue. (<a href="https://colab.research.google.com/">Link</a>) Google Colab allows you to use T4s for free and that’s all you need</p><p>I’ve created a Jupyter Notebook for you to easily clone your voice. The code has been generated with Claude and adjusted with Gemini (available in Google Colab).</p><p>Notebook: <a href="https://colab.research.google.com/drive/1i8MGFH8uwMMDGveI2QP8QBBXbs_Pdb2S?usp=sharing">Link</a></p><p>What do you have to do?</p><ul><li>find the text you have to read in the notebook (adjust it to your needs)</li><li>create a recording of your voice reading the text</li><li>upload the recording as wav file (filename: my_voice_sample.wav)</li><li>adjust the text you want your ai clone saying</li><li>let the notebook run</li></ul><p>The notebook loads the Qwen3-TTS model. It generates a representation of your voice and then generates whatever you want to say.</p><p>If you want to support different languages, I recommend to create a voice recording in the same language. I did a german recording and trust me, the english version wasn’t nice. (like a typical german speaking english ;))</p><p>It should be possible to run it also on your laptop if you don’t want to send your data to google colab. Download the notebook and try to get it running.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7ea29b69662d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Are You Still Searching, or Are You Chatting Already?]]></title>
            <link>https://medium.com/@danielmanzke/are-you-still-searching-or-are-you-chatting-already-4b06fb03a027?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/4b06fb03a027</guid>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Wed, 02 Apr 2025 06:32:11 GMT</pubDate>
            <atom:updated>2025-04-02T06:32:11.051Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*0mddQUpefSDE6qq067RDDA.jpeg" /></figure><p>I had the honor of recording an episode on a topic close to my heart with a very good friend and business partner: AI and how it’s changing our daily lives, especially from the perspective of its application in businesses.<br>Enjoy the episode! ❤️</p><h3>How is Artificial Intelligence changing our daily lives — and is Europe even competitive in the AI race? Find out in this podcast episode!</h3><p>(working on the english version of the podcast)</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fopen.spotify.com%2Fembed%2Fepisode%2F0pEmhnK4jO95qN5LnCxhbh%3Futm_source%3Doembed&amp;display_name=Spotify&amp;url=https%3A%2F%2Fopen.spotify.com%2Fepisode%2F0pEmhnK4jO95qN5LnCxhbh&amp;image=https%3A%2F%2Fimage-cdn-ak.spotifycdn.com%2Fimage%2Fab67656300005f1f09b648e8c3cce534be718171&amp;type=text%2Fhtml&amp;schema=spotify" width="456" height="152" frameborder="0" scrolling="no"><a href="https://medium.com/media/7bc3c1e48cb2e06d4731bc84140440cf/href">https://medium.com/media/7bc3c1e48cb2e06d4731bc84140440cf/href</a></iframe><p><strong>A Conversation About AI with a Techie Through and Through</strong></p><p>Daniel Manzke, Head of Engineering at Intrafind Software AG in Munich, explains that AI accompanies us everywhere, but a real understanding of it is often lacking. One reason AI is so often misunderstood is that it appears in every pitch deck, yet hardly anyone can explain exactly how it works. So, it’s time to bring some clarity!‍</p><blockquote><em>“Everyone wrote ‘Digitalization’ on it, everyone said we must digitize now, nobody did it.”<br>Daniel Manzke — Intrafind Software AG‍</em></blockquote><p><strong>Machine Learning vs. Artificial Intelligence: What’s the Difference?</strong></p><p>The terms “Artificial Intelligence” and “Machine Learning” are often used synonymously, but there are important differences. Artificial Intelligence is the umbrella term and describes any technology that simulates human-like thinking and decision-making processes.</p><p>Machine Learning, on the other hand, is a subfield of AI where systems learn from data and improve autonomously. While classic AI models are often based on fixed rules, Machine Learning recognizes patterns in large datasets and adapts dynamically.</p><p>In the construction industry, for example, an AI system might analyze construction plans, while a Machine Learning algorithm learns from this data to make better predictions for material requirements or construction times in the future.‍</p><p><strong>AI in Everyday Life: From Chatbots to Code Assistants</strong></p><p>Artificial Intelligence is no longer science fiction. It’s part of our daily lives, even if we don’t always realize it. Voice-controlled assistants like ChatGPT in Voice Mode help develop ideas during a train ride and function as digital assistants. Information retrieval is also changing: While Google used to be the first port of call, more and more people are now using AI to get relevant answers faster. Even children at home ask ChatGPT when they want to know something.‍</p><blockquote><em>“AI, it’s like. Like an assistant who is with you, who you travel with. [..] I can interact with it, and it understands what I want. It understands my intent; it knows what I want to do.”<br>Daniel Manzke — Intrafind Software AG‍</em></blockquote><p>AI is also widespread in the professional world. It’s used in speech recognition, text generation, and software development. GitHub Copilot already writes a large portion of the world’s code. Customer service departments use chatbots to handle simple inquiries, often acting in a supporting rather than replacing role. AI is also used in contract review, although human oversight is essential here.</p><p>Daniel himself comes from document management. For years, he ensured that all companies stored their data centrally and orderly. The result was that nobody used this data. Today, AI is capable of searching these documents via queries. This makes internal company knowledge accessible for the first time.‍</p><p><strong>And What Does AI Mean for the Construction Industry?</strong></p><p>AI is also becoming increasingly important in the construction industry. More and more companies in the construction and real estate sector are using AI for innovative solutions.</p><p>Especially for repetitive processes like processing customer inquiries or sorting documents, AI offers great potential for automation. But it’s not just about increasing efficiency — AI can relieve skilled workers by, for example, classifying support cases or automatically creating technical drawings.</p><p>A central aspect here is data analysis. Using existing data can significantly optimize processes, but the quality of the data is crucial — following the “garbage in, garbage out” principle.<br>Furthermore, AI can help plan material deliveries on construction sites more efficiently, detect errors early, or make construction processes more sustainable.‍</p><p><strong>Where is the Journey Heading? Trends and Developments</strong></p><p>AI development is advancing rapidly. A key trend is the evolution from Machine Learning to interactive AI, which understands context better and can act in conversations. While AI was previously mainly reserved for large tech corporations, it is now becoming accessible to more and more businesses and private individuals. Especially in software development, AI assistants like GitHub Copilot are on the rise and revolutionizing programming.</p><p>In the future, AI agents could independently take over tasks and make decisions. The processing of structured data is constantly improving, making tables and databases easier to search.</p><blockquote><em>“So AI is really an evolutionary step. Before, Machine Learning was more like, ‘Yeah okay, dictation, okay. Reading invoices.’ There wasn’t really cool stuff involved yet. […] And suddenly, one person becomes ten people because they can achieve ten times as much if they use it.”<br>Daniel Manzke</em></blockquote><p>According to Daniel’s assessment, Europe has great potential to establish itself as an AI location, especially through initiatives like Mistral. However, Germany still has an adoption problem — many innovations exist, but their implementation often takes too long.</p><p>Further advances in robotics could lead to AI being increasingly used for automated construction or inspections.‍</p><p><strong>Challenges: Where AI Still Reaches Its Limits</strong></p><p>As great as the potential is, so are the challenges. Many people have an inaccurate understanding of what AI can actually do and what it cannot. Data privacy remains a critical issue, especially when it comes to uploading sensitive data to open AI models. High expectations often lead to disappointment when it turns out that AI cannot solve all problems.</p><p>Another challenge lies in data quality — bad data inevitably leads to bad results. AI is also not flawless: It can generate false information that sounds convincing but does not correspond to reality.</p><p>Training is often lacking to optimally use the possibilities of AI. Additionally, there are language barriers, as many AI models work better in English than in German.</p><p>In Germany, bureaucratic hurdles add to the difficulties, hindering rapid implementation. Finally, dependence on large tech corporations remains a challenge, as many AI models are dominated by a few companies.<br>‍<br><strong>AI is Here — But We Need to Understand It</strong></p><p>AI is no longer a vision of the future — it’s already part of our daily lives and the working world. The major challenge now is to use it correctly. Companies must learn to see AI as a tool that supports employees instead of replacing them. Data privacy, user-friendliness, and understandable application are central to this.</p><p>The construction industry faces the exciting task of using AI meaningfully without neglecting the human factor. Because one thing is clear: The technology will continue to evolve, but it’s up to us to use it wisely. Those who learn to handle AI early will have clear advantages in the future.<br>‍<br><strong>Topics of the DIGITALWERK Podcast with Daniel Manzke at a Glance:</strong></p><ul><li>(00:00) — Introduction: What is this episode about?</li><li>(00:00:41) — Introduction of Daniel Manzke: CTO, Investor, and AI Expert</li><li>(00:05:15) — Technology and Business: Bridging the Gap Between Tech and the Product World</li><li>(00:06:39) — AI in Construction and Other Industries: Thinking Outside the Box</li><li>(00:19:25) — Machine Learning: Where did it all begin? The history of speech recognition</li><li>(00:20:45) — OCR Technologies and their importance for AI applications</li><li>(00:32:46) — Chatbots and AI in Customer Support: Where does the technology stand today?</li><li>(00:33:46) — Human vs. AI: Why AI currently serves as support, not replacement</li><li>(00:35:03) — Data Quality as a Success Factor: How important are existing datasets?</li><li>(00:07:58) — The Hype Around AI: How companies use AI in their pitch decks</li><li>(00:41:00) — AI and the Future: What developments await us?</li><li>(00:55:30) — Data Privacy and GDPR: Challenges for AI projects</li><li>(01:03:00) — Conclusion: Opportunities and Risks of AI Technology</li></ul><p>Should we all become craftspeople instead? The big AI update! How is Artificial Intelligence changing our daily lives — and is Europe even competitive in the AI race? Find out more:<br><a href="https://www.digitalwerk.io/podcast/podcast-blogposts/sollten-wir-alle-doch-lieber-handwerker-werden-das-grosse-ki-update">https://www.digitalwerk.io/podcast/podcast-blogposts/sollten-wir-alle-doch-lieber-handwerker-werden-das-grosse-ki-update</a></p><p>Spotify: <a href="https://www.google.com/url?sa=E&amp;q=https%3A%2F%2Fopen.spotify.com%2Fepisode%2F0pEmhnK4jO95qN5LnCxhbh%3Fsi%3DwUk9U62aQBSqcS9E3oHunA">https://open.spotify.com/episode/0pEmhnK4jO95qN5LnCxhbh?si=wUk9U62aQBSqcS9E3oHunA</a></p><p>Apple: <a href="https://www.google.com/url?sa=E&amp;q=https%3A%2F%2Fpodcasts.apple.com%2Fde%2Fpodcast%2Fzwischen-hype-und-echter-anwendung-ki-experte-investor%2Fid1515697985%3Fi%3D1000701650069">https://podcasts.apple.com/de/podcast/zwischen-hype-und-echter-anwendung-ki-experte-investor/id1515697985?i=1000701650069</a></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FIwGfm4_6a6g%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DIwGfm4_6a6g&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FIwGfm4_6a6g%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/fc14a8d67811f67ceffa4d87421b5f76/href">https://medium.com/media/fc14a8d67811f67ceffa4d87421b5f76/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4b06fb03a027" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Suchst du noch oder chattest du schon?]]></title>
            <link>https://medium.com/@danielmanzke/suchst-du-noch-oder-chattest-du-schon-a21ac2958230?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/a21ac2958230</guid>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Tue, 01 Apr 2025 15:23:10 GMT</pubDate>
            <atom:updated>2025-04-01T15:23:10.639Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Suchst du noch oder chattest du schon?" src="https://cdn-images-1.medium.com/max/640/0*NI0rj-QYXfRKyfIC.jpg" /></figure><p>Ich hatte die Ehre mit einem sehr guten Freund und Geschäftspartner eine Folge zu einem meiner Herzensthemen aufzunehmen. KI und wie es unseren Alltag verändert, vor allem unter dem Blickwinkel “Einsatz in Firmen”.</p><p>Viel Spaß mit der Folge! ❤</p><h3>Wie verändert Künstliche Intelligenz unseren Alltag — und ist Europa im KI-Rennen überhaupt konkurrenzfähig? Das erfahrt ihr in dieser Podcastfolge!</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fopen.spotify.com%2Fembed%2Fepisode%2F0pEmhnK4jO95qN5LnCxhbh%3Futm_source%3Doembed&amp;display_name=Spotify&amp;url=https%3A%2F%2Fopen.spotify.com%2Fepisode%2F0pEmhnK4jO95qN5LnCxhbh&amp;image=https%3A%2F%2Fimage-cdn-ak.spotifycdn.com%2Fimage%2Fab67656300005f1f09b648e8c3cce534be718171&amp;type=text%2Fhtml&amp;schema=spotify" width="456" height="152" frameborder="0" scrolling="no"><a href="https://medium.com/media/7bc3c1e48cb2e06d4731bc84140440cf/href">https://medium.com/media/7bc3c1e48cb2e06d4731bc84140440cf/href</a></iframe><h3>Ein Gespräch über KI mit einem Techie durch und durch</h3><p>Daniel Manzke, Head of Engineering bei der Intrafind Software AG in München, erklärt, dass KI uns überall begleitet, aber oft ein echtes Verständnis dafür fehlt. Ein Grund, warum KI so oft falsch verstanden wird, liegt darin, dass sie in jedem Pitch Deck auftaucht, aber kaum jemand genau erklären kann, wie sie funktioniert. Zeit also, etwas Klarheit zu schaffen!‍</p><blockquote><em>“Jeder hat Digitalisierung drauf geschrieben, jeder hat gesagt, wir müssen jetzt digitalisieren, keiner hat es gemacht.”</em></blockquote><blockquote><em>Daniel Manzke — Intrafind Software AG</em>‍</blockquote><h3>‍Machine Learning vs. Künstliche Intelligenz: Was ist der Unterschied?</h3><p>Oft werden die Begriffe „Künstliche Intelligenz“ und „Machine Learning“ synonym verwendet, doch es gibt wichtige Unterschiede. Künstliche Intelligenz ist der übergeordnete Begriff und beschreibt jede Technologie, die menschenähnliche Denk- und Entscheidungsprozesse simuliert.</p><p>Machine Learning hingegen ist ein Teilbereich der KI, bei dem Systeme aus Daten lernen und sich selbstständig verbessern. Während klassische KI-Modelle oft auf festgelegten Regeln basieren, erkennt Machine Learning Muster in großen Datenmengen und passt sich dynamisch an.</p><p>In der Baubranche könnte ein KI-System beispielsweise Baupläne analysieren, während ein Machine-Learning-Algorithmus daraus lernt, um in Zukunft bessere Vorhersagen für Materialbedarf oder Bauzeiten zu treffen.‍</p><h3>KI im Alltag: Vom Chatbot bis zum Code-Assistenten</h3><p>Künstliche Intelligenz ist längst nicht mehr Zukunftsmusik. Sie ist Teil unseres Alltags, auch wenn wir das nicht immer merken. Sprachgesteuerte Assistenten wie ChatGPT im Voice Mode helfen dabei, Ideen während einer Zugfahrt zu entwickeln und fungieren als digitale Assistenten. Auch die Informationssuche verändert sich: Während früher Google die erste Anlaufstelle war, nutzen heute immer mehr Menschen KI, um schneller an relevante Antworten zu kommen. Selbst Kinder fragen zu Hause ChatGPT, wenn sie etwas wissen wollen.‍</p><blockquote>“KI, das ist wie. Wie eine Assistenz, die bei dir ist, mit der du unterwegs bist. [..] Ich kann mit ihr interagieren und sie versteht, was ich will. Sie versteht meinen Intent, sie weiß, was ich tun möchte.”</blockquote><blockquote><em>Daniel Manzke — Intrafind Software AG</em>‍</blockquote><p>In der Berufswelt ist KI ebenfalls weit verbreitet. Sie wird in der Spracherkennung, Texterstellung und Softwareentwicklung eingesetzt. GitHub Copilot schreibt bereits einen großen Teil des weltweiten Codes. Kundenservice-Abteilungen setzen Chatbots ein, um einfache Anfragen zu bearbeiten, wobei diese oft unterstützend statt ersetzend wirken. Auch in der Vertragsprüfung wird KI verwendet, wenngleich hier menschliche Kontrolle unerlässlich ist.</p><p>Daniel selbst kommt aus dem Dokumentenmanagement. Er hat jahrelang dafür gesorgt, dass alle Firmen ihre Daten zentral und geordnet ablegen. Mit dem Resultat, dass keiner diese Daten genutzt hat. KI ist heute fähig, diese Dokumente per Anfrage zu durchsuchen. Dadurch wird zum erste Mal das unternehmensinterne Wissen nutzbar gemacht.‍</p><h3>Und was bedeutet KI für die Baubranche?</h3><p>Auch in der Baubranche wird KI zunehmend wichtiger. Immer mehr Unternehmen aus dem Bau- und Immobiliensektor nutzen KI für innovative Lösungen.</p><p>Besonders für repetitive Prozesse wie die Bearbeitung von Kundenanfragen oder die Sortierung von Dokumenten bietet KI großes Potenzial zur Automatisierung. Doch es geht nicht nur um Effizienzsteigerung — KI kann Fachkräfte entlasten, indem sie beispielsweise Support-Fälle klassifiziert oder technische Zeichnungen automatisiert erstellt.</p><p>Ein zentraler Aspekt ist dabei die Datenanalyse. Die Nutzung vorhandener Daten kann Prozesse erheblich optimieren, allerdings ist die Qualität der Daten entscheidend — nach dem Motto “Shit in, shit out”.</p><p>Zudem kann KI dabei helfen, Materiallieferungen auf Baustellen effizienter zu planen, Fehler frühzeitig zu erkennen oder Bauprozesse nachhaltiger zu gestalten.‍</p><h3>Wo geht die Reise hin? Trends und Entwicklungen</h3><p>Die Entwicklung der KI schreitet rasant voran. Ein zentraler Trend ist die Weiterentwicklung von Machine Learning zu interaktiver KI, die immer besser Kontexte versteht und in Gesprächen agieren kann. Während KI früher vor allem großen Tech-Konzernen vorbehalten war, wird sie nun für immer mehr Unternehmen und Privatpersonen zugänglich. Besonders in der Softwareentwicklung sind KI-Assistenten wie GitHub Copilot auf dem Vormarsch und revolutionieren das Programmieren.</p><p>In Zukunft könnten KI-Agenten eigenständig Aufgaben übernehmen und Entscheidungen treffen. Die Verarbeitung strukturierter Daten wird stetig verbessert, sodass Tabellen und Datenbanken einfacher durchsuchbar werden.</p><blockquote>“Also KI ist wirklich ein Evolutionsstep. Vorher war Machine Learning eher so “Ja okay, diktieren, okay. Rechnungen auslesen.” So richtig geile Sachen waren da noch nicht dabei. […] Und auf einmal wird halt aus einer Person zehn Personen, weil sie halt zehnmal so viel leisten kann, wenn sie es einsetzt.”</blockquote><blockquote>Daniel Manzke</blockquote><p>Nach Daniels Einschätzung gibt es für Europa großes Potenzial, sich als KI-Standort zu etablieren, insbesondere durch Initiativen wie Mistral. Allerdings hat Deutschland weiterhin ein Adoptionsproblem — viele Innovationen sind vorhanden, aber ihre Umsetzung dauert oft zu lange.</p><p>Weitere Fortschritte in der Robotik könnten dazu führen, dass KI vermehrt für automatisiertes Bauen oder Inspektionen eingesetzt wird.‍</p><h3>Herausforderungen: Wo KI noch an ihre Grenzen stößt</h3><p>So groß das Potenzial ist, so groß sind auch die Herausforderungen. Viele Menschen haben ein ungenaues Verständnis davon, was KI tatsächlich kann und was nicht. Datenschutz bleibt ein kritisches Thema, insbesondere wenn es um das Hochladen sensibler Daten in offene KI-Modelle geht. Hohe Erwartungen führen oft zu Enttäuschungen, wenn sich herausstellt, dass KI nicht alle Probleme lösen kann.</p><p>Eine weitere Herausforderung liegt in der Datenqualität — schlechte Daten führen zwangsläufig zu schlechten Ergebnissen. KI ist zudem nicht fehlerfrei: Sie kann falsche Informationen generieren, die überzeugend klingen, aber nicht der Realität entsprechen.</p><p>Auch fehlen oft Schulungen, um die Möglichkeiten von KI optimal zu nutzen. Zudem gibt es Sprachbarrieren, da viele KI-Modelle auf Englisch besser funktionieren als auf Deutsch.</p><p>In Deutschland kommen bürokratische Hürden hinzu, die eine schnelle Implementierung erschweren. Schließlich bleibt die Abhängigkeit von großen Tech-Konzernen eine Herausforderung, da viele KI-Modelle von wenigen Unternehmen dominiert werden.</p><p>‍</p><h3>KI ist da — aber wir müssen sie verstehen</h3><p>KI ist keine Zukunftsvision mehr — sie ist längst Teil unseres Alltags und der Arbeitswelt. Die große Herausforderung besteht nun darin, sie richtig zu nutzen. Unternehmen müssen lernen, KI als Werkzeug zu sehen, das Mitarbeiter unterstützt, anstatt sie zu ersetzen. Datenschutz, Nutzerfreundlichkeit und eine verständliche Anwendung stehen dabei im Mittelpunkt.</p><p>Die Baubranche steht vor der spannenden Aufgabe, KI sinnvoll einzusetzen, ohne dabei den menschlichen Faktor zu vernachlässigen. Denn eines ist klar: Die Technologie wird weiterentwickelt, aber es liegt an uns, sie klug zu nutzen. Wer früh lernt, mit KI umzugehen, wird in Zukunft klare Vorteile haben.</p><p>‍</p><h4>Die Themen des DIGITALWERK Podcasts mit Daniel Manzke im Überblick:</h4><p>(00:00) — Einführung: Worum geht es in dieser Folge?<br>(00:00:41) — Vorstellung von Daniel Manzke: CTO, Investor und KI-Experte<br>(00:05:15) — Technologie und Business: Die Brücke zwischen Tech und Produktwelt<br>(00:06:39) — KI im Bauwesen und anderen Branchen: Ein Blick über den Tellerrand<br>(00:19:25) — Machine Learning: Wo fing alles an? Die Geschichte von Spracherkennung<br>(00:20:45) — OCR-Technologien und ihre Bedeutung für KI-Anwendungen<br>(00:32:46) — Chatbots und KI im Customer Support: Wo steht die Technologie heute?<br>(00:33:46) — Mensch vs. KI: Warum KI aktuell als Unterstützung und nicht als Ersatz dient<br>(00:35:03) — Datenqualität als Erfolgsfaktor: Wie wichtig sind vorhandene Datensätze?<br>(00:07:58) — Der Hype um KI: Wie Unternehmen KI in ihren Pitch Decks nutzen<br>(00:41:00) — KI und die Zukunft: Welche Entwicklungen erwarten uns?<br>(00:55:30) — Datenschutz und DSGVO: Herausforderungen für KI-Projekte<br>(01:03:00) — Fazit: Chancen und Risiken der KI-Technologie</p><p><a href="https://www.digitalwerk.io/podcast/podcast-blogposts/sollten-wir-alle-doch-lieber-handwerker-werden-das-grosse-ki-update">Sollten wir alle doch lieber Handwerker werden? Das große KI-Update!</a></p><p>Spotify: <a href="https://open.spotify.com/episode/0pEmhnK4jO95qN5LnCxhbh?si=wUk9U62aQBSqcS9E3oHunA">https://open.spotify.com/episode/0pEmhnK4jO95qN5LnCxhbh?si=wUk9U62aQBSqcS9E3oHunA</a></p><p>Apple: <a href="https://podcasts.apple.com/de/podcast/zwischen-hype-und-echter-anwendung-ki-experte-investor/id1515697985?i=1000701650069">https://podcasts.apple.com/de/podcast/zwischen-hype-und-echter-anwendung-ki-experte-investor/id1515697985?i=1000701650069</a></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FIwGfm4_6a6g%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DIwGfm4_6a6g&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FIwGfm4_6a6g%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/1dcef480e577b55aa5645be35e738405/href">https://medium.com/media/1dcef480e577b55aa5645be35e738405/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a21ac2958230" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Burning Tokens with AI Coding Agents]]></title>
            <link>https://medium.com/@danielmanzke/burning-tokens-with-ai-coding-agents-3621f67c9776?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/3621f67c9776</guid>
            <category><![CDATA[agents]]></category>
            <category><![CDATA[open-hand]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[github-copilot]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Sat, 01 Mar 2025 20:02:41 GMT</pubDate>
            <atom:updated>2025-03-01T20:02:41.197Z</atom:updated>
            <content:encoded><![CDATA[<p>How I burned 200$ in tokens to test an AI Coding Agent and the learnings I got.</p><p>We have an Enterprise Search and with the rise of AI, we want to combine both worlds. We have integrated LLMs with our product, so you can chat with your corporate content / knowledge and use it to build assistants, which can help your employees.</p><p>Over the weekend I wanted to test our APIs and figure out, how fast I can build a Question &amp; Answering application.</p><p>Requirements:</p><ul><li>be able to configure multiple assistants with different profiles</li><li>ask a question and receive the answer via Server Send Events</li><li>receive the used passages and related questions</li><li>intelligent handling of passages (search, relevance, filter)</li><li>allow to review the metadata</li><li>render the answer as markdown to support tables, links, etc.</li><li>view PDFs in the browser, support thumbnails and searching</li></ul><p>Note: in the beginning I actually wanted to test Devin, but 500€ for a PoC, where you “only get the normal Devin” and references to an enterprise version, actually let me step away from it.</p><p>I’ve also tried shortly Gemini 2.0 Flash and you could see / feel the performance difference. I stopped further testing Gemini, because it failed to change a single line. I’ve plan to test Gemini with a new project.</p><p>Setup:</p><ul><li>local OpenHands from <a href="http://all-hands.dev/">all-hands.dev</a></li><li>connected to Anthropic with claude 3 sonnet</li></ul><p>After a few hours I had a pretty nice ui, which I could ask question with a backend responding. This were roughly 5–10$.</p><p>This got me excited and the journey started. This is were the mess began…</p><p>Recommendation: Git from the beginning</p><p>In the beginning I started locally (docker). When using docker and you don’t map your filesystem into the container, all data can get lost.</p><p>OpenHands supports downloading the files, but this becomes messy. The Git support is quite nice and also OpenHands supports open the web-based vs code.</p><p>The integrated vscode is amazing to see / monitor what the agent has done. It can do feature branches etc.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xzNwAMMi8Y_fCdml" /></figure><p>integrated vscode</p><p>Obstacle: Rate Limits</p><p>Claude wasn’t the fastest one, but it was still fast enough to hit the limits. Especially in Tier 1 and 2 the limits are too low for an agent. Luckily OpenHands has retry mechanisms.</p><p>Obstacle: Token Count</p><p>Still the limits have led to several files, which got deleted. Also in cases, where a few lines could not be replaced, OpenHands &amp; Claude generated the files completely new.</p><p>In the beginning (green field) it isn’t a problem, but your codebase can become quite big, quite fast and regenerating the files becomes costly.</p><p>Recommendation: Small steps and as concrete as possible</p><p>When you let the agent code, you can get to the point, where the agent recommends features and you think “hey, why not?”. Sadly this means you will burn a lot of tokens, your codebase explodes and you will later remove the features.</p><p>While the agent had amazing ideas, I didn’t specify them, which means a lot of informations were missing.</p><p>Recommendation: Testability</p><p>Build it in a way, so the agent can test your app. This will save you several rounds, because the agent will start your app, recognize issues and fixes them automatically. If the agent need you to deploy and test it, you will do a lot of “try and error” rounds.</p><p>Obstacle: Clean Code?</p><p>If you hope, you will get a better codebase, start praying. Using an agent can lead to full files being replaced / rewritten, new files with additional code, duplicate code, … while I love the speed I can iterate and test out new features, the codebase exploded from 3 files 15.000 loc and 20.000 changed ones?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*y3QNEhfOVfVCRvgO" /></figure><p>“the terminal”</p><p>Biggest Learning: Token Usage increases exponential</p><p>The first night I got quite far with a few dollars. After 2/3 of the application, the token usage exploded. I would say that as usual I “wasted” 80% of my tokens for the last 20%. Mainly because often parts couldn’t be replaced and the files had to be generated again.</p><p>Summary?</p><p>I’m actually impressed how far I got and this while I kept on working. Every here and then I looked into the console, tested it, described the next step and go…</p><p>Would I code a complex application or product with it? Not yet.</p><p>Is it amazing for prototyping? Definitely! One of my PMs actually thought about using it for UX prototyping.</p><p>OpenHands is amazing, but it has to get better in replacing the right parts. I had too often files generated every time again and again, burning my tokens…</p><p>Biggest Puzzle to solve?</p><p>LLMs have one big issue. To be able to generate code, they have to know the codebase. there a tricks to optimize it, but at the end, I have to pass all information into the prompt / context window. Yes a LLM with 1m tokens, will be able to handle a lot, but I will run out of money before I will be in production.</p><p>All the tools we are building right now “summarize it to fit into the context window”, “vector database for lookup”, “function calling to load further infos”, … just means we push the same data into the model every time.</p><p><a href="https://github.com/manzke/rag-chat-interface/">https://github.com/manzke/rag-chat-interface/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3621f67c9776" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SkyPilot struggles with AWS]]></title>
            <link>https://medium.com/@danielmanzke/skypilot-struggles-with-aws-01a4cba0d1c0?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/01a4cba0d1c0</guid>
            <category><![CDATA[cloud]]></category>
            <category><![CDATA[skypilot]]></category>
            <category><![CDATA[mixtral]]></category>
            <category><![CDATA[struggle]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Mon, 18 Dec 2023 14:08:49 GMT</pubDate>
            <atom:updated>2023-12-18T14:14:22.691Z</atom:updated>
            <content:encoded><![CDATA[<p>When you work with LLMs, RAGs, QA, … you will want to test out the latest LLMs. It feels like daily a new or at least a fine-tuned one is created, which could change a lot.</p><p>At <a href="https://intrafind.com/">IntraFind</a> we were looking for a way to spin up models, quick an easy and especially, when the latest Mixtral of Experts (<a href="https://mistral.ai/news/mixtral-of-experts/">Link</a>) came out.</p><p>We have some hardware, but sadly none was fitting the 8x7B MoE model.</p><p>We spotted <a href="https://skypilot.readthedocs.io/en/latest/">SkyPilot</a>, which is an amazing CLI to check several cloud providers at once, giving you alternatives were to run it.</p><h3><strong>Struggle 1: dynamic credentials</strong></h3><p>We are using GCP and AWS and especially for the later one, we have set up AWS IAM Identity Center (AWS SSO) with our Active Directory. SkyPilot will ask you to specify an Access Key and Secret, but we don’t want this.</p><p>There are too many company which got hacked, because there was still a Key and a Secret, which wasn’t revoked. Through our approach, a user, who can’t login into his email account, can’t get anywhere.</p><p>Yes this means our engineers have to type “aws sso login” once a day. If you are using more than one or not the default profile, you will have to specify it.</p><p><strong>Solution</strong>: specify the profile as a variable or pass it to the CLI</p><blockquote>AWS_PROFILE=IntraFind sky check</blockquote><h3><strong>Struggle 2: No usable subnet</strong></h3><blockquote>SKYPILOT_ERROR_NO_NODES_LAUNCHED: No usable subnets found, try manually creating an instance in your specified region to populate the list of subnets and trying this again. Note that the subnet must map public IPs on instance launch unless you set `use_internal_ips: true` in the `provider` config.</blockquote><p>If you are like use, we have no default VPC anymore, which probably fits for SkyPilot. Also in a lot of cases you want to specify the VPC, where the cluster will be deployed into.</p><p>The cluster can only be passed in the ~/.sky/config.yaml (<a href="https://skypilot.readthedocs.io/en/latest/reference/config.html">Link</a>), It allows to overwrite some provider specify ones, like the vpc.</p><p><strong>Solution</strong>: overwrite the vpc_name in the config.yml</p><blockquote>vpc_name: skypilot-vpc</blockquote><p>In our case it still didn’t work and it took us awhile to figure it out. The problem was that our public subnet did NOT assign public IPs automatically.</p><p>To change it, you have to go to your vpc and check the public subnet. If you want to enable it, click the <strong>Edit Subnet Settings</strong> and enable <strong>Enable auto-assign public IPv4 address.</strong></p><blockquote><strong>WARNING!</strong> This means that any new ec2 in this vpc, will automatically have public IPs!</blockquote><p>Alternative Solution: set the SkyPilot config <strong>use_internal_ips</strong> to true.</p><blockquote>use_internal_ips: true</blockquote><p>This allowed us to get started with SkyPilot, we hope it will help someone and saves some time and headaches.</p><p>From here: good luck to get a spot instance :)</p><p><strong>Bonus because you have read until the end of the post.</strong></p><p>If you want to disable Usage Tracking, set the variable:</p><blockquote>SKYPILOT_DISABLE_USAGE_COLLECTION=1</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=01a4cba0d1c0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I used ChatGPT to exploit another tool which uses ChatGPT]]></title>
            <link>https://medium.com/@danielmanzke/how-i-used-chatgpt-to-exploit-another-tool-which-uses-chatgpt-b0885a89b210?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/b0885a89b210</guid>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[exploit]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Thu, 20 Apr 2023 17:15:30 GMT</pubDate>
            <atom:updated>2023-04-20T20:43:44.436Z</atom:updated>
            <content:encoded><![CDATA[<p>The world is going crazy right now. Everyone talks about it and we have seen already a lot of exploits.</p><p>People are using ChatGPT and their powered tools blindly, because it is so easy to ask it, provide it with information and let the tool do my work.</p><p>An amazing example how humans stop thinking, when something will do their work.</p><p>While getting spammed with all the tools, lists, etc. I stumbled about <a href="https://sharegpt.com/">https://sharegpt.com/</a></p><p>Something I also thought about, because for me it was a missing feature. How can preserve my conversation with ChatGPT? Even better how can I share it easily.</p><p>Thanks to them, they provide also some examples without the need to login. <a href="https://sharegpt.com/c/ICZsSl7">https://sharegpt.com/c/ICZsSl7</a></p><p><strong>And here the fun started.</strong></p><p>As someone who has led huge teams of software, system and especially security engineers, I got triggered.</p><p><strong>What if I could just access what other people have shared?</strong></p><p><strong>Do they know that it is (completely) public, in best-case pseudo secure?</strong></p><p>So let’s sit back and think about what do we know?</p><ul><li>review all provided examples, I can tell you the part behind /c/ is the id</li><li>the id consists of letters and digits</li><li>length 7</li></ul><p>This would mean 26 lower case, 26 upper case + 10 digits. I confirmed my theory after having a look at the code itself (<a href="https://github.com/domeccleston/sharegpt/blob/52807c8c4e81b310b42fb653d5fad70c5e9f13f8/app/lib/utils.ts#L4">https://github.com/domeccleston/sharegpt/blob/52807c8c4e81b310b42fb653d5fad70c5e9f13f8/app/lib/utils.ts#L4</a>)</p><p>They use <strong>nanoid (</strong><a href="https://github.com/ai/nanoid">https://github.com/ai/nanoid</a>), which is a little nice tool, which uses cryptography to generate the id.</p><p><strong>62 ^ 7</strong> would mean <strong>3.521.614.606.208 possibilities</strong> 🤯, no way I can find one in my lifetime.</p><p>But if I have learned something in my life, that as long as you are not using a Microsoft Internet Information Services (IIS) or have configured your URLs to be case-sensitive, they are NOT!</p><p>This means we got down to <strong>78.364.164.096 possibilities</strong>. I confirmed my theory through simply changing the uppercase letters to lowercase. <a href="https://sharegpt.com/c/iczssl7">https://sharegpt.com/c/iczssl7</a> (still works)</p><p>We just killed <strong>3.443.250.442.112 possibilities</strong> without doing anything crazy.</p><p><strong>Time to start “hacking”.</strong></p><p>I tried to convince ChatGPT to generate all possible IDs, but the file would be a wooping 600–700GBs. So I decided to generate them on the fly instead of pre-calulating them.</p><p>But because we don’t want to generate duplicates and only test them once, we have to keep track of it.</p><p>ChatGPT wrote all the code, I partially adjusted it too my needs, advanced it a little bit with specific questions of how to handle certain cases (unhandled exceptions, uncontrolled aborts, …)</p><p><strong>A few excerpts</strong></p><p>I’m lazy, please extract the IDs</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1Oz0mwBVNmUvy63Z9Ke3-g.png" /></figure><p>Generate similar ones</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zqAlYVlQtnuMXnk2SwsvWw.png" /></figure><p>Please test a list of IDs</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gEXTQz_sc3uA7RZFuuhNfQ.png" /></figure><p>I even asked it how I could potentially speed it up?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KGnXKyDD2ZmuAJSjXMrzHQ.png" /></figure><p>After roughly 10.000 IDs I got my first match and stopped here, as I just wanted to proof that pseudo-secure is not secure and if you are fine with it, use the Extension!</p><p>Source Code: <a href="https://gist.github.com/manzke/9a78b3508dc3053a7a3033e2e2c0c7bb">https://gist.github.com/manzke/9a78b3508dc3053a7a3033e2e2c0c7bb</a></p><p>Just be careful what you share and be aware, someone else now knows, what you both have chatted. :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b0885a89b210" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Shopify Hack: Dynamic Bundles]]></title>
            <link>https://medium.com/@danielmanzke/the-shopify-hack-dynamic-bundles-6f075e85cdc5?source=rss-3f7731e67ab1------2</link>
            <guid isPermaLink="false">https://medium.com/p/6f075e85cdc5</guid>
            <category><![CDATA[bundle]]></category>
            <category><![CDATA[shopify]]></category>
            <category><![CDATA[free-shopping]]></category>
            <category><![CDATA[client-side]]></category>
            <category><![CDATA[hacks]]></category>
            <dc:creator><![CDATA[Daniel Manzke]]></dc:creator>
            <pubDate>Thu, 10 Feb 2022 21:07:13 GMT</pubDate>
            <atom:updated>2022-02-10T21:39:13.173Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L4G_rqTu6ngtQgZ35LEtag.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@jefflssantos?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jefferson Santos</a> on <a href="https://unsplash.com/s/photos/hack?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Shopify is the de-facto standard for shops. It has a huge ecosystem of apps, which are extending the functionalities of it.</p><p>One typical thing you can find in a shop are sets. Simple sets are a discounted collection of some items and depending on the implementation, a dynamic discount is applied to it.</p><p><strong>But Shopify is only able to apply 1 discount.</strong> This means if you have applied a discount, no other discount code can be used. This is often a problem, because especially in cooperation with influencers, discount codes are used for tracking and incentives.</p><p><strong>So what could be a potential workaround?</strong> You copy items into the basket with dynamic prices. Means the prices are already discounted and you can still apply a discount code.</p><p>While we were discussing how it could be done, we also considered the downside / potential attack vectors. If the prices are calculated dynamically, can we hack it? Can we change the prices or the discount?</p><p>Inspired by it, I started exploring several shops. Let me say I just googled it. (not sharing it directly to protect the corresponding stores)</p><p>The <strong>hypothesis</strong> is that the <strong>information about the price, discount and how it is calculated</strong> is loaded from the server and <strong>used in your browser</strong> (at the client side). <strong>Especially interesting are cases, where the amount of discount increases the more you add to the set or the set is created dynamically. </strong>(3 items — 5%, 5 items — 10%, …)</p><p>First task was to find the discount. This is as simple as a little search in the html source of the page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/1*D3rQ85dCgf-5idaGJYc59Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*84v6GXQ2tgqJ1izqWk844g.png" /></figure><p>Just changing it, doesn’t work in the most cases. To be able to change it, you have to “debug” the website. Means you have to hook into the loading of the page and change it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/986/1*YRv7CognsFjRGNPNYaKTtw.png" /></figure><p>Chrome allows to set a breakpoint, which will interrupt the loading, when modifications in the page are done. This happens automatically when you load the page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/454/1*GXwqBbhhmIxcLsW6ZtqEog.png" /></figure><p>You have to resume it a few times, so the informations are available. After changing the values and in one case, also executing the javascript to set the value, I was able to set my own discount and continued the execution.</p><p>When I’ve added now the items into the bundle, my discounts have been used. This shoould normally not be an issue, if it would be calculated or at least validated at the server side.</p><p>I tested it with a few WooCommerce stores and I could trick the frontend to show a different price, but when added to the cart, the price were discounted right.</p><p>But in some Shopify shops, it didn’t. Means the frontend (web application) determines and sets the price.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1014/1*nPscBtdn1nEd-PWhChuWmA.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/905/1*XJYpNx2M8foGOyECJN6VCQ.jpeg" /></figure><p>The prices you can see, are from the order confirmation page. Means I could successfully submit the order and also received the confirmation mail.</p><p><strong>First thing I did, was to inform the corresponding stores.</strong> I also checked for Shopify’s bug bounty, but third party apps / code is not eligable.</p><p>I have only tested a few, but could reproduce it in several others, so I guess there are more, who could be “hacked”. Shopify gives their customers a lot of flexbility, but this leads to a lot of potential attack vectores and from my experience, most shop owners are non-techies. Means they don’t even know, that this would be possible.</p><p><strong>If you have a Shopify store with a bundle builder, developed by your own, please make sure that the prices are at least validated at the server side. Check back with your team, agency or if needed, reach out me.</strong></p><p>Co-Author <a href="https://www.linkedin.com/in/leon-claus">Leon Claus</a> (The Female Company)</p><p><a href="https://www.linkedin.com/in/danielmanzke">Daniel Manzke</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6f075e85cdc5" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>