About the author

My name is Eugene, but on the Internet I often go by Dae. Welcome to my personal technical blog.

I’m an IT professional, web developer, and producer/investor who works with small teams and SMEs in Europe in various roles involving IT, management, marketing, and design. I’m passionate about helping small businesses achieve big goals with the help of cost-efficient and non-bloated technology.

My IT company: https://dae.io/
Connect with me on LinkedIn

Continue reading

Posted in Journal | Leave a comment

Authentik: set custom username for OAuth application (e.g. for Apache Guacamole) via a property mapping

If you use Authentik (https://goauthentik.io/) as an OAuth authentication provider for your Apache Guacamole (https://guacamole.apache.org/) instance and you’d like to customize usernames for Guacamole, here’s how you can achieve this. The steps described below may work for other applications, wired with Authentik via OAuth, too—not just Guacamole.

Continue reading
Posted in How to’s | Tagged , | Leave a comment

Guacamole 1.4: “Creation of WebSocket tunnel to guacd failed”

Problem: Guacamole 1.4 shows “internal error” when making any connection and in /var/log/tomcat9/catalina.out you see something like:

ERROR o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Creation of WebSocket tunnel to guacd failed: java.net.ConnectException: Connection refused (Connection refused)
Continue reading
Posted in Solutions | Tagged | 2 Comments

Guacamole 1.4: “Log in failed” for RDP connections

Problem (Guacamole 1.4 while connecting to an RDP server):

Log in failed. Please reconnect and try again

…and in logs:

guacamole guacd[2390]: RDP server closed/refused connection: Security negotiation failed (wrong security type?)
Continue reading
Posted in Solutions | Tagged | 1 Comment

Serving acme-challenges from two web-servers sharing the same domain via nginx

Say you have nginx listening on port 80 and sharing a domain with another web-server (e.g. Proxmox web-server) that is listening on a different port, and you want to route HTTP-01 (“acme-challenge”) requests to that second web-server.

Continue reading
Posted in How to’s | Tagged | Leave a comment

Confluence: broken links and macros after migrating Postgres database

Problem: after migrating Atlassian Confluence PostgreSQL database to another server, you’re seeing lots of broken links (in red color) and some navigation macros not working properly (showing errors such as “page not found”).

The first thing Atlassian themselves and their community experts recommend doing in such situation is rebuilding the content indices as described here. However, that didn’t work for me.

Continue reading
Posted in Solutions | Tagged | Leave a comment

Zola + Vite demo

How to neatly wire up Zola (static site generator) with Vite (frontend build tool) without special plugins (a minimal demo).

Posted in How to’s | Tagged , | Leave a comment

Postgres database on a separate drive

In psql:

CREATE TABLESPACE mytablespace LOCATION '/Volumes/MyVolume/postgres';
CREATE DATABASE mydatabase TABLESPACE mytablespace;

Kudos to GregHNZ for posting this on StackOverflow.

Continue reading
Posted in How to’s | Tagged , | 2 Comments

Think twice before you buy WD_BLACK D50 Game Dock for your Mac

If you’re considering getting a Thunderbolt 3 dock called WD_BLACK D50 Game Dock (e.g. # WDBA3U0000NBK-EESN) to use with a Mac, think twice.

Continue reading
Posted in Journal | Tagged | 2 Comments

Django + Vue CLI + Webpack demo

How to wire up a Vue CLI app and Webpack to Django templates with routing, hot reload, code-splitting and without any extra plugins (a minimal demo + explanation).

Posted in How to’s | Tagged , , | Leave a comment

Proxmox: QEMU Guest Agent is not running — qmp command ‘guest-ping’ failed

Hey fellow Internet dweller, are you worried about the following message appearing during backup of a suspended virtual machine in Proxmox?

...
INFO: suspend vm
INFO: creating archive '...'
Qemu Guest Agent is not running - VM ### qmp command 'guest-ping' failed - got timeout
...
Continue reading
Posted in Solutions | Tagged , | 3 Comments