Categories

Jacar categories — explore the topics A rocket whose eyes follow your cursor.
Architecture

containerd 2.0 in production: real migrations

Six months after containerd 2.0 reached general availability there is enough real-world mileage to judge the migration from the 1.x branch in production. We cover what changes in the config file, what breaks on Kubernetes and Docker Swarm, and when planning the jump actually pays off.

Architecture

Firecracker: microVMs for multi-tenant services

Firecracker is the Rust-based virtual machine monitor AWS uses in Lambda and Fargate: it boots microVMs in under 125 milliseconds with under 5 MB of overhead. Switching from containers pays off when a shared kernel does not give enough isolation, especially for untrusted LLM agent code, and versus gVisor it wins on I/O performance.

Software Development

Rust Edition 2024: what really changes day to day

Rust Edition 2024 became stable on February 20, 2025 alongside Rust 1.85. Seven weeks later, the changes that actually matter for daily work are three: more granular variable capture in closures and Return Position Impl Trait, an expanded prelude with Future and AsyncFn, and unsafe now mandatory in extern blocks.

Architecture

Applying graph RAG to a real product

Desde que Microsoft abrió GraphRAG, el patrón de usar grafos sobre tus propios datos ha pasado de experimento académico a técnica con aplicaciones prácticas. Reflexión sobre cuándo compensa, cómo se monta y qué errores se repiten.

Architecture

Coolify: a self-hosted Vercel on your own infrastructure

Coolify delivers a Vercel- or Heroku-like experience on your own servers: automatic HTTPS, managed databases, and branch previews without per-build or bandwidth fees. After several months using it on production VPS, here is where it shines, where it still has rough edges, and which teams will genuinely benefit from it.

Architecture

Microsoft’s GraphRAG in enterprise: patterns that work

GraphRAG has been in real enterprise use for over a year: during indexing, an LLM builds a knowledge graph that answers global questions about a corpus well, precisely where classic RAG fails because no single chunk holds the full answer. Here I compare indexing costs, the cases where it pays off, and the hybrid pattern that teams have settled on.

Software Development

Full-stack TypeScript in 2025: the good, the meh, the bad

Full-stack TypeScript with Next.js and tRPC removes type duplication between frontend and backend, but it is not a universal answer: Node still falls short on CPU-bound loads, testing remains fragmented, and large projects eventually split apart. It is the best fit for small-to-medium products with agile teams, not for sustained high-performance systems.

Software Development

WASI preview 3: threads and async in WebAssembly

WASI 0.3, also known as preview 3, was ratified on June 11, 2026, adding native asynchronous concurrency to the WebAssembly component model through streams, futures, and async functions. It fixes old fragmentation across languages and runtimes, enables real composition between Wasm services, and paves the way for cooperative threads planned in upcoming 0.3.x releases.

Architecture

Cloudflare Workers in 2025: from edge to enterprise

Cloudflare Workers turned eight in 2025 without slowing down: it now ships D1 for databases, R2 for egress-free storage, Durable Objects for distributed state, and Workers AI for running models without managing GPUs. It remains the fastest option for edge logic; for large in-memory processes or strict global consistency, other platforms fit better.

Architecture

How to install JuiceFS as a shared filesystem

JuiceFS is a distributed, POSIX-compliant file system that separates data, stored in an S3-compatible object store, from metadata, stored in a database such as PostgreSQL or Redis. This guide installs JuiceFS on a three-node Linux cluster to share files without relying on NFS.

Software Development

Python 3.12: Incremental Acceleration and Errors That Finally Help

Python 3.12, released in October 2023, brings inline generic syntax through PEP 695, tracebacks that pinpoint the exact error, and an average speedup of around 5% over 3.11 on pyperformance, plus experimental sub-interpreters with their own GIL. Migrating from 3.10 or 3.11 is straightforward: major libraries already ship compatible wheels.

Architecture

Hybrid Search: Combining BM25 and Vectors Seriously

Hybrid search combines BM25 and vector retrieval to cover what each misses alone. Vectors fail on exact identifiers like SKUs or CVEs; BM25 fails when query and document use different vocabulary for the same idea. Reciprocal Rank Fusion (RRF) merges both rankings without depending on their score scales.

Architecture

Model Context Protocol: Anthropic’s Open Proposal

Model Context Protocol (MCP) is the open standard Anthropic published on 25 November 2024 to connect language models with external data and tools over JSON-RPC 2.0. It does not replace function calling: it standardises the server side, aiming to become for context what the Language Server Protocol is for code editors.

Architecture

MariaDB 11.7: The Fork That Keeps Its Own Path

MariaDB 11.7 (November 2024) adds native vector search with an HNSW index, JSON improvements via JSON_OBJECT_AGG, and 5-15% faster read workloads versus 11.5. Against MySQL 8, the edge is not depending on HeatWave for embeddings; against PostgreSQL, it still trails on JSON depth and data types.

Software Development

Rust 1.75 and 1.76: Improvements Noticeable Daily

Rust 1.75 stabilises async fn in traits, return-position impl Trait, and several byte-level pointer methods such as byte_add. Rust 1.76 adds an ABI guarantee between char and u32, plus convenience utilities like Result::inspect and type_name_of_val. Two releases that add real ergonomics without flashy gestures.