Categories

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

Container Monitoring: Beyond cAdvisor

cAdvisor is still embedded in kubelet and covers surface metrics, but falls short for production Kubernetes. The modern minimum stack pairs it with kube-state-metrics, node-exporter, Prometheus, and Grafana as a base, eBPF for deep network and syscall visibility, and OpenTelemetry for application context.

Architecture

PostgreSQL 17: The Novelties That Show Promise

PostgreSQL 17, released in September 2024, cuts vacuum memory use by up to 20x, adds slot synchronization so logical replication survives a failover without a full resync, ships JSON_TABLE as standard SQL:2023 syntax, and introduces streaming I/O to speed up sequential scans. Teams running Postgres in production should start testing it in staging.

Architecture

PostgreSQL 16: Logical Replication That’s Now Practical

PostgreSQL 16 closes the historical gaps in logical replication: parallel apply near 2x faster, logical slots served from physical standbys, and the scaffolding for bidirectional replication. The result is a first-line tool for cross-version migrations and CDC pipelines.

Architecture

Modern SCADA in Containers: Advantages and Risks

Containerising SCADA makes sense for the upper architecture layers: HMI, historians, and data gateways. PLCs still control hardware with hard determinism. The biggest risk is cultural: applying DevOps patterns without adapting to OT context causes incidents. NIS2 requires managing containers as any other critical infrastructure asset.

Software Development

Go 1.22: Updates That Simplify Idiomatic Code

Go 1.22, released in February 2024, fixes the long-standing loop variable capture bug, brings method-aware routing to the standard ServeMux, and finalizes managed toolchain support. Small changes, thoroughly tested across the 1.21 release cycle, with real impact on concurrent Go code.

Architecture

Cilium Service Mesh: When You Don’t Need Sidecars

Cilium Service Mesh replaces Istio or Linkerd sidecars with eBPF in the kernel: it handles policy, WireGuard encryption, and Hubble observability without a per-pod proxy, cutting memory overhead from roughly 100 GB to about 5 GB in a 100-node cluster. It suits large clusters with teams comfortable with eBPF.

Architecture

SQLite in Production: Not Just for Mobile

SQLite in production is more viable than most teams assume. WAL mode removes read contention, Litestream replicates the WAL to S3 in near-realtime, and LiteFS adds multi-node replication. Without a separate database server, apps like Tailscale and PocketBase already do this in production. This article explains when it makes sense and its real limits.

User Experience

WCAG 2.2: What the New Accessibility Version Brings

WCAG 2.2 (W3C, October 5, 2023) adds 9 criteria to WCAG 2.1: Target Size requires clickable targets of at least 24 by 24 pixels, and Accessible Authentication bans logins that require memorising complex passwords without an alternative. Upgrading from 2.1 AA typically takes 1 to 2 sprints for a medium-size product.

Architecture

Linkerd: The Pragmatic Service Mesh Alternative

Linkerd is the pragmatic service mesh for Kubernetes, prioritizing simplicity over feature catalogues. Its Rust proxy uses ~10 MB RAM per sidecar versus 50-100 MB for Envoy under Istio. This comparison explains when adopting it pays off, what it costs to operate, and when Istio makes more sense.

Software Development

TypeScript 5.4: More Powerful Types, Fewer Tricks

TypeScript 5.4, released March 6 2024, adds NoInfer to pin generic type inference without the two-parameter workaround, preserves narrowing inside synchronous callbacks like forEach and map, and ships typed Object.groupBy and Map.groupBy. Three everyday workarounds quietly retired in one incremental release.

Software Development

Zed: A Modern Editor Built for Collaboration

Zed is the editor built by Atom's creators, rebuilt in Rust with a native GPU-rendering UI framework and no Electron. It delivers ~8 ms latency, real-time collaboration with integrated voice and shared cursors, and an open license (GPL v3 + Apache 2.0). A serious VS Code alternative for pairs and small teams.

Architecture

Backstage, Port and Cortex: Three Paths to the IDP

An Internal Developer Platform (IDP) centralises service discovery, provisioning and observability in a single portal, so developers stop depending on stale wikis and Slack channels. Backstage, Port and Cortex dominate the market: Backstage is open source with a dedicated team, Port is fast low-code SaaS, and Cortex focuses on scorecards for measurable technical discipline based on team size.

Architecture

pgvector in 2024: HNSW Indexes and Real Scaling

pgvector matured in 2023-2024 with the HNSW index type and parallel construction that arrived in version 0.6. For projects already running PostgreSQL, a dedicated vector database is not needed in most cases: this guide explains when PostgreSQL is enough, how to configure the index, and where it starts to fall short.

Architecture

SQLite and DuckDB: When Each Is the Right Choice

SQLite and DuckDB are both embedded databases that work from a single file, no server needed. Their architecture differs: SQLite stores rows and excels at short transactions (OLTP); DuckDB stores columns and shines at large-scale analytics (OLAP). Choosing the right one, or combining both, delivers a genuine technical edge.

Software Development

Cursor: The Editor Built Around AI

Cursor is a VS Code fork that puts artificial intelligence at the core of the editor instead of bolting it on as a plugin. It offers inline completion, a chat that understands full project context, and Composer, multi-file editing from a short brief. The Pro plan costs $20 a month and it competes directly with GitHub Copilot.

Software Development

Corporate Low-Code: Retool and Appsmith for Internal Tools

Retool and Appsmith cut internal tool development time from weeks to days. Retool leads the commercial SaaS market with polished components and enterprise permissions; Appsmith brings open source self-hosting at low or zero cost. Low-code works for dashboards, forms, and simple workflows, and breaks on complex logic or highly custom interfaces.

Architecture

GitOps With ArgoCD: From Hype to Stable Production

ArgoCD has established GitOps as the standard deployment practice for Kubernetes: the Git repository is the single source of truth for the desired state, and the agent continuously reconciles the cluster. This guide covers the four formal GitOps principles, sync policies, common production mistakes, and a comparison with Flux.

Architecture

Service Mesh in 2023: Istio, Linkerd, and the Cilium Option

A service mesh adds mTLS, uniform observability, and traffic management between microservices without modifying application code. The ecosystem has consolidated: Istio is the most complete and complex, Linkerd prioritises simplicity with Rust proxies, and Cilium delivers sidecarless service mesh via eBPF.

Software Development

WASI 0.2: The New Standard Interface for WebAssembly

WASI Preview 2 redefines how WebAssembly interacts with the operating system. It introduces the Component Model with typed WIT interfaces and granular capabilities, enabling modules written in different languages to compose without manual serialisation. The full standard arrives in 2024 with direct impact on edge functions, plugins, and serverless.

Architecture

Backstage: Spotify’s Developer Portal

Backstage is the open-source platform from Spotify for building Internal Developer Platforms: a web portal (Node.js + React) that centralises service catalogs, scaffolding, and technical documentation. Adopted by Netflix, American Airlines, and hundreds of companies since 2020, it needs 1-3 dedicated engineers and pays off for organisations with more than 50 developers.

Architecture

eBPF: Kernel Observability Without Recompiling

eBPF is a Linux kernel technology that lets you load and run verified, high-performance programs without recompiling the kernel or rebooting the system. It runs safely inside a virtual machine in the kernel and underpins tools such as Cilium, Pixie, Falco, and Tetragon for real-time tracing, networking, and security.

Architecture

Vector Databases: Qdrant, Pinecone, and Weaviate

Vector databases have gone from an experimental curiosity to the central component of most LLM-based products. This comparison covers Qdrant, Pinecone, and Weaviate: architecture, strengths, limitations, and a decision tree for choosing the right option based on your operational priorities and budget.

Architecture

PostgreSQL 16: Changes That Affect Day-to-Day Work

PostgreSQL 16, released in September 2023, adds logical replication from a standby, the pg_stat_io view for breaking down I/O by operation type and context, and parallel FULL OUTER JOIN support. Upgrading from 15 is straightforward; 13 loses support in November 2025, so plan the update soon.

Artificial Intelligence

LangChain: The Framework for Orchestrating LLM Applications

LangChain is a Python framework that unifies building LLM applications: prompt templates, retrievers over vector databases, function-calling agents, and conversational memory. It earns its keep in fast prototypes and multi-model systems, but for a single well-defined production use case, direct code usually stays more maintainable.

Architecture

Chroma: A Lightweight Vector Database for Embedding Prototypes

Chroma is the easiest vector database to get started with embeddings and semantic search: install it with pip install chromadb, no extra infrastructure required, and it exposes a minimal API (add, query, delete). It suits prototypes and mid-sized RAG systems well; past a few million vectors, Qdrant or Milvus scale better.

Software Development

Rust in the Linux Kernel: First Steps and Controversies

Rust has been in the Linux kernel since version 6.1, though adoption is measured and deliberate. The Apple AGX GPU driver for Asahi Linux is the most prominent real upstream example. The goal is to eliminate an entire class of memory-safety bugs in new drivers without rewriting existing C code.

Software Development

Rust for Backend: axum and tokio in Real Services

Rust is no longer just a systems language: with tokio as the async runtime and axum as the HTTP framework, teams build high-performance backend services with compile-time type checking. It pays off in gateways, proxies and event processors; for typical CRUD over Postgres, Go or Node.js remain more productive.

Architecture

Micro-frontends in Practice: Benefits and Pitfalls

Micro-frontends bring the microservices idea to the UI: split the frontend into pieces that separate teams can develop and deploy independently. They pay off when coordination costs across four or more teams in the same SPA exceed the added technical overhead; without a mature design system and platform team, they tend to multiply problems.

Architecture

Platform Engineering: Internal Developer Platforms

Platform engineering formalizes the internal product development teams need. An Internal Developer Platform (IDP) centralises deployment, observability and self-service behind a unified interface so product teams deliver value without becoming infrastructure experts. Investment pays off from around 30 to 50 developers.

Architecture

Redis: Caching Strategies Every Backend Should Know

Redis alone isn't a caching strategy, just an ingredient: picking the right pattern among cache-aside, read-through, write-through, and write-behind, sizing TTL to how fast data actually changes, invalidating explicitly for critical data, and mitigating thundering herd with jitter and locking are the decisions that actually matter in production.

Architecture

Kubernetes 1.27: The Changes That Matter to Operators

Kubernetes 1.27 ("Chill Vibes"), released in April 2023, makes SeccompDefault stable so pods get safer syscall defaults automatically, moves KMS v2 to beta with rotatable encryption keys for etcd secrets, and stabilises scheduling gates. It also removes PodSecurityPolicy for good: without migrating to Pod Security Admission first, the upgrade is blocked entirely.

Architecture

Kafka in 2023: Event Streaming in the Enterprise

Apache Kafka has consolidated in 2023 as the enterprise event backbone thanks to KRaft, now GA and removing the ZooKeeper dependency. The most mature patterns are CDC with Debezium, event sourcing, and stream processing with Kafka Streams or Flink, while Redpanda and Pulsar compete as real alternatives depending on the case.

Architecture

OpenTelemetry: Unifying Logs, Metrics, and Traces

OpenTelemetry is the CNCF project, graduated in May 2026, that unifies logs, metrics, and traces under one SDK and the OTLP protocol, without locking you into a single backend. Traces have been stable since 2021 and metrics since 2023; logs are still maturing, but already worth adopting on new projects.

Software Development

WebAssembly: The Component Model as the Next Frontier

WebAssembly is moving beyond the browser through WASI, the standard system interface, and the component model, which defines declarative WIT interfaces so modules written in different languages can compose with each other. Cold start lands around 1 ms versus roughly 500 ms for a container, a key difference for serverless and edge computing teams.

Architecture

Cilium and the Future of Container Networking with eBPF

Cilium replaces iptables with eBPF programs loaded directly into the Linux kernel, substituting O(n) linear chains with O(1) hash lookups. Documented benchmarks show up to 50% lower p95 latency, 2-3x more throughput, and 70% less kernel CPU in large Kubernetes clusters.

Architecture

RabbitMQ for Message Queues: When It’s Still the Choice

Kafka gets the headlines as the byword for modern messaging, but RabbitMQ remains the better choice for task queues with retries, asynchronous RPC, and pub/sub with complex routing. This guide compares both against NATS, walks through classic patterns and production mistakes, and helps you decide based on the actual use case rather than the trend.

Methodologies

Contract Testing with Pact for Microservices

With 30 or more microservices, end-to-end tests become slow, fragile and impractical. Pact implements consumer-driven contract testing: the consumer defines what it expects, the provider verifies it in its own CI pipeline, with no shared environment needed. The result is integration proof in seconds, not minutes.

Architecture

Kubernetes 1.28: Sidecar Containers as First-Class Citizens

Kubernetes 1.28 introduces native sidecar containers in alpha via KEP-753: adding restartPolicy Always to initContainers ensures correct startup and shutdown ordering. It fixes Jobs that never terminate. Istio, Linkerd, and observability agents like Fluent Bit are the primary beneficiaries.

Artificial Intelligence

LLM Fine-Tuning: When It’s Worth Training Your Own

Fine-tuning your own LLM pays off in three cases: you need a very specific style or voice, a rigid structured output format, or you want lower cost and latency from a small specialised model. LoRA and QLoRA have cut the GPU cost, but preparing data and running the model in production are still expensive. For everything else, RAG and prompt engineering are usually enough.

Architecture

Pixie: Native Kubernetes Observability Powered by eBPF

Pixie uses eBPF to automatically instrument Kubernetes clusters without modifying application code. A per-node agent captures HTTP, gRPC, SQL, and Redis traffic at the kernel level, exposing service maps, CPU profiles, and SQL traces within minutes. It complements Prometheus for reactive diagnosis with no sidecars or redeploys.

Artificial Intelligence

OpenAI Code Interpreter: Conversational Data Analysis

OpenAI Code Interpreter extends ChatGPT Plus with an isolated Python sandbox: it runs code on demand, reads files you upload (CSV, Excel, PDF, images, ZIPs) and returns results plus charts within the same chat. Sessions are ephemeral and offline, but remarkably effective for exploratory ad-hoc analysis without spinning up a notebook.

Architecture

From Monolith to Microservices: Transforming the Architecture

Migrating from monolith to microservices means splitting a single system into independent services that deploy and scale on their own. It gains granular scalability and team autonomy, but adds real operational complexity: stable interfaces, Kubernetes orchestration, and a mature DevOps culture are conditions, not optional extras, for the migration to pay off.