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/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>Discover Hidden Space: Understanding Docker Storage Usage with `docker system df`2024-07-25T00:00:00Zhttps://niklasmtj.de/blog/understand-docker-storage/<p>Hey there, 🐳</p>
<p>Remember when you first started using Docker and thought you had it all figured
out? Well, I've been in the Docker game for quite a while now, and I'm still
stumbling upon new tricks. Today, I want to share a nifty little command that
blew my mind - <code>docker system df</code>.</p>
<p>Ever wondered how much space Docker is taking up on your machine? This command
might be your new best friend. Let me show you what I mean:</p>Giving Users Some Privacy Back with E-Mail Aliases: A Personal Take2024-07-08T00:00:00Zhttps://niklasmtj.de/blog/give-users-privacy-back-email-aliases/<p>I've been thinking a lot about email privacy lately. It seems like every website
wants our email addresses these days, especially for newsletters. Don't get me
wrong, I love a good newsletter, but with all the data breaches and spam out
there, I can't help but feel a bit uneasy every time I type in my email address.</p>
<p>That's when I stumbled upon the idea of email aliases. It's not a new concept,
but it's one that I think deserves more attention.</p>How to get the total CPU and memory of an AWS ECS Fargate cluster using Python2024-07-04T00:00:00Zhttps://niklasmtj.de/blog/get-cpu-and-memory-of-ecs-cluster/<p>Hey there, 👋</p>
<p>Have you ever tried to get the total amount of CPU cores and memory of one of
your ECS clusters? Today I wrote a script to do just that. I wrote it in Python
because the <code>boto3</code> library also powers the AWS CLI, so I thought this might be
the best and easiest solution.</p>