<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>@phpeterle Blog</title><description>A personal blog by @phpeterle</description><link>https://phpeterle.com/</link><language>en-US</language><item><title>From Node.js to Flink: how we migrated Woovi&apos;s CDC</title><link>https://phpeterle.com/en/posts/cdc-node-para-flink/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/cdc-node-para-flink/</guid><description>Why we replaced a Node.js process built on change streams with Flink jobs that index into Elasticsearch and publish events to Kafka, and what changed in practice</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Apache Flink: what it solves and what it costs to run</title><link>https://phpeterle.com/en/posts/flink-vantagens-desvantagens/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/flink-vantagens-desvantagens/</guid><description>How Flink works inside, where it beats a hand-written consumer, and what it charges you in operations, memory and language</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>I rewrote a vehicle routing algorithm in Bend and measured it against Java</title><link>https://phpeterle.com/en/posts/bend-vs-java-paralelismo/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/bend-vs-java-paralelismo/</guid><description>What changes when you write a parallel algorithm in Bend 2, what automatic parallelism costs, and when the GPU pays off</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The good-guy hacker who kept 15%</title><link>https://phpeterle.com/en/posts/liquid-hacker-do-bem/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/liquid-hacker-do-bem/</guid><description>The Liquid Network attack, Dan Ariely&apos;s fudge factor, and why we steal just enough to keep thinking of ourselves as honest</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>What metrology taught me about payment gateways</title><link>https://phpeterle.com/en/posts/metrologia-gateways-pagamento/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/metrologia-gateways-pagamento/</guid><description>Traceability chains, error accumulation and calibration applied to choosing a gateway and to the reliability of a payments system</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Self-Hosted Observability Architecture</title><link>https://phpeterle.com/en/posts/observability-architecture/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/observability-architecture/</guid><description>How to build a self-hosted observability stack with OpenTelemetry, Grafana, Loki, Tempo and Mimir</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Prometheus metrics in /metrics and when to use each one</title><link>https://phpeterle.com/en/posts/prometheus-metrics-types/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/prometheus-metrics-types/</guid><description>Understanding Prometheus Counter, Gauge, Histogram and Summary, with practical examples of when to use each type</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>React-PDF, the best lib for creating PDFs</title><link>https://phpeterle.com/en/posts/react-pdf/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/react-pdf/</guid><description>All the tricks of React-PDF</description><pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Understand Docker once and for all</title><link>https://phpeterle.com/en/posts/docker/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/docker/</guid><description>Everything you need to learn about Docker</description><pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Where it all began</title><link>https://phpeterle.com/en/posts/first-post/</link><guid isPermaLink="true">https://phpeterle.com/en/posts/first-post/</guid><description>How I built my blog</description><pubDate>Sat, 13 Sep 2025 00:00:00 GMT</pubDate></item></channel></rss>