today's howtos
-
Chris Coyier ☛ A Couple of New CSS Functions I’d Never Heard Of
Apparently, this is just a first step on the way toward a more robust schemed-value() function that can handle more than just those two themes and more than just colors.
-
University of Toronto ☛ WireGuard is pleasantly easy to set up on smartphones (if you're experienced)
For reasons beyond the scope of this entry, we recently got new Android smartphones at work. In the process of setting mine up, I (re)discovered that from Android 12 onward, there's no native way to set up either of our types of VPNs (OpenVPN and L2TP). Since I was going to need a client and go through extra hassle, I decided to try to make WireGuard work, since I like WireGuard better than OpenVPN. The experience was so pleasantly easy that I then did it on my own iPhone.
-
University of Toronto ☛ (Minibuffer) completion categories in GNU Emacs and forcing them
Minibuffer completion is the most common type of completion in Emacs and it's invoked in all sorts of situations and thus to complete all sorts of different things. As part of this, Emacs completion has the concept of a completion category that can be used to customize aspects of completion in both basic Emacs (eg, also) and in and for third party packages like vertico (eg) and orderless. My personal experience is that this customization can be very useful to make me happy with third party packages; the default vertico experience is not what I want in some types of frequently used completions.
-
APNIC ☛ Rocky road towards ultimate UDP server with BPF-based load balancing on Linux: Part 2
Due to the nature of traffic in my particular case (where the majority of traffic is coming from a single device), the standard Linux kernel load balancing algorithm did not distribute it well and we were limited in options to use more threads to process UDP traffic (for tests in this series of posts I used Ubuntu 22.04 with Linux kernel 6.2.0-26-generic).