Help
RSS
API
Feed
Maltego
Contact
Domain > www.matthewbonig.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-09-09
18.65.25.48
(
ClassC
)
2025-01-13
3.163.165.115
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Mon, 13 Jan 2025 03:52:19 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://www.matthewbonig.com/X-Cache: Redirect from cloudfrontVia: 1.1 97bc018596ec6eea95bb5c59cf872884.cloudfront.net (CloudFront)X-Amz-Cf-Pop: SEA900-P2X-Amz-Cf-Id: piJIuQ6OAKVx39RpiitfMxlQvVBWO7grieaB6RWYItUBBYh_qCu5KQ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 47683Connection: keep-aliveLast-Modified: Fri, 11 Oct 2024 02:29:23 GMTServer: AmazonS3Date: Mon, 13 Jan 2025 03:19:40 GMTETag: ec8fd08dea622b2b57043cd63d746497X-Cache: Hit from cloudfrontVia: 1.1 2432b4d1cfec4303c2b1569a7002314c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: SEA900-P2X-Amz-Cf-Id: t9cTcuhQLRcgOUMTxnl6MoWqLQd8sirlG-OUtLqysobQlenWayt__QAge: 1960 !DOCTYPE html>html langen>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width/>link relapple-touch-icon sizes180x180 href/favicon/apple-touch-icon.png/>link relicon typeimage/png sizes32x32 href/favicon/favicon-32x32.png/>link relicon typeimage/png sizes16x16 href/favicon/favicon-16x16.png/>link relmanifest href/favicon/site.webmanifest/>link relmask-icon href/favicon/safari-pinned-tab.svg color#000000/>link relshortcut icon href/favicon/favicon.ico/>meta namemsapplication-TileColor content#000000/>meta namemsapplication-config content/favicon/browserconfig.xml/>meta nametheme-color content#000/>link relalternate typeapplication/rss+xml href/feed.xml/>meta namedescription contentMatthew Bonig's Personal Blog./>meta propertyog:image content/assets/images/profile.jpg/>title>Matthew Bonig's Personal Blog/title>link relpreconnect hrefhttps://fonts.googleapis.com/>link relpreconnect hrefhttps://fonts.gstatic.com crossorigin/>meta namenext-head-count content18/>link relpreconnect hrefhttps://fonts.gstatic.com crossorigin />link relpreload href/_next/static/css/0f475f88de71c64b.css asstyle/>link relstylesheet href/_next/static/css/0f475f88de71c64b.css data-n-g/>noscript data-n-css>/noscript>script defer nomodule src/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js>/script>script src/_next/static/chunks/webpack-ee7e63bc15b31913.js defer>/script>script src/_next/static/chunks/framework-7a7e500878b44665.js defer>/script>script src/_next/static/chunks/main-74acb416bf9cdf13.js defer>/script>script src/_next/static/chunks/pages/_app-6d4db059040e5e6f.js defer>/script>script src/_next/static/chunks/996-5f32bf4dda36178b.js defer>/script>script src/_next/static/chunks/392-f297f4e7a5d44396.js defer>/script>script src/_next/static/chunks/pages/index-7dbc8a40742d8be2.js defer>/script>script src/_next/static/XovWwi2Vo3eJG2N8QwWdf/_buildManifest.js defer>/script>script src/_next/static/XovWwi2Vo3eJG2N8QwWdf/_ssgManifest.js defer>/script>style data-hrefhttps://fonts.googleapis.com/css2?familyMontserrat&displayswap>@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff) format(woff)}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw0aXx-p7K4KLjztg.woff) format(woff);unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw9aXx-p7K4KLjztg.woff) format(woff);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw2aXx-p7K4KLjztg.woff) format(woff);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw3aXx-p7K4KLjztg.woff) format(woff);unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v26/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aXx-p7K4KLg.woff) format(woff);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/style>/head>body>div id__next>div classfull-width text-center>p classtext-3xl bg-red-200 py-4>I've created an Advanced CDK course, you can check it out a classunderline hrefhttps://matthewbonig.sidkik.app>here/a>!/p>/div>div classflex flex-wrap flex-row px-8 justify-between items-end gap-2 text-xl md:text-4xl font-bold tracking-tight md:tracking-tighter leading-tight mb-10 mt-8>a classhover:underline href/>Blog/a>a classhover:underline href/resume/>Resume/a>a classhover:underline href/timeline/>Timeline/a>a target_blank classtext-lg md:text-2xl hover:underline hrefhttps://github.com/mbonig>GitHub/a>a target_blank classtext-lg md:text-2xl hover:underline hrefhttps://twitter.com/mattbonig>Twitter/a>a target_blank classtext-lg md:text-2xl hover:underline hrefhttps://www.linkedin.com/in/matthewbonig/>LinkedIn/a>a target_blank classtext-lg md:text-2xl hover:underline hrefhttps://bsky.app/profile/matthewbonig.bsky.social>BlueSky/a>/div>div classmin-h-screen>main>div classundefined container mx-auto px-5 max-w-screen-lg>section classflex-col md:flex-row flex items-center md:justify-between mt-16 mb-16 md:mb-12>h1 classtext-2xl md:text-6xl font-bold tracking-tighter leading-tight md:pr-8 m-auto>Matthew's Blog/h1>/section>section classbg-gray-100 p-14 rounded-lg mb-16>div classmb-8 md:mb-16>div classsm:mx-0>a aria-labelBatch Process in AWS - Part 3 - What's the REAL solution? href/posts/batching-part-3/>img altCover Image for Batch Process in AWS - Part 3 - What's the REAL solution? loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/batching/sqs+lambda.png/>/a>/div>/div>div classmd:grid md:grid-cols-2 md:gap-x-16 lg:gap-x-8 mb-20 md:mb-28>div>h3 classmb-4 text-4xl lg:text-5xl leading-tight>a classhover:underline href/posts/batching-part-3/>Batch Process in AWS - Part 3 - What's the REAL solution?/a>/h3>div classmb-4 md:mb-0 text-lg>time dateTime2024-10-10>October 10, 2024/time>/div>/div>div>p classtext-lg leading-relaxed mb-4>Alright, so now that I'm sure an atomic counter in DynamoDB won't work, then how does one solve this problem?/p>/div>/div>/section>section>h2 classmb-8 text-5xl md:text-7xl font-bold tracking-tighter leading-tight>More Stories/h2>div classgrid grid-cols-1 md:grid-cols-2 md:gap-x-16 lg:gap-x-32 gap-y-20 md:gap-y-32 mb-32>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelBatch Process in AWS - Part 2 - 500's Galore! href/posts/batching-part-2/>img altCover Image for Batch Process in AWS - Part 2 - 500's Galore! loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/batching/sqs+lambda.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/batching-part-2/>Batch Process in AWS - Part 2 - 500's Galore!/a>/h3>div classtext-lg mb-4>time dateTime2024-09-21>September 21, 2024/time>/div>p classtext-lg leading-relaxed mb-4>Turns out atomic counters will result in hidden 500s and overcounting. That's not good, so what are some common solutions?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelBatch Process in AWS - An Exercise in Nuance href/posts/batching/>img altCover Image for Batch Process in AWS - An Exercise in Nuance loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/batching/sqs+lambda.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/batching/>Batch Process in AWS - An Exercise in Nuance/a>/h3>div classtext-lg mb-4>time dateTime2024-08-13>August 13, 2024/time>/div>p classtext-lg leading-relaxed mb-4>Batch processing data in AWS can be achieved many different ways, but the most common I see mentioned is perhaps the simplest, using SQS and Lambda Functions. I took a dive into the implementation and found it wasn't as simple as I originally thought, and certain solutions lead to new questions that needed rethinking everything from the beginning./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCreating an OCR pipeline with AWS Textract href/posts/ocr/>img altCover Image for Creating an OCR pipeline with AWS Textract loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/ocr/arch-diagram.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/ocr/>Creating an OCR pipeline with AWS Textract/a>/h3>div classtext-lg mb-4>time dateTime2024-06-21>June 21, 2024/time>/div>p classtext-lg leading-relaxed mb-4>When you're wife needs a way to get her hand written notes into digital format, you create an OCR pipeline and I built one with AWS serverless technologies. This post breaks down how I did it and the mindset around various components./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelImporting CloudFormation Resources With CDK L2s href/posts/complex-importing-with-the-cdk/>img altCover Image for Importing CloudFormation Resources With CDK L2s loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/complex-importing-with-the-cdk/complexiac.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/complex-importing-with-the-cdk/>Importing CloudFormation Resources With CDK L2s/a>/h3>div classtext-lg mb-4>time dateTime2024-06-20>June 20, 2024/time>/div>p classtext-lg leading-relaxed mb-4>We recently ran across a tough issue with AWS resources, CloudFormation, and the CDK. We needed to import some resources into a stack and it was made harder by the CDK and some L2s. I'll describe the problem and how we solved it./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelBeavers and LLMs href/posts/beavers-and-llms/>img altCover Image for Beavers and LLMs loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/beavers-and-llms/beaver.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/beavers-and-llms/>Beavers and LLMs/a>/h3>div classtext-lg mb-4>time dateTime2023-12-09>December 9, 2023/time>/div>p classtext-lg leading-relaxed mb-4>How does ChatGPT and Bard compare when writing movie treatments about beavers?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCDK Community Survey - 2023 href/posts/community-survey-2023/>img altCover Image for CDK Community Survey - 2023 loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/community-survey-2023/language.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/community-survey-2023/>CDK Community Survey - 2023/a>/h3>div classtext-lg mb-4>time dateTime2023-09-09>September 9, 2023/time>/div>p classtext-lg leading-relaxed mb-4>Here are the results of the 2023 CDK community survey./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelAnnouncing my Advanced CDK Course href/posts/advanced-cdk-course/>img altCover Image for Announcing my Advanced CDK Course loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/advanced-cdk-course/>Announcing my Advanced CDK Course/a>/h3>div classtext-lg mb-4>time dateTime2023-08-01>August 1, 2023/time>/div>p classtext-lg leading-relaxed mb-4>After 4 years of working with the CDK I felt it was time to put together a course on it./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCDK Community Survey - 2022 href/posts/community-survey-2022/>img altCover Image for CDK Community Survey - 2022 loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/community-survey-2022/language.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/community-survey-2022/>CDK Community Survey - 2022/a>/h3>div classtext-lg mb-4>time dateTime2022-07-20>July 20, 2022/time>/div>p classtext-lg leading-relaxed mb-4>Here are the results of the 2022 CDK community survey./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelDeveloping Step Functions with the AWS CDK href/posts/step-functions-and-the-cdk/>img altCover Image for Developing Step Functions with the AWS CDK loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/step-functions-and-the-cdk/workflow.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/step-functions-and-the-cdk/>Developing Step Functions with the AWS CDK/a>/h3>div classtext-lg mb-4>time dateTime2022-02-19>February 19, 2022/time>/div>p classtext-lg leading-relaxed mb-4>Rapid Step Function development with the Workflow Studio can be integrated easily with the AWS CDK to create an enjoyable experience while keeping your state definitions properly in your infrastructure as code./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelHow to handle importing CloudFormation resources when you use the CDK href/posts/importing-with-the-cdk/>img altCover Image for How to handle importing CloudFormation resources when you use the CDK loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/importing-with-the-cdk/providing-new-name.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/importing-with-the-cdk/>How to handle importing CloudFormation resources when you use the CDK/a>/h3>div classtext-lg mb-4>time dateTime2021-08-30>August 30, 2021/time>/div>p classtext-lg leading-relaxed mb-4>CloudFormation allows you to import resources, but there are some steps you need to take to make it work with your CDK code./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCDK Community Survey - 2021 Q1 href/posts/community-survey-2021q1/>img altCover Image for CDK Community Survey - 2021 Q1 loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/community-survey-2021q1/language.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/community-survey-2021q1/>CDK Community Survey - 2021 Q1/a>/h3>div classtext-lg mb-4>time dateTime2021-04-19>April 19, 2021/time>/div>p classtext-lg leading-relaxed mb-4>Here are the results of the 2021 Q1 CDK community survey./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelAutomating CDK Version Bumping with AWS Serverless and Github href/posts/automating-construct-publishing/>img altCover Image for Automating CDK Version Bumping with AWS Serverless and Github loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/automating-construct-publishing/>Automating CDK Version Bumping with AWS Serverless and Github/a>/h3>div classtext-lg mb-4>time dateTime2021-04-06>April 6, 2021/time>/div>p classtext-lg leading-relaxed mb-4>I publish my CDK constructs for specific versions of the AWS CDK. Here's why and how I automated parts of the publishing process./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCDK Community Survey - 2020 Q4 href/posts/community-survey-2020q4/>img altCover Image for CDK Community Survey - 2020 Q4 loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/community-survey-2020q4/language.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/community-survey-2020q4/>CDK Community Survey - 2020 Q4/a>/h3>div classtext-lg mb-4>time dateTime2021-01-18>January 18, 2021/time>/div>p classtext-lg leading-relaxed mb-4>Here are the results of the 2020Q4 CDK community survey./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelMoving from AWS Amplify to the AWS CDK href/posts/from-amplify-to-cdk/>img altCover Image for Moving from AWS Amplify to the AWS CDK loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/from-amplify-to-cdk/typing.gif/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/from-amplify-to-cdk/>Moving from AWS Amplify to the AWS CDK/a>/h3>div classtext-lg mb-4>time dateTime2021-01-08>January 8, 2021/time>/div>p classtext-lg leading-relaxed mb-4>I bootstrapped a side project with AWS Amplify but then hit some walls, so I transitioned to using the CDK./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCDK Community Survey - 2020 Q3 href/posts/community-survey-2020q3/>img altCover Image for CDK Community Survey - 2020 Q3 loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/community-survey-2020q3/org-size.q2.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/community-survey-2020q3/>CDK Community Survey - 2020 Q3/a>/h3>div classtext-lg mb-4>time dateTime2020-10-08>October 8, 2020/time>/div>p classtext-lg leading-relaxed mb-4>Here are the results of the 2020Q3 CDK community survey./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelConverting a CDK construct to using Projen href/posts/converting-to-projen/>img altCover Image for Converting a CDK construct to using Projen loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/converting-to-projen/start.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/converting-to-projen/>Converting a CDK construct to using Projen/a>/h3>div classtext-lg mb-4>time dateTime2020-10-04>October 4, 2020/time>/div>p classtext-lg leading-relaxed mb-4>There's a few steps required to convert existing projects over to Projen, but it's worth it./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelPutting code in the right places. href/posts/putting-code-in-the-right-place/>img altCover Image for Putting code in the right places. loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/putting-code-in-the-right-place/next-to-each-other.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/putting-code-in-the-right-place/>Putting code in the right places./a>/h3>div classtext-lg mb-4>time dateTime2020-09-03>September 3, 2020/time>/div>p classtext-lg leading-relaxed mb-4>Can the CDK help me put the right code in the right places when building Serverless apps?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelWhy the AWS Cloud Development Kit is taking off. href/posts/why-the-cdk-is-taking-off/>img altCover Image for Why the AWS Cloud Development Kit is taking off. loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/why-the-cdk-is-taking-off/>Why the AWS Cloud Development Kit is taking off./a>/h3>div classtext-lg mb-4>time dateTime2020-08-18>August 18, 2020/time>/div>p classtext-lg leading-relaxed mb-4>The AWS CDK has become very popular, and now it's usage is spreading outside of AWS. Let's discuss why./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelDeno vs Node showdown! href/posts/deno-vs-node/>img altCover Image for Deno vs Node showdown! loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/node-vs-deno/results.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/deno-vs-node/>Deno vs Node showdown!/a>/h3>div classtext-lg mb-4>time dateTime2020-07-05>July 5, 2020/time>/div>p classtext-lg leading-relaxed mb-4>Deno is hot, but is it good enough to replace Node for your Lambdas?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelHow to Create CDK Constructs href/posts/creating-constructs/>img altCover Image for How to Create CDK Constructs loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/creating-constructs/>How to Create CDK Constructs/a>/h3>div classtext-lg mb-4>time dateTime2020-01-11>January 11, 2020/time>/div>p classtext-lg leading-relaxed mb-4>Creating reusable CDK Constructs is easier than you may think. Thanks to Github actions you have build and distribute a custom CDK Construct in under an hour./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-label2019 - A Year in Review href/posts/2019-year-in-review/>img altCover Image for 2019 - A Year in Review loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/2019-year-in-review/>2019 - A Year in Review/a>/h3>div classtext-lg mb-4>time dateTime2019-12-30>December 30, 2019/time>/div>p classtext-lg leading-relaxed mb-4>2019 was probably the most active year I've had this decade./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelThe Wrong Way to Use the AWS CDK. href/posts/cdk-the-wrong-way/>img altCover Image for The Wrong Way to Use the AWS CDK. loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/am-i-misusing-the-cdk/async-in-constructor.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/cdk-the-wrong-way/>The Wrong Way to Use the AWS CDK./a>/h3>div classtext-lg mb-4>time dateTime2019-10-02>October 2, 2019/time>/div>p classtext-lg leading-relaxed mb-4>I stumbled into a really wrong way to write CDK Constructs and would like to share how and why./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelAWS's new NoSQL Workbench for DynamoDB is out! Is it for you? href/posts/dynamodb-client/>img altCover Image for AWS's new NoSQL Workbench for DynamoDB is out! Is it for you? loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/dynamodb-client/>AWS's new NoSQL Workbench for DynamoDB is out! Is it for you?/a>/h3>div classtext-lg mb-4>time dateTime2019-09-18>September 18, 2019/time>/div>p classtext-lg leading-relaxed mb-4>Does it have the right stuff?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelAm I Misusing the AWS Cloud Development Kit (CDK)? href/posts/am-i-misuing-the-cdk/>img altCover Image for Am I Misusing the AWS Cloud Development Kit (CDK)? loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/am-i-misusing-the-cdk/async-in-constructor.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/am-i-misuing-the-cdk/>Am I Misusing the AWS Cloud Development Kit (CDK)?/a>/h3>div classtext-lg mb-4>time dateTime2019-09-14>September 14, 2019/time>/div>p classtext-lg leading-relaxed mb-4>I recently built a solution in AWS using the CDK and other resources. I was very happy how it turned out, but wonder if I got lucky./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelA Simple Event Source Based API Microservice and the AWS CDK href/posts/simple-es-api/>img altCover Image for A Simple Event Source Based API Microservice and the AWS CDK loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/simple-es-api/arch.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/simple-es-api/>A Simple Event Source Based API Microservice and the AWS CDK/a>/h3>div classtext-lg mb-4>time dateTime2019-07-27>July 27, 2019/time>/div>p classtext-lg leading-relaxed mb-4>I wanted to build a simple Event Sourced-based AWS Serverless microservice for some time, and thanks to the AWS CDK I was able to build it the way I wanted./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelThe Pros and Cons of DynamoDB href/posts/dynamodb-pros-cons/>img altCover Image for The Pros and Cons of DynamoDB loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/dynamodb-pros-cons/>The Pros and Cons of DynamoDB/a>/h3>div classtext-lg mb-4>time dateTime2019-06-28>June 28, 2019/time>/div>p classtext-lg leading-relaxed mb-4>DymamoDB is a powerful yet simple database system from AWS. Like any database, there are certain tradeoffs you may need to make./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCreating Idempotent Lambda Handlers with DynamoDB href/posts/idempotent-lambdas/>img altCover Image for Creating Idempotent Lambda Handlers with DynamoDB loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/idempotent-lambdas/>Creating Idempotent Lambda Handlers with DynamoDB/a>/h3>div classtext-lg mb-4>time dateTime2019-06-04>June 4, 2019/time>/div>p classtext-lg leading-relaxed mb-4>Creating idempotent lambda handlers is not always trivial. Using DynamoDB as a short-circuit during message duplication is easier then you may think. This post covers a simple DynamoDB table setup you can use to ensure your lambda handlers are idempotent./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelA Typescript Runtime for Lambda and Why You May Not Want To Use It href/posts/a-typescript-runtime-for-lambda-and-why-you-may-not-want-to-use-it/>img altCover Image for A Typescript Runtime for Lambda and Why You May Not Want To Use It loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/images/profile.jpg/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/a-typescript-runtime-for-lambda-and-why-you-may-not-want-to-use-it/>A Typescript Runtime for Lambda and Why You May Not Want To Use It/a>/h3>div classtext-lg mb-4>time dateTime2019-03-03>March 3, 2019/time>/div>p classtext-lg leading-relaxed mb-4>What happens if you create a custom AWS Lambda runtime for a popular language that depends on compiling at runtime?/p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCreating a CICD for your Ionic 4 app in AWS in 5 minutes href/posts/creating-a-cicd-for-your-ionic-4-app-in-aws-in-5-minutes/>img altCover Image for Creating a CICD for your Ionic 4 app in AWS in 5 minutes loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/creating-a-cicd-for-your-ionic-4-app-in-aws-in-5-minutes/cicd.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/creating-a-cicd-for-your-ionic-4-app-in-aws-in-5-minutes/>Creating a CICD for your Ionic 4 app in AWS in 5 minutes/a>/h3>div classtext-lg mb-4>time dateTime2019-01-19>January 19, 2019/time>/div>p classtext-lg leading-relaxed mb-4>Ionic 4 Websites (or any static website) can now be deployed very easily./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelTurning a CRUD Model into an Event Sourced Model href/posts/turning-a-crud-model-into-an-event-sourced-model/>img altCover Image for Turning a CRUD Model into an Event Sourced Model loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/using-redux-on-the-server/trip2.gif/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/turning-a-crud-model-into-an-event-sourced-model/>Turning a CRUD Model into an Event Sourced Model/a>/h3>div classtext-lg mb-4>time dateTime2018-11-09>November 9, 2018/time>/div>p classtext-lg leading-relaxed mb-4>Isn't switching to an Event Sourced model difficult? Probably not if you're using a really common repository pattern./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelCICD in AWS for Barracuda href/posts/cicd-in-aws-for-barracuda/>img altCover Image for CICD in AWS for Barracuda loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/cicd-in-aws-for-barracuda/overview.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/cicd-in-aws-for-barracuda/>CICD in AWS for Barracuda/a>/h3>div classtext-lg mb-4>time dateTime2018-05-16>May 16, 2018/time>/div>p classtext-lg leading-relaxed mb-4>For a recent project we setup a simple but strong CICD pipeline using CodeBuild and CodePipeline./p>/div>div classeven:bg-gray-200 odd:bg-gray-100 p-8 rounded-md>div classmb-5>div classsm:mx-0>a aria-labelAWS – Verifying Outgoing SES Email Addresses Without an Email Server href/posts/aws-verifying-outgoing-ses-email-addresses-without-an-email-server/>img altCover Image for AWS – Verifying Outgoing SES Email Addresses Without an Email Server loadinglazy width1300 height630 decodingasync data-nimg1 classshadow-sm w-full max-w-screen-md m-auto hover:shadow-lg transition-shadow duration-200 stylecolor:transparent src/assets/blog/aws-verifying-outgoing-sms-email-addresses-without-an-email-server/create-topic.png/>/a>/div>/div>h3 classtext-3xl mb-3 leading-snug>a classhover:underline href/posts/aws-verifying-outgoing-ses-email-addresses-without-an-email-server/>AWS – Verifying Outgoing SES Email Addresses Without an Email Server/a>/h3>div classtext-lg mb-4>time dateTime2018-05-02>May 2, 2018/time>/div>p classtext-lg leading-relaxed mb-4>Sometimes you need to respond to a verification email but don't want to setup a full blown email server for your domain. With this little trick you can leverage SNS to forward it along to another email address./p>/div>/div>/section>/div>/main>/div>footer classbg-neutral-50 border-t border-neutral-200>div classundefined container mx-auto px-5 max-w-screen-lg>div classpy-28 flex flex-col lg:flex-row items-center>h3 classtext-4xl lg:text-2.5rem font-bold tracking-tighter leading-tight text-center lg:text-left mb-10 lg:mb-0 lg:pr-4 lg:w-1/2>Made with ❤️ by Matthew Bonig/h3>div classflex flex-col lg:flex-row justify-center items-center lg:pl-4 lg:w-1/2>a hrefhttps://github.com/mbonig classmx-3 font-bold hover:underline>View me on GitHub/a>/div>/div>/div>/footer>/div>script id__NEXT_DATA__ typeapplication/json>{props:{pageProps:{allPosts:{title:Batch Process in AWS - Part 3 - Whats the REAL solution?,date:2024-10-10,slug:batching-part-3,coverImage:/assets/blog/batching/sqs+lambda.png,description:Alright, so now that Im sure an atomic counter in DynamoDB wont work, then how does one solve this problem?},{title:Batch Process in AWS - Part 2 - 500s Galore!,date:2024-09-21,slug:batching-part-2,coverImage:/assets/blog/batching/sqs+lambda.png,description:Turns out atomic counters will result in hidden 500s and overcounting. Thats not good, so what are some common solutions?},{title:Batch Process in AWS - An Exercise in Nuance,date:2024-08-13,slug:batching,coverImage:/assets/blog/batching/sqs+lambda.png,description:Batch processing data in AWS can be achieved many different ways, but the most common I see mentioned is perhaps the simplest, using SQS and Lambda Functions. I took a dive into the implementation and found it wasnt as simple as I originally thought, and certain solutions lead to new questions that needed rethinking everything from the beginning.},{title:Creating an OCR pipeline with AWS Textract,date:2024-06-21,slug:ocr,coverImage:/assets/blog/ocr/arch-diagram.png,description:When youre wife needs a way to get her hand written notes into digital format, you create an OCR pipeline and I built one with AWS serverless technologies. This post breaks down how I did it and the mindset around various components.},{title:Importing CloudFormation Resources With CDK L2s,date:2024-06-20,slug:complex-importing-with-the-cdk,coverImage:/assets/blog/complex-importing-with-the-cdk/complexiac.png,description:We recently ran across a tough issue with AWS resources, CloudFormation, and the CDK. We needed to import some resources into a stack and it was made harder by the CDK and some L2s. Ill describe the problem and how we solved it.},{title:Beavers and LLMs,date:2023-12-09,slug:beavers-and-llms,coverImage:/assets/blog/beavers-and-llms/beaver.png,description:How does ChatGPT and Bard compare when writing movie treatments about beavers?},{title:CDK Community Survey - 2023,date:2023-09-09,slug:community-survey-2023,coverImage:/assets/blog/community-survey-2023/language.png,description:Here are the results of the 2023 CDK community survey.},{title:Announcing my Advanced CDK Course,date:2023-08-01,slug:advanced-cdk-course,description:After 4 years of working with the CDK I felt it was time to put together a course on it.},{title:CDK Community Survey - 2022,date:2022-07-20,slug:community-survey-2022,coverImage:/assets/blog/community-survey-2022/language.png,description:Here are the results of the 2022 CDK community survey.},{title:Developing Step Functions with the AWS CDK,date:2022-02-19,slug:step-functions-and-the-cdk,coverImage:/assets/blog/step-functions-and-the-cdk/workflow.png,description:Rapid Step Function development with the Workflow Studio can be integrated easily with the AWS CDK to create an enjoyable experience while keeping your state definitions properly in your infrastructure as code.},{title:How to handle importing CloudFormation resources when you use the CDK,date:2021-08-30,slug:importing-with-the-cdk,coverImage:/assets/blog/importing-with-the-cdk/providing-new-name.png,description:CloudFormation allows you to import resources, but there are some steps you need to take to make it work with your CDK code.},{title:CDK Community Survey - 2021 Q1,date:2021-04-19,slug:community-survey-2021q1,coverImage:/assets/blog/community-survey-2021q1/language.png,description:Here are the results of the 2021 Q1 CDK community survey.},{title:Automating CDK Version Bumping with AWS Serverless and Github,date:2021-04-06,slug:automating-construct-publishing,description:I publish my CDK constructs for specific versions of the AWS CDK. Heres why and how I automated parts of the publishing process.},{title:CDK Community Survey - 2020 Q4,date:2021-01-18,slug:community-survey-2020q4,coverImage:/assets/blog/community-survey-2020q4/language.png,description:Here are the results of the 2020Q4 CDK community survey.},{title:Moving from AWS Amplify to the AWS CDK,date:2021-01-08,slug:from-amplify-to-cdk,coverImage:/assets/blog/from-amplify-to-cdk/typing.gif,description:I bootstrapped a side project with AWS Amplify but then hit some walls, so I transitioned to using the CDK.},{title:CDK Community Survey - 2020 Q3,date:2020-10-08,slug:community-survey-2020q3,coverImage:/assets/blog/community-survey-2020q3/org-size.q2.png,description:Here are the results of the 2020Q3 CDK community survey.},{title:Converting a CDK construct to using Projen,date:2020-10-04,slug:converting-to-projen,coverImage:/assets/blog/converting-to-projen/start.png,description:Theres a few steps required to convert existing projects over to Projen, but its worth it.},{title:Putting code in the right places.,date:2020-09-03,slug:putting-code-in-the-right-place,coverImage:/assets/blog/putting-code-in-the-right-place/next-to-each-other.png,description:Can the CDK help me put the right code in the right places when building Serverless apps?},{title:Why the AWS Cloud Development Kit is taking off.,date:2020-08-18,slug:why-the-cdk-is-taking-off,description:The AWS CDK has become very popular, and now its usage is spreading outside of AWS. Lets discuss why.},{title:Deno vs Node showdown!,date:2020-07-05,slug:deno-vs-node,coverImage:/assets/blog/node-vs-deno/results.png,description:Deno is hot, but is it good enough to replace Node for your Lambdas?},{title:How to Create CDK Constructs,date:2020-01-11,slug:creating-constructs,description:Creating reusable CDK Constructs is easier than you may think. Thanks to Github actions you have build and distribute a custom CDK Construct in under an hour.},{title:2019 - A Year in Review,date:2019-12-30,slug:2019-year-in-review,description:2019 was probably the most active year Ive had this decade.},{title:The Wrong Way to Use the AWS CDK.,date:2019-10-02,slug:cdk-the-wrong-way,coverImage:/assets/blog/am-i-misusing-the-cdk/async-in-constructor.png,description:I stumbled into a really wrong way to write CDK Constructs and would like to share how and why.},{title:AWSs new NoSQL Workbench for DynamoDB is out! Is it for you?,date:2019-09-18,slug:dynamodb-client,description:Does it have the right stuff?},{title:Am I Misusing the AWS Cloud Development Kit (CDK)?,date:2019-09-14,slug:am-i-misuing-the-cdk,coverImage:/assets/blog/am-i-misusing-the-cdk/async-in-constructor.png,description:I recently built a solution in AWS using the CDK and other resources. I was very happy how it turned out, but wonder if I got lucky.},{title:A Simple Event Source Based API Microservice and the AWS CDK,date:2019-07-27,slug:simple-es-api,coverImage:/assets/blog/simple-es-api/arch.png,description:I wanted to build a simple Event Sourced-based AWS Serverless microservice for some time, and thanks to the AWS CDK I was able to build it the way I wanted.},{title:The Pros and Cons of DynamoDB,date:2019-06-28,slug:dynamodb-pros-cons,description:DymamoDB is a powerful yet simple database system from AWS. Like any database, there are certain tradeoffs you may need to make.},{title:Creating Idempotent Lambda Handlers with DynamoDB,date:2019-06-04,slug:idempotent-lambdas,description:Creating idempotent lambda handlers is not always trivial. Using DynamoDB as a short-circuit during message duplication is easier then you may think. This post covers a simple DynamoDB table setup you can use to ensure your lambda handlers are idempotent.},{title:A Typescript Runtime for Lambda and Why You May Not Want To Use It,date:2019-03-03,slug:a-typescript-runtime-for-lambda-and-why-you-may-not-want-to-use-it,description:What happens if you create a custom AWS Lambda runtime for a popular language that depends on compiling at runtime?},{title:Creating a CICD for your Ionic 4 app in AWS in 5 minutes,date:2019-01-19,slug:creating-a-cicd-for-your-ionic-4-app-in-aws-in-5-minutes,coverImage:/assets/blog/creating-a-cicd-for-your-ionic-4-app-in-aws-in-5-minutes/cicd.png,description:Ionic 4 Websites (or any static website) can now be deployed very easily.},{title:Turning a CRUD Model into an Event Sourced Model,date:2018-11-09,slug:turning-a-crud-model-into-an-event-sourced-model,coverImage:/assets/blog/using-redux-on-the-server/trip2.gif,description:Isnt switching to an Event Sourced model difficult? Probably not if youre using a really common repository pattern.},{title:CICD in AWS for Barracuda,date:2018-05-16,slug:cicd-in-aws-for-barracuda,coverImage:/assets/blog/cicd-in-aws-for-barracuda/overview.png,description:For a recent project we setup a simple but strong CICD pipeline using CodeBuild and CodePipeline.},{title:AWS – Verifying Outgoing SES Email Addresses Without an Email Server,date:2018-05-02,slug:aws-verifying-outgoing-ses-email-addresses-without-an-email-server,coverImage:/assets/blog/aws-verifying-outgoing-sms-email-addresses-without-an-email-server/create-topic.png,description:Sometimes you need to respond to a verification email but dont want to setup a full blown email server for your domain. With this little trick you can leverage SNS to forward it along to another email address.}},__N_SSG:true},page:/,query:{},buildId:XovWwi2Vo3eJG2N8QwWdf,isFallback:false,gsp:true,scriptLoader:}/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]