41554 blogs · [ { "id": "01a087dd-9089-7207-8fd3-fc4587ea1e36", "title": "Migrating a SAM CfnApplication to a CDK NestedStack Without Recreating Resources", "url": "https://www.sebastianhesse.de/blog/2026/07/27/migrate-sam-cfnapplication-to-cdk-nested-stack/", "published_at": "2026-07-27T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45884f8746", "title": "Migrating AWS CDK logRetention to logGroup Without Losing Your Logs", "url": "https://www.sebastianhesse.de/blog/2026/07/20/migrate-cdk-logretention-to-loggroup/", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45891fc59f", "title": "Serverless and AI on AWS in 2026: Governing Agents and the New Agent Economy", "url": "https://www.sebastianhesse.de/blog/2026/07/15/serverless-ai-aws-2026-agent-governance-economy/", "published_at": "2026-07-15T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45892bd7d0", "title": "Serverless and AI on AWS in 2026: Lambda Gets Hands, S3 Gets Memory", "url": "https://www.sebastianhesse.de/blog/2026/07/13/serverless-ai-aws-2026-lambda-hands-s3-memory/", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4589e5fe6c", "title": "Build, Test and Debug AWS Lambda Container Images Locally with Docker", "url": "https://www.sebastianhesse.de/blog/2026/06/08/local-debugging-docker-lambda-functions/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4589f702d0", "title": "Updating Tags on an OpenSearch Serverless Collection Replaces the Resource", "url": "https://www.sebastianhesse.de/blog/2026/03/16/cloudformation-opensearch-serverless-tag-replacement/", "published_at": "2026-03-16T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458a1258ce", "title": "Cross-Account Data Ingestion into OpenSearch Serverless with AWS CDK", "url": "https://www.sebastianhesse.de/blog/2026/03/10/opensearch-serverless-cross-account-cdk/", "published_at": "2026-03-10T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458aff7dd5", "title": "Run Custom Build Commands During CDK Synthesis with Code.fromCustomCommand", "url": "https://www.sebastianhesse.de/blog/2026/03/01/cdk-code-from-custom-command/", "published_at": "2026-03-01T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458b42cc8c", "title": "Scale CloudWatch Alarms with Metrics Insights Queries", "url": "https://www.sebastianhesse.de/blog/2026/02/24/scale-cloudwatch-alarms-with-metrics-insights/", "published_at": "2026-02-24T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458b4506b2", "title": "Serve Markdown for LLMs and AI Agents Using Amazon CloudFront", "url": "https://www.sebastianhesse.de/blog/2026/02/14/serve-markdown-for-llms-using-cloudfront/", "published_at": "2026-02-14T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458c25df73", "title": "Running Scripts Across Multiple AWS Accounts with AWS SSO", "url": "https://www.sebastianhesse.de/blog/2026/02/11/run-script-across-multiple-aws-accounts/", "published_at": "2026-02-11T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458c984f0b", "title": "Importing DynamoDB Items from a CSV File Using the AWS CLI", "url": "https://www.sebastianhesse.de/blog/2025/05/22/import-dynamodb-data-from-csv/", "published_at": "2025-05-22T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458cfcb8ee", "title": "Migrating a CDK Construct to projen and jsii", "url": "https://www.sebastianhesse.de/blog/2021/03/01/migrating-a-cdk-construct-to-projen-and-jsii/", "published_at": "2021-03-01T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458dbea409", "title": "Using Spring Boot On AWS Lambda: Clever or Dumb?", "url": "https://www.sebastianhesse.de/blog/2021/02/14/using-spring-boot-on-aws-lambda-clever-or-dumb/", "published_at": "2021-02-14T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458de20810", "title": "Serverless Sending and Receiving E-Mails, the CDK Way", "url": "https://www.sebastianhesse.de/blog/2021/01/31/serverless-sending-and-receiving-e-mails-the-cdk-way/", "published_at": "2021-01-31T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458e962303", "title": "5 Ways To Bundle a Lambda Function Within an AWS CDK Construct", "url": "https://www.sebastianhesse.de/blog/2021/01/16/5-ways-to-bundle-a-lambda-function-within-an-aws-cdk-construct/", "published_at": "2021-01-16T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458ef97002", "title": "Automatically Generate a Nice Looking Serverless REST API Documentation", "url": "https://www.sebastianhesse.de/blog/2020/08/27/automatically-generate-a-nice-looking-serverless-rest-api-documentation/", "published_at": "2020-08-27T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458f7899dd", "title": "Using DynamoDB Local and Testcontainers in Java within Bitbucket Pipelines", "url": "https://www.sebastianhesse.de/blog/2020/05/14/using-dynamodb-local-and-testcontainers-in-java-within-bitbucket-pipelines/", "published_at": "2020-05-14T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc458fe742e2", "title": "Going Serverless - Why and How (2)", "url": "https://www.sebastianhesse.de/blog/2020/03/31/going-serverless-why-and-how-2/", "published_at": "2020-03-31T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45909c360b", "title": "Going Serverless - Why and How (1)", "url": "https://www.sebastianhesse.de/blog/2019/07/21/going-serverless-why-and-how-1/", "published_at": "2019-07-21T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4590aa346a", "title": "Visiting JavaLand 2019", "url": "https://www.sebastianhesse.de/blog/2019/03/31/visiting-javaland-2019/", "published_at": "2019-03-31T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4591865ddc", "title": "AWS Lambda Cache: Caching Strategies for Serverless Functions", "url": "https://www.sebastianhesse.de/blog/2018/12/16/caching-in-aws-lambda/", "published_at": "2018-12-16T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45918b7cc7", "title": "Remove old CloudWatch log groups of Lambda functions", "url": "https://www.sebastianhesse.de/blog/2018/10/07/remove-old-cloudwatch-log-groups-of-lambda-functions/", "published_at": "2018-10-07T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4591f33d69", "title": "My first time on a bigger stage", "url": "https://www.sebastianhesse.de/blog/2018/09/23/my-first-time-on-a-bigger-stage/", "published_at": "2018-09-23T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459216930c", "title": "Shut down CloudFormation stack resources over night using AWS Lambda", "url": "https://www.sebastianhesse.de/blog/2018/04/22/shut-down-cloudformation-stack-resources-over-night-using-aws-lambda/", "published_at": "2018-04-22T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45926d5e51", "title": "AWS CloudFormation Template: Creating Different Environments", "url": "https://www.sebastianhesse.de/blog/2018/02/03/creating-different-aws-cloudformation-environments/", "published_at": "2018-02-03T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4592a9c398", "title": "Keeping your AWS budget under control", "url": "https://www.sebastianhesse.de/blog/2018/01/15/keeping-aws-budget-control/", "published_at": "2018-01-15T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459352c5a7", "title": "Use Jersey and Spring in AWS Lambda", "url": "https://www.sebastianhesse.de/blog/2017/08/27/use-jersey-spring-aws-lambda/", "published_at": "2017-08-27T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45940d94bf", "title": "How to reduce your CloudFormation template size", "url": "https://www.sebastianhesse.de/blog/2017/08/12/reduce-cloudformation-template-size/", "published_at": "2017-08-12T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45943405dc", "title": "Starter Projects For AWS Lambda Using NodeJS And Java", "url": "https://www.sebastianhesse.de/blog/2017/08/01/starter-projects-for-aws-lambda-using-nodejs-and-java/", "published_at": "2017-08-01T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45951dd30b", "title": "Fast AWS Lambda Code Updates And Improved Lambda Logs", "url": "https://www.sebastianhesse.de/blog/2017/07/11/fast-aws-lambda-code-updates-and-improved-lambda-logs/", "published_at": "2017-07-11T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459601bd19", "title": "5 Things To Consider For Writing A Lambda Function", "url": "https://www.sebastianhesse.de/blog/2017/06/24/5-things-consider-writing-lambda-function/", "published_at": "2017-06-24T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4596ffeaec", "title": "Start Dijkstra Shortest Path using JMapViewer", "url": "https://www.sebastianhesse.de/blog/2017/01/27/start-dijkstra-shortest-path-using-jmapviewer/", "published_at": "2017-01-27T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459709f10d", "title": "Revert rebasing errors with Git reflog", "url": "https://www.sebastianhesse.de/blog/2016/12/15/revert-rebasing-errors-with-git-reflog/", "published_at": "2016-12-15T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4597320b8f", "title": "Three inspiring indie hacker projects I've found on IndieHackers.com", "url": "https://www.sebastianhesse.de/blog/2016/12/08/three-inspiring-indie-hacker-projects-ive-found-indiehackers-com/", "published_at": "2016-12-08T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45979578f2", "title": "Set up JMapViewer for OSM data", "url": "https://www.sebastianhesse.de/blog/2016/11/24/setting-jmapviewer-osm-data/", "published_at": "2016-11-24T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459814a6b0", "title": "Deploy a Multi-Module Maven Project to Heroku", "url": "https://www.sebastianhesse.de/blog/2016/10/14/deploy-multi-module-maven-project-heroku/", "published_at": "2016-10-14T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4598592618", "title": "Getting notified about new JIRA issues", "url": "https://www.sebastianhesse.de/blog/2016/07/14/getting-notified-about-new-jira-issues/", "published_at": "2016-07-14T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc4598be5c0c", "title": "How to test a web app with popups using Selenium", "url": "https://www.sebastianhesse.de/blog/2016/07/06/how-to-test-a-web-app-with-popups-using-selenium/", "published_at": "2016-07-06T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc45994550fd", "title": "Command line tool to quickly start a Confluence standalone instance", "url": "https://www.sebastianhesse.de/blog/2016/05/30/command-line-tool-quickly-start-confluence-standalone-instance/", "published_at": "2016-05-30T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459a0b56da", "title": "Apache Troubleshooting and Nginx Rescue", "url": "https://www.sebastianhesse.de/blog/2016/02/09/apache-troubleshooting-and-nginx-rescue/", "published_at": "2016-02-09T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459b017ef3", "title": "Handle URL parameters with AngularJS", "url": "https://www.sebastianhesse.de/blog/2015/12/31/handle-url-parameters-with-angularjs/", "published_at": "2015-12-31T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459baa3004", "title": "Using AngularJS and Spring together", "url": "https://www.sebastianhesse.de/blog/2015/12/23/using-angularjs-and-spring-together/", "published_at": "2015-12-23T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459bef0a2b", "title": "Manipulate a page from a chrome extension", "url": "https://www.sebastianhesse.de/blog/2015/08/09/manipulate-a-page-from-a-chrome-extension/", "published_at": "2015-08-09T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459c9e77d0", "title": "Add Spring to JavaFX", "url": "https://www.sebastianhesse.de/blog/2015/05/26/add-spring-to-javafx/", "published_at": "2015-05-26T00:00:00+00:00" }, { "id": "01a087dd-9089-7207-8fd3-fc459d698fc0", "title": "First steps with JavaFX", "url": "https://www.sebastianhesse.de/blog/2015/05/23/first-steps-with-javafx/", "published_at": "2015-05-23T00:00:00+00:00" } ] posts Claim your blog
Back to sebastianhesse.de
Blog · corpus.blog/blogs/sebastianhesse.de/posts

sebastianhesse.de

sebastianhesse.de

2026

2025

2021

2020

2019

2018

2017

2016

2015