<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on Neputer Blog</title><link>https://blog.neputer.com/posts/</link><description>Recent content in Posts on Neputer Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 02 Aug 2026 15:41:29 +0545</lastBuildDate><atom:link href="https://blog.neputer.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Custom Agent with the Claude Agent SDK</title><link>https://blog.neputer.com/posts/building-custom-agent-claude-agent-sdk/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/building-custom-agent-claude-agent-sdk/</guid><description>Hands-on guide to building a custom agent with the Claude Agent SDK — define tools, wire MCP servers, and delegate to subagents, with runnable TypeScript and Python.</description></item><item><title>Claude Code with Local Models and OpenRouter: The Complete Guide</title><link>https://blog.neputer.com/posts/claude-code-with-local-models-and-openrouter/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/claude-code-with-local-models-and-openrouter/</guid><description>Run Anthropic&amp;#39;s Claude Code CLI against OpenRouter, Ollama, or any custom model endpoint. Setup, model compatibility, gotchas, and a real test matrix.</description></item><item><title>AI-Assisted Development: What Actually Works in 2026</title><link>https://blog.neputer.com/posts/ai-assisted-development-2026/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/ai-assisted-development-2026/</guid><description>&lt;p&gt;AI coding assistants have moved from novelty to necessity. But the hype cycle has settled, and we now have real data on what works and what doesn&amp;rsquo;t.&lt;/p&gt;
&lt;h2 id="the-landscape"&gt;The Landscape&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;th&gt;Limitations&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Copilot&lt;/td&gt;
&lt;td&gt;Autocomplete, boilerplate&lt;/td&gt;
&lt;td&gt;Struggles with multi-file refactors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor&lt;/td&gt;
&lt;td&gt;Full-featured AI IDE&lt;/td&gt;
&lt;td&gt;Context window limits on large codebases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;Terminal-native agentic coding&lt;/td&gt;
&lt;td&gt;Requires explicit instruction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenCode&lt;/td&gt;
&lt;td&gt;Interactive CLI with subagents&lt;/td&gt;
&lt;td&gt;Needs good task decomposition&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="where-ai-excels"&gt;Where AI Excels&lt;/h2&gt;
&lt;h3 id="test-generation"&gt;Test Generation&lt;/h3&gt;
&lt;p&gt;AI-generated tests catch edge cases humans miss. In our codebase, AI-authored tests found 23% more boundary condition bugs than human-written equivalents:&lt;/p&gt;</description></item><item><title>Building a Real-Time Data Pipeline with Apache Kafka and ClickHouse</title><link>https://blog.neputer.com/posts/kafka-clickhouse-pipeline/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/kafka-clickhouse-pipeline/</guid><description>&lt;p&gt;When your analytics queries go from &amp;ldquo;how did we do last week?&amp;rdquo; to &amp;ldquo;what&amp;rsquo;s happening right now?&amp;rdquo;, your data warehouse needs to evolve. Here&amp;rsquo;s how we built a real-time pipeline handling 500K events/second with sub-second query latency.&lt;/p&gt;
&lt;h2 id="architecture-overview"&gt;Architecture Overview&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌──────────┐ ┌──────────┐ ┌────────────┐ ┌──────────┐
│ Services │────▶│ Kafka │────▶│ ClickHouse │────▶│ Grafana │
│ (protobuf)│ │ (Avro) │ │ (MergeTree)│ │ Dashboards│
└──────────┘ └──────────┘ └────────────┘ └──────────┘
│
▼
┌──────────┐
│ Schema │
│ Registry │
└──────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="why-clickhouse-over-traditional-olap"&gt;Why ClickHouse Over Traditional OLAP?&lt;/h2&gt;
&lt;p&gt;ClickHouse is a columnar database built for real-time analytics. Unlike Snowflake or BigQuery:&lt;/p&gt;</description></item><item><title>Rust in Production: Lessons After Two Years</title><link>https://blog.neputer.com/posts/rust-in-production/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/rust-in-production/</guid><description>&lt;p&gt;Two years ago we rewrote a Go microservice in Rust. Here&amp;rsquo;s what we learned—the good, the ugly, and the surprising.&lt;/p&gt;
&lt;h2 id="the-numbers"&gt;The Numbers&lt;/h2&gt;
&lt;p&gt;Before we get into opinions, here are the cold hard metrics comparing the Go (1.21) and Rust (1.78) versions processing 10M API requests:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Go&lt;/th&gt;
&lt;th&gt;Rust&lt;/th&gt;
&lt;th&gt;Delta&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;P99 latency&lt;/td&gt;
&lt;td&gt;340ms&lt;/td&gt;
&lt;td&gt;28ms&lt;/td&gt;
&lt;td&gt;-92%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory (steady state)&lt;/td&gt;
&lt;td&gt;2.1 GB&lt;/td&gt;
&lt;td&gt;48 MB&lt;/td&gt;
&lt;td&gt;-98%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU (avg)&lt;/td&gt;
&lt;td&gt;4.2 cores&lt;/td&gt;
&lt;td&gt;0.8 cores&lt;/td&gt;
&lt;td&gt;-81%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Binary size&lt;/td&gt;
&lt;td&gt;12 MB&lt;/td&gt;
&lt;td&gt;4.8 MB&lt;/td&gt;
&lt;td&gt;-60%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lines of code&lt;/td&gt;
&lt;td&gt;4,200&lt;/td&gt;
&lt;td&gt;5,800&lt;/td&gt;
&lt;td&gt;+38%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The latency drop isn&amp;rsquo;t just about Rust being faster—it&amp;rsquo;s about tail latency predictability. Go&amp;rsquo;s GC pauses, while short, created sporadic spikes that triggered downstream timeouts.&lt;/p&gt;</description></item><item><title>The Rise of Edge Computing: Why the Cloud Is Moving Closer</title><link>https://blog.neputer.com/posts/edge-computing-rise/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://blog.neputer.com/posts/edge-computing-rise/</guid><description>&lt;p&gt;Edge computing is reshaping how we think about distributed systems. Instead of shipping every byte to a centralized data center, computation happens at the periphery—closer to where data originates.&lt;/p&gt;
&lt;h2 id="why-edge-computing-matters-now"&gt;Why Edge Computing Matters Now&lt;/h2&gt;
&lt;p&gt;Three forces are driving this shift:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;5G networks&lt;/strong&gt; provide the bandwidth and low latency edge nodes need&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT device explosion&lt;/strong&gt; generates terabytes of data that make no sense to transmit raw&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI inference at the edge&lt;/strong&gt; demands real-time responses for autonomous vehicles, factory robotics, and AR applications&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="architecture-patterns"&gt;Architecture Patterns&lt;/h2&gt;
&lt;p&gt;Modern edge architectures typically follow a three-tier model:&lt;/p&gt;</description></item></channel></rss>