I posted a link to my blog on Slack and was greeted with HTML entities right in the website summary. I could see certain characters like the apostrophe ’
being encoded as ’
.
Here’s how I fixed this problem.
I posted a link to my blog on Slack and was greeted with HTML entities right in the website summary. I could see certain characters like the apostrophe ’
being encoded as ’
.
Here’s how I fixed this problem.
I’ve been running my own mail server for well over ten years now. It’s pretty old, so it’s hard to make changes to it, but it’s running in Kubernetes. I was using a mixture of Postfix, OpenDKIM, OpenDMARC, and Amavis for spam filtering with SpamAssasin, but it wasn’t very good at catching spam. Instead, its time move to rspamd. It’s much newer and encapsulates DKIM, DMARC, DNS based blacklisting, bayesian filtering, etc. all in one single tool.
Here’s my notes on migrating, what it took to get it going and some tweaks I made.
This Christmas season, I decided I wanted to play with programmable light strings and see if I could create an interesting light show on the front of my house. I stumbled across xlights, an open source light show sequencing program and got to work.
I work at AWS, and predictably we use a lot of AWS cloud services. In many cases, when an engineer looks for a computer platform, they’ll often go directly to AWS Lambda because “it’s Serverless” with the justification that it’s simple and the best option no matter what and not want to explore alternatives.
The FaaS (Functions as a Service) compute style is great for a certain category of system problems–ones in which you don’t need strict control over how it executes. AWS Lambda only exposes limited controls and depending on what your workload is like, you could run into unexpected scaling and failure modes. There are alternative compute environments that avoid those limitations that you should know about.
Today, I took a flight and tried to use the in-flight Wi-Fi, but I was unable to login to the the network. Nothing loaded or opened. I poked around in ip route
and found two different routes that conflicted created by the Docker daemon. Looking at the following route, there’s two routes: 172.19.0.0/23
and 172.19.0.0/16
. These correspond to: 172.19.0.0 - 172.19.1.255
and 172.19.0.0 - 172.19.255.255
.