Ctrl blog

Skip to main content
Daniel Aleksandersen

  • Latest
  • Newsletter
  • Topics
  • Archives
  • Patrons
  • About
A normal Google Chrome window with a smaller JavaScript-opened window in front.

Mitigate “tabnabbing” without breaking window.open() features

Windows opened from your website can redirect the opening tab to a new destination. Mitigations break window.open() functionality like sizing and positioning.

Two speech-bubbles next to each other. One contains an “A” character and the other a “Å” (a-ring) character.

Semantic markup improves the quality of machine-translated texts

Text-level semantic HTML can improve machine-translation of texts containing program names, programming instructions, file paths, URIs, etc.

Micropayments dialog from the Coil browser extension saying that “This site is Web-Monetized”.

How Coil and Web Monetization works compared to Flattr

I explore the new Coil micro-payment system and browser extension, based on the proposed Web Monetization web-standard, and compare it to Flattr.

A close-up photo of the word “VA-QLED” on a VA-QLED display panel.

Text rendering doesn’t look too good on VA-QLED display panels

“Quantum pixels” works by turning off half of the pixel. This can badly affect text-rendering on VA-QLED displays like the one in the Samsung C24FG70.

The Syncthing logo in front of some scattered white paper sheets.

Why Syncthing kept deleting my re-created files

I finally worked out why files seemingly at random kept disappearing from my Syncthing-synchronized directories.

A 120 cm PC fan installed on a shelf inside a refrigerator.

Normalize fridge temperatures by installing a PC fan

I installed a 120 cm 12-volt PC-fan in my aging Electrolux combo fridge-freezer. The upgrade cut its power-bill by 29 % and more stable temperatures.

Two similar example HTML links. The first one ends in “#src=feed” (shown in red) and the second one ends with “#src=email” (shown in green).

Make changes to static content with response body substitutions

Tweak the HTTP response body with regex substitutions. Apache HTTPD configuration example shows changing the URL tracking parameters in a syndication feed file.

Envelopes with a cut-out and colored “@” symbols laying on top of them.

Your online identity is owned by your email provider

Your email provider owns your online identity by controlling your email address. You can’t port your email address to another provider as with phone numbers.

An Abbott FreeStyle Libre flash-glucose monitoring sensor installed on the back of the upper arm.

What’s it like to wear a FreeStyle Libre glucose monitoring sensor?

Experiences with showering, sleeping, and living with a FreeStyle Libre 2 Sensor glued to the upper arm for up to 14 days. The convenience trumps all.

A microphone on a microphone stand.

How to block programmatic podcast ads

Here is how you can block most programmatically inserted ads, or “dynamic ads”, in your podcast subscriptions.

The Sleep Debt Tracker app icon; three Zs in a dark gray circle.

Unobtrusive sleep tracking app for Android

Sleep Debt Tracker is a simple Google Fit-compatible Android app that assumes you’re sleeping in the hours when you don’t use your phone at night.

A man swirling a torch in front of him forming a wall of fire.

How to switch firewalls from FirewallD to UFW

A quick tutorial for migrating from FirewallD and getting started with the Uncomplicated Firewall (UFW).

  • Next
  • Previous
Get weekly email updates from Ctrl blog
  • Twitter
  • Newsletter
  • Feed
  • Feedly
  • Newsblur
Ctrl blog by © 2021 Daniel Aleksandersen.
  • About
  • Privacy Policy
  • Colophon
  • Licensing