All posts by Andreas Heigl

About Andreas Heigl

father, husband, developer, architectural daughtsman, brother, master of forestry sciences, scout, rescue diver

Outlook.com and self-hosted email-servers

I am running my own email-server for some time now. It started out of curiosity and went live after my hosting-provider got hacked several times and I then was sick of it. It’s not as hard as people make one believe when it’s just for a few email-addresses. Still I check the server every now and then.

The setup and what I do in between might be a separate blogpost (or actually several) but today I just want to write about one thing that nagged me really deeply and where the solution was pretty easy. I had to think about it when Rob Allen today wrote about DKIM, SPF and DMARK.

What happened

Whenever I wanted to send an email to an outlook.com (or outlook.de or hotmail.com) address, that email just didn’t get through. It was considered spam and I received a nice feedback in the mailserver-log:

Continue reading Outlook.com and self-hosted email-servers

Of Tools and Dependencies

Over the last few weeks I had a few discussions with other developers all along the same line of thought: How to install development-tools in a project.

Why? You might ask. Composer is making that very easy after all. When I need phpunit in my project to run unittests I use composer require phpunit/phpunit and composer itself will ask me whether I want to install that as a dev-dependency. How awesome is that! So why do we need to talk about that?

Well. Let’s put it that way: When you do that, and perhaps not only with phpunit but with other tools as well, you tie your production code to your development tools.

Continue reading Of Tools and Dependencies

Do not be alarmed – Or do!

This morning I watched a video on Rusts Error-Handling that Larry Garfield posted on Mastodon.

The essence – at least to me – is that Exceptions throw one out of the normal flow of execution just like GOTO does. And we all know that GOTO is bad. SO how does Rust handle Errors, when Exceptions are bad and we always want to return a defined type?

Rust uses Result “enums” instead of a dedicated type that a function returns instead of throwing an exception or returning null. They contain either the expected return value or an Error.

I am not a mathematician. So I might be getting things wrong from a logical point of view. But as a developer I do have a slightly different view on the topic of Error and Exception handling.

Continue reading Do not be alarmed – Or do!

Hair

With the start of this year my better half changed cancer treatment. Or should I say “we changed treatment”? After all, she is the one taking the shot, she is the one fighting her body, she is the one dealing with the fatigue, she is the one affected by the treatments sideeffects.

And we as a family do our best to support her. Comfort her. Challenge her. Bear seeing her struggle without any means of help. But that’s perhaps for another day.

Why did she change treatment? Well. When your oncologist tells you that the metastasis in the liver need a tad more attention, you provide them attention.

Continue reading Hair

Debug LDAP via TLS

Yesterday I had to do some debugging to find out why an LDAPS connection didn’t work.

The main trouble was that the authLdap plugin for WordPress didn’t work for someone. After a bit of back and forth we figured out that it worked for other applications but not for PHPs LDAP-extension.

The error they got was the usual cryptic Can't contact LDAP server which says nothing at all as that can mean so many different things.

Continue reading Debug LDAP via TLS