I’ve been using Kubernetes successfully for a while, but I felt like I still didn’t fully understand the difference between an Ingress and a LoadBalancer. Whenever I tried to find an explanation I’d find some vague thing like “they are sort of the same, but not really”. The problem is I was thinking about these things wrong. One is not a replacement for the other; they exist in different planes of abstraction within k8s.
Habits are really important. Long-term goals are too but, ultimately, habits are what you are doing to yourself day in, day out. Your habits determine what goes into your body (your diet), your physical condition (diet and exercise) and your mental condition (sleep and everything else). I think you should make reading one of your habits. The benefits of reading are many. First of all, it’s a great form of entertainment.
I ran into a weird problem where I couldn’t access the OPNsense web UI using an OPT1 interface. The fix is easy, but it can be very confusing and it’s all caused by an unintuitive default. tl;dr If you can’t access the web UI via an OPT1 interface, try disabling the “reply-to” feature: https://docs.opnsense.org/manual/interfaces.html I’ve been playing around with OPNsense inside a VM as I prepare to replace my current pfSense router which is no longer fast enough.
The title of this post isn’t supposed to be provocative. After all, it’s simply the textbook definition of what git is. So why bother stating it? Well, I’ve worked with a fair few junior developers now and I’m starting to see a pattern. Many of these developers have never programmed without git and they see git simply as “the way to get new code into a repository”. A glorified copy, essentially—but an annoying one that is prone to going wrong.
The Norfolk Coast Path (NCP) is a waymarked, long-distance footpath and National Trail in England. It stretches from Hunstanton all the way along the Norfolk coastline to Hopton. I walked it with my partner Vicki over the course of seven days in September 2022. Planning The NCP is around 135 km (83 miles) long and quite flat. The way is mostly on good, well trodden paths with some slower sections on sandy and shingle beaches (but you can often choose to walk inland on firmer ground instead).
At first glance, undo seems like a simple thing expected of most software these days and hardly worth writing about. Indeed, when I say Emacs has a very powerful undo system—probably more so than any other text editor—you may wonder what could make an undo system powerful. So let’s start by considering two big problems most undo systems have: If you undo something, make some changes, then change your mind, what you undid is now lost and unrecoverable, If you make changes in two parts of the same file you cannot undo changes in the first part without undoing changes in the second part too.
When you work a lot on the command line, history can be invaluable. I’ve lost count of the number of times I’ve forgotten how I ran some earlier command and used my bash history to find out what it was. This is one of the big advantages of using CLIs over GUIs. Accessing history The main interface I use to my history is ^P (Ctrl-P). This recalls the previous command from history.
For as long as I’ve been a Firefox user—almost 20 years at this point—it has featured a “quick find” bound to the venerable / (forward slash) key. Following a pattern established by other software like less, man, and vi the slash key was simple: it finds stuff in the current page. Common patterns like this are great. It’s why everyone has agreed on what Ctrl-C and Ctrl-V (or very similar) should do across all operating systems.
Org mode supports icons in its agenda views. The icons can be given as either file paths to images (like SVGs), as image data or as a display property. I use a Nerd Font along with the nerd-icons package in my Emacs config, so I thought I might as well enable icons in my org agenda views. The nice thing about using nerd fonts is this works perfectly in text mode too (assuming you have a nerd font configured for your terminal emulator).
This blog is a static site built with Hugo. Being static means it can be served from a basic, standard (you might say stupid) web server with no server-side scripting at all. In fact, this blog is currently hosted on Github Pages, but it could be anywhere. Up until now, if you wanted to include an interactive map on a static site you were limited to using an external service like Google Maps or Mapbox and embedding their JS into your page.