vagrantcow

vagrantcow

In October 2023 I replaced the cooling fan in the ASRock 4X4 Box-4800U. (NB - I should have recognized the increased inefficiency of the fan from the increasing fan noise over the several weeks before it actually started emitting crunching sounds! A classic case of the frog cluelessly sitting in the slowly boiling water.)

I ordered a replacement TRADOCK CPU Cooling Fan (part# BSC0805HA-00) from Amazon for about US$30. These are the steps to disassemble the unit:

Ahh. Nice, fast, and quiet, again.

ASRock Fan Replace

In March 2022 I installed Linux Mint 20.3 (64-Bit) Edge, with the Cinnamon Desktop, as that distro's kernel had finally caught up with the hardware's requirements. I've never had a bettter computer.

Linux Mint Una

In May 2021 I replaced my aging Intel NUC (4+ years old, 6i5SYK i5 6260U Skylake 2 Cores 4 Threads) with an ASRock 4X4 Mini with an AMD Ryzen 7 4800U Renoir Generation chipset, with 8 CPU Cores, 16 Threads, 8 GPU Cores, and 32GB of DDR4 3200MHz RAM. A smokin' fast monster mini.

ASRock

I switched from my trusty Linux Mint MATE (as it wasn't using a recent-enough kernel version for the AMD Ryzen hardware) to the more experimental Linux Mint "Ulyssa" 20.10 Edge, with the Cinnamon desktop and a 5.8 kernel. And I added a new monitor, a 32" LG UHD (3840x2160) 4K beast.

LG Monitor

In February 2021 I did an in-place upgrade to Linux Mint 20.1 'Ulyssa' MATE without any issues. Best linux installation I've ever used, and I've been using them since 1997.

Mint 20.1

In July 2020 I did an in-place upgrade to Linux Mint 20 'Ulyana' MATE without any issues. Best linux installation I've ever used, and I've been using them since 1997.

Mint 20

In March 2020 I installed the uptimed package to have access to the uprecords utility, which produces output as below. The top red arrow points to the current uptime instance. The middle red arrow points at how long the current uptime instance will need to run to beat the record. The third red arrow shows how long uptime has been recording the data. Nice.

uprecords

In January 2020 I did an in-place upgrade to Linux Mint 19.3 'Tricia' MATE without any issues. Best linux installation I've ever used, and I've been using them since 1997.

Mint 19.3

In August 2019 I did an in-place upgrade to Linux Mint 19.2 'Tina' MATE without any issues.

Mint 19.2

In December 2018 I upgraded to Linux Mint 19.1 'Tessa' MATE to have access to a more up-to-date kernel and applications (eg. the newer irssi irc client allows SSL connections and SASL verification protocols). I think this desktop is beautiful. Everything else remains the same.

In October 2018 I'd been running this Intel NUC for 20 months or so. I check my router's firmware monthly for updates, but I'd been dropping the ball on checking the motherboard BIOS. Here's the linux command to do so:

sudo dmidecode | less

Here's some of the output from that:

old bios version

Yikes! 2 years old, and 12 version releases out of date (see Intel Download Center:)

Intel Download Center

I downloaded the latest BIOS version updating file and put it on a bootable USB thumb drive. There are 3 ways to upgrade the BIOS, I followed the easiest, "Power Button Menu BIOS Update" (see NUC BIOS Update):

BIOS Update README

And with a non-zero amount of trepidation, I went to it. (I mean, we're flashing hardware, after all.) But, as detailed in the instructions, it all worked fine. BTW, this Intel NUC running linux is the best workstation I've ever used, and I've been doing this since 1983:

In February 2017, after seven years of using an iMac as my daily driver, I migrated to an Intel NUC6i5SYK (16GB RAM, 250GB SSD) running Linux Mint 18.1 MATE. I was a Linux desktop user from 1997 to 2010, and I'm very pleased to be one again. Those are two 24" 1920x1080p Acer monitors suspended on VIVO monitor mounts, and a CM Storm QuickFire Rapid mechanical keyboard with Cherry MX Brown keys.

Desktop

^^ Clean vs. Dirty vv

Jupiter Desktop
NUC
Arms

Silent computing is the best sort of computing. And if you provision it with some kick-ass bandwidth, life is good.

Bandwidth

My Intel NUC has a single 250GB SSD, and to supplement that I use a 1TB USB hard drive. I did a lot of google-searching for extending the life of SSDs, and the best partitioning to accomplish that, and for whatever reason leaving an unallocated space of about 10GB seems key. And old reliable ext4 filesystem is still strongly recommended. Using gparted (available on most linux try it before you install it boot iso images) I partitioned the SSD like this:

ssd partitions

After installing the operating system, I take three steps to consistently mount the USB HDD whenever the system boots or the drive is plugged in. First I use a mount point for the drive that is within my home directory. I create a directory there called external for this purpose:

mount directory

To avoid different mount device designations depending on which USB devices you have connected to the system, I use the blkid command to determine the universally unique hardware identifier for the device. When I formatted the device I gave it the label "Backup" :

blkid command

Then I add a line to the /etc/fstab file to consistently identify the device and create the home directory mount point whenever the device is detected. The fstab fields are as follows:
device
mount point
filesystem type
options when mounting
dump backup utility option
fsck option

fstab entry

You don't have to restart the system in order to put this into effect. Instead issue the mount -a command and you're good to go. Now anytime the device is connected you can access it using the directory in your home directory.

You can use linux to send desktop notifications from the CLI. Just make sure you have libnotify-bin installed, and from the command line do:

notify-send "Some notification."

Do man notify-send for some options.

Things get trickier when you want to do this from a cron job, which is the useful bit. We need to give cron access to the DBUS_SESSION_BUS_ADDRESS variable for this to work. I wrote two simple shell scripts to handle all this. The first determines the DBUS_SESSION_BUS_ADDRESS variable when the system user logs in, and the second is called by cron, retrieves that value, and sends the desktop notification as required. I use it to remind myself every 30 minutes during my work day to get up out of my chair and move about.

desktop notification

The first script is dbus_session_export.sh and contains the following:

#!/bin/sh

# Added Mar 2017 so that notify-send desktop notifications
# can be sent via cron. CLI use of notify-send doesn't require
# this, but cron does. Go figure.

touch /.dbus/Xdbus
chmod 600 /.dbus/Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > /.dbus/Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> /.dbus/Xdbus
exit 0

I wanted this to run whenever I log in, so I put it in my Startup Applications:

startup applications

The second script is going to be run by cron. I named it notification_exercise.sh, and it contains the following:

#!/bin/sh
# send a desktop notification to get out of the chair and
# move before your blood pools in your lower extremities.
# source the current dbus_session_bus_address variable.

if [ -r "/.dbus/Xdbus" ]; then
  . "/.dbus/Xdbus"
fi

/usr/bin/notify-send -u critical "Time to get up and move about!"

And the cron entry looks like:

# send a desktop notification to get up and move about every 30 minutes
# during the afternoon from 1:00pm to 5:30pm.
0,30    13,14,15,16,17  *       *       *       ~/.cron/notification_exercise.sh
new bios display


Home