41554 blogs · [ { "id": "01a087d5-9976-7009-b48f-0c5ae83cd6bb", "title": "Antora Deployment to Cloudflare Across Private Repositories with GitHub Actions", "url": "https://rmoff.net/2024/01/17/antora-deployment-to-cloudflare-across-private-repositories-with-github-actions/", "published_at": "2024-01-17T12:09:23+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5ae92e7507", "title": "Hosting on GitHub Pages? Watch out for Subdomain Hijacking", "url": "https://rmoff.net/2024/01/16/hosting-on-github-pages-watch-out-for-subdomain-hijacking/", "published_at": "2024-01-16T11:50:36+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5ae9d6afc5", "title": "1️⃣🐝🏎️🦆 (1BRC in SQL with DuckDB)", "url": "https://rmoff.net/2024/01/03/1%EF%B8%8F%E2%83%A3%EF%B8%8F-1brc-in-sql-with-duckdb/", "published_at": "2024-01-03T12:12:32+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aea7c0302", "title": "Deploying Antora with GitHub Actions and a private GitHub repo", "url": "https://rmoff.net/2023/12/19/deploying-antora-with-github-actions-and-a-private-github-repo/", "published_at": "2023-12-19T13:35:19+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aeb345a1e", "title": "Checkpoint Chronicle - December 2023", "url": "https://rmoff.net/2023/12/13/checkpoint-chronicle-december-2023/", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aeb9b145b", "title": "Productivity tools: AI Image Generators", "url": "https://rmoff.net/2023/12/07/productivity-tools-ai-image-generators/", "published_at": "2023-12-07T19:59:41+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aec8a711d", "title": "Hugo not detecting changed pages on Mac", "url": "https://rmoff.net/2023/11/16/hugo-not-detecting-changed-pages-on-mac/", "published_at": "2023-11-16T15:27:22+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aecc13b58", "title": "Learning Apache Flink S01E06: The Flink JDBC Driver", "url": "https://rmoff.net/2023/11/16/learning-apache-flink-s01e06-the-flink-jdbc-driver/", "published_at": "2023-11-16T15:20:20+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aed90f454", "title": "Checkpoint Chronicle - November 2023", "url": "https://rmoff.net/2023/11/14/checkpoint-chronicle-november-2023/", "published_at": "2023-11-14T00:00:00+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aee6326fa", "title": "Using Apache Kafka with ngrok", "url": "https://rmoff.net/2023/11/01/using-apache-kafka-with-ngrok/", "published_at": "2023-11-01T10:07:58+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aeef22d10", "title": "Learning Apache Flink S01E05: Installing PyFlink (with some bumps along the way…)", "url": "https://rmoff.net/2023/10/25/learning-apache-flink-s01e05-installing-pyflink-with-some-bumps-along-the-way/", "published_at": "2023-10-25T15:27:22+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aef710cc7", "title": "Learning Apache Flink S01E04: A [Partial] Exploration of the Flink SQL Client", "url": "https://rmoff.net/2023/10/10/learning-apache-flink-s01e04-a-partial-exploration-of-the-flink-sql-client/", "published_at": "2023-10-10T16:27:22+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aefaae186", "title": "Learning Apache Flink S01E03: Running my First Flink Cluster and Application", "url": "https://rmoff.net/2023/10/05/learning-apache-flink-s01e03-running-my-first-flink-cluster-and-application/", "published_at": "2023-10-05T14:29:02+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5aefe2e560", "title": "cd: string not in pwd", "url": "https://rmoff.net/2023/10/04/cd-string-not-in-pwd/", "published_at": "2023-10-04T15:36:35+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5af04c09d0", "title": "Learning Apache Flink S01E02: What *is* Flink?", "url": "https://rmoff.net/2023/10/02/learning-apache-flink-s01e02-what-is-flink/", "published_at": "2023-10-02T15:12:14+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5af09ad17f", "title": "Learning Apache Flink S01E01: Where Do I Start?", "url": "https://rmoff.net/2023/09/29/learning-apache-flink-s01e01-where-do-i-start/", "published_at": "2023-09-29T12:57:04+00:00" }, { "id": "01a087d5-9976-7009-b48f-0c5af17b8914", "title": "An Itch That Just Has to Be Scratched… (Or, Why Am I Joining Decodable?)", "url": "https://rmoff.net/2023/09/21/an-itch-that-just-has-to-be-scratched-or-why-am-i-joining-decodable/", "published_at": "2023-09-21T14:25:39+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98e8abbcba", "title": "Blog Writing for Developers", "url": "https://rmoff.net/2023/07/19/blog-writing-for-developers/", "published_at": "2023-07-19T20:59:09+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98e998d324", "title": "What Does This DevEx Engineer Do?", "url": "https://rmoff.net/2023/05/23/what-does-this-devex-engineer-do/", "published_at": "2023-05-23T23:56:16+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98e9eb98fa", "title": "Authoring Wordpress blogs in Markdown (with Google Docs for review)", "url": "https://rmoff.net/2023/05/03/authoring-wordpress-blogs-in-markdown-with-google-docs-for-review/", "published_at": "2023-05-03T08:59:17+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98eae673a8", "title": "Building Better Docs - Automating Jekyll Builds and Link Checking for PRs", "url": "https://rmoff.net/2023/04/20/building-better-docs-automating-jekyll-builds-and-link-checking-for-prs/", "published_at": "2023-04-20T08:54:11+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ebc24439", "title": "Using Delta from pySpark - `java.lang.ClassNotFoundException: delta.DefaultSource`", "url": "https://rmoff.net/2023/04/05/using-delta-from-pyspark-java.lang.classnotfoundexception-delta.defaultsource/", "published_at": "2023-04-05T15:51:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ecaaf922", "title": "Quickly Convert CSV to Parquet with DuckDB", "url": "https://rmoff.net/2023/03/14/quickly-convert-csv-to-parquet-with-duckdb/", "published_at": "2023-03-14T15:12:31+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98eda6760c", "title": "Making the move from Alfred to Raycast", "url": "https://rmoff.net/2023/03/03/making-the-move-from-alfred-to-raycast/", "published_at": "2023-03-03T23:14:06+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98edb95924", "title": "Aligning mismatched Parquet schemas in DuckDB", "url": "https://rmoff.net/2023/03/03/aligning-mismatched-parquet-schemas-in-duckdb/", "published_at": "2023-03-03T14:36:08+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ee455d17", "title": "Looking Forwards, and Looking Backwards", "url": "https://rmoff.net/2022/12/09/looking-forwards-and-looking-backwards/", "published_at": "2022-12-09T09:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ee70a3c4", "title": "Data Engineering in 2022: ELT tools", "url": "https://rmoff.net/2022/11/08/data-engineering-in-2022-elt-tools/", "published_at": "2022-11-08T19:46:39+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ef2e5a2d", "title": "Data Engineering in 2022: Wrangling the feedback data from Current 22 with dbt", "url": "https://rmoff.net/2022/10/24/data-engineering-in-2022-wrangling-the-feedback-data-from-current-22-with-dbt/", "published_at": "2022-10-24T12:27:14+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98efc1b0ea", "title": "Data Engineering in 2022: Exploring dbt with DuckDB", "url": "https://rmoff.net/2022/10/20/data-engineering-in-2022-exploring-dbt-with-duckdb/", "published_at": "2022-10-20T17:07:04+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98efc56a00", "title": "Current 22 - Session Analysis with DuckDB and Jupyter Notebook", "url": "https://rmoff.net/2022/10/14/current-22-session-analysis-with-duckdb-and-jupyter-notebook/", "published_at": "2022-10-14T16:15:57+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f004466e", "title": "Data Engineering in 2022: Architectures & Terminology", "url": "https://rmoff.net/2022/10/02/data-engineering-in-2022-architectures-terminology/", "published_at": "2022-10-02T10:50:56+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f05b553e", "title": "Current 2022 - 5k Fun Run", "url": "https://rmoff.net/2022/09/26/current-2022-5k-fun-run/", "published_at": "2022-09-26T13:51:42+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f06f3c14", "title": "Data Engineering in 2022: Exploring LakeFS with Jupyter and PySpark", "url": "https://rmoff.net/2022/09/16/data-engineering-in-2022-exploring-lakefs-with-jupyter-and-pyspark/", "published_at": "2022-09-16T08:54:45+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f11ddc2c", "title": "Data Engineering: Resources", "url": "https://rmoff.net/2022/09/14/data-engineering-resources/", "published_at": "2022-09-14T20:57:21+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f1e42d29", "title": "Data Engineering in 2022: Storage and Access", "url": "https://rmoff.net/2022/09/14/data-engineering-in-2022-storage-and-access/", "published_at": "2022-09-14T17:07:04+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f2cd6aaa", "title": "Stretching my Legs in the Data Engineering Ecosystem in 2022", "url": "https://rmoff.net/2022/09/14/stretching-my-legs-in-the-data-engineering-ecosystem-in-2022/", "published_at": "2022-09-14T10:42:30+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f2dce6c5", "title": "Customising the fields shown in Airtable's Calendar .ics export", "url": "https://rmoff.net/2022/09/12/customising-the-fields-shown-in-airtables-calendar-.ics-export/", "published_at": "2022-09-12T16:17:08+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f338d0a3", "title": "Inside the Sausage Factory: How we Built the Program for Current 2022", "url": "https://rmoff.net/2022/08/31/inside-the-sausage-factory-how-we-built-the-program-for-current-2022/", "published_at": "2022-08-31T12:14:09+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f3f42be0", "title": "⚡️ Writing an abstract for a lightning talk ⚡️", "url": "https://rmoff.net/2022/08/31/%EF%B8%8F-writing-an-abstract-for-a-lightning-talk-%EF%B8%8F/", "published_at": "2022-08-31T11:13:38+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f4b3fe9f", "title": "How to Write a Good Tech Conference Abstract - Learn from the Mistakes of Others", "url": "https://rmoff.net/2022/07/20/how-to-write-a-good-tech-conference-abstract-learn-from-the-mistakes-of-others/", "published_at": "2022-07-20T08:58:38+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f5a277b1", "title": "Remote-First Developer Advocacy", "url": "https://rmoff.net/2022/04/07/remote-first-developer-advocacy/", "published_at": "2022-04-07T21:19:48+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f651e442", "title": "Hanging up my Boarding Passes and Jetlag…for now", "url": "https://rmoff.net/2022/04/07/hanging-up-my-boarding-passes-and-jetlagfor-now/", "published_at": "2022-04-07T20:58:33+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f6e80537", "title": "Using GitHub Actions to build automagic Hugo previews of draft articles", "url": "https://rmoff.net/2022/04/06/using-github-actions-to-build-automagic-hugo-previews-of-draft-articles/", "published_at": "2022-04-06T19:30:13+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f72846a9", "title": "🏃🚶 The unofficial Kafka Summit London 2022 Run/Walk 🏃🚶", "url": "https://rmoff.net/2022/04/05/the-unofficial-kafka-summit-london-2022-run/walk/", "published_at": "2022-04-05T09:54:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f7d9a8c6", "title": "My Favourite Tools on the Mac (Setting up a new Mac)", "url": "https://rmoff.net/2021/07/29/my-favourite-tools-on-the-mac-setting-up-a-new-mac/", "published_at": "2021-07-29T21:00:08+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f7e4b46c", "title": "Why I use Alfred App (and maybe you should too)", "url": "https://rmoff.net/2021/07/29/why-i-use-alfred-app-and-maybe-you-should-too/", "published_at": "2021-07-29T20:24:08+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f860a52e", "title": "A bash script to deploy ksqlDB queries automagically", "url": "https://rmoff.net/2021/04/01/a-bash-script-to-deploy-ksqldb-queries-automagically/", "published_at": "2021-04-01T22:06:22+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f8e9e36f", "title": "Loading CSV data into Confluent Cloud using the FilePulse connector", "url": "https://rmoff.net/2021/03/26/loading-csv-data-into-confluent-cloud-using-the-filepulse-connector/", "published_at": "2021-03-26T17:25:22+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f93866f4", "title": "Connecting to managed ksqlDB in Confluent Cloud with REST and ksqlDB CLI", "url": "https://rmoff.net/2021/03/24/connecting-to-managed-ksqldb-in-confluent-cloud-with-rest-and-ksqldb-cli/", "published_at": "2021-03-24T09:36:43+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98f9f6af7e", "title": "Using ksqlDB to process data ingested from ActiveMQ with Kafka Connect", "url": "https://rmoff.net/2021/03/19/using-ksqldb-to-process-data-ingested-from-activemq-with-kafka-connect/", "published_at": "2021-03-19T10:30:47+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fa3f1f43", "title": "Kafka Connect JDBC Sink deep-dive: Working with Primary Keys", "url": "https://rmoff.net/2021/03/12/kafka-connect-jdbc-sink-deep-dive-working-with-primary-keys/", "published_at": "2021-03-12T12:16:16+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fa93e5f6", "title": "Kafka Connect - SQLSyntaxErrorException: BLOB/TEXT column … used in key specification without a key length", "url": "https://rmoff.net/2021/03/11/kafka-connect-sqlsyntaxerrorexception-blob/text-column-used-in-key-specification-without-a-key-length/", "published_at": "2021-03-11T11:25:57+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fb7d69db", "title": "Quick profiling of data in Apache Kafka using kafkacat and visidata", "url": "https://rmoff.net/2021/03/04/quick-profiling-of-data-in-apache-kafka-using-kafkacat-and-visidata/", "published_at": "2021-03-04T14:23:15+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fc20ee88", "title": "Using Open Sea Map data in Kibana maps", "url": "https://rmoff.net/2021/03/04/using-open-sea-map-data-in-kibana-maps/", "published_at": "2021-03-04T09:23:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fcfd0797", "title": "Loading delimited data into Kafka - quick & dirty (but effective)", "url": "https://rmoff.net/2021/02/26/loading-delimited-data-into-kafka-quick-dirty-but-effective/", "published_at": "2021-02-26T22:45:36+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fd94dba7", "title": "📼 ksqlDB HOWTO - A mini video series 📼", "url": "https://rmoff.net/2021/02/17/ksqldb-howto-a-mini-video-series/", "published_at": "2021-02-17T23:12:33+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fe65cfda", "title": "Performing a GROUP BY on data in bash", "url": "https://rmoff.net/2021/02/02/performing-a-group-by-on-data-in-bash/", "published_at": "2021-02-02T17:23:21+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98fe68f689", "title": "Running as root on Docker images that don't use root", "url": "https://rmoff.net/2021/01/13/running-as-root-on-docker-images-that-dont-use-root/", "published_at": "2021-01-13T12:13:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98feb1e7cc", "title": "Running a self-managed Kafka Connect worker for Confluent Cloud", "url": "https://rmoff.net/2021/01/11/running-a-self-managed-kafka-connect-worker-for-confluent-cloud/", "published_at": "2021-01-11T17:02:03+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ff7162dd", "title": "Creating topics with Kafka Connect", "url": "https://rmoff.net/2021/01/06/creating-topics-with-kafka-connect/", "published_at": "2021-01-06T12:18:51+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f98ffdae1d8", "title": "Kafka Connect - Deep Dive into Single Message Transforms", "url": "https://rmoff.net/2021/01/04/kafka-connect-deep-dive-into-single-message-transforms/", "published_at": "2021-01-04T14:26:40+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990007fb4e", "title": "🎄 Twelve Days of SMT 🎄 - Day 12: Community Transformations", "url": "https://rmoff.net/2020/12/23/twelve-days-of-smt-day-12-community-transformations/", "published_at": "2020-12-23T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990082461c", "title": "🎄 Twelve Days of SMT 🎄 - Day 11: Predicate and Filter", "url": "https://rmoff.net/2020/12/22/twelve-days-of-smt-day-11-predicate-and-filter/", "published_at": "2020-12-22T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990147e755", "title": "🎄 Twelve Days of SMT 🎄 - Day 10: ReplaceField", "url": "https://rmoff.net/2020/12/21/twelve-days-of-smt-day-10-replacefield/", "published_at": "2020-12-21T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9901554eab", "title": "Scheduling Hugo Builds on GitHub pages with GitHub Actions", "url": "https://rmoff.net/2020/12/20/scheduling-hugo-builds-on-github-pages-with-github-actions/", "published_at": "2020-12-20T23:45:03+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99018faea6", "title": "🎄 Twelve Days of SMT 🎄 - Day 9: Cast", "url": "https://rmoff.net/2020/12/18/twelve-days-of-smt-day-9-cast/", "published_at": "2020-12-18T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99026f70be", "title": "🎄 Twelve Days of SMT 🎄 - Day 8: TimestampConverter", "url": "https://rmoff.net/2020/12/17/twelve-days-of-smt-day-8-timestampconverter/", "published_at": "2020-12-17T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990284990e", "title": "🎄 Twelve Days of SMT 🎄 - Day 7: TimestampRouter", "url": "https://rmoff.net/2020/12/16/twelve-days-of-smt-day-7-timestamprouter/", "published_at": "2020-12-16T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990350f38c", "title": "🎄 Twelve Days of SMT 🎄 - Day 6: InsertField II", "url": "https://rmoff.net/2020/12/15/twelve-days-of-smt-day-6-insertfield-ii/", "published_at": "2020-12-15T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9903ea2b61", "title": "🎄 Twelve Days of SMT 🎄 - Day 5: MaskField", "url": "https://rmoff.net/2020/12/14/twelve-days-of-smt-day-5-maskfield/", "published_at": "2020-12-14T16:00:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9903f66af9", "title": "🎄 Twelve Days of SMT 🎄 - Day 4: RegExRouter", "url": "https://rmoff.net/2020/12/11/twelve-days-of-smt-day-4-regexrouter/", "published_at": "2020-12-11T16:40:18+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9904667ef7", "title": "🎄 Twelve Days of SMT 🎄 - Day 3: Flatten", "url": "https://rmoff.net/2020/12/10/twelve-days-of-smt-day-3-flatten/", "published_at": "2020-12-10T16:25:00+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9904cc4c02", "title": "🎄 Twelve Days of SMT 🎄 - Day 2: ValueToKey and ExtractField", "url": "https://rmoff.net/2020/12/09/twelve-days-of-smt-day-2-valuetokey-and-extractfield/", "published_at": "2020-12-09T20:00:18+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9905233a34", "title": "🎄 Twelve Days of SMT 🎄 - Day 1: InsertField (timestamp)", "url": "https://rmoff.net/2020/12/08/twelve-days-of-smt-day-1-insertfield-timestamp/", "published_at": "2020-12-08T22:23:18+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990617632c", "title": "Life as a Developer Advocate, nine months into a pandemic", "url": "https://rmoff.net/2020/12/03/life-as-a-developer-advocate-nine-months-into-a-pandemic/", "published_at": "2020-12-03T21:15:59+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990678f79e", "title": "My Workstation - 2020", "url": "https://rmoff.net/2020/12/02/my-workstation-2020/", "published_at": "2020-12-02T16:19:21+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99075317a6", "title": "Keynote - Why is Replace Fonts greyed out?", "url": "https://rmoff.net/2020/11/13/keynote-why-is-replace-fonts-greyed-out/", "published_at": "2020-11-13T15:49:37+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99078f9717", "title": "Kafka Connect, ksqlDB, and Kafka Tombstone messages", "url": "https://rmoff.net/2020/11/03/kafka-connect-ksqldb-and-kafka-tombstone-messages/", "published_at": "2020-11-03T17:14:33+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9907aaa4e4", "title": "Streaming Geopoint data from Kafka to Elasticsearch", "url": "https://rmoff.net/2020/11/03/streaming-geopoint-data-from-kafka-to-elasticsearch/", "published_at": "2020-11-03T10:36:18+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9907b3217a", "title": "ksqlDB - How to model a variable number of fields in a nested value (`STRUCT`)", "url": "https://rmoff.net/2020/10/07/ksqldb-how-to-model-a-variable-number-of-fields-in-a-nested-value-struct/", "published_at": "2020-10-07T10:44:51+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9908ae60df", "title": "Streaming XML messages from IBM MQ into Kafka into MongoDB", "url": "https://rmoff.net/2020/10/05/streaming-xml-messages-from-ibm-mq-into-kafka-into-mongodb/", "published_at": "2020-10-05T09:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9908f4fdbc", "title": "Ingesting XML data into Kafka - Option 3: Kafka Connect FilePulse connector", "url": "https://rmoff.net/2020/10/01/ingesting-xml-data-into-kafka-option-3-kafka-connect-filepulse-connector/", "published_at": "2020-10-01T14:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9909532280", "title": "Ingesting XML data into Kafka - Option 2: Kafka Connect plus Single Message Transform", "url": "https://rmoff.net/2020/10/01/ingesting-xml-data-into-kafka-option-2-kafka-connect-plus-single-message-transform/", "published_at": "2020-10-01T13:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9909598173", "title": "Ingesting XML data into Kafka - Option 1: The Dirty Hack", "url": "https://rmoff.net/2020/10/01/ingesting-xml-data-into-kafka-option-1-the-dirty-hack/", "published_at": "2020-10-01T12:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9909f4a744", "title": "Ingesting XML data into Kafka - Introduction", "url": "https://rmoff.net/2020/10/01/ingesting-xml-data-into-kafka-introduction/", "published_at": "2020-10-01T11:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990a7b72cd", "title": "`abcde` - Error trying to calculate disc ids without lead-out information", "url": "https://rmoff.net/2020/10/01/abcde-error-trying-to-calculate-disc-ids-without-lead-out-information/", "published_at": "2020-10-01T08:16:11+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990b580073", "title": "IBM MQ on Docker - Channel was blocked", "url": "https://rmoff.net/2020/10/01/ibm-mq-on-docker-channel-was-blocked/", "published_at": "2020-10-01T00:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990bc5a0e0", "title": "Setting key value when piping from jq to kafkacat", "url": "https://rmoff.net/2020/09/30/setting-key-value-when-piping-from-jq-to-kafkacat/", "published_at": "2020-09-30T19:54:09+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990cb0580c", "title": "Some of my favourite public data sets", "url": "https://rmoff.net/2020/09/25/some-of-my-favourite-public-data-sets/", "published_at": "2020-09-25T11:09:41+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990d01ecc0", "title": "📌 🎁 A collection of Kafka-related talks 💝", "url": "https://rmoff.net/2020/09/23/a-collection-of-kafka-related-talks/", "published_at": "2020-09-23T14:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990dc114fb", "title": "Using the Debezium MS SQL connector with ksqlDB embedded Kafka Connect", "url": "https://rmoff.net/2020/09/18/using-the-debezium-ms-sql-connector-with-ksqldb-embedded-kafka-connect/", "published_at": "2020-09-18T09:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990e75988c", "title": "Including content from external links with Asciidoc in Hugo", "url": "https://rmoff.net/2020/09/18/including-content-from-external-links-with-asciidoc-in-hugo/", "published_at": "2020-09-18T08:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990f025d28", "title": "What is Kafka Connect?", "url": "https://rmoff.net/2020/09/11/what-is-kafka-connect/", "published_at": "2020-09-11T15:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f990fbac1e6", "title": "Counting the number of messages in a Kafka topic", "url": "https://rmoff.net/2020/09/08/counting-the-number-of-messages-in-a-kafka-topic/", "published_at": "2020-09-08T09:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99101b1c94", "title": "Poking around the search engines in Google Chrome", "url": "https://rmoff.net/2020/09/07/poking-around-the-search-engines-in-google-chrome/", "published_at": "2020-09-07T22:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f9910b11bcc", "title": "🤖Building a Telegram bot with Apache Kafka, Go, and ksqlDB", "url": "https://rmoff.net/2020/08/20/building-a-telegram-bot-with-apache-kafka-go-and-ksqldb/", "published_at": "2020-08-20T09:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f99118b0a6b", "title": "Telegram bot - BOT_COMMAND_INVALID", "url": "https://rmoff.net/2020/07/23/telegram-bot-bot_command_invalid/", "published_at": "2020-07-23T14:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f991239b018", "title": "Learning Golang (some rough notes) - S02E09 - Processing chunked responses before EOF is reached", "url": "https://rmoff.net/2020/07/23/learning-golang-some-rough-notes-s02e09-processing-chunked-responses-before-eof-is-reached/", "published_at": "2020-07-23T09:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f991272141d", "title": "Learning Golang (some rough notes) - S02E08 - Checking Kafka advertised.listeners with Go", "url": "https://rmoff.net/2020/07/17/learning-golang-some-rough-notes-s02e08-checking-kafka-advertised.listeners-with-go/", "published_at": "2020-07-17T16:00:05+00:00" }, { "id": "01a087d5-9977-7301-87b0-8f991351054e", "title": "Learning Golang (some rough notes) - S02E07 - Splitting Go code into separate source files and building a binary executable", "url": "https://rmoff.net/2020/07/16/learning-golang-some-rough-notes-s02e07-splitting-go-code-into-separate-source-files-and-building-a-binary-executable/", "published_at": "2020-07-16T10:00:05+00:00" } ] posts Claim your blog
Back to rmoff's random ramblings
Blog · corpus.blog/blogs/rmoff.net/posts

rmoff's random ramblings

rmoff.net

2024

2023

2022

2021

2020