41554 blogs · [ { "id": "01a087db-7c88-70f3-9ab8-6f0d5d8a37c5", "title": "Postgres to Iceberg in 13 minutes: How Supermetal compares to Flink, Kafka Connect, and Spark", "url": "https://sap1ens.com/blog/2026/04/16/postgres-iceberg-cdc-benchmarks/", "published_at": "2026-04-16T16:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d5e4f3150", "title": "The Independent Engineer", "url": "https://sap1ens.com/blog/2026/03/30/the-independent-engineer/", "published_at": "2026-03-30T22:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d5e6e9a43", "title": "Irontools Update", "url": "https://sap1ens.com/blog/2026/03/24/irontools-pivoting/", "published_at": "2026-03-24T22:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d5e7c9e7b", "title": "Irontools", "url": "https://sap1ens.com/blog/2025/06/06/irontools/", "published_at": "2025-06-06T20:46:34+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d5f690357", "title": "Compiling and running perf for a specific kernel version", "url": "https://sap1ens.com/blog/2025/01/11/compiling-perf/", "published_at": "2025-01-12T01:27:31+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6024cddb", "title": "Going Solo", "url": "https://sap1ens.com/blog/2024/11/13/going-solo/", "published_at": "2024-11-13T16:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d60623409", "title": "Customizing Flink. Part 2: Class Shadowing", "url": "https://sap1ens.com/blog/2024/02/18/customizing-flink-class-shadowing/", "published_at": "2024-02-19T04:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d607fb806", "title": "Customizing Flink. Part 1: Forking", "url": "https://sap1ens.com/blog/2024/01/30/customizing-flink-forking/", "published_at": "2024-01-31T04:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d60f9f629", "title": "Website Refresh", "url": "https://sap1ens.com/blog/2023/11/24/new-website/", "published_at": "2023-11-24T17:00:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d613d1d25", "title": "Using Changelogs and Streams to Solve Blockchain Data Challenges", "url": "https://sap1ens.com/blog/2023/11/10/using-changelogs-and-streams-to-solve-blockchain-data-challenges/", "published_at": "2023-11-10T23:03:36+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d617eb98b", "title": "How Goldsky Democratizes Streaming Data for Web3 Developers", "url": "https://sap1ens.com/blog/2023/10/02/how-goldsky-democratizes-streaming-data-for-web3-developers/", "published_at": "2023-10-02T17:22:12+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d61cc9d5b", "title": "Apache Avro Decoding Story: Turning a Data Corruption Bug Into a Feature", "url": "https://sap1ens.com/blog/2023/08/04/apache-avro-decoding-story-turning-a-data-corruption-bug-into-a-feature/", "published_at": "2023-08-05T03:22:12+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d61dc7349", "title": "Data Streaming Journey Newsletter", "url": "https://sap1ens.com/blog/2023/07/17/data-streaming-journey-newsletter/", "published_at": "2023-07-18T05:30:36+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6217ef46", "title": "Heimdall: making operating Flink deployments a bit easier", "url": "https://sap1ens.com/blog/2023/07/09/heimdall-making-operating-flink-deployments-a-bit-easier/", "published_at": "2023-07-10T02:07:00+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d62f7a953", "title": "Profiling Apache Flink applications with async-profiler", "url": "https://sap1ens.com/blog/2023/06/04/profiling-apache-flink-applications-with-async-profiler/", "published_at": "2023-06-05T03:50:51+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d639094bf", "title": "Confluent acquired Immerok: what does it mean?", "url": "https://sap1ens.com/blog/2023/01/08/confluent-acquired-immerok/", "published_at": "2023-01-08T19:27:32+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6392b4ec", "title": "Flink CDC for Postgres: Lessons Learned", "url": "https://sap1ens.com/blog/2022/07/10/flink-cdc-for-postgres-lessons-learned/", "published_at": "2022-07-11T02:24:30+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6447e6ba", "title": "Why I’m Joining Goldsky, a Web3 Company", "url": "https://sap1ens.com/blog/2022/04/11/why-im-joining-goldsky/", "published_at": "2022-04-11T18:44:46+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d647b7f20", "title": "7 Tips For Optimizing Apache Flink Applications", "url": "https://sap1ens.com/blog/2022/03/08/7-tips-for-optimizing-apache-flink-applications/", "published_at": "2022-03-09T04:40:23+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6483e5f1", "title": "Streaming Systems and Global State", "url": "https://sap1ens.com/blog/2020/12/12/streaming-systems-and-global-state/", "published_at": "2020-12-13T05:23:26+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d655c329c", "title": "Kafka Elasticsearch Sink Connector and the Power of Single Message Transformations", "url": "https://sap1ens.com/blog/2020/05/23/kafka-elasticsearch-sink-connector-and-the-power-of-single-message-transformations/", "published_at": "2020-05-24T00:14:42+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d65f05fbc", "title": "Flow State and Programming", "url": "https://sap1ens.com/blog/2020/04/28/flow-state-and-programming/", "published_at": "2020-04-29T05:40:18+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d66c8a0c3", "title": "Kafka Streams Application Patterns", "url": "https://sap1ens.com/blog/2019/12/27/kafka-streams-application-patterns/", "published_at": "2019-12-28T00:28:08+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d66cc959d", "title": "Deploying Kafka Connect Connectors", "url": "https://sap1ens.com/blog/2019/10/14/deploying-kafka-connect-connectors/", "published_at": "2019-10-14T18:38:42+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6756a380", "title": "DStreams vs. DataFrames: Two Flavors of Spark Streaming", "url": "https://sap1ens.com/blog/2019/02/14/dstreams-vs-dataframes-two-flavors-of-spark-streaming/", "published_at": "2019-02-15T04:38:17+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6852f442", "title": "2018 In Review", "url": "https://sap1ens.com/blog/2018/12/29/2018-in-review/", "published_at": "2018-12-30T00:08:21+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d694a6670", "title": "\"Kafka: The Definitive Guide\": Notes", "url": "https://sap1ens.com/blog/2018/12/27/kafka-the-definitive-guide-notes/", "published_at": "2018-12-28T03:43:26+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6961d24e", "title": "Next-generation data pipelines", "url": "https://sap1ens.com/blog/2018/10/21/next-generation-data-pipelines/", "published_at": "2018-10-22T00:59:53+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d69d68d24", "title": "API Flexibility ∝ 1 / Data Definition Strictness", "url": "https://sap1ens.com/blog/2018/07/21/api-flexibility-1-slash-data-definition-strictness/", "published_at": "2018-07-22T04:41:59+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6a9b46d1", "title": "The Level Below", "url": "https://sap1ens.com/blog/2018/06/11/the-level-below/", "published_at": "2018-06-11T06:45:50+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6b362ede", "title": "QCon London 2018", "url": "https://sap1ens.com/blog/2018/03/12/qcon-london-2018/", "published_at": "2018-03-12T20:08:46+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6c1922d3", "title": "Message enrichment with Kafka Streams", "url": "https://sap1ens.com/blog/2018/01/03/message-enrichment-with-kafka-streams/", "published_at": "2018-01-04T06:08:29+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6c9d732d", "title": "2017 In Review", "url": "https://sap1ens.com/blog/2017/12/29/2017-in-review/", "published_at": "2017-12-30T05:11:25+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6d47223f", "title": "A letter to you, %software_conference_organizer%", "url": "https://sap1ens.com/blog/2017/12/10/a-letter-to-you-software-conference-organizer/", "published_at": "2017-12-11T05:30:32+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6e37b590", "title": "6 months at Demonware", "url": "https://sap1ens.com/blog/2017/11/15/6-months-at-demonware/", "published_at": "2017-11-16T05:05:43+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6e6f1f86", "title": "Bash scripting best practices", "url": "https://sap1ens.com/blog/2017/07/01/bash-scripting-best-practices/", "published_at": "2017-07-02T05:13:18+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6f02556e", "title": "How to build CLI in Node.js", "url": "https://sap1ens.com/blog/2017/06/07/how-to-build-cli-in-node-dot-js/", "published_at": "2017-06-08T04:02:07+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6f7f6e73", "title": "Craft Conf 2017", "url": "https://sap1ens.com/blog/2017/05/06/craft-conf-2017/", "published_at": "2017-05-07T03:23:52+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d6fd5f017", "title": "About being a polyglot software engineer", "url": "https://sap1ens.com/blog/2017/05/03/about-being-a-polyglot-software-engineer/", "published_at": "2017-05-04T04:06:20+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d70970423", "title": "Should I use HTTP2 everywhere by default?", "url": "https://sap1ens.com/blog/2017/04/12/should-i-use-http2-everywhere-by-default/", "published_at": "2017-04-13T04:55:48+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d70bf5db8", "title": "Microxchg 2017", "url": "https://sap1ens.com/blog/2017/02/26/microxchg-2017/", "published_at": "2017-02-27T06:43:59+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d71294930", "title": "2016 In Review", "url": "https://sap1ens.com/blog/2016/12/30/2016-in-review/", "published_at": "2016-12-31T06:35:20+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d71bbd4b5", "title": "Intro To RAML 1.0", "url": "https://sap1ens.com/blog/2016/12/26/intro-to-raml-1-dot-0/", "published_at": "2016-12-26T22:37:27+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d7269db85", "title": "Bootstrapping Akka Cluster with Consul", "url": "https://sap1ens.com/blog/2016/11/12/bootstrapping-akka-cluster-with-consul/", "published_at": "2016-11-12T19:39:17+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d7310253b", "title": "Last week at Bench", "url": "https://sap1ens.com/blog/2016/10/24/last-week-at-bench/", "published_at": "2016-10-25T05:09:38+00:00" }, { "id": "01a087db-7c88-70f3-9ab8-6f0d73ec5f46", "title": "Vancouver AWS User Group Talk", "url": "https://sap1ens.com/blog/2016/10/15/vancouver-aws-user-group-talk/", "published_at": "2016-10-15T13:44:20+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff7f76e7f2", "title": "Software Engineering Blogs I Read", "url": "https://sap1ens.com/blog/2016/09/06/software-engineering-blogs-i-read/", "published_at": "2016-09-07T04:45:16+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff7f83ecd6", "title": "Syrup - Scrum CLI tool", "url": "https://sap1ens.com/blog/2016/07/11/syrup-scrum-cli-tool/", "published_at": "2016-07-12T02:25:15+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff7ff4b12e", "title": "Postgres JSONB indexing is tricky", "url": "https://sap1ens.com/blog/2016/06/20/postgres-jsonb-indexing-is-tricky/", "published_at": "2016-06-21T01:39:15+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8022e25e", "title": "Polyglotconf 2016 Talk", "url": "https://sap1ens.com/blog/2016/05/28/polyglotconf-2016-talk/", "published_at": "2016-05-28T23:13:33+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff80543cd8", "title": "Static typing and refactoring", "url": "https://sap1ens.com/blog/2016/05/23/static-typing-and-refactoring/", "published_at": "2016-05-24T03:37:31+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff807b807e", "title": "About technical leadership", "url": "https://sap1ens.com/blog/2016/04/26/about-technical-leadership/", "published_at": "2016-04-27T04:06:16+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff815073fa", "title": "Complexity and software", "url": "https://sap1ens.com/blog/2016/02/21/complexity-and-software/", "published_at": "2016-02-21T19:58:28+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff815bd03d", "title": "Two absolute must read books for software engineers", "url": "https://sap1ens.com/blog/2015/12/28/two-absolute-must-read-books-for-software-engineers/", "published_at": "2015-12-29T01:18:06+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff822becff", "title": "Vancouver Scala Meetup Talk", "url": "https://sap1ens.com/blog/2015/11/15/vancouver-scala-meetup-talk/", "published_at": "2015-11-15T17:25:17+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8327ec60", "title": "Actors, Streams and Futures in Akka: what to use?", "url": "https://sap1ens.com/blog/2015/10/25/actors-streams-and-futures-in-akka/", "published_at": "2015-10-25T23:40:54+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff839f286d", "title": "Scala Slick 3: How To Start, An Opinionated Guide", "url": "https://sap1ens.com/blog/2015/07/26/scala-slick-3-how-to-start/", "published_at": "2015-07-26T23:42:30+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8485cd98", "title": "Simple checklist before starting to implement microservices", "url": "https://sap1ens.com/blog/2015/07/05/simple-checklist-before-starting-to-implement-microservices/", "published_at": "2015-07-06T03:53:20+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff84fbaae5", "title": "Polyglotconf quotes", "url": "https://sap1ens.com/blog/2015/05/31/polyglotconf-quotes/", "published_at": "2015-05-31T21:41:53+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff854dfdbf", "title": "Ansible and resolving hostnames", "url": "https://sap1ens.com/blog/2015/02/10/ansible-and-resolving-hostnames/", "published_at": "2015-02-11T04:13:50+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff85881204", "title": "State ∝ 1 / Scale", "url": "https://sap1ens.com/blog/2014/12/06/state-1-slash-scale/", "published_at": "2014-12-06T23:53:48+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8589a827", "title": "What is really DevOps?", "url": "https://sap1ens.com/blog/2014/10/26/what-is-really-devops/", "published_at": "2014-10-26T18:51:11+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8674ce4d", "title": "How and what I read [as a Software Engineer]", "url": "https://sap1ens.com/blog/2014/10/13/how-and-what-i-read-as-a-software-engineer/", "published_at": "2014-10-13T22:06:09+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff86c5f36f", "title": "Software Development at Bench Accounting", "url": "https://sap1ens.com/blog/2014/09/02/software-development-at-bench-accounting/", "published_at": "2014-09-02T17:37:50+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff87c47056", "title": "Microservice with Akka, Spray and Camel", "url": "https://sap1ens.com/blog/2014/07/13/microservice-with-akka-spray-and-camel/", "published_at": "2014-07-13T22:44:37+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff88b247f1", "title": "Selenium Webdriver as a deadly weapon", "url": "https://sap1ens.com/blog/2014/05/28/selenium-webdriver-as-a-deadly-weapon/", "published_at": "2014-05-29T04:19:20+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff891c8179", "title": "Software Engineer Interview", "url": "https://sap1ens.com/blog/2014/02/12/software-engineer-interview/", "published_at": "2014-02-13T04:43:21+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8933b024", "title": "How to keep your Agile really agile", "url": "https://sap1ens.com/blog/2014/01/19/how-to-keep-your-agile-really-agile/", "published_at": "2014-01-20T03:37:14+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff894d7061", "title": "The Road to Akka Cluster", "url": "https://sap1ens.com/blog/2013/12/09/the-road-to-akka-cluster/", "published_at": "2013-12-10T03:03:09+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff89645555", "title": "Start with Akka: Let's write some scraper", "url": "https://sap1ens.com/blog/2013/12/04/start-with-akka-lets-write-some-scraper/", "published_at": "2013-12-05T02:45:44+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff89c39e53", "title": "Why is it awesome to work in startup?", "url": "https://sap1ens.com/blog/2013/12/01/why-is-it-awesome-to-work-in-startup/", "published_at": "2013-12-01T17:18:11+00:00" }, { "id": "01a087db-7c89-73ee-b7e0-9bff8a0c994d", "title": "New blog: version unknown", "url": "https://sap1ens.com/blog/2013/11/24/new-blog-version-unknown/", "published_at": "2013-11-25T04:03:28+00:00" } ] posts Claim your blog
Back to sap1ens.com
Blog · corpus.blog/blogs/sap1ens.com/posts

sap1ens.com

sap1ens.com

2026

2025

2024

2023

2022

2020

2019

2018

2017

2016

2015

2014

2013