← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 116
  1. Over on the Fediverse I said something: It has been '0' days since I've been pointedly reminded¹ that URLs aren't strings. ¹ it wasn't painfully as such because the only thing tripping over it was Bingbot doing bad things, but.

  2. I wrote the other day about an irritatingly incompatible change in Python 3.14's argparse, where if you deferred setting a default value until later, certain argparse things would now error out.

  3. What's now a long time ago I wrote an entry about an oddity in our network setup that was the result of historical evolution.

  4. Today I discovered that Python 3.14 contains an irritating, incompatible change to historical argparse behavior, which I can best illustrate with a little piece of code. import argparse def demo(): p = argparse.ArgumentParser() p.add_argument("-n",

  5. As a system administrator, I spend a certain amount of time spelunking through the history of some particular file in Git because I'm trying to understand how it evolved, what it used to do, when something was introduced or removed, and so on.

  6. Many years ago I wrote an entry about a deep dive into the Linux OS memory use of a simple Go 1.11 program.

  7. Suppose, not hypothetically, that you're operating a compute server and its kernel is logging a series of messages to the effect of: __vm_enough_memory: pid: 719830, comm: node, bytes: 221184 not enough memory for the allocation (The PID, the 'comm:' com…

  8. Sometimes you have to try to understand what's going on inside a shell script or a collection of them.

  9. Recently an interesting commit landed in the GNU Emacs Flycheck package, which shows diagnostics obtained from 'checkers', including Emacs language server clients such as Eglot (which are in turn getting their diagnostics from language servers for various…

  10. On the Fediverse, someone recently ran a poll about whether people could live without their (smart)phone.

  11. Suppose, not hypothetically, that you have some Ubuntu servers that have local data filesystems (with stuff you want to keep) on separate disks from your system disks.

  12. Python 2 is famously relaxed about mixing tabs and spaces in Python code, although at the same time I believe it rigidly assumes that tabs are always at 8-space intervals (some editors offer you options here).

  13. Over on the Fediverse, I said something a bit weird (and possibly incoherent and wrong): My GNU Emacs tiny kingdom for something that only ran at byte-compile time purely so I can pacify ELisp checker errors that only happen then (in a file that is not by…

  14. Suppose, not hypothetically, that you're doing something inside a systemd service; for example, it runs a script with some environment variables set, and you want to get a full dump of those environment variables.

  15. Recently on the Fediverse, someone wondered if an out of the box build of Apache (with minimal tuning) could handle 10,000 simultaneous HTTP requests (the old famous 'C10K' target, which definitely was a challenge back in the days).

  16. Suppose, not entirely hypothetically, that you think you've found a bug in a package and that you have a complicated Emacs environment.

  17. The Apache web server has a quite useful server status page, that I think everyone running Apache should enable (and then protect access to, because it contains potentially sensitive information).

  18. Over on the Fediverse, Mike Sheward shared some words of network engineering wisdom: i’ve said it before and i’ll say it again; you’re not a network engineer unless you’ve moved a ceiling tile to trace a cable and had a small netgear switch fall on your h…

  19. Back when I wrote about using tc to limit the outgoing bandwidth of a web server, I expressed a wish: For our purposes it would be nice to do something sophisticated to aggregate all HTTPS requests from a single IP address together in a single 'flow' for…

  20. I recently shared a war story about how we had load problems on a new web server but not an older one because of a missing firewall rule.

  21. When I wrote about how early SunOS did diskless workstations, I got a good question in a comment: Obviously this is slow, but having an indeterminate number of users sharing a circa 1982 mechanical hard drive sounds like a problematic amount of slow.

  22. Today, for reasons outside the scope of this entry, we needed to do unscheduled reboots on a number of Ubuntu 26.04 servers that people log in to and use.

  23. I mentioned recently that we'd moved a very popular data set from our main web server to a new one that only handled that data set.

  24. GNU Coreutils are what they sound like; a GNU version of a bunch of basic, core Unix programs such as 'mkdir', 'head', 'chmod', 'cp', 'mv', and so on.

  25. I mentioned recently (when I dug into systemd and your user D-Bus session bus) that some of my machines were set up so that they sometimes started another D-Bus session bus daemon for me.

  26. Argc and argv in early Research Unix

    Recently I was peripherally involved in a Fediverse discussion about (C's) argc and argv (the arguments to your main(), the start of a C program).

  27. When I wrote up how V7 gave us environment variables, I mentioned that up to V6, exec(2) had a limit of 510 bytes of command line arguments (including argv[0], the nominal name of your program).

  28. These days, a lot of things want you to have a (user) D-Bus session bus (to go with the system-wide one), which will listen for connections on some socket (the bus address).

  29. An exciting change landed in the development version of Prometheus recently, making PromQL arithmetic expressions in time durations a standard feature instead of an experimental one.

  30. Over on the Fediverse, I had a little exchange recently: [other person in a conversation]: I still haven’t forgiven Sun for NFS.

  31. Finding an outdated Git mirror host

    Suppose, not hypothetically, that you have a situation where there's a number of distinct hosts backing some Git repository, such as all of the IP addresses of https.git.savannah.gnu.org, and one or more of them seem to be outdated or not working right.

  32. Suppose that you (I) write an Apache configuration stanza to make some settings conditional on the module that they're from, so you can enable and disable the module without blowing up your web server configuration (or having to edit it).

  33. Today I shared a brief war story on the Fediverse: Today's new and exciting failure mode for a DHCP server handing out leases to dynamic clients: have something on your network that answers pings for absolutely every IP address (yes, it was broken).

  34. Suppose, not entirely hypothetically, that you're installing a server with two network ports and during the (Linux) installation, a third network device shows up with a funny name like 'enp1s0f4u1u2c2', which is a USB Ethernet device (despite you not havi…

  35. It started with a discovery about my access to the official Emacs repository: This is my face when my home desktop appears to be persistently talking to one instance of https.git.savannah.gnu.org that is many days out of date and out of sync on the GNU Em…

  36. In a comment on my entry about how sometimes it's the network that's the problem, I was asked what networking workstations typically have on our networks (and if we still use 100 MBit for low speed things).

  37. Suppose, not hypothetically, that you have a web server that's using as much of your server's bandwidth as it can get and you would like it to use less bandwidth than that, so that you can get a word in edgewise (for backups, for example) or just because…

  38. We've recently been having mysterious problems getting some of our backups to perform well.

  39. Suppose that you're generating and transferring a file over ssh, for example to create a tar archive of something on a remote server and save it locally: ssh [...] rem-server 'cd /var/log && tar -cf - .'

  40. Go's maps are famously implemented as hash tables, which is the only reasonable choice.

  41. Suppose, not hypothetically, that you use rsync to push an encrypted backup file from the machine it's created on to a fileserver, where it will be backed up by your regular backup system.

  42. There are a variety of ways to automatically or semi-automatically install systems, especially Linux systems and especially over the network.

  43. Once upon what's now a long while ago, we had a bunch of SunFire X2100 and X2200 1U servers (for example, they were used in our first generation ZFS fileserver).

  44. For a long time, I ignored kexec both for my own personal machines and at work.

  45. A while back I wrote about how claiming to be Googlebot is now a bad idea, where I noted that there were (reports of) malicious crawlers out there impersonating Googlebot and other legitimate big crawlers and at the same time, Google and other crawler ope…

  46. Recently an interesting series of commits landed in Prometheus with the goal of reducing the size of the Prometheus binary by allowing the Go linker to remove more unused code (something it's quite good at in general, although the linker is also deliberat…

  47. One answer to how your Ubuntu 26.04 server boots when its root filesystem is on a software RAID array is that it just does and you don't need to think about it.

  48. Many BMCs will tell you what hardware your server or other system has in it.

  49. Suppose, unfortunately not hypothetically, that you have some machines that the Ubuntu 26.04 LTS installer kernel sometimes gets a kernel oops during a network based reinstall (we don't think this is a hardware flaw, but who knows; these machines were sta…

  50. One of my standard little scripts is something I call sshup, which waits for a machine to be 'up' by periodically checking to see if its SSH port is responding.