fogbound.net




Thu, 20 Apr 2023

Taming logwatch on Linux*

— SjG @ 6:59 am

*This is actually on Rocky Linux / CENTOS / RHEL, but will likely work on others.

Logwatch can be a nice tool for keeping an eye on your servers. It goes through your logs and creates a nightly aggregate email containing information to keep you apprised of various important details. It can be good to bring things to the attention of lazy / overwhelmed sysadmins like me.

Where it fails, though, is where it overwhelms you with useless information. There are different output level settings, and if you turn the detail levels down far enough, it helps a lot. However, with certain configs and certain OSes, you still get overwhelmed with non-actionable information. Here’s how to fix a few of those.

Crontabs. In Rocky Linux, cron logs a success message that contains a process number, which means the default log is filled with lots and lots of lines like session-685197.scope: Succeeded.: 1 Time(s) which logwatch happily throws into the nightly email. Most searches tell you to edit your /etc/logwatch/conf/ignore.conf file and add the following line:

session-.*scope: Succeeded

This doesn’t work for me. Further research indicates that the ignore.conf file wants a Perl-style regular expression. The recommendation above is sort-of-Perlish, but what ended up working correctly for me was putting the following line in my ignore.conf:

\s*session-(.*?)\.scope: Succeeded\.(.*)

HTTP. For some reason, someone thought having a long list of hostile IP addresses would be helpful. Maybe to manually block them? Seems like a hopeless task. Check out /usr/share/logwatch/scripts/services/http around line 596… and un-comment out the conditional.

$flag = 1;
foreach my $i (sort keys %ban_ip) {
   if ($flag) {
      print "\nA total of ".scalar(keys %ban_ip)." sites probed the server \n";
      $flag = 0;
   }
   #if ($detail > 4) {
      print "   $i\n";
   #}
} 

sshd. I know there are a lot of hackers, script kiddies, and bots out there. I don’t need to see the long list of people who tried and failed to log in with ssh. Unfortunately, the detail level setting for sshd aren’t very helpful. I ended up editing /usr/share/logwatch/scripts/services/sshd and liberally sprinkling my own if ($Detail > 4) {} barriers starting around line 500. Hacky, I know. Also will be clobbered with the next logwatch update. Yuck.

Maybe it’s time for me to submit a bunch of pull requests.


Sun, 9 Apr 2023

Ugh, that Old Yak-shaving Refrain

— SjG @ 12:28 pm

Went to update an image gallery with some new pictures. I wrote the gallery generating code four years ago, but the version of PHP on the server has been updated and one of the libraries I use evidently relies on deprecated syntax ($string{$char_index} for the curious, which now would be $string[$char_index]). So I tried to check out the repo from GitHub, only to find they’ve updated their SSH host keys, so I need to fix that before I can fix the code problem. So I tried to update that, but had packed my Yubikey off in a drawer in the office…


Mon, 30 Jan 2023

Back on my BS again

— SjG @ 8:45 pm

Which BS is that, I hear you ask? With so many possible domains to choose from?

It’s my interactive geometry tiling BS this time. In the simplest description, the program should provide a triangle and allow the user to draw on it, and then expand that into a tiling across a whole plane. Eventual goals include different kinds of triangles and tilings (30-60-90 triangles into hexagons, 45-45-90 triangles into squares, and then later stuff that’s not quite as regular and that will form octagon/square tilings, and so on), weaving of the lines that are drawn, and so on.

It’s sort of embarrassing to see how many times I’ve gone and worked on this same basic idea without ever having really completed it. I remember doing stuff in Turbo-C on a DOS PC for drawing in VGA resolutions (ooh! ahh!) in the early 90s, and then again in a Java AWT applet in the late 90s. I have various residues of Adobe JSX scripts to do similar stuff in Photoshop and Illustrator, trying to use their discontinued ExtendScript interface. I have an attempt written in Processing. I have at least two previous attempts in JavaScript using Canvas.

Well, here I am, doing it in JavaScript and (quelle nouveauté!) SVG.

So far, I have the 30-60-90 triangles working. I can set pen widths and colors. I can save/load works-in-progress, and render and export the SVG files. I don’t yet have editing or removal of lines implemented. I haven’t even started thinking about the weaving problem again.

Watch this space (but not too closely) for updates. Maybe I’ll actually finish this time ’round.


Sun, 1 Jan 2023

New Year New Fear

— SjG @ 11:03 am

I thought I’d update this VPS from Ubuntu 20.04.5 LTS to Ubuntu 22.04.1 LTS. I ran do-release-upgrade which gave all the appropriate warnings and stuff, and proceeded to upgrade. This VPS is hosted on Linode, so there’s a local Ubuntu mirror — the download is blindingly fast.

The do-release-upgrade process appears to run in a Unix screen window. Unfortunately, that interacted poorly with the terminal I was using, so any time I moved my mouse, it spewed control characters as input. That was bad when it was prompting … something? … probably about my nonstandard sshd configuration.

Anyway, Linode provides a web-based console access, so I was eventually able to fix the broken sshd, PHP, and Apache configurations. Only about two hours of downtime. Not bad for New Year’s Day.


Fri, 9 Dec 2022

Scary?

— SjG @ 4:01 pm

Like many others, I’ve been playing around with ChatGPT, the OpenAI chatbot. It’s really good at certain things. It does make some weird mistakes in highly technical things, and it has weird contradictions (e.g., when I ask it “when is Hanukkah?” it gives me the Hebrew date and the Gregorian date for this year. When I ask it “what year is it?” the response is that it doesn’t have that kind of contextual information.)

Here’s a sample conversation:

Me: how do spiders know how dense to make their webs?

ChatGPT: Spiders have a natural instinct to spin webs of a certain density, based on their species and the environment they live in. For example, some species of spiders live in dense forests, where their webs need to be strong and sturdy to catch prey. Other species live in more open areas, where their webs can be less dense and still be effective at catching prey. Over time, spiders have evolved to spin webs of the optimal density for their specific habitat and hunting needs.

Me: are spiders conscious of the density they need to weave?

ChatGPT: It is unlikely that spiders are consciously aware of the density they need to weave into their webs. Spiders have a natural instinct to spin webs of a certain density based on their species and environment, and this behavior is likely controlled by their brains and nervous system. However, this does not necessarily mean that spiders are consciously aware of the density of their webs in the same way that humans are aware of their own thoughts and actions.

Me: why do you think spiders are not consciously aware?

ChatGPT: As a large language model trained by OpenAI, I don’t have the ability to know the inner workings of a spider’s mind or consciousness. It is impossible for me to know for certain whether or not spiders are consciously aware of the density of their webs. However, it is generally believed that insects and other arthropods do not have the same level of consciousness as humans and other mammals. This is because their brains are much simpler and less developed than the brains of mammals, and they are not capable of experiencing the same range of thoughts and emotions. While spiders are able to perform complex behaviors, such as spinning webs, it is unlikely that they do so with the same level of consciousness as humans.

Me: how would you test for consciousness?

ChatGPT: There is no definitive way to test for consciousness in any organism, including humans. Consciousness is a complex and poorly understood phenomenon, and scientists and philosophers have been debating its nature for centuries. In general, consciousness is thought to involve an awareness of one’s own thoughts and surroundings, as well as the ability to experience and respond to stimuli in the environment.

Me: there are crows in my tree that seem to like to play and they recognize me.

ChatGPT: Crows are highly intelligent birds, and they are known for their ability to learn, adapt, and solve problems. It is not surprising that the crows in your tree recognize you and appear to enjoy playing. Crows are social animals, and they are known to form strong bonds with other members of their group, including other crows and even humans. It is possible that the crows in your tree see you as a part of their group and enjoy interacting with you. If you would like to encourage the crows to continue visiting your tree, you could try offering them food, such as seeds or nuts, to attract them. You could also try to engage with them by making noises or gestures to get their attention. Just be sure to approach them carefully and respect their space, as crows can be protective of their territory.

Me: the crows seem a lot more conscious than some people I interact with.

ChatGPT: It is difficult to compare the level of consciousness between different species, as consciousness is a complex and poorly understood phenomenon. However, it is generally believed that crows, as well as other birds and mammals, have a certain level of consciousness that allows them to be aware of their surroundings and experience thoughts and emotions. It is also possible that the crows you are observing are exhibiting behaviors that suggest a high level of intelligence and problem-solving ability, which may appear to be similar to consciousness in humans. However, it is important to remember that the level of consciousness in any species is difficult to determine and can vary among individuals.

Me: a crow learns to speak english. tell me a story of what happens next.

ChatGPT: One day, a crow in a small town in the United States learns to speak English. At first, the other crows in the town are amazed and curious about this new development. They gather around the speaking crow to listen to it, and some even try to mimic its sounds. The speaking crow becomes somewhat of a local celebrity, and people in the town start to take notice.

As word of the speaking crow spreads, people from all over the country come to see it. Some bring gifts and treats for the crow, while others try to communicate with it. The crow becomes the star attraction at the local park, where people come to see it and listen to it speak.

Over time, the speaking crow becomes more and more confident in its ability to communicate with humans. It starts to learn more words and phrases, and it even starts to hold short conversations with people. The crow becomes so good at speaking English that it is featured on the local news, and people from all over the world start to take notice.

Eventually, the speaking crow becomes a global sensation, with people from all corners of the world coming to see it and listen to it speak. The crow becomes a symbol of the intelligence and adaptability of birds, and it inspires other crows and birds to try to learn to speak as well. The speaking crow becomes a beloved and iconic figure, remembered for its ability to bridge the gap between humans and animals.

(“Conversation” from 9 December 2022 on the OpenAI ChatGPT beta chat system)