41554 blogs · [ { "id": "01a08773-5a26-70f5-9e03-76607a79492e", "title": "Keeping a pulse on AI while on leave", "url": "https://emshea.com/post/ai-learning", "published_at": "2026-07-18T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b4fe7f3ce9", "title": "2024 in review", "url": "https://emshea.com/post/2024-in-review", "published_at": "2025-01-01T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b4fee67f23", "title": "ServerlessDays Cardiff & 10 years of Lambda and ECS", "url": "https://emshea.com/post/serverless-10-years", "published_at": "2024-12-01T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b4feedd8b7", "title": "2023 in review", "url": "https://emshea.com/post/2023-in-review", "published_at": "2024-01-01T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b4ffa2ef12", "title": "Getting started with AWS serverless", "url": "https://emshea.com/post/serverless-getting-started", "published_at": "2023-11-06T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b50003659d", "title": "Generating audio files for text with Step Functions, DynamoDB, S3, and Polly", "url": "https://emshea.com/post/generate-audio-from-text-with-step-functions-polly", "published_at": "2023-05-14T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b500acdd46", "title": "2022 in review", "url": "https://emshea.com/post/2022-in-review", "published_at": "2022-12-17T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b500cf7b92", "title": "Part 2: Migrating to a new DynamoDB data model with Python scripts", "url": "https://emshea.com/post/part-2-migrating-to-a-new-dynamodb-data-model", "published_at": "2022-07-03T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b5010a709e", "title": "Part 1: Refactoring to single-table design in Amazon DynamoDB", "url": "https://emshea.com/post/part-1-dynamodb-single-table-design", "published_at": "2022-01-31T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b50122cbaf", "title": "2021 in review", "url": "https://emshea.com/post/2021-in-review", "published_at": "2022-01-15T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b50126cd15", "title": "Writing unit tests for Lambda functions in Python", "url": "https://emshea.com/post/writing-python-unit-tests-lambda-functions", "published_at": "2021-06-28T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b501b733fb", "title": "My re:Invent 2020 session on getting started with serverless", "url": "https://emshea.com/post/reinvent-2020", "published_at": "2021-02-15T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b502b6385c", "title": "2021: Moving to London!", "url": "https://emshea.com/post/2021-moving-to-london", "published_at": "2021-01-05T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b503138344", "title": "Tips & resources for learning to code", "url": "https://emshea.com/post/learning-to-code", "published_at": "2020-07-23T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b503a63fbd", "title": "A basic CI/CD pipeline for serverless apps", "url": "https://emshea.com/post/serverless-cicd", "published_at": "2020-06-16T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b504992495", "title": "Connecting DynamoDB & QuickSight", "url": "https://emshea.com/post/dynamodb-quicksight-pipeline", "published_at": "2020-04-15T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b505830014", "title": "Serverless Coffee Break", "url": "https://emshea.com/post/serverless-coffee-break", "published_at": "2020-04-03T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b506285bd8", "title": "Migrating to a serverless contact management backend", "url": "https://emshea.com/post/vocab-subscriber-backend", "published_at": "2020-02-15T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b506d837bf", "title": "Integrating DynamoDB in my Chinese vocab app", "url": "https://emshea.com/post/vocab-app-database", "published_at": "2019-12-26T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b507d6bdce", "title": "Magic: The Gathering card finder app", "url": "https://emshea.com/post/magic-card-finder", "published_at": "2019-10-05T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b508036312", "title": "Studying for the Certified Solutions Architect exam", "url": "https://emshea.com/post/certified-solutions-architect", "published_at": "2019-08-30T12:00:00+00:00" }, { "id": "01a08773-5a27-70b7-ae69-c3b508da5e6b", "title": "Developing a daily Chinese vocab app", "url": "https://emshea.com/post/chinese-vocab-app", "published_at": "2019-08-19T12:00:00+00:00" } ] posts Claim your blog
Back to emshea.com
Blog · corpus.blog/blogs/emshea.com/posts

emshea.com

emshea.com

2026

2025

2024

2023

2022

2021

2020

2019