Category: English rss

Posts

map[]

My parents complained about the WiFi in their house. They had a router in the basement, an access point in the first floor and a mesh-repeater in the ground floor. However, the WiFi performance in the ground floor was abysmal. So they asked me to do something.

Devices

I had two old devices around, a FritzBox 4040 and a TP-Link TL-WR1043ND v2. The latter was already set up with OpenWRT. The Fritzbox however was bricked by past me. After reading the Debricking Guide I nearly lost hope, but then I found AVM provides a recovery tool (Windows only). Without any sarcasm: Fritzboxes are a pleasure to work with.

map[]

I run a website called Notfellchen that list animals that are waiting for adoption. It’s currently restricted to fancy rats in Germany and that for good reason: Running this website involves checking every shelter every two weeks manually. You need to visit the website, check if there are new animals, contact the shelter and add them to notfellchen if they allow it. This takes time. A lot.

This blog post will outline some of the things I did in order to streamline this and make it possible to check every german shelter in 2.5 hours.

map[]

The fediverse instance gay-pirate-assassins.de was down for a couple of days. This postmortem will outline what went wrong and what I did to prevent things from going that wrong in the future.

Timeline

  • 2025-10-05 17:26: Update announcement
  • 2025-10-05 ~17:45: Update started
  • 2025-10-05 ~18:00: Services restart
  • 2025-10-05 ~18:00: GoToSocial doesn’t come up
  • 2025-10-12 ~10:00: Issue is found
  • 2025-10-12 10:30: Issue is fixed
  • 2025-10-12 10:31: GoToSocial is started, migrations start
  • 2025-10-12 15:38: Migrations finished successfully
  • 2025-10-12 15:38: Service available again
  • 2025-10-12 18:36:Announcement sent

All times are given in CEST.

map[]

I spend my day working with Salesforce, a very, very feature-rich CRM that you pay big money to use. Salesforce is the opposite of OpenSource and the many features are expensive. Salesforce business model is based on this and on the lock-in effect. If your company invested in implementing Salesforce, they’ll likely pay a lot to keep it.

So what does an alternative look like? Let’s have a look at Twenty, an OpenSource CRM that recently reached the magic 1.0 version.

map[]

Lately I worked on notification e-mails for notfellchen.org. Initially I just sent text notifications without links to the site. Terrible idea! An E-Mail notification I send always has Call-to-Action or at minimum a link to more information.

I left the system like this for half a year because it kinda worked for me (didn’t suck enough for me to care), and I was the main receiver of these notifications. However, as the platform is developed further and more users join I need to think about more user-centric notifications.

map[]

Introduction

In the last month I improved the mapping of about 100 german animal shelters - not only out of the goodness of my heart, but because it helped me.

Let me explain why: I develop notfellchen.org, where users can search animals in animal shelters, specifically rats, they might want to adopt. The idea is to have a central website that allows you to search for rats in your area.

This is necessary because only a small percentage of animal shelters has rats. As a user, just checking your next shelter doesn’t work. Some users will stop after checking the second or third one and just buy from a pet shop (which is a very, very bad idea).

map[]

Yes the title is correct, but I had nothing malicious in mind!

What this is about

For @qzt@queereszentrumtuebingen.de we include the public feed in a sidbar on the homepage. Initially this was done using the standard API to fetch statuses /api/v1/accounts/{account_id}/statuses and worked like a charm. The problem started when GoToSocial (the fediverse server we use, similar to mastodon) implemented authorized fetch. This is a a good thing! Authorized fetch means, that every call to a endpoint needs to be authorized by an access_token. You get an access token from a fedi account. It’s what fediverse clients like Tusky or Phanpy do on your behalf to get the posts that make up you timeline.

map[]

I recently had to write a lot of SQL code and thought it would be very neat to have some vim shortcuts to execute the current line or the current command. I want to share this with everyone as the second command needed some try-and-error on my part.

Adding the following to ~/.vimrc

map <F2> :.w !psql<CR>
map <F3> :.,/;/w !psql<CR>
map <F4> :w !psql<CR>

will enable you to execute the current line in psql with F2. F3 executes the current line and the next lines until a;. F4 executes the whole file.

map[]

Introduction

I am a HUGE fan of matrix. It allows me to organize my chats in a sensible way, it works with multiple identities and completly anonymous if I want it to. Spaces made Matrix my favourite messenger by far. Yet, there is one feature I have been missing: Disappearing messages!

Regarding the security and usability, only Signal is comparable to matrix. But: Signal offers the possibilty to define disappearing messages for groups and direct messages ranging from 30 seconds to 4 weeks. No Matrix client (to my knowledge) offers this functionality. Nevertheless, it is possible to configure matrix rooms to have the same feature. This needs a special server configuration and the sending of a special event in the room. This post tries to show both steps. If you do not administer a server you can probably skip to Room configuration

map[]

Integration

Following the quickstart documentation I tried to add cactus comments to this blog. I currently rely on infrastructure by cactus.chat as I do not host a private synapse server.

I currently implemented this as a shortcode with hard-coded site title and a variable room name.

Quickstart with HUGO

Register your site

There is a registration system, that ensures that you are moderater in your comment section(s). I order to register your site you have to send a message to @cactusbot:cactus.chat . First try help to ensure that the bot answers you, then register your site e.g. register hyteck. The bot should inform you of success and add you to a moderation room.

map[]

I recently installed an Owncast server and wanted to share my experience. Here it is:

What is owncast?

Owncast is a streaming server that you can selfhost, a Twicht in a box as the developers call it. You host owncast on your server (a small VM with good downlink is enough) and can stream your own own content like you would do on Twicht, YouTube etc…

It has a chat, a admin panel for customization and thats it! You don’t need more to e.g. stream while you are playing minecraft or want to share a talk.

map[]

I had some IoT devices that I wanted to integrate in my monitoring. For this I set up a MQTT broker as the MQTT protocol is a simple solution to send data from IoT devices to a server. This tutorial is focusing on setting up the server, but I also introduce a Python based MQTT client to test our installation.

On your server, first install mosquitto, our MQTT server/broker.

sudo apt-get install mosquitto

Allow standard mqtt port in firewall (if you have ufw installed)

map[]

Although physical meetings are not possible, many groups and organizations are dependent on multilingual meetings. In videoconferencing, concepts such as a whispered translation are not intuitive. Therefore a friend and I have developed a concept for translation in videoconferencing. The concept was planned for a conference with 80 participants who will discuss and make decisions over two days either in large groups or in sub-groups. The videoconferencing software that was used was BigBlueButton (BBB).

map[]

As you man now I work in a research lab. Nearly everyone in our lab needs to do at least some programming. There are trained software engineers next to people how write their first line of code here. As we produce a lot of code that is only scripts not many people used git or any other version control system. For all the good reasons (some are mentioned in the guide) we everybody to learn git in a way that is tradeoff between good version control and fast development. As most of us work on separate projects there is not so much need to collaborate which is reflected ind this guide as I completely excluded branching and merge conflicts. Yet I hope this will maybe help some learners of git or some people that need to introduce git to others.

map[]
16 September / / English / me

TL;DR

  • Hy - Water
  • Teck - Castle nearby
  • Summary: Bad name pun

Why the name Hyteck?

I am not very good at finding names I really like. My nickname changed several times, I was never able to stick to one. As hard as finding a nickname was finding a domainname for me.

Nevertheless I really started to like the name Hyteck. The idea came during a hackathon in Tübingen where two friends and I worked as a team on a project to help elderly adults drinking. We the decided on the teamname HyHack (Hy for Hydration).

map[]

ILMO

is my first bigger FOSS-project. It aims at managing small libraries as found in a department of a university. You can finde the project on Github.

History:

I started to create ILMO for the (rather small) library in the study rooms of mediacal engineering. It contains about 300 books, 120 labcoats and safty glasses and some more stuff. As I was in charge of the lends I started to get annoyed by our paper-based solution. Especially when a bunch of people was trying to lend things it took to much time. Also reminding people to return stuff was unnecessary complicated. Therfore I started to programm this library management tool from scratch. I only reused some basic database and session functions. The project is still a field of learning how to do things for me. Nevertheless after about half a year of development and many tests the system went live in Winter 2018. Since then I fill the bugtracker and slowly improve workflows and add functions.

map[]
14 September / / me / English

Hello world

Welcome to my new blog! I don’t know what this will all be about - but I will sort this out. As a start I decided to blog in English, but I can imagine that there will be a mix between English and German in the future.

The blog is created with the static site generator HUGO and the theme Nederburg.