As part of my recent obsession with self-hosting all the things, I set up a DNS server on my home server box. Initially, I used DNSmasq but that turned out to be extremely unreliable. Now I am running CoreDNS, based on the AdGuard DNS server which essentially packages up some useful plugins for CoreDNS into one binary. This is how I did it.
I came across this interesting transcript of a talk given by Chris Granger. In it, he describes the journey of Eve, a programming language that was meant to democratise programming and make it easy for non-technical types to learn and develop their own systems. This isn’t an original idea - it’s been attempted many different times. And, just like those other systems, it ultimately failed in it’s goals. In my eyes, there are two reasons for that.
To entertain myself, I decided to try setting up Sandstorm, a nice self-hosted platform for web applications. It sells the dream of not having to share your private data and run all basic web services (chat, email, etc.) locally instead. A laudable goal, for sure, in an era when every single major tech company wants to swallow up your most personal details for profit. But I quickly hit a snag - authentication.
I’ve been developing with Clojure full-time since 2015 and it’s been a great experience overall. I’ve already posted about some of the features that really appeal to me but there are flaws too. Technical flaws, sure, but also organisational flaws. I was thinking about this due to a recent Twitter mini-controversy sparked by an episode of the Apropos podcast.
There was an interesting thread recently on Hacker News about advice to give to junior developers. A lot of interesting feedback cropped up but I want to put my two cents up for posterity.