Go 1.21 may have a clear(x) builtin and there's an interesting reason why

Recently I noticed an interesting Go change in the developmentversion , whichadds type checking of a ' clear ' builtin function. This was thefirst I'd heard of such a thing, but the CL had a helpful link tothe Go issue, proposal: spec: add clear(x) builtin, to clearmap, zero content of slice, ptr-to-array #56351 . The title basicallysays what it's about, but it turns out that there's a


Understanding how fast Ethernet really is (and in what units)

I've been around computer networking for a long time, but in allof that time I've never fully understood what the speed numbers ofthe various Ethernet standards actually meant. I knew what sort ofbandwidth performance I could expect from '1 Gigabit' Ethernet asmeasured on TCP streams, but I didn't know exactly what '1G' meant,beyond that it was measured in bits (for example, was it powers often G or powers of two G). My quiet confusion was


Monitoring if our wireless network is actually working in locations

We provide a multi-building wirelessnetwork to the department (in addition to the university wide wirelessnetwork provided by the central IT people). For reasons beyond thescope of this entry, we don't have much innate visibility into how thisnetwork is doing in the various places it exists. This means that ouronly current ways of finding out whether or not it's currently workingright somewhere are to wait for people to notice and then report problems( which doesn't always happen ) or goingthere


It's useful to think about a 'ground up' recovery of your environment

One of the things that many system administrators don't like to thinkabout is a total loss scenario for their entire environment. For peoplewho run physical hardware, what you'd do if your machine room or datacenter had a fire; for people with virtual hardware, what you'd doif your entire cloud (short of your 'offsite backups') was wiped ordeleted. Often we push this off as Disaster Recovery and then punt onit, because a real DR plan is both a lot


Firefox will now copy non-breaking spaces from HTML and that can be a problem

For many years, Firefox's copy and paste had a limitation or bug,which is that if you selected something that contained non-breakingspaces and copied it, the non-breaking spaces turned into regularspaces when you pasted. This was traced in bug #359303 and then bug#1769534 .In recent Firefox Nightly builds, Mozilla (finally) changed thisbehavior, but the change has created a new issue for some people, me included .At


I wouldn't use ZFS for swap (either for swapfiles or with a zvol)

As part of broadly charting how Linux finds where to write andread swap blocks , I recently notedthat ZFS on Linux can't be used to hold a swapfile. David Magda noted that you could get around this bycreating a zvol and using it for swap .While the Linux kernel will accept this and it works, at least tosome extent, I wouldn't rely on it and I wouldn't do it unless Iwas desperate and had no other choice. Fundamentally, swapping toZFS is not


Questionable TLS Certificate Authorities and Certificate Transparency

One piece of web security news of the time interval is that TrustCorSystems is, to quote the grugq's newsletter , "a root certificateauthority with intelligence community ties that's registered inPanama and operates out of a UPS Store PO box in Toronto" ( also , also , also ). Concern over TrustCor is apparently not entirely new , but forwhatever reason it didn't bubble back up in the modern era of browsersbeing more strict on CAs until now.

The good news is that the modern


How Linux swap files (and swap partitions) find where to read and write

In a comment on my entry about how swap files don't update theirmodification time when they're used for swapping , Stephen Kitt noted:

Swap files have a specific code path in the kernel: when they areadded, the kernel lists the blocks which they contain, and any actualswap I/O is done directly to the underlying block device. [...]

This made me curious how this worked and how sophisticated thekernel's process for it was. The answer turns out to be


The problem of (Unix) swapfiles and server backups

I recently wrote about how we're moving away from swap partitionsto swap files on our Linux servers ,since swap files work fine (and are what Ubuntu defaults to) andswap partitions are slightly more work to set up. However, a potentialdrawback of swap files recently occurred to me. Suppose that you'reusing swap files, and also that you're making backups of the rootfilesystem of some of your servers (because they're 'pets' insteadof cattle, and this way you


Linux swap files don't seem to update their modification time when you swap

I recently wrote about how we're moving away from swap partitionsto swap files on our Linux servers ,since swap files work fine (and are what Ubuntu defaults to) andswap partitions are slightly more work to set up. For reasons thatwill be covered in a later entry, today I looked at the modificationtime (and 'ctime', the inode change time) for those swap files.Somewhat to my surprise, all of them had the modification time ofwhen the system was installed, which in