How to create and deploy a dockerized Lambda using TypeScript CDK

diagram of AWS stack with lambda scheduled by eventbridge rule

An application running periodically based on a schedule with no interface to interact with it directly (often called background worker) is quite common in today’s architecture design.

In this article, we’ll explore how we can create a Lambda function using an AWS template, define an EventBridge scheduler to run it automatically and deploy everything to AWS using a Cloud Development Kit (CDK) stack written in TypeScript.

Even though we are using dockerized C# lambda function, any supported language would work just as fine, with CDK code being almost identical.

>>> Continue reading <<<

'dotnet swagger tofile' with .NET 8

csproj file with postbuild event generate swagger document

Generating an OpenAPI (Swagger) file during build time is a common scenario, usually done to generate the API client automatically. There are a few ways we can do it, dotnet swagger tofile command from swashbuckle.aspnetcore.cli tool being one of them.

Usually, when migrating to a new major .NET version, it’s a good idea to update dotnet-tools.json config file to use the latest swashbuckle.aspnetcore.cli.

However, there is no new version of swashbuckle.aspnetcore.cli for .NET 8, moreover, there is a confusing statement about build-time swagger generation in the official ASP.NET documentation:

Build-time OpenAPI document generation with Swashbuckle isn’t supported in .NET 8 and later. […] Run-time document generation is still supported in .NET 8.

Get started with Swashbuckle and ASP.NET Core

Let’s review the problem and a solution.

UDPATE (5/22/2024): there is a new release of Swashbuckle with .NET 8 support, try getting the latest version if you encounter any problems.

>>> Continue reading <<<

How to optimize Unity 3D build size

unity 3d build report with size numbers

At some point in your Unity 3D development cycle, you may find yourself in a situation where your build size feels much bigger than you would expect.

In this post we are taking a look at Unity 3D tools we can use to get some insights into what’s consuming your precious build bytes.

A smaller size of a game or application is probably one of the most important non-functional requirements since it will make the app download (the first user experience) faster and more pleasant, thus improving the store conversion and saving users drive space.

>>> Continue reading <<<

Piano 3D low conversion in Microsoft Store

a aquisition funnel graph of Piano 3D app on Windows

For some reason, my app, Piano 3D, is not downloaded much even though there are a lot of people visiting the Store Page. It’s a bit disappointing, as is the fact that the app gets 23rd place for “piano” search term in the Windows Store. Probably this is related to low conversion too.

So the question is, of course, how to improve the conversion. I’m not an expert, but I’ll try the following:

  • new look and feel achieved by implementing HDRP rendering pipeline in Unity 3D
  • decreasing the app size (currently ~123MB)
  • new logo

This post will be the baseline for future updates, so just want to track conversion change. If you have any advice on what may be wrong, the comments are opened and you are more than welcome.

I’ll attach more statistics just for historical reasons.

>>> Continue reading <<<