Category: Technical Communication

  • The Magazine Rack at the Internet Archive

    The Internet Archive has a tremendous collection of magazines across all disciplinary possibilities. Most are contained in The Magazine Rack. You can read them online, download them individually, or bulk download them using Jeff Kaplin’s instructions from 2012. Though, I have modified Kaplin’s wget command when files stopped downloading due to changes at archive.org, wget, or both:

    wget -r -l 1 -nc -np -nH --cut-dirs=3 -A .cbz,.cbr,.pdf -e robots=off -l1 -i itemlist.txt -B https://archive.org/download/

  • Ditched Roku for a Discounted Origimagic Ryzen 5 Mini PC

    lego minifigure skeleton on skateboard next to origimagic c4 mini pc, power adapter, and handheld keyboard with trackpad

    I’ve been unhappy with Roku’s increasing advertising through images and now full-motion video and their lack of support for a variety of codecs in their media player app. So, I’ve been looking for awhile for a good deal on a mini pc that could replace the Roku for playing media and also support some light gaming. Also, considering the impending tariffs (i.e., a tax on Americans), I hoped to find something as soon as possible.

    After tracking several mini pcs on Amazon and eBay for a few weeks, I finally pulled the trigger when Amazon offered the Origimagic C4 Mini PC with a Ryzen 5 3550H (4 core, 8 threads) on sale for $153. It’s CPU has a lot more horsepower while using 25 watts of power than Intel’s similarly priced mini pc processors. It came stock with 16GB DDR4 RAM, 512GB PCIe SSD, 1 x Type-C USB, 4 x Type-A USB (3 are USB 3 and 1 is USB 2), headphone jack, HDMI, DisplayPort, and dual ethernet.

    To operate it from the sofa, I got a $10 reiie H9+ Mini Keyboard with Touchpad that uses a wireless USB adapter to connect to the mini pc.

    lego minifigure skeleton on skateboard next to origimagic c4 mini pc
    lego minifigure skeleton on skateboard next to origimagic c4 mini pc

    Before setting anything up, I created a flash drive with Debian 13 Trixie, the latest version that was released over the weekend on Saturday.

    To do this, I inserted a 16GB flash drive into my workstation, but I didn’t mount the device. I downloaded the network install ISO for Debian 13 from here. Then, I ran lsblk in a terminal window to see what device address corresponded to the flash drive. It’s important to not make a mistake here, because it’s easy to overwrite another drive using this method. lsblk lists the devices, which are all in the “/dev/” folder, so when I saw that my flash drive was assigned the address “sdb”, I knew that its full address was “/dev/sdb”. With that info, I then wrote the downloaded Debian 13 netinstall ISO directly to the flash drive using this command:

    sudo cp debian-13.0.0-amd64-netinst.iso /dev/sdb

    After the copying to the flash drive had finished, I ejected it from my workstation and took it over to the mini pc. I plugged in the power adapter, ethernet cable (I arbitrarily picked the one furthest from the power plug), HDMI cable to the TV, the keyboard receiver USB, and the Debian 13 installation flash drive.

    I did experience some frustration with getting the Debian 13 flash drive to boot the mini pc. As soon as the mini pc booted, I was unable to enter BIOS or open the boot menu. Instead, it kept booting into the Windows 11 setup, which I did not want to use. At first, I thought it might be a problem with the tiny wireless keyboard and trackpad, so I switched to my Logitech keyboard and trackball, which are both tied to one Logitech USB receiver. I tried different USB plugs on the front and rear of the mini pc until I was finally able to enter bios (pushing DEL at boot) when the keyboard USB receiver is in the top-right USB port on the rear of the mini pc as shown below (it is a USB3 port). It might have been bad luck on my part with the other ports, so I can’t say this is a peculiarity with this hardware for certain. Nevertheless, it’s good to exhaust all possibilities like this.

    back of mini pc: power plug, two ethernet ports (one plugged in), HDMI (plugged in), display port, and 2 usb ports (one has a tiny device plugged in)

    Once in the BIOS, there’s not many options except for disabling hardware (I disabled WiFi), turning off Secure Boot and the Trusted Computing Module, and other odds and ends. I saved the settings, rebooted, and went into the Boot Menu (F7), selected the Debian 13 netinstall flash drive, and began the installation (a full nuke-and-pave: erasing the NVMe drive and setting up Debian 13 as the only operating system).

    While I use XFCE on my laptop and workstation, I opted for the GNOME desktop environment on the mini pc, because I thought its screen controls and overall user interface would be easier to see and navigate from across the room. If I don’t like it, I can always install XFCE.

    Because two of the main sources of media for us is Netflix and YouTube, I installed Chrome to handle those sites. I have VLC and Kodi for everything else.

    samsung tv and soundbar with a mini pc on the right side of the tv stand. the screen is showing netflix Jurassic Park the lost world in the background while the foreground terminal shows the pc's info, which is also in the second paragraph above.
  • 2025 Toyota Camry Has Impressive Gas Mileage

    3/4 view of black late model toyota camry in a parking spot surrounded by other cars and shopping carts in background, parking lot ringed with trees with green leaves, blue sky with clouds above

    After visiting my folks for a couple of weeks in Georgia, I rented a car from Enterprise to drive back home to Brooklyn, because I wanted to load up on bulk-buy and shelf-stable grocery items that are difficult and/or expensive to purchase locally without a car.

    I had reserved a Toyota Corolla or similarly sized midsize car, but none were available when I arrived at the Savannah-Hilton Head Airport location. They upgraded me to the 2025 Toyota Camry shown above. It has a hybrid gas-electric drivetrain with an estimated 51 MPG fuel efficiency.

    This post reports on my experience with the Camry’s fuel economy over a long drive.

    Google maps screenshot of map from Savannah to Atlanta to Brooklyn, NY for 16 hr 59 min drive over 1,113 miles

    My four-day trip route was from Savannah to Atlanta where I would spend a day, then drive to Delaware, and finally arrive in Brooklyn where I would return the car to the Park Slope Enterprise location. Going from point-to-point, the drive took about 16 hours 59 minutes over 1,113 miles. But, I did a lot of city driving in Atlanta over one day. I estimate that I drove an extra 50 miles for a total of 1,163 miles.

    When I picked up the car, I already had about 100 pounds of grocery items that I loaded into the trunk and backseat. While in Atlanta, I added another 20 pounds of items to the car’s overall load. This is combined with my weight and the weight of fuel.

    3/4 view of black late model toyota camry in a parking spot surrounded by other cars and shopping carts in background, trees with green leaves and building in the background, blue sky with clouds above

    The Camry has three different driving “modes.” I set the mode to “Eco” as opposed to “Normal” or “Sport.” I adhered to the speed limit and avoided using high-RPM, passing gear driving except in a couple of situations.

    Over the entire trip, I purchased about 25 gallons of gas (returning the fuel level in the car to the same level that I received it), which yields a combined 46.52 MPG efficiency. Considering the awful traffic conditions in Atlanta (congestion, stop-and-go driving, low speed, etc.) and its fuel use, I suspect that my highway driving is much close to the estimated 51 MPG fuel economy.

    side view of black late model toyota camry in a parking spot surrounded by other cars and shopping carts in background, parking lot ringed with trees with green leaves, building in background, blue sky with clouds above

    I was happy about the fuel economy of the Camry on this trip–it reduced its pollution footprint and it saved me some money. It is impressive how a larger vehicle achieves better fuel economy than the best gas mileage of my old gas-powered Corolla.

    Driving the Camry was comfortable for the most part. This was the first car that I drove with a fob/start button combination. It took me a few minutes to figure out how to disable the lane following feature of its cruise control, which I was fighting against (making me think there was something wrong with the steering before disabling this feature). The seat material–I think faux leather–wasn’t breathable, which made it uncomfortable for sitting against over long periods of time.

    One big complaint that I have about the car that has nothing to do with fuel efficiency is Toyota’s radio accessed via its in-car screen. It is designed to present radio stations as a series of square icons that can be browsed by scrolling with your finger and tuned to by pressing. By accessing a station, there are tuning plus and minus buttons at the bottom of the station’s screen. All of these things–scrolling and pressing different areas of the screen to access a station or tune to a different frequency–are difficult to do safely while driving and maintaining attention to the road. The wrong areas are pressed leading one to cycle back through the process from the beginning by turning it off and re-accessing audio source > radio > station. To toggle through stations, I perched my right hand on the lower air vent below the screen and reached my index finger up to tap the station up and down buttons. It was awkward and frustrating. If automakers insist on using screens, there are situations like this where skeuomorphism and button placement and size should be consistent and easily used by the driver.

  • How to Update Your Linux Kernel on Debian Bookworm 12 to the Latest Available on Backports

    terminal screen with system info: jason@desktop:~$ screenfetch | lolcat
         _,met$$$$$gg.           jason@desktop
      ,g$$$$$$$$$$$$$$$P.        OS: Debian 12 bookworm
    ,g$$P""       """Y$$.".      Kernel: x86_64 Linux 6.12.32+bpo-amd64
   ,$$P'              `$$$.      Uptime: 10h 8m
  ',$$P       ,ggs.     `$$b:    Packages: 2323
  `d$$'     ,$P"'   .    $$$     Shell: bash 5.2.15
   $$P      d$'     ,    $$P     Resolution: 1920x1080
   $$:      $$.   -    ,d$$'     DE: Xfce
   $$\;      Y$b._   _,d$P'      WM: Xfwm4
   Y$$.    `.`"Y$$$$P"'          WM Theme: Haiku-Alpha
   `$$b      "-.__               GTK Theme: BeOS-r5-GTK-master [GTK2]
    `Y$$                         Icon Theme: BeOS-r5-Icons-master
     `Y$$.                       Font: Swis721 BT 9
       `$$b.                     Disk: 7.7T / 11T (75%)
         `Y$$b.                  CPU: AMD Ryzen 7 7700 8-Core @ 16x 5.389GHz
            `"Y$b._              GPU: NVIDIA GeForce RTX 3090, NVIDIA RTX A4000, NVIDIA RTX A4000, NVIDIA RTX A4000
                `""""            RAM: 9486MiB / 63916MiB

    If you’re like me, you might have newer computer hardware that isn’t fully supported by Linux kernel 6.1, which is installed with Debian Bookworm 12. Thankfully, Debian offers Backports, or newer software in testing in Trixie, the development name for Debian 13, that will eventually find its way into future Debian releases for use on an otherwise stable release of Bookworm.

    Updating to a newer kernel often brings more hardware compatibility. However, it’s important to remember that using a backport kernel can introduce potential compatibility issues with the software officially supported on Bookworm. Even if installing the latest kernel causes some issues, you can choose to boot from one of your older 6.1 kernels on your install as long as you don’t delete them (by using the apt autoremove command).

    I wrote this guide based on my experience installing Linux kernel 6.12 from Backports with the non-free firmware that my hardware needs to work. If you are trying to keep your system free from non-free software, you can omit those references in the instructions below.

    Before doing any changes to your Debian installation, remember to backup your files first. Saving important files in more than one media and storing it backups in different physical locations is best practice.

    After backing up your files, make sure your install is up-to-date with these commands:

    sudo apt update
    sudo apt upgrade

    After those updates complete, it’s a good rule of thumb to do a reboot to begin working with a clean slate.

    Next, add Debian Backports to /etc/apt sources.list. I used vi to do this:

    sudo vi /etc/apt/sources.list

    In vi, arrow down to the bottom line, type a lowercase “o” to add a blank line below the current line, type lowercase “i” to enter input mode, and type the following line into the document:

    deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware

    After double checking the added line, press the “Esc” key, and type “:wq” to write the file and quit vi.

    Now, you need to update apt again:

    sudo apt update

    After the completes, enter this command to install the latest kernel from backports along with the kernel’s headers and firmware that might be needed for your hardware (such as networking card, video card drivers, etc.).

    sudo apt install -t bookworm-backports linux-image-amd64 linux-headers-amd64 firmware-misc-nonfree

    It might take awhile for the installation to complete. If there are no errors, it should return you to your terminal prompt. If it did, reboot your computer to load the new kernel.

    After your computer boots up again, you can verify that you are running the latest kernel by entering this command:

    uname -r

    After installing the latest kernel, my computer reports this from the uname -r command:

    6.12.32+bpo-amd64
  • A Simple Moveable Platform for an Oscillating Spindle Sander

    Another project for my dad and I was setting up his Grizzly oscillating spindle sander, which had been sitting on a broken pallet for some time.

    He had a rolling Shop Fox equipment stand, but it was slightly too large for the sander’s base. So, we cut a piece of 3/4″ plywood to fill its support area and distribute the weight of the sander.

    Then, we layered some boards to create a ramp from the pallet the sander was on down to the Shop Fox equipment mover.

    When he’s ready to use the sander, the Shop Fox mover has floating feet that can be lowered to take the weight off the front caster wheels.