blog What’s in a (folder) name

Quite a long time ago (long enough ago I do not remember the original source) I read a blog post or poll about various folder names on the computer. I recently remembered it and thought about writing it down.

Projects

I believe when I was in university, they had us using Eclipse as an IDE to write Java code. By default, Eclipse defaulted to a ~/Projects folder, so for many years that has been my default directory for my own projects. When I moved to web development and PHP and then later into Python, I used other editors like TextMate or Atom but I kept using ~/Projects for any of my coding projects.

Read More →

blog Removing Distractions with DNS

Many sites are designed to snare your attention and keep you scrolling for as long as possible. This is often not particularly compatible with taking just a short break. Because so many sites are designed with patterns to hijack your brain, often we need to be proactive about not letting them get the initial hook.

For a while now, I’ve been using DNS to help me out. A few months ago, I started using NextDNS to help me with that. With my heavy internet usage (and possibly a misconfiguration on my side) I exceeded their free tier a bit each month,but I was happy enough with their service that I became a subscriber. (They have an affiliate program though I doubt I would get much traffic from my link.)

Read More →

blog GitOps for My DNS

I’ve used Namecheap for many years for hosting my DNS. It’s nothing particularly special but it works well enough for my needs. When managing DNS entries it can sometimes be a little annoying doing everything on their web page. I’d rather be able to script something. After thinking about it for a while, I finally created something.

Namecheap’s API is implemented in XML which makes parts of it feel a bit old, but our use case is fairly simple. We can use get-hosts to download a backup of our DNS entries for history, and then set-hosts to publish our new values. I wrote a class to handle the basic Namecheap API calls (which is mostly formatting them and wrapping the requests library).

Read More →

blog Growl and MQTT

Many years ago before notification center, there was Growl . It was widely supported by many different MacOS applications, and had many nice customization options for the toaster popups. Eventually Apple released notification center and Growl slowly faded away, but I still appreciated the ability to send a remote notification and continue to use prowl for many of my projects.

Read More →

blog Rewrite for That Last 10%

One frustration of being a developer is becoming fairly opinionated on how one thinks things should work. When my family have tech issues, if they cannot figure things out in a short time, they will often accept it as-is and move on. Being a developer, I often experience an irrationally large annoyance and spend more time than I should trying to figure things out or trying to change things how I think things should work.

Read More →

blog Packaging a Django Application

Our goal when packaging up a Django application, is that we can use it as part of an existing application, or we can run it by itself in a standalone mode. To this end, I have over time, started to package my django applications in the following way. You can see diffs of all the commits in the example-django repository.

Start with a Makefile and setup files

Instead of using tools like Poetry and Pipenv , I find it easier to just create a basic Makefile to use as the entrypoint.

Read More →