entbit. by Niklas MetjeSoftware engineering enthusiast from Cologne, Germany. Writing about DevOps, Containers, Cloud, Deno, books and everything else that interests me.https://niklasmtj.de/Build your `nono` profiles with a Wizard 🧙🏼♂️2026-08-27T00:00:00Zhttps://niklasmtj.de/blog/nono-profiler-wizard/<p>I talked about sandboxing my agents with <a href="https://nono.sh/"><code>nono</code></a> in the last blog post already (check it out here: <a href="https://niklasmtj.de/blog/nono-agent-sandboxes-in-zed/">Use <code>nono</code> AI agent sandboxes in Zed Agent Servers</a>). After chatting with friends while setting up my own custom profile(s), I realised that it would take more than 5 minutes.</p>
<p>One mistake I made when starting out with my custom profile was forgetting to include local ports for my agent to access. This meant that the agent could not access my local development applications, even though I was trying to build the application with my agents.</p>
<p>Therefore we came up with the quick idea of setting up a proper <code>nono</code> custom profile via a wizard, clicking through the different features, using the pre-defined groups etc.</p>
<p>With the help of Claude and GLM-5.3 I would like to present the <a href="https://nono-profiler.niklasmtj.de/">nono-profiler</a>. This should help you get up and running with a good custom <code>nono</code> profile more easily.</p>
<p>Thanks for reading,<br>
Niklas</p>Use `nono` AI agent sandboxes in Zed Agent Servers2026-06-24T00:00:00Zhttps://niklasmtj.de/blog/nono-agent-sandboxes-in-zed/<p>I recently set up <a href="https://niklasmtj.de/nono.sh">nono</a> sandboxes on my Mac to put my Claude Code
sessions into a more restricted playground. Having Claude live unrestricted on
my whole filesystem did not feel right, especially knowing that it could
(potentially) request pretty much any website out there as well. No one wants to
experience prompt injection or random deletions of your database or even your
file system records.</p>I'm building a European serverless hosting platform2026-06-13T00:00:00Zhttps://niklasmtj.de/blog/build-a-serverless-platform/<p>(Or at least I will try to build it)</p>
<p>There is no hosting provider like AWS. Period. Their services are so advancement
that European Hosters are faaaaar away from providing similar managed solutions.
With the current advancements in politics, the need for such services increasing
instead of decreasing.</p>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>