Go generics are going to be both simple and complex (as of Go 1.18)

It's all but certain that generics will be in Go 1.18 when it'sreleased not too far from now. I don't have strong feelings aboutGo having generics, or about the design that people settled on; thecurrent design strikes me as boring, which I feel is a good thing(and which has been the case since the iteration of the 'contracts'design ). But boring doesn't mean straightforward,as we've seen in other aspects of Go'


Giving things an IP address is dangerous (to them)

We run a DHCP server for those of our internal 'sandbox' networks that are interested in assigning IPs that way(some people prefer static allocation). Most of those networks onlygive static IPs to already known machines, without an 'open' poolof IP addresses for unknown ones. One entirely predictable resultof this (when combined with our variegated user population) is acertain number of unknown machines on various of these networksthat are forever plaintively broadcasting to ask for an IP address,often pretty frequently. One


DNS queries to external sources do fail every so often out of the blue

It's tempting to think that DNS is a reliable environment in generalpractice, where if you're using a good resolving DNS server (includingpublic ones run by eg Google and Cloudflare) and querying for majordomains that have well run DNS servers, you won't see failures. Afterall, if you ask Google's 8.8.8.8 for the DNS A record (IP address) ofamazon.com, you would expect it to always work unless something terriblehas gone wrong


Modern public TLS is a quite different thing than it used to be

If you're not deeply involved with TLS, it probably seems that thestate of public TLS today is much theway it used to be a decade ago, or even five years ago, includingthings like the fundamental problem with TLS on the web (which is that your browser trusts a tonof Certificate Authorities). This is not actually the case, for atleast three reasons. Two of them are logistical changes, while thethird is a dramatic change to the security of TLS in practice.

The first


Intel

Sorting out the situation with Intel desktop CPUs and hyper-threading

One of the reasons I've been thinking about the advantages ofhyper-threading is that I had absorbed theinformation that in another one of Intel's market segmentationmoves it had moved away from hyper-threading on Core desktop processors except for the top end (and expensive) Core i9s. It turns out thatthis is not entirely the case, although the situation is somewhatconfusing.

In the Coffee Lake (8th generation CPUs) generation, the i7 was the top of the desktopline


I'm using journalctl's --since option now to speed up checking logs

I've probably had an ambient awareness of journalctl 's --since option to show the systemd journal since some particulartime ever since I read enough of the manpage to find options like' -u ' ( used to see only logs for a single unit )and ' -b ' (used to select which system boot you want to startfrom). But for a long time I didn't really use it, even when Imentioned it in my entry on ' -u ' . Recentlythat


When I might expect simultaneous multithreading to help

Let's accept for the moment the idea that simultaneous multithreading canhelp under the right circumstances (Intel apparently sometimesclaims a potential 30% benefit from hyper-threading , for example). Itthen becomes interesting to ask when you might expect SMT to helpout your machines and when it's probably not going to do anything,partly because if you don't expect much from SMT you should ignorethe extra CPUs you theoretically get from SMT when consideringchoices of machines.

( There's at least


Logs are invisible (at least most of the time and by default)

Suppose, hypothetically, that you have a program that does something(perhaps it's a metric collection agent), and you know that it'spossible for it to encounter a problem while in operation. So youdecide that if there's a problem, your program will emit a logmessage. Now, as they say, you have two problems, because logsare invisible . Well, more specifically, things reported (only(in logs are invisible in almost all environments.

The reality of logs is


Pipx and a problem with changing the system Python version

I use pipx on my work laptop , among other places, which Iupgraded from Fedora 34 to Fedora 35 today. Afterward, my singlepipx installed program didn't work, which was basically what Iexpected due to the familiar pip issue with Python versions ; Fedora 34 has Python 3.9, while Fedora 35has Python 3.10. Since virtual environments for one don't work withthe other, the virtual environment for my installed programs couldn'tfind any Python packages


HTTPS is still optional, at least sort of

I was recently reading this article ( via ). Ihave a number of reactions to it, but today's reaction is to thesmall portion of its argument that the need for HTTPS certificaterenewal (and HTTPS certificates) makes modern websites somewhatdynamic in practice in that you can't just abandon them and necessarilyhave everything keep on working. My counterpoint is that HTTPS is stilloptional for certain sorts of sites, even here in early 2022.

Certainly what you can do on a plain HTTP