56,966 blogs · [
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14571a17b",
"title": "How to handle `datetime-local` inputs in Phoenix with Ash",
"url": "https://tommasoamici.com/blog/how-to-handle-datetime-local-inputs-in-phoenix-with-ash/",
"published_at": "2025-07-08T00:34:34+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb145c7efe2",
"title": "Demistifying list virtualization in React",
"url": "https://tommasoamici.com/blog/demistifying-list-virtualization-in-react/",
"published_at": "2024-02-04T14:03:18+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb145d1af7d",
"title": "How to load a local Parquet file in Starrocks",
"url": "https://tommasoamici.com/blog/how-to-load-a-local-parquet-file-in-starrocks/",
"published_at": "2023-09-20T20:37:33+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb145feeb1b",
"title": "You may not need Nx Cloud",
"url": "https://tommasoamici.com/blog/you-may-not-need-nx-cloud/",
"published_at": "2023-09-20T19:35:36+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14689ca6f",
"title": "A reactive approach to backend response caching",
"url": "https://tommasoamici.com/blog/a-reactive-approach-to-backend-response-caching/",
"published_at": "2023-07-07T05:43:34+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb146f04d72",
"title": "How to dynamically change the signature of a function in Python",
"url": "https://tommasoamici.com/blog/dynamically-change-signature-function-python/",
"published_at": "2023-03-13T22:33:08+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14736bae0",
"title": "How to specify the type of a `column_property` in SQLAlchemy",
"url": "https://tommasoamici.com/blog/sqlalchemy-specify-type-columnproperty/",
"published_at": "2023-02-09T16:40:31+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb1476d998f",
"title": "Adding dynamic Open Graph images and social cards to a Next.js application",
"url": "https://tommasoamici.com/blog/adding-dynamic-open-graph-images-and-social-cards-to-a-nextjs-application/",
"published_at": "2022-11-12T14:56:26+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb147d528eb",
"title": "Estimating the size of Serie A fanbases using Pwned Passwords",
"url": "https://tommasoamici.com/blog/estimating-the-size-of-serie-a-fanbases-using-pwned-passwords/",
"published_at": "2022-05-06T09:51:01+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb1486101b5",
"title": "Wagtail as a headless CMS for JavaScript frontends",
"url": "https://tommasoamici.com/blog/wagtail-as-a-headless-cms-for-javascript-frontends/",
"published_at": "2022-03-25T17:46:22+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb1492b8794",
"title": "Headless Wagtail, what are the pain points?",
"url": "https://tommasoamici.com/blog/headless-wagtail-what-are-the-pain-points/",
"published_at": "2022-02-24T13:17:51+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb149a67450",
"title": "How to write unit tests for functions using `timezone.now` in Django",
"url": "https://tommasoamici.com/blog/how-to-write-unit-tests-for-functions-using-timezonenow-in-django/",
"published_at": "2022-01-27T11:10:00+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb149e5d599",
"title": "How to setup the modern frontend toolchain in Django",
"url": "https://tommasoamici.com/blog/how-to-setup-the-modern-frontend-toolchain-in-django/",
"published_at": "2021-10-28T17:12:12+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14a455d57",
"title": "Custom Metrics Reports on GitLab",
"url": "https://tommasoamici.com/blog/custom-metrics-reports-on-gitlab/",
"published_at": "2021-10-22T16:08:41+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14a9f26c5",
"title": "What I wish I knew before building a Gatsby source plugin",
"url": "https://tommasoamici.com/blog/what-i-wish-i-knew-before-building-a-gatsby-source-plugin/",
"published_at": "2021-05-29T20:02:41+00:00"
},
{
"id": "01a08cf7-d2e1-706b-8df3-ffb14b1c920b",
"title": "Building a HomeKit compatible temperature and humidity sensor",
"url": "https://tommasoamici.com/blog/building-a-homekit-compatible-temperature-and-humidity-sensor/",
"published_at": "2020-11-12T19:12:35+00:00"
}
] posts Claim your blog