I can't clone myself, so let's automate ๐Ÿš€

How do you automate #CrossPosting when every #social has its own rules ?

๐Ÿ”ฎ Spoiler: the #API is the easy part. The real work is everything the docs don't tell you ๐Ÿงฉ

In the article I describe every choice and why, with #GithubActions and workflows playing hide and seek ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-06/automated-cross-posting-from-repo-to-socials.en

#DiaryOfALazyDeveloper

Automated cross-posting: from repo to socials | diary of a lazy developer

Write once, publish everywhereIt all started with the blog bilardi/diary, which collects the technical posts from my projectsโ€™ repos and publishes them by au...

It all started from a curiosity .. and from a new feature.

In a realtime #SpeechToSpeech project on #AWS, can I use #polly bidirectional streaming with #python ?

๐Ÿ”ฎ Spoiler: well, when boto3 doesn't have it (yet), you write it ๐Ÿ—๏ธ

In the article I describe each choice and the reasons, eager to ship something new ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-05/when-boto3-doesn-t-have-it-yet-you-write-it-a-realtime-speech-to-speech-story-in-python.en

#DiaryOfALazyDeveloper #docker #fastapi

When does #Iceberg beat #Parquet+projection on #AWSGlue, and when doesn't ?

An end-to-end #ETL PoC on #AWS to find out: producer, #Kinesis, two #Firehose paths, two #Glue jobs, #Athena.

๐Ÿ”ฎ Spoiler: how the data is read is the key to the choice.

In the article: every choice with its why, plus a few gems from some Glue experience ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-05/when-does-iceberg-beat-parquet-projection-on-aws-glue-and-when-doesn-t.en

#DiaryOfALazyDeveloper

#CodeQuality of the lazy developer ๐Ÿ› ๏ธ

Updating an educational #Python repo, I looked into what to automate for code quality.

๐Ÿ”ฎ Spoiler: I landed on uv, ruff, pyright and pre-commit.

In the article: the picks, why, and the make patch that broke on the first try ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-04/the-lazy-developer-s-code-quality.en

#DiaryOfALazyDeveloper #pytest #ruff #pyright #uv

#RealtimeTranscription for #PyConIT ๐ŸŽ™๏ธ

Whisper hallucinated on real conference audio: a problem I skipped for time: everything else to build.

๐Ÿ”ฎ Spoiler: #AmazonTranscribe doesn't generate text, it decodes it.

In the article: the choices I made, and the stories you only find when plugging things in (Linux audio is a zoo) ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-04/realtime-transcription-choices-and-stories-for-pycon-it.en

#DiaryOfALazyDeveloper #aws #transcribe #docker #fastapi

I wrote my first article in the #DiaryOfALazyDeveloper series ๐Ÿš€

I needed to expose a Docker Compose app for a workshop: HTTPS, custom domain, backups, teardown with one command. ECS was overkill, manual setup was fragile.

๐Ÿ”ฎ Spoiler: one terraform apply does it all ๐Ÿ—๏ธ

In the article I describe every choice and why, driven by experience and the laziness of doing things by hand ๐Ÿ˜„

https://alessandra.bilardi.net/diary/articles/2026-04/docker-on-ec2-with-terraform.en

#terraform #docker #aws #ec2 #DiaryOfALazyDeveloper