←February→
| Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
| 8 |
9 |
10 |
11 |
12 |
13 |
14 |
| 15 |
16 |
17 |
18 |
19 |
20 |
21 |
| 22 |
23 |
24 |
25 |
26 |
27 |
28 |
| ←2026→| Months |
| Jan |
Feb | Mar |
| Apr |
May |
Jun |
| Jul |
Aug |
Sep |
| Oct |
Nov |
Dec |
|
Sun, Feb 08, 2026 4:29 pm
Checking an NVMe drive's status in Ubuntu Linux with nvme-cli
You can check the health of a
NVM Express (NVMe)
drive on an Ubuntu Linux
system using the nvme-cli
command-line
interface (CLI) application. The description for the package is as follows:
NVMe management command line interface
nvme-cli is a NVMe management command line interface. NVM Express™
(NVMe™) is a specification defining how host software communicates with
non-volatile memory across a PCI Express® (PCIe®) bus. It is the industry
standard for PCIe solid state drives (SSDs) in all form factors (U.2,
M.2, AIC, EDSFF).
You can install nvme-cli throught the App Center on a Ubuntu Linux
system.
[ More Info ]
[/os/unix/linux/ubuntu]
permanent link
Fri, Feb 06, 2026 3:36 pm
Downloading YouTube videos on a Windows system with yt-dlp
YouTube recently
changed its website (around January 4, 2026) so that programs that worked in
the past for downloading YouTube videos, such as
StreamFab,
no longer work. My wife and I like to archive YouTube videos we find that
have useful information we might wish to refer to again in the future,
since we've sometimes found that when we try to view them again on
YouTube that a channel where they were posted has disappeared along with
all its videos. We have a YouTube premium subscription, which allows
one to download videos, but they are stored in a blob file where they
are not accessible to programs we use to view videos and there is no
guarantee they will remain accessible even in YouTube's limited offline
viewing method when a channel disappears. So we were very perturbed that
YouTube has now made it very difficult to archive videos. StreamFab has been
working very well for my wife and is easy to use, but I needed to look
for an alternative for her. A couple of sites that still work that
allow one to download YouTube videos are listed below, but downloading
through those websites is slower and she found that for fairly large
videos the downloads would fail.
https://ytdown.to/en2/
https://v6.www-y2mate.com/
Since I had WinPython, a
free and
open-source version of the
Python programming language installed on a Windows laptop and she is
using a Windows 11 system at the moment, though she wants to switch to
Linux, I decided to try
the yt-dlp
Python program that allows one to download YouTube videos from a
command-line
interface (CLI).
[ More Info ]
[/video/youtube]
permanent link
Mon, Feb 02, 2026 10:07 pm
Adding the capability to save webpages as a single file to Firefox
The
Firefox
web browser does not have the capability to save the
contents of a webpage to a single file, such as an
MHTML file,
which is a web archive file format that allows one to save
the
HTML
code, images etc. on a webpage into a single file.
Though the capability is absent from Firefox, you can add the
functionality of saving a page to a single file by installing
Save
Page WE, an
add-on for Firefox by
DW-dev.
The
extension provides the capability to "Save a complete web page
(as currently displayed) as a single HTML file that can be opened
in any browser. Save a single page, multiple selected pages or
a list of page URLs. Automate saving from command line." The
saved file is not an MHTML file, or one of the other common
web
archiving file formats, but it is a single HTML file that Firefox
and other browsers can read. Save Page WE is implemented using the
WebExtensions API and is available for both Firefox and
Chrome with
identical functions and user interfaces.
[ More Info ]
[/network/web/browser/firefox]
permanent link
Sun, Feb 01, 2026 3:27 pm
Viewing Payment Details for a Loan in the Desktop Version of Quicken
If you automatically update a loan's balance by downloading transactions
from a bank's website, when you click on "Payment Details" in the Windows
Classic Business & Personal desktop version of Quicken, you won't
be able to actually view details on payments, such as the amount of
principal and interest paid for each transaction. You can change the loan
account's settings in Quicken to stop automatically updating the account
by right-clicking on the account and then selecting "Edit/Delete account"
then clicking on the "Online Services" tab and then clicking on the
"Deactivate" button in the online setup portion of the window. When asked
"Would you like to deactivate this service?", click on "Yes". You can
then close the "Account Details" window. Then, when you choose "Payment
Details", you should see the individual transactions for the account and
you will be able to modify the opening balance, principal and interest
for payments, if needed. If you then want to transfer money from another
account, such as a checking account, as a payment on the loan, you may
not see the account listed as one of the transfer options in the dropdown
list for transfers, but if you type the account name in the Category field
exactly as it appears in the account list and then hit the
Tab
key, the amount you specify will be transferred to the loan account.
[/financial]
permanent link
Wed, Jan 28, 2026 2:57 pm
Masquerading a "from" address with sendmail
Many years ago, I distributed email to the mailing list for an
organization through my email server. The person who sent out a monthly
newsletter to the members of the organization had a Verizon email address
and would send the newsletter via my server running
Sendmail, which would
then send the mail onwards to the organization's members. Since my server
wasn't a designated email server for verizon.net addresses, I configured
Sendmail to change the "from" domain to my server's domain name, moonpoint.com,
so the sending address wouldn't be johnslartibartfast444@verizon.net but would
be johnslartibartfast444@moonpoint.com; otherwise many recipients' email
servers would reject the email since it didn't come from an email server
designated to send email for verizon.net users. I put the following lines in
/etc/mail/sendmail.mc (the last two lines are the ones I added to the
Masquerade section of the file):
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
dnl MASQUERADE_AS(`mydomain.com')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
dnl FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl
MASQUERADE_DOMAIN(`verizon.net')dnl
MASQUERADE_AS(`moonpoint.com')dnl
After I edited the sendmail.mc file, I rebuilt the sendmail.cf
file by restarting sendmail with the command service sendmail
restart , which put the following line in sendmail.cf:
C{M}verizon.net
The person who was sending the newsletter died several years ago
and I took over maintaining the membership list for the organization as
well as distributing the email version of the newsletters to members.
Though the account from which the newsletter is sent is intended to be
used only for sending the newsletter and members are advised to send an
email related to the organization to the organization's Gmail email addresses,
occasionally members will reply directly to the "from" address used for
the newsletter. When checking the account for that address, I found that someone
with a verizon.net address had sent a reply to the account, but if I replied
my reply would go not to his verizon.net address, but to his email name
followed by my domain name, which would result in the email bouncing since
that address would not be a valid address on my server. I corrected the
problem by removing the two MASQUERADE lines in sendmail.mc that resulted
in the change to the domain name part of email addresses if any email
came from a verizon.net address and then restarted sendmail, which resulted
in the C{M}verizon.net line being removed from sendmail.cf.
The sendmail.mc file is a human-readable macro configuration file, while the sendmail.cf file is the more complex configuration file actually used by the
Sendmail message
transfer agent (MTA). The .mc file serves as the source, which is processed
by the m4
macro to generate the final, often uncommented sendmail.cf file used by
sendmail. The command m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
can be used to rebuild the .cf configuration file after one makes
changes to the sendmail.mc file, but the changes won't take effect until
sendmail is restarted. Or, on many newer versions of the Linux operating
system, one can simply restart sendmail and a new .cf file will be
automatically generated and applied to sendmail, if any changes have been made
to the .mc file
References:
-
18.4. The sendmail.cf and sendmail.mc Files
Linux Network Administrators Guide
Related articles:
-
Modifying the "from" domain of a message with sendmail
Date: June 1, 2018
[/network/email/sendmail]
permanent link
Sun, Jan 18, 2026 4:51 pm
Installing Calibre on Ubuntu Linux
I installed Calibre
8.8.0 on a Ubuntu Linux
system through the Ubuntu App Center (I had to filter by Debian packages
rather than by Snap
packages in the App Center to see Calibre packages as there isn't a Snap
package for the
software). But when I checked to see if that was the latest version on the
Calibre website, I found the latest version is 8.16.2. Also, the
Calibre Download for
Linux page states "Please do not use your distribution provided
calibre package, as those are often buggy/outdated. Instead use the
Binary install described below." So I uninstalled the version I installed and
then reinstalled the software using the command provided on that
Calibre webpage, sudo -v && wget -nv -O-
https://download.calibre-ebook.com/linux-installer.sh | sudo sh
/dev/stdin - a command that can be run on any version of Linux.
[ More Info ]
[/ebook/calibre]
permanent link
Fri, Dec 12, 2025 7:28 pm
Problem with SQLIte database and table names being the same in Python code
I encountered a problem today when I created a
Python
program to help me automate the process of entering data into an
SQLite database. I've
been using
DB Browser for SQLite
on a laptop running Windows 11 to maintain the database and I installed
WinPython
3.12.4.1 today to help me automate some tasks related to SQLite databases
I maintain on the laptop. I had the Python program prompt me for data
to enter into fields in the database for a new entry in the database.
But after I entered data at the prompts, I saw the following error
message:
Traceback (most recent call last):
File "N:\Sites\AddReference.py", line 65, in <module>
main()
File "N:\Sites\AddReference.py", line 58, in main
prompt_for_entry(cur, conn)
File "N:\Sites\AddReference.py", line 44, in prompt_for_entry
insert_entry(cur, conn, ID, Title, Location)
File "N:\Sites\AddReference.py", line 12, in insert_entry
cur.execute(
sqlite3.OperationalError: near "References": syntax error
Line 12 in the program was as a cur.execute command in
the following function:
def insert_entry(cur, conn, ID, Title, Location):
# Insert an entry into the database.
try:
cur.execute(
"INSERT INTO References (ID, Title, Location) VALUES (?, ?, ?)",
(ID, Title, Location)
)
conn.commit()
print("Entry added successfully.\n")
except sqlite3.IntegrityError as e:
print(f"Error: {e}\n")
The database was named References and the table into which I was
attempting to add entries was also named References. That doesn't pose
an SQLite problem — a table within a database can have the same
name as the database itself, but that was posing a problem in the
Python code that resulted in the error message I received. When I
placed single quotes around References in the command, I no longer received
the error message and was able to successfully add new entries to the
database. I.e., I now have the following Python code, instead.
def insert_entry(cur, conn, ID, Title, Location):
# Insert an entry into the database.
try:
cur.execute(
"INSERT INTO 'References' (ID, Title, Location) VALUES (?, ?, ?)",
(ID, Title, Location)
)
conn.commit()
print("Entry added successfully.\n")
except sqlite3.IntegrityError as e:
print(f"Error: {e}\n")
[/languages/python]
permanent link
Mon, Nov 24, 2025 7:46 pm
Determining the location of a user's "My Documents" folder with PowerShell
I needed to move some files from one Windows 11 system that is no longer
being used, as the user is no longer working for the company, to another
Windows 11 system where the user of that system, Pam, is now handling a task
formerly handled by the prior employee, but while logged onto the account for
the user now handling the task on her system, I noticed that her
Documents folder was empty. The
Windows domain name
changed at that business a few years ago, so I thought that perhaps she
might be using a Documents directory associated with her account under
the prior domain name rather than the new one created for her new domain
login. You can determine the location of a user's "My Documents" directory,
which can be redirected to another location, including a network share
or another drive, by issuing the PowerShell command
[Environment]::GetFolderPath("MyDocuments"). E.g.:
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\Users\Pam> [Environment]::GetFolderPath("MyDocuments")
C:\Users\Pam\Documents
PS C:\Users\Pam>
The command utilizes the GetFolderPath method from the
System.Environment class to retrieve the path of special folders,
including "MyDocuments," for the user under whose context the script or command
is executed. This method correctly identifies the mapped location even if the
Documents folder has been redirected or moved from the default location.
In this case, I found that her "My Documents" directory was pointing to
the directory associated with the old domain name. Her "home" folder
was also pointing to the home folder that was in use for her account
in the old domain. You can type $home in a PowerShell window to
see that value. Or you can use $env:USERPROFILE to see the same
information.
PS C:\Users\Pam> $Home
C:\Users\Pam
PS C:\Users\Pam >$env:userprofile
C:\Users\Pam
PS C:\Users\Pam>
[/os/windows/PowerShell]
permanent link
Sat, Nov 22, 2025 10:12 pm
PowerShell cmdlets to check remote connectivity and firewall rules
When I tried to establish a
Secure Shell (SSH)
connection to a Windows 11 PC at a remote location today, I was unable to
do so. I usually connect to the
Windows
domain controller at the location and establish the SSH connection
to the user's Windows 11 system through it, but that was not working. I thought
the problem was likely due to
McAfee stopping providing
firewall protection for incoming connections to ports on PCs as part of
their antivirus software, since the antivirus
software on PCs at that location was
McAfee Antivirus
Plus. When McAfee stopped providing that firewall service as part of
McAfee AntiVirus Plus, the software reverted firewall protection for incoming
connections to Microsoft's default firewall software,
Microsoft Defender
Firewall, aka Windows Firewall. When I check firewall protection on a
Windows system running McAfee AntiVirus Plus, I now see the following message:
McAfee and Windows Defender are now working side by side
Our Advanced Firewall provides enhanced protection by blocking risky
outgoing connections. Windows Defender Firewall provides protection for
incoming connections.
Keep both firewalls on for complete protection.
So I thought I likely needed to create similar firewall rules for
incoming connections in the Windows Firewall software as had existed
previously in the McAfee firewall software.
[ More Info ]
[/os/windows/PowerShell]
permanent link
Fri, Nov 21, 2025 7:55 pm
Changing the "from" address of an email in mutt
To change the "from" address of a message in the
Mutt email
client while composing a message, you can use Esc-f, i.e., hit the
Esc and f keys simultaneously. You will see a "From:" field
appear near the bottom of the window with the current "from" address, which you
can edit to replace it with whatever you would like. E.g., in the example below,
I am changing the "from" address that the recipients of the message will see
from jdoe@example.com to newsletter@example.com (the email address is within
the angle
brackets with a descriptive identifier before it.
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From: Joe Doe <jdoe@example.com>
To: "Bruce K." <bkamen2145@gmail.com>
Cc: albusd@example.com
Bcc:
Subject: Re: July 2025 Newsletter
Reply-To:
Fcc: ~/sent
Security: None
-- Attachments
- I 1 /var/tmp/mutt-example-508-23668-418711[text/plain, 8bit, utf-8, 1.4K
-- Mutt: Compose [Approx. msg size: 1.4K Atts: 1]----------------------------
From: Newsletter <newsletter@example.com>
After I've retyped the "from" address to be the one I want to appear,
when I hit Enter, I will see the "from" address replaced with
the one I want and can then hit y to send the message to
recipients.
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From: Newsletter <newsletter@example.com>
To: "Bruce K." <bkamen2145@gmail.com>
Cc: albusd@example.com
Bcc:
Subject: Re: July 2025 Newsletter
Reply-To:
Fcc: ~/sent
Security: None
-- Attachments
- I 1 /var/tmp/mutt-example-508-23668-418711[text/plain, 8bit, utf-8, 1.4K
-- Mutt: Compose [Approx. msg size: 1.4K Atts: 1]----------------------------
For a way to change the "from" address from the command line, see
Using a command-line interface
(CLI) to send email with mutt.
[/network/email/clients/mutt]
permanent link
Privacy Policy
Contact