diff --git a/config.yaml b/config.yaml index a04211d..fb30ad5 100644 --- a/config.yaml +++ b/config.yaml @@ -1,7 +1,7 @@ theme: "story" baseURL: "https://rmoff.net" languageCode : "en-us" -title: "rmoff's random ramblings2" +title: "rmoff's random ramblings" googleAnalytics: "UA-75492960-1" paginate: 20 timeout: 120s diff --git a/content/post/1brc.md b/content/post/1brc.md index 50adbf2..b0d1070 100644 --- a/content/post/1brc.md +++ b/content/post/1brc.md @@ -4,7 +4,7 @@ title: 1οΈβƒ£πŸπŸŽοΈπŸ¦† (1BRC in SQL with DuckDB) date: "2024-01-03T12:12:32Z" image: "/images/2024/01/h_IMG_6977.webp" thumbnail: "/images/2024/01/1brc.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DuckDB - 1BRC diff --git a/content/post/abcde-error.adoc b/content/post/abcde-error.adoc index b8338df..bd61555 100644 --- a/content/post/abcde-error.adoc +++ b/content/post/abcde-error.adoc @@ -2,7 +2,7 @@ title: '`abcde` - Error trying to calculate disc ids without lead-out information' date: "2020-10-01T09:16:11+01:00" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - abcde - CD ripping diff --git a/content/post/active-mq-explode.adoc b/content/post/active-mq-explode.adoc index 8a5d39e..7fa5386 100644 --- a/content/post/active-mq-explode.adoc +++ b/content/post/active-mq-explode.adoc @@ -6,7 +6,7 @@ aliases: date: "2021-03-19T10:30:47Z" image: "/images/2021/03/IMG_9119.jpeg" thumbnail: "/images/2021/03/IMG_9120.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ActiveMQ - Kafka Connect diff --git a/content/post/add-markers-from-screenflow-to-youtube.adoc b/content/post/add-markers-from-screenflow-to-youtube.adoc index 2ed231f..0164b59 100644 --- a/content/post/add-markers-from-screenflow-to-youtube.adoc +++ b/content/post/add-markers-from-screenflow-to-youtube.adoc @@ -3,7 +3,7 @@ title: 'Add Markers list from Screenflow to Youtube Table of Contents' date: "2020-05-04T10:20:10+01:00" image: "/images/2020/05/IMG_4213.jpeg" thumbnail: "/images/2020/05/IMG_4138.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Youtube - Screenflow diff --git a/content/post/ai-images.md b/content/post/ai-images.md index b18e2a6..cc5359b 100644 --- a/content/post/ai-images.md +++ b/content/post/ai-images.md @@ -4,7 +4,7 @@ title: 'Productivity tools: AI Image Generators' date: "2023-12-07T19:59:41Z" image: "/images/2023/12/firefly.webp" thumbnail: "/images/2023/12/pyflink.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - AI - Blogging diff --git a/content/post/airtable_calendar.adoc b/content/post/airtable_calendar.adoc index 6624240..d5059bd 100644 --- a/content/post/airtable_calendar.adoc +++ b/content/post/airtable_calendar.adoc @@ -4,7 +4,7 @@ title: 'Customising the fields shown in Airtable''s Calendar .ics export' date: "2022-09-12T16:17:08Z" image: "/images/2022/09/h_dji_fly_20220822_181208_685_1661188335757_photo_optimized.jpeg" thumbnail: "/images/2022/09/t_DSCF8251.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Airtable --- diff --git a/content/post/alfred-app.adoc b/content/post/alfred-app.adoc index e6b1db2..f5ba7e8 100644 --- a/content/post/alfred-app.adoc +++ b/content/post/alfred-app.adoc @@ -4,7 +4,7 @@ title: 'Why I use Alfred App (and maybe you should too)' date: "2021-07-29T21:24:08+01:00" image: "/images/2021/07/IMG_1037.jpeg" thumbnail: "/images/2021/07/IMG_1033.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Productivity - Mac diff --git a/content/post/antora-2.adoc b/content/post/antora-2.adoc index 1ecbd9e..fc86fcd 100644 --- a/content/post/antora-2.adoc +++ b/content/post/antora-2.adoc @@ -4,7 +4,7 @@ title: 'Antora Deployment to Cloudflare Across Private Repositories with GitHub date: "2024-01-17T12:09:23Z" image: "/images/2024/01/h_IMG_7272.webp" thumbnail: "/images/2024/01/t_IMG_7306.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Antora - GitHub diff --git a/content/post/antora-private-repo.md b/content/post/antora-private-repo.md index 3682e2d..5b6abb2 100644 --- a/content/post/antora-private-repo.md +++ b/content/post/antora-private-repo.md @@ -4,7 +4,7 @@ title: 'Deploying Antora with GitHub Actions and a private GitHub repo' date: "2023-12-19T13:35:19Z" image: "/images/2023/12/h_IMG_6979.webp" thumbnail: "/images/2023/12/t_IMG_6978.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Antora - GitHub diff --git a/content/post/aws-pager.adoc b/content/post/aws-pager.adoc index b93385a..dfeff72 100644 --- a/content/post/aws-pager.adoc +++ b/content/post/aws-pager.adoc @@ -4,7 +4,7 @@ title: 'How to stop AWS CLI clearing the screen' date: "2024-04-26T12:49:50Z" image: "/images/2024/04/h_IMG_1253.webp" thumbnail: "/images/2024/04/t_IMG_1105.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - aws - pager diff --git a/content/post/bash_group_by.adoc b/content/post/bash_group_by.adoc index be84323..9edf7e1 100644 --- a/content/post/bash_group_by.adoc +++ b/content/post/bash_group_by.adoc @@ -4,7 +4,7 @@ title: 'Performing a GROUP BY on data in bash' date: "2021-02-02T17:23:21Z" image: "/images/2021/02/IMG_8711.jpeg" thumbnail: "/images/2021/02/IMG_8588.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering - Bash diff --git a/content/post/build_telegram_bot.adoc b/content/post/build_telegram_bot.adoc index 44bc35a..d207bbd 100644 --- a/content/post/build_telegram_bot.adoc +++ b/content/post/build_telegram_bot.adoc @@ -4,7 +4,7 @@ date: "2020-05-18T11:28:15+01:00" image: "/images/2020/05/IMG_4438.jpeg" thumbnail: "/images/2020/05/IMG_4312.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB - Telegram diff --git a/content/post/carpark-telegram-bot.adoc b/content/post/carpark-telegram-bot.adoc index b16ba2d..0d0b185 100644 --- a/content/post/carpark-telegram-bot.adoc +++ b/content/post/carpark-telegram-bot.adoc @@ -4,7 +4,7 @@ date: "2020-08-20T10:00:05+01:00" image: "/images/2020/08/IMG_6158.jpeg" thumbnail: "/images/2020/08/IMG_6174.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/chrome-manage-search-engines.adoc b/content/post/chrome-manage-search-engines.adoc index 4305efd..b0012aa 100644 --- a/content/post/chrome-manage-search-engines.adoc +++ b/content/post/chrome-manage-search-engines.adoc @@ -4,7 +4,7 @@ date: "2020-09-07T23:00:05+01:00" image: "/images/2020/09/IMG_6593.jpeg" thumbnail: "/images/2020/09/IMG_6599.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - sqlite - Google Chrome diff --git a/content/post/collection-of-kafka-talks.adoc b/content/post/collection-of-kafka-talks.adoc index 25c4618..4fe6c6d 100644 --- a/content/post/collection-of-kafka-talks.adoc +++ b/content/post/collection-of-kafka-talks.adoc @@ -4,7 +4,7 @@ date: "2020-09-23T15:00:05+01:00" image: "/images/2020/09/IMG_6843.jpeg" thumbnail: "/images/2020/09/IMG_6838.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Apache Kafka - ksqlDB diff --git a/content/post/counting_kafka_messages.adoc b/content/post/counting_kafka_messages.adoc index 54d91b3..b12b495 100644 --- a/content/post/counting_kafka_messages.adoc +++ b/content/post/counting_kafka_messages.adoc @@ -4,7 +4,7 @@ date: "2020-09-08T10:00:05+01:00" image: "/images/2020/08/IMG_6110.jpeg" thumbnail: "/images/2020/08/IMG_6248.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafkacat - ksqlDB diff --git a/content/post/covid-seven-months-in.adoc b/content/post/covid-seven-months-in.adoc index e40a17f..b38e3e3 100644 --- a/content/post/covid-seven-months-in.adoc +++ b/content/post/covid-seven-months-in.adoc @@ -4,7 +4,7 @@ title: 'Life as a Developer Advocate, nine months into a pandemic' date: "2020-12-03T22:15:59+01:00" image: "/images/2020/12/IMG_7708.jpeg" thumbnail: "/images/2020/12/IMG_7701.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel - Virtual Conferences diff --git a/content/post/create_kafka_topic_rest.adoc b/content/post/create_kafka_topic_rest.adoc index d4e9bb3..0a771a9 100644 --- a/content/post/create_kafka_topic_rest.adoc +++ b/content/post/create_kafka_topic_rest.adoc @@ -4,7 +4,7 @@ date: "2020-06-05T09:46:06+01:00" image: "/images/2020/06/IMG_4746.jpeg" thumbnail: "/images/2020/06/IMG_4737.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka REST Proxy - Kafka topics diff --git a/content/post/csv-into-kafka-dirty.adoc b/content/post/csv-into-kafka-dirty.adoc index cccafca..d29388e 100644 --- a/content/post/csv-into-kafka-dirty.adoc +++ b/content/post/csv-into-kafka-dirty.adoc @@ -4,7 +4,7 @@ title: 'Loading delimited data into Kafka - quick & dirty (but effective)' date: "2021-02-26T22:45:36Z" image: "/images/2021/02/IMG_8926.jpeg" thumbnail: "/images/2021/02/IMG_9122.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - kafkacat - csv diff --git a/content/post/csv-to-ccloud.adoc b/content/post/csv-to-ccloud.adoc index 12ed734..2061bc1 100644 --- a/content/post/csv-to-ccloud.adoc +++ b/content/post/csv-to-ccloud.adoc @@ -4,7 +4,7 @@ title: 'Loading CSV data into Confluent Cloud using the FilePulse connector' date: "2021-03-26T17:25:22Z" image: "/images/2021/03/IMG_9313.jpeg" thumbnail: "/images/2021/03/IMG_9313t.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Confluent Cloud - Kafka Connect diff --git a/content/post/csv-to-parquet.md b/content/post/csv-to-parquet.md index f96c35b..dbc9778 100644 --- a/content/post/csv-to-parquet.md +++ b/content/post/csv-to-parquet.md @@ -4,7 +4,7 @@ title: 'Quickly Convert CSV to Parquet with DuckDB' date: "2023-03-14T15:12:31Z" image: "/images/2023/03/h_DSCF8416.jpeg" thumbnail: "/images/2023/03/t_IMG_1672.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DuckDB --- diff --git a/content/post/current22_5k.adoc b/content/post/current22_5k.adoc index 3b9f513..f758363 100644 --- a/content/post/current22_5k.adoc +++ b/content/post/current22_5k.adoc @@ -4,7 +4,7 @@ title: 'Current 2022 - 5k Fun Run' date: "2022-09-26T13:51:42Z" image: "/images/2022/09/tomek-baginski-ABUCYck67CQ-unsplash.jpg" thumbnail: "/images/2022/09/t_running.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Summit - Running diff --git a/content/post/current22_ratings_analysis.md b/content/post/current22_ratings_analysis.md index 3f3919b..173e98d 100644 --- a/content/post/current22_ratings_analysis.md +++ b/content/post/current22_ratings_analysis.md @@ -4,7 +4,7 @@ title: 'Current 22 - Session Analysis with DuckDB and Jupyter Notebook' date: "2022-10-14T16:15:57Z" image: "/images/2022/10/h_IMG_8722.jpeg" thumbnail: "/images/2022/10/t_DSCF7575.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DuckDB - Current 2022 diff --git a/content/post/current24_5k.adoc b/content/post/current24_5k.adoc index c1e212b..c68907b 100644 --- a/content/post/current24_5k.adoc +++ b/content/post/current24_5k.adoc @@ -4,7 +4,7 @@ title: 'Current 2024 - 5k Fun Run (or Walk)' date: "2024-09-02T15:11:42Z" image: "/images/2024/09/h_current24-run.webp" thumbnail: "/images/2024/09/t_current24-run.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Summit - Running diff --git a/content/post/current_program_building.adoc b/content/post/current_program_building.adoc index 4bb5db0..05ed3cd 100644 --- a/content/post/current_program_building.adoc +++ b/content/post/current_program_building.adoc @@ -4,7 +4,7 @@ title: 'Inside the Sausage Factory: How we Built the Program for Current 2022' date: "2022-08-31T12:14:09Z" image: "/images/2022/08/h_IMG_8389.jpeg" thumbnail: "/images/2022/08/t_DSCF7575.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel - Program Committee diff --git a/content/post/da_from_home.adoc b/content/post/da_from_home.adoc index d8d61fd..e637ceb 100644 --- a/content/post/da_from_home.adoc +++ b/content/post/da_from_home.adoc @@ -4,7 +4,7 @@ title: 'Remote-First Developer Advocacy' date: "2022-04-07T21:19:48Z" image: "/images/2022/04/DSCF6310.jpeg" thumbnail: "/images/2022/04/IMG_4948.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel --- diff --git a/content/post/da_hanging_up_my_boarding_passes.adoc b/content/post/da_hanging_up_my_boarding_passes.adoc index d2b833a..d2709f8 100644 --- a/content/post/da_hanging_up_my_boarding_passes.adoc +++ b/content/post/da_hanging_up_my_boarding_passes.adoc @@ -4,7 +4,7 @@ title: Hanging up my Boarding Passes and Jetlag…for now date: "2022-04-07T20:58:33Z" image: "/images/2022/04/IMG_7451.jpeg" thumbnail: "/images/2022/04/IMG_8109.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel --- diff --git a/content/post/dataeng_arch.adoc b/content/post/dataeng_arch.adoc index c24ccd6..b52ee6c 100644 --- a/content/post/dataeng_arch.adoc +++ b/content/post/dataeng_arch.adoc @@ -4,7 +4,7 @@ title: "Data Engineering in 2022: Architectures & Terminology" date: "2022-10-02T10:50:56Z" image: "/images/2022/10/h_IMG_8726.jpeg" thumbnail: "/images/2022/10/joshua-hoehne-1UDjq8s8cy0-unsplash.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering - dbt diff --git a/content/post/dataeng_dbt_current.adoc b/content/post/dataeng_dbt_current.adoc index b329702..2a6221d 100644 --- a/content/post/dataeng_dbt_current.adoc +++ b/content/post/dataeng_dbt_current.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: Wrangling the feedback data from Current 22 wi date: "2022-10-24T12:27:14Z" image: "/images/2022/10/h_IMG_8834.jpeg" thumbnail: "/images/2022/10/t_IMG_8835.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - dbt - DuckDB diff --git a/content/post/dataeng_dbt_duckdb.adoc b/content/post/dataeng_dbt_duckdb.adoc index b08accf..5a98596 100644 --- a/content/post/dataeng_dbt_duckdb.adoc +++ b/content/post/dataeng_dbt_duckdb.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: Exploring dbt with DuckDB' date: "2022-10-20T17:07:04Z" image: "/images/2022/10/h_IMG_8370.jpeg" thumbnail: "/images/2022/10/t_IMG_8724.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering - dbt diff --git a/content/post/dataeng_elt.adoc b/content/post/dataeng_elt.adoc index b2e8f2a..a563775 100644 --- a/content/post/dataeng_elt.adoc +++ b/content/post/dataeng_elt.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: ELT tools' date: "2022-11-08T19:46:39Z" image: "/images/2022/11/h_IMG_8786.jpeg" thumbnail: "/images/2022/11/t_IMG_9297.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ELT - dbt diff --git a/content/post/dataeng_intro.adoc b/content/post/dataeng_intro.adoc index 39ef41c..4cf4de3 100644 --- a/content/post/dataeng_intro.adoc +++ b/content/post/dataeng_intro.adoc @@ -4,7 +4,7 @@ title: 'Stretching my Legs in the Data Engineering Ecosystem in 2022' date: "2022-09-14T10:42:30Z" thumbnail: "/images/2022/09/IMG_7557.jpeg" image: "/images/2022/09/RemoteMediaFile_6554199_0_2022_07_15_21_21_20.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering --- diff --git a/content/post/dataeng_lakefs.md b/content/post/dataeng_lakefs.md index 57b813f..bd1be77 100644 --- a/content/post/dataeng_lakefs.md +++ b/content/post/dataeng_lakefs.md @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: Exploring LakeFS with Jupyter and PySpark' date: "2022-09-16T08:54:45Z" image: "/images/2022/09/h_DSCF8265.jpeg" thumbnail: "/images/2022/09/t_DSCF8265.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering - LakeFS diff --git a/content/post/dataeng_query_and_xform.adoc b/content/post/dataeng_query_and_xform.adoc index 9df2b55..d7213b4 100644 --- a/content/post/dataeng_query_and_xform.adoc +++ b/content/post/dataeng_query_and_xform.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: Query & Transformation Engines' date: "2022-09-17T17:07:04Z" // image: "/images/2022/09/h_IMG_8389.jpeg" // thumbnail: "/images/2022/09/t_IMG_5037.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering --- diff --git a/content/post/dataeng_resources.adoc b/content/post/dataeng_resources.adoc index fab77a3..b722277 100644 --- a/content/post/dataeng_resources.adoc +++ b/content/post/dataeng_resources.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering: Resources' date: "2022-09-14T20:57:21Z" image: "/images/2022/09/h_RemoteMediaFile_6554172_0_2022_07_02_12_04_48.jpeg" thumbnail: "/images/2022/09/t_DSCF7583.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering --- diff --git a/content/post/dataeng_storage_access.adoc b/content/post/dataeng_storage_access.adoc index 03ac05b..5a8884d 100644 --- a/content/post/dataeng_storage_access.adoc +++ b/content/post/dataeng_storage_access.adoc @@ -4,7 +4,7 @@ title: 'Data Engineering in 2022: Storage and Access' date: "2022-09-14T17:07:04Z" image: "/images/2022/09/h_IMG_8389.jpeg" thumbnail: "/images/2022/09/t_IMG_5037.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data Engineering - Table Formats diff --git a/content/post/deploy-ksqldb.adoc b/content/post/deploy-ksqldb.adoc index 52e0c8c..5750a69 100644 --- a/content/post/deploy-ksqldb.adoc +++ b/content/post/deploy-ksqldb.adoc @@ -4,7 +4,7 @@ title: 'A bash script to deploy ksqlDB queries automagically' date: "2021-04-01T23:06:22+01:00" image: "/images/2021/04/IMG_9425.jpeg" thumbnail: "/images/2021/04/IMG_9429.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB - Confluent Cloud diff --git a/content/post/devx-engineer.md b/content/post/devx-engineer.md index a0fdfcc..6ea3013 100644 --- a/content/post/devx-engineer.md +++ b/content/post/devx-engineer.md @@ -4,7 +4,7 @@ title: 'What Does This DevEx Engineer Do?' date: "2023-05-23T23:56:16Z" image: "/images/2023/05/h_IMG_2564.jpeg" thumbnail: "/images/2023/05/t_IMG_2342.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - devrel - devex diff --git a/content/post/embedding-content-in-asciidoc-in-hugo.adoc b/content/post/embedding-content-in-asciidoc-in-hugo.adoc index 218ee33..68d71a4 100644 --- a/content/post/embedding-content-in-asciidoc-in-hugo.adoc +++ b/content/post/embedding-content-in-asciidoc-in-hugo.adoc @@ -4,7 +4,7 @@ date: "2020-09-18T09:00:05+01:00" image: "/images/2020/09/IMG_6746.jpeg" thumbnail: "/images/2020/09/IMG_6725.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Hugo - Asciidoc diff --git a/content/post/hugo-errors.adoc b/content/post/hugo-errors.adoc index 9871684..fcee053 100644 --- a/content/post/hugo-errors.adoc +++ b/content/post/hugo-errors.adoc @@ -2,7 +2,7 @@ draft: true title: 'Fixing gem errors in Hugo' date: "2021-09-07T10:05:43+01:00" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Hugo --- diff --git a/content/post/hugo-orbstack.md b/content/post/hugo-orbstack.md index 8690ce7..e21655e 100644 --- a/content/post/hugo-orbstack.md +++ b/content/post/hugo-orbstack.md @@ -4,7 +4,7 @@ title: 'Hugo not detecting changed pages on Mac' date: "2023-11-16T15:27:22Z" image: "/images/2023/11/h_IMG_5046.webp" thumbnail: "/images/2023/11/t_IMG_6379.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Hugo - Docker diff --git a/content/post/hugo_ga_preview.adoc b/content/post/hugo_ga_preview.adoc index ef7ee62..41a720d 100644 --- a/content/post/hugo_ga_preview.adoc +++ b/content/post/hugo_ga_preview.adoc @@ -4,7 +4,7 @@ title: 'Using GitHub Actions to build automagic Hugo previews of draft articles' date: "2022-04-06T19:30:13Z" image: "/images/2022/04/build.png" thumbnail: "/images/2022/04/IMG_5139.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Hugo - GitHub diff --git a/content/post/ibmmq-mongo.adoc b/content/post/ibmmq-mongo.adoc index bc6b6d5..2f1b23d 100644 --- a/content/post/ibmmq-mongo.adoc +++ b/content/post/ibmmq-mongo.adoc @@ -3,7 +3,7 @@ title: 'Streaming XML messages from IBM MQ into Kafka into MongoDB' date: "2020-10-05T10:09:41+01:00" image: "/images/2020/10/IMG_6943.jpeg" thumbnail: "/images/2020/10/xml-ibmmq-mongodb.gif" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - XML diff --git a/content/post/install-kafka-connect-plugins.adoc b/content/post/install-kafka-connect-plugins.adoc index 198a023..0033653 100644 --- a/content/post/install-kafka-connect-plugins.adoc +++ b/content/post/install-kafka-connect-plugins.adoc @@ -4,7 +4,7 @@ date: "2020-06-19T17:28:09+01:00" image: "/images/2020/06/IMG_5114.jpeg" thumbnail: "/images/2020/06/IMG_5119.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Docker diff --git a/content/post/install-kafkacat-fedora.adoc b/content/post/install-kafkacat-fedora.adoc index 76b8190..97341d5 100644 --- a/content/post/install-kafkacat-fedora.adoc +++ b/content/post/install-kafkacat-fedora.adoc @@ -3,7 +3,7 @@ title: 'How to install kafkacat on Fedora' date: "2020-04-20T10:25:32+01:00" image: "/images/2020/04/IMG_3895.jpeg" thumbnail: "/images/2020/04/IMG_3969.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - kafkacat - fedora diff --git a/content/post/jdbc-sink-primary-keys.adoc b/content/post/jdbc-sink-primary-keys.adoc index cedf180..8e0c8a2 100644 --- a/content/post/jdbc-sink-primary-keys.adoc +++ b/content/post/jdbc-sink-primary-keys.adoc @@ -4,7 +4,7 @@ title: 'Kafka Connect JDBC Sink deep-dive: Working with Primary Keys' date: "2021-03-12T12:16:16Z" image: "/images/2021/03/IMG_9195.jpeg" thumbnail: "/images/2021/03/IMG_9198.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - JDBC Sink diff --git a/content/post/jeykll-pr-magic.md b/content/post/jeykll-pr-magic.md index 4e09c5b..6c17bcc 100644 --- a/content/post/jeykll-pr-magic.md +++ b/content/post/jeykll-pr-magic.md @@ -4,7 +4,7 @@ title: 'Building Better Docs - Automating Jekyll Builds and Link Checking for PR date: "2023-04-20T08:54:11Z" image: "/images/2023/04/h_IMG_8828.jpeg" thumbnail: "/images/2023/04/t_IMG_9850.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Documentation - Jekyll diff --git a/content/post/joining-decodable.md b/content/post/joining-decodable.md index bd1cf1b..982ed57 100644 --- a/content/post/joining-decodable.md +++ b/content/post/joining-decodable.md @@ -4,7 +4,7 @@ title: 'An Itch That Just Has to Be Scratched… (Or, Why Am I Joining Decodable date: "2023-09-21T14:25:39Z" image: "/images/2023/09/h_IMG_5397.jpeg" thumbnail: "/images/2023/09/t_IMG_8746.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Streaming - Career diff --git a/content/post/jq-to-kafkacat-with-keys.adoc b/content/post/jq-to-kafkacat-with-keys.adoc index b61d959..1495ebc 100644 --- a/content/post/jq-to-kafkacat-with-keys.adoc +++ b/content/post/jq-to-kafkacat-with-keys.adoc @@ -4,7 +4,7 @@ date: "2020-09-30T20:54:09+01:00" image: "/images/2020/09/IMG_6875.jpeg" thumbnail: "/images/2020/09/IMG_6880.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - jq - kafkacat diff --git a/content/post/kafka-and-go-00.adoc b/content/post/kafka-and-go-00.adoc index 50cf8cb..9bd2186 100644 --- a/content/post/kafka-and-go-00.adoc +++ b/content/post/kafka-and-go-00.adoc @@ -4,7 +4,7 @@ date: "2020-07-08T10:59:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-01.adoc b/content/post/kafka-and-go-01.adoc index b16ecd8..cfa9b1f 100644 --- a/content/post/kafka-and-go-01.adoc +++ b/content/post/kafka-and-go-01.adoc @@ -4,7 +4,7 @@ date: "2020-07-08T17:59:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-02.adoc b/content/post/kafka-and-go-02.adoc index 66bd869..8d235ec 100644 --- a/content/post/kafka-and-go-02.adoc +++ b/content/post/kafka-and-go-02.adoc @@ -4,7 +4,7 @@ date: "2020-07-10T10:59:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-03.adoc b/content/post/kafka-and-go-03.adoc index 052df31..3fafbc2 100644 --- a/content/post/kafka-and-go-03.adoc +++ b/content/post/kafka-and-go-03.adoc @@ -4,7 +4,7 @@ date: "2020-07-14T11:59:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-04.adoc b/content/post/kafka-and-go-04.adoc index f52f0ca..7555cc2 100644 --- a/content/post/kafka-and-go-04.adoc +++ b/content/post/kafka-and-go-04.adoc @@ -4,7 +4,7 @@ date: "2020-07-14T13:59:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-05.adoc b/content/post/kafka-and-go-05.adoc index 4f051a4..e70d813 100644 --- a/content/post/kafka-and-go-05.adoc +++ b/content/post/kafka-and-go-05.adoc @@ -4,7 +4,7 @@ date: "2020-07-15T11:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-06.adoc b/content/post/kafka-and-go-06.adoc index 5bc99c0..7b0e026 100644 --- a/content/post/kafka-and-go-06.adoc +++ b/content/post/kafka-and-go-06.adoc @@ -4,7 +4,7 @@ date: "2020-07-15T14:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-07.adoc b/content/post/kafka-and-go-07.adoc index 3d71ee5..860e7e6 100644 --- a/content/post/kafka-and-go-07.adoc +++ b/content/post/kafka-and-go-07.adoc @@ -4,7 +4,7 @@ date: "2020-07-16T11:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-08.adoc b/content/post/kafka-and-go-08.adoc index b2c6dda..919146b 100644 --- a/content/post/kafka-and-go-08.adoc +++ b/content/post/kafka-and-go-08.adoc @@ -4,7 +4,7 @@ date: "2020-07-17T17:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-and-go-09.adoc b/content/post/kafka-and-go-09.adoc index b47e658..2125cec 100644 --- a/content/post/kafka-and-go-09.adoc +++ b/content/post/kafka-and-go-09.adoc @@ -4,7 +4,7 @@ date: "2020-07-23T10:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/kafka-connect-mysql-text-key.adoc b/content/post/kafka-connect-mysql-text-key.adoc index 0862439..ec149e0 100644 --- a/content/post/kafka-connect-mysql-text-key.adoc +++ b/content/post/kafka-connect-mysql-text-key.adoc @@ -4,7 +4,7 @@ title: 'Kafka Connect - SQLSyntaxErrorException: BLOB/TEXT column … used in ke date: "2021-03-11T11:25:57Z" image: "/images/2021/03/IMG_9253.jpeg" thumbnail: "/images/2021/03/IMG_9246.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - JDBC Sink diff --git a/content/post/kafka-data-profiling.adoc b/content/post/kafka-data-profiling.adoc index 3f348e4..76d5545 100644 --- a/content/post/kafka-data-profiling.adoc +++ b/content/post/kafka-data-profiling.adoc @@ -4,7 +4,7 @@ title: 'Quick profiling of data in Apache Kafka using kafkacat and visidata' date: "2021-03-04T14:23:15Z" image: "/images/2021/03/IMG_9166.jpeg" thumbnail: "/images/2021/03/kafka-visidata.gif" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Data - kafkacat diff --git a/content/post/kafka-ngrok.md b/content/post/kafka-ngrok.md index 265ea7b..fc4d883 100644 --- a/content/post/kafka-ngrok.md +++ b/content/post/kafka-ngrok.md @@ -4,7 +4,7 @@ title: 'Using Apache Kafka with ngrok' date: "2023-11-01T10:07:58Z" image: "/images/2023/11/h_IMG_5046.webp" thumbnail: "/images/2023/11/ngrok02.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ngrok - Apache Kafka diff --git a/content/post/kafka-xml-intro.adoc b/content/post/kafka-xml-intro.adoc index f4da4ee..5496cd4 100644 --- a/content/post/kafka-xml-intro.adoc +++ b/content/post/kafka-xml-intro.adoc @@ -3,7 +3,7 @@ title: 'Ingesting XML data into Kafka - Introduction' date: "2020-10-01T12:09:41+01:00" image: "/images/2020/09/IMG_6833.jpeg" thumbnail: "/images/2020/09/IMG_6861.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - XML diff --git a/content/post/kafka-xml-part01-hack.adoc b/content/post/kafka-xml-part01-hack.adoc index 04a7f71..9b82a51 100644 --- a/content/post/kafka-xml-part01-hack.adoc +++ b/content/post/kafka-xml-part01-hack.adoc @@ -3,7 +3,7 @@ title: 'Ingesting XML data into Kafka - Option 1: The Dirty Hack' date: "2020-10-01T13:09:41+01:00" image: "/images/2020/09/IMG_6833.jpeg" thumbnail: "/images/2020/09/IMG_6861.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - XML diff --git a/content/post/kafka-xml-part02-smt.adoc b/content/post/kafka-xml-part02-smt.adoc index 21ea058..e31db1b 100644 --- a/content/post/kafka-xml-part02-smt.adoc +++ b/content/post/kafka-xml-part02-smt.adoc @@ -3,7 +3,7 @@ title: 'Ingesting XML data into Kafka - Option 2: Kafka Connect plus Single Mess date: "2020-10-01T14:09:41+01:00" image: "/images/2020/09/IMG_6833.jpeg" thumbnail: "/images/2020/09/IMG_6861.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - XML diff --git a/content/post/kafka-xml-part03-filepulse.adoc b/content/post/kafka-xml-part03-filepulse.adoc index 8d2a41e..786c2bd 100644 --- a/content/post/kafka-xml-part03-filepulse.adoc +++ b/content/post/kafka-xml-part03-filepulse.adoc @@ -3,7 +3,7 @@ title: 'Ingesting XML data into Kafka - Option 3: Kafka Connect FilePulse connec date: "2020-10-01T15:09:41+01:00" image: "/images/2020/09/IMG_6833.jpeg" thumbnail: "/images/2020/09/IMG_6861.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - XML diff --git a/content/post/kc-worker-gcp.adoc b/content/post/kc-worker-gcp.adoc index 9737a90..57b7108 100644 --- a/content/post/kc-worker-gcp.adoc +++ b/content/post/kc-worker-gcp.adoc @@ -4,7 +4,7 @@ title: 'Running a self-managed Kafka Connect worker for Confluent Cloud' date: "2021-01-11T17:02:03Z" image: "/images/2021/01/IMG_8360.jpeg" thumbnail: "/images/2021/01/IMG_8358.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - GCP diff --git a/content/post/kcin60.md b/content/post/kcin60.md index 3e6b1e2..6a2b425 100644 --- a/content/post/kcin60.md +++ b/content/post/kcin60.md @@ -7,7 +7,7 @@ date: "2020-09-11T16:00:05+01:00" image: "/images/2020/09/IMG_6647.jpeg" thumbnail: "/images/2020/09/IMG_6647.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Video diff --git a/content/post/keynote_replace_fonts.adoc b/content/post/keynote_replace_fonts.adoc index 14475cc..2a47c8b 100644 --- a/content/post/keynote_replace_fonts.adoc +++ b/content/post/keynote_replace_fonts.adoc @@ -2,7 +2,7 @@ draft: false title: 'Keynote - Why is Replace Fonts greyed out?' date: "2020-11-13T15:49:37Z" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Keynote --- diff --git a/content/post/kibana-open-sea-map.adoc b/content/post/kibana-open-sea-map.adoc index 0e56a91..3a42ba6 100644 --- a/content/post/kibana-open-sea-map.adoc +++ b/content/post/kibana-open-sea-map.adoc @@ -5,7 +5,7 @@ title: 'Using Open Sea Map data in Kibana maps' date: "2021-03-04T09:23:05Z" image: "/images/2021/03/2021-03-04_10-04-11.png" thumbnail: "/images/2021/03/4C94AF4F-A35E-4D13-BA1D-96B44E176C55.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kibana - Open Data diff --git a/content/post/ksl22_run.adoc b/content/post/ksl22_run.adoc index 04f954a..070f7ff 100644 --- a/content/post/ksl22_run.adoc +++ b/content/post/ksl22_run.adoc @@ -4,7 +4,7 @@ title: 'πŸƒπŸšΆ The unofficial Kafka Summit London 2022 Run/Walk πŸƒπŸšΆ' date: "2022-04-05T09:54:05Z" image: "/images/2022/04/jack-atkinson-CUfDlYxZx8I-unsplash.jpg" thumbnail: "/images/2022/04/joe-green-so83B0FeUMo-unsplash.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Summit - Running diff --git a/content/post/ksl24-flink.adoc b/content/post/ksl24-flink.adoc index 1553af2..3c62d63 100644 --- a/content/post/ksl24-flink.adoc +++ b/content/post/ksl24-flink.adoc @@ -4,7 +4,7 @@ title: 'Apache Flink talks at Kafka Summit London 2024' date: "2024-03-15T13:54:39Z" image: "/images/2024/03/2024-03-06_19-47-51_3495.webp" thumbnail: "/images/2024/03/2024-03-06_19-47-51_3495.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Summit - Apache Flink diff --git a/content/post/ksl24_run.adoc b/content/post/ksl24_run.adoc index 383597c..3ca4edd 100644 --- a/content/post/ksl24_run.adoc +++ b/content/post/ksl24_run.adoc @@ -4,7 +4,7 @@ title: 'πŸƒπŸšΆ The unofficial Kafka Summit London 2024 Run/Walk πŸƒπŸšΆ' date: "2024-03-15T15:00:05Z" image: "/images/2024/03/h_2024-03-15_15-16-30_1268.webp" thumbnail: "/images/2024/03/th_2024-03-15_14-32-45_8787.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Summit - Running diff --git a/content/post/ksqldb-howto.adoc b/content/post/ksqldb-howto.adoc index b7cfd00..6a3b382 100644 --- a/content/post/ksqldb-howto.adoc +++ b/content/post/ksqldb-howto.adoc @@ -4,7 +4,7 @@ title: 'πŸ“Ό ksqlDB HOWTO - A mini video series πŸ“Ό' date: "2021-02-17T23:12:33Z" image: "/images/2021/02/ksqldb-howto.jpg" thumbnail: "/images/2021/02/IMG_8916.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB --- diff --git a/content/post/ksqldb-local-to-cloud.adoc b/content/post/ksqldb-local-to-cloud.adoc index e0bc322..1ed33f5 100644 --- a/content/post/ksqldb-local-to-cloud.adoc +++ b/content/post/ksqldb-local-to-cloud.adoc @@ -4,7 +4,7 @@ title: 'Connecting to managed ksqlDB in Confluent Cloud with REST and ksqlDB CLI date: "2021-03-24T09:36:43Z" image: "/images/2021/03/IMG_9310.jpeg" thumbnail: "/images/2021/03/IMG_9301.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB - Confluent Cloud diff --git a/content/post/ksqldb-variable-struct-field.adoc b/content/post/ksqldb-variable-struct-field.adoc index f86f28b..af275fc 100644 --- a/content/post/ksqldb-variable-struct-field.adoc +++ b/content/post/ksqldb-variable-struct-field.adoc @@ -4,7 +4,7 @@ title: 'ksqlDB - How to model a variable number of fields in a nested value (`ST date: "2020-10-07T11:44:51+01:00" image: "/images/2020/10/IMG_6948.jpeg" thumbnail: "/images/2020/10/IMG_6941.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB --- diff --git a/content/post/ksqldb_array_example.adoc b/content/post/ksqldb_array_example.adoc index 83b4bb2..ca2ca21 100644 --- a/content/post/ksqldb_array_example.adoc +++ b/content/post/ksqldb_array_example.adoc @@ -2,7 +2,7 @@ title: 'Working with JSON nested arrays in ksqlDB - example' date: "2020-05-26T10:02:48+01:00" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ksqlDB --- diff --git a/content/post/lafs01e01.md b/content/post/lafs01e01.md index b632ad2..ae8c54f 100644 --- a/content/post/lafs01e01.md +++ b/content/post/lafs01e01.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E01: Where Do I Start?' date: "2023-09-29T12:57:04Z" image: "/images/2023/09/h_IMG_5288.webp" thumbnail: "/images/2023/09/t_IMG_5443.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Apache Flink - LAF diff --git a/content/post/lafs01e02.md b/content/post/lafs01e02.md index ece6aae..3f095ad 100644 --- a/content/post/lafs01e02.md +++ b/content/post/lafs01e02.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E02: What *is* Flink?' date: "2023-10-02T15:12:14Z" image: "/images/2023/10/h_IMG_5510.webp" thumbnail: "/images/2023/10/t_IMG_5412.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Apache Flink - LAF diff --git a/content/post/lafs01e03.md b/content/post/lafs01e03.md index 41db21a..b549f8c 100644 --- a/content/post/lafs01e03.md +++ b/content/post/lafs01e03.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E03: Running my First Flink Cluster and Applica date: "2023-10-05T14:29:02Z" image: "/images/2023/10/h_IMG_8835.webp" thumbnail: "/images/2023/10/t_IMG_5439.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - LAF - Apache Flink diff --git a/content/post/lafs01e04.md b/content/post/lafs01e04.md index 8f99ee0..b714df2 100644 --- a/content/post/lafs01e04.md +++ b/content/post/lafs01e04.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E04: A [Partial] Exploration of the Flink SQL C date: "2023-10-10T16:27:22Z" image: "/images/2023/10/squirrel.webp" thumbnail: "/images/2023/10/squirrel.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - LAF - Apache Flink diff --git a/content/post/lafs01e05.md b/content/post/lafs01e05.md index c18bec1..54b8a37 100644 --- a/content/post/lafs01e05.md +++ b/content/post/lafs01e05.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E05: Installing PyFlink (with some bumps along date: "2023-10-25T15:27:22Z" image: "/images/2023/10/pyflink1.webp" thumbnail: "/images/2023/10/IMG_6173.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - LAF - Apache Flink diff --git a/content/post/lafs01e06.md b/content/post/lafs01e06.md index ed979c6..424042b 100644 --- a/content/post/lafs01e06.md +++ b/content/post/lafs01e06.md @@ -4,7 +4,7 @@ title: 'Learning Apache Flink S01E06: The Flink JDBC Driver' date: "2023-11-16T15:20:20Z" image: "/images/2023/11/h_IMG_6386.webp" thumbnail: "/images/2023/11/t_IMG_6381.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Flink JDBC - Flink SQL Gateway diff --git a/content/post/learn-from-their-mistakes.adoc b/content/post/learn-from-their-mistakes.adoc index e802559..d14b835 100644 --- a/content/post/learn-from-their-mistakes.adoc +++ b/content/post/learn-from-their-mistakes.adoc @@ -4,7 +4,7 @@ title: 'How to Write a Good Tech Conference Abstract - Learn from the Mistakes o date: "2022-07-20T08:58:38Z" image: "/images/2022/07/DJI_0639.jpeg" thumbnail: "/images/2022/07/IMG_6823.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel - Abstracts diff --git a/content/post/learning-go-part0.adoc b/content/post/learning-go-part0.adoc index a176319..2e69394 100644 --- a/content/post/learning-go-part0.adoc +++ b/content/post/learning-go-part0.adoc @@ -4,7 +4,7 @@ date: "2020-06-25T11:13:23+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part1.adoc b/content/post/learning-go-part1.adoc index 25c424c..147de13 100644 --- a/content/post/learning-go-part1.adoc +++ b/content/post/learning-go-part1.adoc @@ -4,7 +4,7 @@ date: "2020-06-25T11:15:23+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part10.adoc b/content/post/learning-go-part10.adoc index 92e7a64..e18b4d5 100644 --- a/content/post/learning-go-part10.adoc +++ b/content/post/learning-go-part10.adoc @@ -4,7 +4,7 @@ date: "2020-07-03T16:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part2.adoc b/content/post/learning-go-part2.adoc index 970e221..a5afb08 100644 --- a/content/post/learning-go-part2.adoc +++ b/content/post/learning-go-part2.adoc @@ -4,7 +4,7 @@ date: "2020-06-25T11:20:23+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part3.adoc b/content/post/learning-go-part3.adoc index c014081..b13eca2 100644 --- a/content/post/learning-go-part3.adoc +++ b/content/post/learning-go-part3.adoc @@ -4,7 +4,7 @@ date: "2020-06-29T13:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part4.adoc b/content/post/learning-go-part4.adoc index df373bf..563eca7 100644 --- a/content/post/learning-go-part4.adoc +++ b/content/post/learning-go-part4.adoc @@ -4,7 +4,7 @@ date: "2020-06-29T14:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part5.adoc b/content/post/learning-go-part5.adoc index 4286936..491a4d3 100644 --- a/content/post/learning-go-part5.adoc +++ b/content/post/learning-go-part5.adoc @@ -4,7 +4,7 @@ date: "2020-06-30T16:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part6.adoc b/content/post/learning-go-part6.adoc index f30228e..f91ccaf 100644 --- a/content/post/learning-go-part6.adoc +++ b/content/post/learning-go-part6.adoc @@ -4,7 +4,7 @@ date: "2020-07-01T10:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part7.adoc b/content/post/learning-go-part7.adoc index 243e31a..8d36b71 100644 --- a/content/post/learning-go-part7.adoc +++ b/content/post/learning-go-part7.adoc @@ -4,7 +4,7 @@ date: "2020-07-01T15:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part8.adoc b/content/post/learning-go-part8.adoc index 8dc0270..26d2c5e 100644 --- a/content/post/learning-go-part8.adoc +++ b/content/post/learning-go-part8.adoc @@ -4,7 +4,7 @@ date: "2020-07-02T14:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/learning-go-part9.adoc b/content/post/learning-go-part9.adoc index 05f5302..42459fe 100644 --- a/content/post/learning-go-part9.adoc +++ b/content/post/learning-go-part9.adoc @@ -4,7 +4,7 @@ date: "2020-07-02T16:59:05+01:00" image: "/images/2020/06/IMG_5288.jpeg" thumbnail: "/images/2020/06/IMG_5277.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Go - Golang diff --git a/content/post/lightning_talks.adoc b/content/post/lightning_talks.adoc index 2bf3946..7a36a67 100644 --- a/content/post/lightning_talks.adoc +++ b/content/post/lightning_talks.adoc @@ -4,7 +4,7 @@ title: '⚑️ Writing an abstract for a lightning talk ⚑️' date: "2022-08-31T11:13:38Z" image: "/images/2022/08/h_IMG_8234.jpeg" thumbnail: "/images/2022/08/t_IMG_8372.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel - Conferences diff --git a/content/post/load_csv_to_kafka.adoc b/content/post/load_csv_to_kafka.adoc index 6cf1441..5e9c288 100644 --- a/content/post/load_csv_to_kafka.adoc +++ b/content/post/load_csv_to_kafka.adoc @@ -4,7 +4,7 @@ date: "2020-06-17T17:57:18+01:00" image: "/images/2020/06/IMG_5005.jpeg" thumbnail: "/images/2020/06/IMG_5001.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - CSV diff --git a/content/post/looking-forward.adoc b/content/post/looking-forward.adoc index e628688..46a2f76 100644 --- a/content/post/looking-forward.adoc +++ b/content/post/looking-forward.adoc @@ -4,7 +4,7 @@ title: 'Looking Forwards, and Looking Backwards' date: "2022-12-09T09:00:00Z" image: "/images/2022/12/IMG_0258.jpeg" thumbnail: "/images/2022/12/IMG_0207.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Career - DevRel diff --git a/content/post/mac-tools.adoc b/content/post/mac-tools.adoc index eeaefad..6396083 100644 --- a/content/post/mac-tools.adoc +++ b/content/post/mac-tools.adoc @@ -4,7 +4,7 @@ title: 'My Favourite Tools on the Mac (Setting up a new Mac)' date: "2021-07-29T22:00:08+01:00" image: "/images/2021/07/IMG_1099.jpeg" thumbnail: "/images/2021/07/IMG_1108.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Productivity - Mac diff --git a/content/post/markdown-gdocs-wordpress.md b/content/post/markdown-gdocs-wordpress.md index 8cfe49f..05e0e69 100644 --- a/content/post/markdown-gdocs-wordpress.md +++ b/content/post/markdown-gdocs-wordpress.md @@ -4,7 +4,7 @@ title: 'Authoring Wordpress blogs in Markdown (with Google Docs for review)' date: "2023-05-03T08:59:17Z" image: "/images/2023/05/h_IMG_2435.jpeg" thumbnail: "/images/2023/05/t_IMG_2565.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Markdown - Wordpress diff --git a/content/post/mq-channel-blocked.adoc b/content/post/mq-channel-blocked.adoc index 5484147..47972f2 100644 --- a/content/post/mq-channel-blocked.adoc +++ b/content/post/mq-channel-blocked.adoc @@ -1,7 +1,7 @@ --- title: 'IBM MQ on Docker - Channel was blocked' date: "2020-10-01T01:09:41+01:00" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" draft: false categories: - IBM MQ diff --git a/content/post/mssql-debezium-ksqldb.adoc b/content/post/mssql-debezium-ksqldb.adoc index c825b79..b0326bf 100644 --- a/content/post/mssql-debezium-ksqldb.adoc +++ b/content/post/mssql-debezium-ksqldb.adoc @@ -4,7 +4,7 @@ date: "2020-09-18T10:00:05+01:00" image: "/images/2020/09/IMG_6749.jpeg" thumbnail: "/images/2020/09/IMG_6723.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - MS SQL - Debezium diff --git a/content/post/ngrok-dns.adoc b/content/post/ngrok-dns.adoc index 55a1c1f..08b5aa7 100644 --- a/content/post/ngrok-dns.adoc +++ b/content/post/ngrok-dns.adoc @@ -4,7 +4,7 @@ title: 'ngrok DNS headaches' date: "2024-05-03T10:56:30Z" image: "/images/2024/05/h_IMG_1338.webp" thumbnail: "/images/2024/05/t_IMG_1316.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - ngrok - dns diff --git a/content/post/opml.adoc b/content/post/opml.adoc index a75fc48..e2e5f63 100644 --- a/content/post/opml.adoc +++ b/content/post/opml.adoc @@ -4,7 +4,7 @@ title: 'How I Try To Keep Up With The Data Tech World (A List of Data Blogs)' date: "2024-05-22T13:19:10Z" image: "/images/2024/05/h_IMG_1771.webp" thumbnail: "/images/2024/05/t_IMG_1798.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - RSS - Data diff --git a/content/post/parquet-schemas-duckdb.md b/content/post/parquet-schemas-duckdb.md index c000d5a..fdaaa97 100644 --- a/content/post/parquet-schemas-duckdb.md +++ b/content/post/parquet-schemas-duckdb.md @@ -4,7 +4,7 @@ title: 'Aligning mismatched Parquet schemas in DuckDB' date: "2023-03-03T14:36:08Z" image: "/images/2023/03/h_IMG_8795.jpeg" thumbnail: "/images/2023/03/t_DSCF8426.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DuckDB - Parquet diff --git a/content/post/quick-thoughts-on-not-making-a-crap-slide-deck.adoc b/content/post/quick-thoughts-on-not-making-a-crap-slide-deck.adoc index 2998b4a..a60c499 100644 --- a/content/post/quick-thoughts-on-not-making-a-crap-slide-deck.adoc +++ b/content/post/quick-thoughts-on-not-making-a-crap-slide-deck.adoc @@ -3,7 +3,7 @@ title: 'Quick Thoughts on Not Making a Crap Slide Deck' date: "2019-03-19T10:10:34Z" description: "" tldr: "" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" image: "/images/2019/03/IMG_8790.jpg" thumbnail: "/images/2019/03/IMG_8862.jpg" categories: diff --git a/content/post/raycast.md b/content/post/raycast.md index c2b3682..08aa90c 100644 --- a/content/post/raycast.md +++ b/content/post/raycast.md @@ -4,7 +4,7 @@ title: 'Making the move from Alfred to Raycast' date: "2023-03-03T23:14:06Z" image: "/images/2023/03/h_DSCF8395.jpeg" thumbnail: "/images/2023/03/t_DSCF8412.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Alfred - Raycast diff --git a/content/post/restapi_to_kafka.adoc b/content/post/restapi_to_kafka.adoc index dfa916c..36ea14d 100644 --- a/content/post/restapi_to_kafka.adoc +++ b/content/post/restapi_to_kafka.adoc @@ -4,7 +4,7 @@ date: "2020-07-28T10:00:05+01:00" image: "/images/2020/07/IMG_5284.jpeg" thumbnail: "/images/2020/07/IMG_5126.jpeg" draft: true -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - REST - kafkacat diff --git a/content/post/sample-data-sets.adoc b/content/post/sample-data-sets.adoc index 015e30c..4f4c5df 100644 --- a/content/post/sample-data-sets.adoc +++ b/content/post/sample-data-sets.adoc @@ -4,7 +4,7 @@ date: "2020-09-25T12:09:41+01:00" image: "/images/2020/09/IMG_6833.jpeg" thumbnail: "/images/2020/09/IMG_6861.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Datasets - Sample data diff --git a/content/post/scheduling-hugo-builds-on-githubpages.adoc b/content/post/scheduling-hugo-builds-on-githubpages.adoc index 74579d9..cf3b936 100644 --- a/content/post/scheduling-hugo-builds-on-githubpages.adoc +++ b/content/post/scheduling-hugo-builds-on-githubpages.adoc @@ -4,7 +4,7 @@ title: 'Scheduling Hugo Builds on GitHub pages with GitHub Actions' date: "2020-12-20T23:45:03Z" image: "/images/2020/12/IMG_7971.jpeg" thumbnail: "/images/2020/12/IMG_7971t.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Blogging - Hugo diff --git a/content/post/sdh.adoc b/content/post/sdh.adoc index 698ab18..920bca5 100644 --- a/content/post/sdh.adoc +++ b/content/post/sdh.adoc @@ -4,7 +4,7 @@ title: 'Hosting on GitHub Pages? Watch out for Subdomain Hijacking' date: "2024-01-16T11:50:36Z" image: "/images/2024/01/h_IMG_7345.webp" thumbnail: "/images/2024/01/t_IMG_7342.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - GitHub - DNS diff --git a/content/post/searching_alfred_clipboard.adoc b/content/post/searching_alfred_clipboard.adoc index 5af861b..ecfbc3f 100644 --- a/content/post/searching_alfred_clipboard.adoc +++ b/content/post/searching_alfred_clipboard.adoc @@ -4,7 +4,7 @@ date: "2020-05-18T12:46:02+01:00" image: "/images/2020/05/IMG_4485.jpeg" thumbnail: "/images/2020/05/IMG_4456.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Alfred - Productivity diff --git a/content/post/smt-wrapup.adoc b/content/post/smt-wrapup.adoc index d0164dd..efacc97 100644 --- a/content/post/smt-wrapup.adoc +++ b/content/post/smt-wrapup.adoc @@ -4,7 +4,7 @@ title: 'Kafka Connect - Deep Dive into Single Message Transforms' date: "2021-01-04T14:26:40Z" image: "/images/2021/01/smt_title.jpg" thumbnail: "/images/2021/01/smt_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt10_replace.adoc b/content/post/smt10_replace.adoc index c2ec10d..68543a9 100644 --- a/content/post/smt10_replace.adoc +++ b/content/post/smt10_replace.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 10: ReplaceField' date: "2020-12-21T16:00:00Z" image: "/images/2020/12/smt_day10.jpg" thumbnail: "/images/2020/12/smt_day10_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt11_filter.adoc b/content/post/smt11_filter.adoc index 77231ba..40dc195 100644 --- a/content/post/smt11_filter.adoc +++ b/content/post/smt11_filter.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 11: Predicate and Filter' date: "2020-12-22T16:00:00Z" image: "/images/2020/12/smt_day11.jpg" thumbnail: "/images/2020/12/smt_day11_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt12_community.adoc b/content/post/smt12_community.adoc index 222aa62..a97662b 100644 --- a/content/post/smt12_community.adoc +++ b/content/post/smt12_community.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 12: Community Transformations' date: "2020-12-23T16:00:00Z" image: "/images/2020/12/smt_day12.jpg" thumbnail: "/images/2020/12/smt_day12_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt1_insertfield_ts.adoc b/content/post/smt1_insertfield_ts.adoc index e4b4d9a..10a5318 100644 --- a/content/post/smt1_insertfield_ts.adoc +++ b/content/post/smt1_insertfield_ts.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 1: InsertField (timestamp)' date: "2020-12-08T22:23:18Z" image: "/images/2020/12/smt_day1.jpg" thumbnail: "/images/2020/12/smt_day1_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt2_valuetokey.adoc b/content/post/smt2_valuetokey.adoc index bbfa36b..90b423e 100644 --- a/content/post/smt2_valuetokey.adoc +++ b/content/post/smt2_valuetokey.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 2: ValueToKey and ExtractField' date: "2020-12-09T20:00:18Z" image: "/images/2020/12/smt_day2.jpg" thumbnail: "/images/2020/12/smt_day2_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt3_flatten.adoc b/content/post/smt3_flatten.adoc index 261316d..c534dca 100644 --- a/content/post/smt3_flatten.adoc +++ b/content/post/smt3_flatten.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 3: Flatten' date: "2020-12-10T16:25:00Z" image: "/images/2020/12/smt_day3.jpg" thumbnail: "/images/2020/12/smt_day3_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt4_regex.adoc b/content/post/smt4_regex.adoc index 091e02f..ddc965d 100644 --- a/content/post/smt4_regex.adoc +++ b/content/post/smt4_regex.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 4: RegExRouter' date: "2020-12-11T16:40:18Z" image: "/images/2020/12/smt_day4.jpg" thumbnail: "/images/2020/12/smt_day4_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt5_mask.adoc b/content/post/smt5_mask.adoc index 7749344..d34fc6e 100644 --- a/content/post/smt5_mask.adoc +++ b/content/post/smt5_mask.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 5: MaskField' date: "2020-12-14T16:00:00Z" image: "/images/2020/12/smt_day5.jpg" thumbnail: "/images/2020/12/smt_day5_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt6_insertfield2.adoc b/content/post/smt6_insertfield2.adoc index 2c42c3a..0d1d49c 100644 --- a/content/post/smt6_insertfield2.adoc +++ b/content/post/smt6_insertfield2.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 6: InsertField II' date: "2020-12-15T16:00:00Z" image: "/images/2020/12/smt_day6.jpg" thumbnail: "/images/2020/12/smt_day6_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt7_timestamprouter.adoc b/content/post/smt7_timestamprouter.adoc index 647273a..adcdca4 100644 --- a/content/post/smt7_timestamprouter.adoc +++ b/content/post/smt7_timestamprouter.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 7: TimestampRouter' date: "2020-12-16T16:00:00Z" image: "/images/2020/12/smt_day7.jpg" thumbnail: "/images/2020/12/smt_day7_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt8_timestampconverter.adoc b/content/post/smt8_timestampconverter.adoc index 2c3126f..38cb29a 100644 --- a/content/post/smt8_timestampconverter.adoc +++ b/content/post/smt8_timestampconverter.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 8: TimestampConverter' date: "2020-12-17T16:00:00Z" image: "/images/2020/12/smt_day8.jpg" thumbnail: "/images/2020/12/smt_day8_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/smt9_cast.adoc b/content/post/smt9_cast.adoc index 11c06d8..b64f95d 100644 --- a/content/post/smt9_cast.adoc +++ b/content/post/smt9_cast.adoc @@ -4,7 +4,7 @@ title: 'πŸŽ„ Twelve Days of SMT πŸŽ„ - Day 9: Cast' date: "2020-12-18T16:00:00Z" image: "/images/2020/12/smt_day9.jpg" thumbnail: "/images/2020/12/smt_day9_thumb.jpg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Single Message Transform diff --git a/content/post/spark-delta-error.md b/content/post/spark-delta-error.md index e886753..0ccf21d 100644 --- a/content/post/spark-delta-error.md +++ b/content/post/spark-delta-error.md @@ -4,7 +4,7 @@ title: 'Using Delta from pySpark - `java.lang.ClassNotFoundException: delta.Defa date: "2023-04-05T15:51:41Z" image: "/images/2023/04/h_IMG_7944.jpeg" thumbnail: "/images/2023/04/t_IMG_2117.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - PySpark - Delta Lake diff --git a/content/post/streaming_kafka_geopoint_elasticsearch.adoc b/content/post/streaming_kafka_geopoint_elasticsearch.adoc index adcc598..d3c5163 100644 --- a/content/post/streaming_kafka_geopoint_elasticsearch.adoc +++ b/content/post/streaming_kafka_geopoint_elasticsearch.adoc @@ -4,7 +4,7 @@ title: 'Streaming Geopoint data from Kafka to Elasticsearch' date: "2020-11-03T10:36:18Z" image: "/images/2020/11/DSCF5274.jpeg" thumbnail: "/images/2020/11/DSCF5316.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect - Elasticsearch diff --git a/content/post/stringnotinpwd.md b/content/post/stringnotinpwd.md index d9c7100..c5d1fcf 100644 --- a/content/post/stringnotinpwd.md +++ b/content/post/stringnotinpwd.md @@ -4,7 +4,7 @@ title: 'cd: string not in pwd' date: "2023-10-04T15:36:35Z" image: "/images/2023/10/h_DSCF7802.webp" thumbnail: "/images/2023/10/t_IMG_8657.webp" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - zsh --- diff --git a/content/post/telegram_bad_request.adoc b/content/post/telegram_bad_request.adoc index 5124541..46d314b 100644 --- a/content/post/telegram_bad_request.adoc +++ b/content/post/telegram_bad_request.adoc @@ -2,7 +2,7 @@ title: 'Telegram bot - BOT_COMMAND_INVALID' date: "2020-07-23T15:00:05+01:00" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Telegram --- diff --git a/content/post/topic-creation-config-override.adoc b/content/post/topic-creation-config-override.adoc index 03d815b..57de2dc 100644 --- a/content/post/topic-creation-config-override.adoc +++ b/content/post/topic-creation-config-override.adoc @@ -4,7 +4,7 @@ title: 'Creating topics with Kafka Connect' date: "2021-01-06T12:18:51Z" image: "/images/2021/01/IMG_8408.jpeg" thumbnail: "/images/2021/01/BE2FC62C-0C03-45F3-B1BA-32C4F1D64B68.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Kafka Connect --- diff --git a/content/post/using-ccloud-with-local-tools.adoc b/content/post/using-ccloud-with-local-tools.adoc index 61ae1a3..218873d 100644 --- a/content/post/using-ccloud-with-local-tools.adoc +++ b/content/post/using-ccloud-with-local-tools.adoc @@ -3,7 +3,7 @@ title: 'Using Confluent Cloud when there is no Cloud (or internet)' date: "2020-04-20T13:55:46+01:00" image: "/images/2020/04/IMG_3958.jpeg" thumbnail: "/images/2020/04/IMG_3917.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - Confluent Cloud - Replicator diff --git a/content/post/vale-asciidoc-disable.adoc b/content/post/vale-asciidoc-disable.adoc new file mode 100644 index 0000000..1206f6e --- /dev/null +++ b/content/post/vale-asciidoc-disable.adoc @@ -0,0 +1,312 @@ +--- +draft: false +title: 'Disabling Vale Linting Selectively in Asciidoc' +date: "2024-12-11T12:05:07Z" +image: "/images/2024/12/h_IMG_6387.webp" +thumbnail: "/images/2024/12/t_IMG_6386.webp" +credit: "https://bsky.app/profile/rmoff.net" +categories: +- asciidoc +- vale +--- + +:source-highlighter: rouge +:icons: font +:rouge-css: style +:rouge-style: github + +I'm a *HUGE* fan of Docs as Code in general, and specifically tools like https://vale.sh[Vale] that lint your prose for adherence to style rule. + +One thing that had been bugging me though was how to selectively disable Vale for particular sections of a document. +Usually linting issues should be addressed at root: either fix the prose, or update the style rule. Either it's a rule, or it's not, right? + +Sometimes though I've found a need to make a particular exception to a rule, or simply needed to skip linting for a particular file. +I was struggling with how to do this in Asciidoc. +Despite https://vale.sh/docs/topics/config/#asciidoc[the documentation] showing how to, I could never get it to work reliably. +Now I've taken some time to dig into it, I think I've finally understood :) + + + +There are two ways to do it: + +. Use a special class in the AsciiDoc and then tell Vale to ignore any text that uses that class. +. Pass-through configuration to Vale using HTML comments (per https://vale.sh/docs/topics/config/#asciidoc[the docs]). +It turns out line breaks are *crucial* in getting this to work (and why I found it to work so apparently inconsistently) ++ +*tl;dr*: Make sure you put a line break _before_ a Vale pass-through that re-enables linting or a particular rule, otherwise it cancels out the one that preceeded it. + +== A quick recap of how Vale works + +Vale compiles your document from its source markup (e.g. Asciidoc, Markdown, RST, etc) into HTML. +It then parses the HTML and matches it to the rules you've defined. + +This is useful to know because it helps when troubleshooting because you can compare seemingly-identical source document content to what Vale is actually parsing. + +== Our test document + +I ended up creating a bare-bones document on which to test this. The source looks like this: + +.test.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +Let's not lint this one: KVM + +But not this one: FUBAR +---- + +With a resulting Vale output of: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms + 5:19 suggestion 'KVM' has no definition. Microsoft.Acronyms +---- + +_The number before the colon is the line number, so you can use this to match up the message to the source._ + +== Option 1: Use a dedicated class + +_h/t to Aidan Reilly over on the https://www.writethedocs.org/slack/[WriteTheDocs slack group] for this tip πŸ‘_ + +The idea here is that you create a dedicated CSS class that you add to Vale's https://vale.sh/docs/topics/config/#ignoredclasses[`IgnoredClasses` configuration], and include in your Asciidoc wherever you want Vale to skip linting. + +.test-option1.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +[.my-vale-ignore-class] +Let's not lint this one: KVM + +But not this one: FUBAR +---- + +Resulting HTML: + +[source,html] +---- +[…] +
+
+

This line has an acronym: NAT

+
+
+

Let's not lint this one: KVM

+
+
+

But not this one: FUBAR

+
+[…] +---- + +Vale config: + +.vale.ini +[source,ini] +---- +[…] +IgnoredClasses = my-vale-ignore-class +[…] +---- + +Resulting Vale output: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms + 8:15 suggestion 'FUBAR' has no definition. Microsoft.Acronyms +---- + +Soβ€”pretty simple, and effective. +The only issue I see with this is that you can't granularly target different Vale rulesβ€”it's either on, or off. + +== Now the fiddly one: Pass-through config with HTML comments + +The idea here is that you use Asciidoc's https://docs.asciidoctor.org/asciidoc/latest/pass/pass-macro/#inline-pass[inline `pass` macro] to embed HTML comments (``) in the generated HTML, which then passes the commands to Vale like `vale off`: + +Here's what I tried originally: + +.test-option2a.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +pass:[] +Let's not lint this one: KVM +pass:[] + +But not this one: FUBAR +---- + +and got dismayed when my Vale output was: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms + 6:19 suggestion 'KVM' has no definition. Microsoft.Acronyms + 9:15 suggestion 'FUBAR' has no definition. Microsoft.Acronyms +---- + +The generated HTML does show the comments: + +[source,html] +---- +[…] +
+
+

This line has an acronym: NAT

+
+
+

+Let's not lint this one: KVM +

+
+
+

But not this one: FUBAR

+
+[…] +---- + +So I was stumped, until I started randomly jiggling things (and, to be fair, looking more closely at the Vale documentation itself) and noticed a difference between the effectiveness of + +[source,asciidoc,linenums] +---- +pass:[] +Let's not lint this one: KVM +pass:[] +---- + +compared to + +[source,asciidoc,linenums] +---- +pass:[] +Let's not lint this one: KVM +<1> +pass:[] +---- +<1> An innocuous blank line! + +Putting these two into a test doc: + +.test-option2b.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +pass:[] +Let's not lint this one: KVM +pass:[] + +pass:[] +Let's not lint this one too: SNAFU + +pass:[] + +But not this one: FUBAR +---- + +Here's the Vale output: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms + 6:26 suggestion 'KVM' has no definition. Microsoft.Acronyms + 14:19 suggestion 'FUBAR' has no definition. Microsoft.Acronyms +---- + +Notice how the first one doesn't work, but the second one (`SNAFU`) with the line break before `vale on` does? + +What about this? + +.test-option2c.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +pass:[] +Let's not lint this one: KVM + +Let's not lint this one too: SNAFU +---- + +Vale is happy with that: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms +---- + +Let's take a look at the HTML generated by `test-option2b.adoc`: + +[source,html] +---- +
+
+

This line has an acronym: NAT

+
+
+

+Let’s not lint this one: KVM +

<1> +
+
+

+Let’s not lint this one too: SNAFU

+
+
+

<2> +
+
+

But not this one: FUBAR

+
+
+---- +<1> `vale on` is within the `

` tags +<2> `vale on` is _outside_ the `

` tags + +So what seems to be happening is that Vale is parsing the whole of the paragraph (`

`) contents and applying the configuration to itβ€”so if it has an `off` and then `on`, the two cancel out and thus the effect is nullified. + +Pass-through configuration *is* more flexible, because rather than just turning Vale on and off, you can target individual rules. As aboveβ€”don't just ignore rules if they're inconvenient (they're called rules for a reason), but if you have a good reason to make an exception, you can do this: + +.test-option3.adoc +[source,asciidoc,linenums] +---- += Test doc + +This line has an acronym: NAT + +pass:[] +This should trigger one rule violation for do not, but ignore the acronym: BHAG + +pass:[] + +pass:[] +This should not trigger a rule violation for do not, nor for the acronym: GTFO + +pass:[] + +We'll catch this acronymn tho: FUBAR +---- + +Vale output is as expected: + +[source,] +---- + 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms + 6:44 error Use 'don't' instead of 'do Microsoft.Contractions + not'. + 15:32 suggestion 'FUBAR' has no definition. Microsoft.Acronyms +---- diff --git a/content/post/viewing_kafka_hex.adoc b/content/post/viewing_kafka_hex.adoc index 3482c29..305d93e 100644 --- a/content/post/viewing_kafka_hex.adoc +++ b/content/post/viewing_kafka_hex.adoc @@ -8,7 +8,7 @@ date: "2020-07-03T08:16:36+01:00" image: "/images/2020/05/IMG_4473.jpeg" thumbnail: "/images/2020/05/IMG_4466.jpeg" draft: false -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - kafkacat - hexdump diff --git a/content/post/writing_for_devs.md b/content/post/writing_for_devs.md index 56fcae7..78d25b3 100644 --- a/content/post/writing_for_devs.md +++ b/content/post/writing_for_devs.md @@ -4,7 +4,7 @@ title: Blog Writing for Developers date: "2023-07-19T20:59:09Z" image: "/images/2023/07/h_IMG_3288.jpeg" thumbnail: "/images/2023/07/t_IMG_3731.jpeg" -credit: "https://twitter.com/rmoff/" +credit: "https://bsky.app/profile/rmoff.net" categories: - DevRel - Blogging diff --git a/static/images/2024/12/h_IMG_6387.webp b/static/images/2024/12/h_IMG_6387.webp new file mode 100644 index 0000000..a4e6979 Binary files /dev/null and b/static/images/2024/12/h_IMG_6387.webp differ diff --git a/static/images/2024/12/t_IMG_6386.webp b/static/images/2024/12/t_IMG_6386.webp new file mode 100644 index 0000000..0e471e0 Binary files /dev/null and b/static/images/2024/12/t_IMG_6386.webp differ diff --git a/themes/story/static/css/story.css b/themes/story/static/css/story.css index 113507d..592b6d5 100644 --- a/themes/story/static/css/story.css +++ b/themes/story/static/css/story.css @@ -33,11 +33,11 @@ blockquote { border-left: 0.25rem solid #dfe2e5; } pre { - border: 1px solid #dfe2e5; + /* border: 1px solid #dfe2e5; */ border-radius: 3px; - font-size: 75%; + /* font-size: 75%; */ line-height: 1.4; - padding: 1em; + /* padding: 1em; */ background: #f6f8fa; overflow: auto; } @@ -147,11 +147,11 @@ body:not(.feature-tablefig) table tr:nth-child(2n) { background-color: #f6f8fa; } body:not(.feature-tablefig) table th, -body:not(.feature-tablefig) table td { +body:not(.feature-tablefig, .linenotable) table td { display: table-cell; vertical-align: inherit; padding: 0.25rem 0.5rem; - border: 1px solid #dfe2e5; + /*border: 1px solid #dfe2e5;*/ } body:not(.feature-tablefig) table th { font-weight: 600; @@ -159,7 +159,7 @@ body:not(.feature-tablefig) table th { body.feature-tablefw:not(.feature-tablefig) td { font-family: arial; } -body.feature-tablefig:not(.feature-notablefig) table { +body.feature-tablefig:not(.feature-notablefig, .linenotable) table { border-spacing: 0; border-collapse: collapse; overflow: auto; @@ -168,7 +168,7 @@ body.feature-tablefig:not(.feature-notablefig) table { border-top: 2px solid black; } body.feature-tablefig:not(.feature-notablefig) table thead, -body.feature-tablefig:not(.feature-notablefig) table tbody { +body.feature-tablefig:not(.feature-notablefig, .linenotable) table tbody { border-bottom: 1px solid black; } body.feature-tablefig:not(.feature-notablefig) table th, @@ -418,4 +418,45 @@ img[src~="3dbook"] { text-decoration: underline; } a.headline-hash {opacity: 20%; text-decoration: none; font-size:80%; transition: opacity 0.5s;} -a.headline-hash:hover {opacity: 100%; font-size:100%;} \ No newline at end of file +a.headline-hash:hover {opacity: 100%; font-size:100%;} +pre.lineno { + color:rgba(139, 0, 0, 0.4); +} + +pre, code { +font-family: Consolas,monaco,monospace !important; + +font-size:14px !important; +} + +.listingblock .title { + color: darkred; + font-style: italic; + display: block; + border-bottom: 1px solid darkred; + width: 100%; + text-align: right; +} + +.conum[data-value] *{color:#fff!important} +.conum[data-value]+b{display:none} +.conum[data-value]::after{content:attr(data-value)} +pre .conum[data-value]{position:relative;top:-.125em} +b.conum *{color:inherit!important} +.conum:not([data-value]):empty{display:none} + + +.conum[data-value] { + display: inline-block; + color: #fff!important; + background: rgba(139,0,0,.4); + border-radius: 50%; + text-align: center; + font-size: .75em; + width: 1.67em; + height: 1.67em; + line-height: 1.67em; + font-family: "Open Sans","DejaVu Sans",sans-serif; + font-style: normal; + font-weight: bold; +} \ No newline at end of file