entbit. by Niklas MetjeSoftware engineering enthusiast from Cologne, Germany. Writing about DevOps, Cloud, Deno, Software Engineering, books and everything else that interests me.https://niklasmtj.de/Write more notes2025-10-07T00:00:00Zhttps://niklasmtj.de/blog/write-more-notes/<p>Remember the problem you encountered month ago? That once in a life time error that took a day / week to sort out? Yeah it occured a second time. Did you take notes on how you fixed it in the first place? No? Have fun finding the solution again.</p>Why Deno's new sandboxes could let your app scale infinitely2025-09-21T00:00:00Zhttps://niklasmtj.de/blog/infinite-scale-with-deno-sandboxes/<p>An exciting new development has recently emerged in the Deno universe. The new <a href="https://jsr.io/@deno/sandbox">sandbox project</a>, which is currently in the alpha phase, allows any JavaScript code to be executed in an ephemeral environment. This means that user- or AI-generated code can be executed without the risk of malicious code being brought to the host system.</p>
<p>It's a combination of technologies that makes my nerd heart beat faster: Deno and Firecracker VMs combined.</p>AI as a Sparring Partner: Manage Blog Post Marketing2025-02-21T00:00:00Zhttps://niklasmtj.de/blog/ai-as-blog-post-marketing-partner/<p>Over the last few days I have been building a tool that suggests possible
titles, meta descriptions, a LinkedIn post and a newsletter issue based on my
blog post files in Markdown. Personally, I want to focus on writing good blog
posts that reflect my thoughts or work. As the content is more important to me
than the 'marketing' around it, be it the LinkedIn post or the 'perfect'
description of the article, I have considered using the tool to have this
suggested by an AI model. My blog post is always used as the foundation, which
is always attached to the prompt.</p>Effortless Internationalization in JavaScript with the Intl API2025-02-07T00:00:00Zhttps://niklasmtj.de/blog/i18n-with-javascripts-intl-api/<p>When creating apps and websites, we often need to display data in different
languages. Be it currencies, speeds, times or dates. Sorting words in different
languages or dynamically setting the singular and plural forms of a word are
also such use cases. For this there is the <code>Intl</code> API in JavaScript, which in my
opinion still gets far too little attention.</p>
<p>In the past, I have written custom functions or used libraries to do the above
in different languages.</p>
<p>So let's take a look at some of the functions of the <code>Intl</code> API and try to
understand why it can make our lives easier.</p>The End of Date Libraries? Exploring JavaScript's Built-in Temporal API2025-01-05T00:00:00Zhttps://niklasmtj.de/blog/end-of-date-libraries-temporal-api/<p>Working with date objects in Javascript can be quite a pain. That is why I
usually use a library like <code>date-fns</code> for comparing, adding hours to my dates or
working with dates and times in general.</p>
<p>The <a href="https://tc39.es/">TC39</a>, which is the group of people who develop the
definition of JavaScript, is working on the Temporal API. You can check out the
proposal and documentation <a href="https://tc39.es/proposal-temporal/docs/">here</a>.</p>
<p>With this, we no longer need date libraries, because the API itself is a breeze
to work with.</p>Setting up PGlite in Deno2024-09-06T00:00:00Zhttps://niklasmtj.de/blog/setting-up-pglite-in-deno/<p>I recently tried <a href="https://pglite.dev/">PGlite</a> because I saw it trending on
Hacker News. The idea is cool, having a built-in
<a href="https://www.postgresql.org/">Postgres</a> database that can even run in the
client's browser brings a lot of possibilities. Seeing WASM (Web Assembly) get
more use cases is also exciting to see.</p>Using Environment Variables in Datadog Agent Configuration2024-09-05T00:00:00Zhttps://niklasmtj.de/blog/use-environment-variables-in-datadog-agent-config/<p>Hey there, 👋</p>
<p>I needed to set up a Datadog agent to check remote Postgres instances as a
regular container. All the documentation I found was about injecting secrets
like passwords or hostnames via Kubernetes secrets. This seemed to be the only
way to do it besides using Docker Swarm secrets. Since I had to set up a
container definition for AWS ECS Fargate, neither of these options were
available. So I wanted to see if I could use "regular" environment variables
from which the agent could pull the secrets on startup.</p>Enhancing Web Accessibility: Or why I changed my website's font2024-08-31T00:00:00Zhttps://niklasmtj.de/blog/enhancing-web-accessibility-with-atkinson-hyperlegible-font/<p>As someone with visual impairment in one eye, I understand firsthand the
challenges of navigating websites with less-than-perfect vision. That's why I
recently made a significant change to my website: I switched to the Atkinson
Hyperlegible Font.</p>Use the `gofumpt` formatter in Zed as Golang default formatter2024-08-21T00:00:00Zhttps://niklasmtj.de/blog/use-gofumpt-formatter-in-zed-as-golang-default/<p>I've been working more with Golang for a while now, so I set up my Zed editor to
use <code>gofumpt</code> instead of <code>gofmt</code> as my default formatter.</p>Automa(tic|g)ally registering ECS task in your AWS Application Load Balancer2024-07-26T00:00:00Zhttps://niklasmtj.de/blog/automate-ecs-task-registration-in-alb/<p>Hey there, 👋! I needed to set up automatic registration of ECS tasks of a
service in our load balancer. The previous setups were done by colleagues, but
now I had the chance to do it myself. Since we're setting up everything via
<a href="https://www.terraform.io/">Terraform</a> as Infrastructure as Code, the example
below will be written in <code>hcl</code>, the format that Terraform uses to set up
resources.</p>