Web

All about JS, TS, HTML, CSS and other web related topics.

Switching From Let's Encrypt to Actalis  — 

In my ongoing efforts to reduce the reliance on US companies and services, I decided from Let’s Encrypt to the Italian Actalis. Sure, Let’s Encrypt works fine, is non-profit and had a huge impact on today’s internet security, but nonetheless it is still US based and required to comply with US law and government requests. This could also include breaking the chain of trust for certificates while prohibiting to share this information with the public.

Read »
The Grand Redesign  — 

Nine years ago I launched this blog to share some thoughts about software development. Most of the time I have been very strict about content that I posted. If it wasn’t tech, I didn’t post it.

Read »
24hrs format for html inputs in Firefox  — 

My system language on my linux machine is set to English, but as a German raised with 24-hour days, I simply cannot wrap my head around to get the 12-hours am/pm format intuitively. By the time I learned that am is in the morning and pm is in the evening. But when it comes to 12:00 as the mid of the day and 0:00 in the night, I’m lost.

Read »
Atomic Design  — Brad Frost,

Today I stumbled upon Atomic Design. It is some kind of architectural pattern for the user interface. The goal is to build a reusable UI that is easy to understand and maintain.

Read »
Extracting Tailwind constants using theme  — 

When using tailwind, you might be forced to manually write SCSS by hand. With @apply some classes; you can embed whole classes with all their styles into your own rules.

Read »
Hugo Assets placed in Folders  — 

If you need assets for a specific document or blog post, you can simply create a folder with your desired name and place your assets in there. Rename the markdown file to index.md.

Read »
Hugo's Syntax Highlighting is static  — 

Unlinke many other static site generators, the syntax highlighting of Hugo does not use client-side JavaScript, which is great!

Read »
Overriding internal Hugo templates  — 

You can override internal Hugo templates with your own templates.

Read »
Templates for specific folders in Hugo  — 

In Hugo you can simply create a folder within content/ and a template within layouts/_default/. It will be used for the index route of that folder - even if your template did not specify a layout.

Read »
Ultra-fast Hugo GitHub actions  — 

I created a GitHub workflow to automatically build and deploy my website to GitHub Pages.

Read »
Angular *ngFor trackBy  — 

When iterating over an array of objects in Angular, the change detection compares the references of the objects to detect changes.

Read »
WKWebView Configuration Cookies not working  — 

Cookies in WKWebView are broken. When manually setting a Cookie using the Configuration, it will be ignored by the web view.

Read »
Reminder: websites contain weird characters  — 

Copying contents from the web often copies weird characters, like the invisible character U+FEFF or “Zero Width No-Break Space”.

Read »
Nestjs has great swagger decorators!  — 

Nestjs has very great decorators to annotate your routes, dtos and controllers. This makes it really easy to keep your Swagger or OpenAPI documentation up to date.

Read »
XPath is powerful  — 

XPath is a really powerful tool to query XML documents, if you are forced to. But in contrast to JSON queries, XPath does not return the actual values, but the nodes or attribtes you queried.

Read »
Reminder: base64 is not secure!  — 

I have never actually seen serious code that’s running in production, that uses base64 encoding for password for over a decade. Today I did.

Read »
SwiftGen has evolved!  — 

I haven’t used SwiftGen for a long time, but wow, it has improved a lot. I am a bit impressed.

CSS Rotate und Skew  — 

With CSS skew you can simulate a perspective effect. If you want to additionally rotate the element, use rotate first then skew.

Read »
Refactoring RxJS Code in Angular  — 

Do you work with legacy RxJS code? Have you ever revisited your first few observables in your application? Do you need to fix bugs in an app of your learning phase? Are you still learning best practices for writing reactive code? This guide is for you. Even if you don’t have anything to do with Angular, you may find this interesting. I will show you a way of how to improve your reactive streams in order to understand their functionality in many isolated, but tiny steps. Some of them may offer external dependencies, but we will always show, how to do it manually.

Read »
Never miss a dismiss in Ionic anymore  — 

Have you ever experienced, that some loading indicators just don’t want to dismiss and literally stay forever? Maybe while users tried to login? The short story: you probably forgot to dismiss a loading indicator in some cases.

Read »