The goal of this site is to document all the side projects I take on. These can be pretty random but usually involve an overlap of my growing list of hobbies.
Background Home automation is a relatively new thing for me. After various starts and stops I’ve settled on the Zigbee standard using zigbee2mqtt and mosquitto. Against the norm I’ve opted to stay away from Home Assistant and rely on MQTT Dash for my UI. This has worked very well but I didn’t have a decent solution for handling events of devices. Most important are my flood…
Background If you’ve read my previous articles, you know I love to manage my linux computers through their serial console. For the most part it works until you get into curses/TUI interfaces. After a bit of digging, Debian uses a vt220 terminal ( changed from vt100 ). In most consoles this wouldn’t be an issue. However when using conman the terminal is inherited from the shell you are…
Background I’ve had great success using qemu on my x86_64 machines hosting various Windows servers, development environments etc. After some research Raspberry Pi does support kvm, though most of the solutions out there use libvirt which is nice but I prefer something a bit more bare bones. Testing was done on a Raspberry Pi 4 Model B Rev 1.5 with 8Mb of memory running Raspbian OS/Debian 12.…
Background Seemingly every Linux distibution uses GRUB as its bootloader. For an old guy like me, I liked the simple bootloaders of the past (LILO, SILO etc). Syslinux is a bootloader I’ve used for decades on old bios systems. Now it’s time to bring it into the modern era with UEFI support. Use these instructions at your own risk If you mess up your bootloader you will not be able to…
Background Over the 20+ years of using various forms of Linux I always leaned into the Gnome side of the desktop, later moving to Xfce and then finally landing on LXDE. I like LXDE for it’s simplicity and small footprint, I’ve been using it as a desktop now for 5+ years. Here are a few tips that help make life a bit easier. Disable Trackpad xinput is the solution: sudo apt-get install…
Background Much to my pleasure, many home based devices (routers, media players, IoT etc) are moving away from unencrypted HTTP and moving to HTTPS. To their credit each is generating it’s own self signed certificate. That in of itself is fine however you have to tell your browser to trust every cert. If you are one of those using Firefox for Android, you have to manually override every time…
Background qemu offers a basic NAT functionality to get guests on the internet through the host. It’s very nice but setting up networking between guests is not very intuitive. I know, just setup VDE and be done with it. I’m looking for something more portable that doesn’t have any extra software requirements. My first decent in this rabbit hole started with hubport. It seems like…
Background This is a fairly straight forward way to rip DVD/Blu-Ray movies. For reference: ArchLinux Blu-ray instructions keydb.cfg files Debian Multimedia repository Software install First add the deb-multimedia repository to /etc/apt/sources.list by following their instructions for your version of Debian: deb https://www.deb-multimedia.org bookworm main non-free Install handbrake and support…
Background A while ago I wrote an article on how to turn your Raspberry Pi into a serial console server. As we all know by default a Pi has a serial console port - er a TTL port controlled a UART (Universal Asynchronous Receiver-Transmitter). In order to connect it to a standard serial port you need a nullmodem and a serial-ttl converter. I started poking around in /boot/overlays/README to see how…
If you are into any kind of tech support for Intel based machines, having a live boot usb thumb drive is essential. The generic live images from distros usually get the job done, but I’ve come up with a way to customize a Debian live image with all your favorite software! Install the live build software in Debian apt-get install live-build Example build script The following will build a very…
Long ago in the early days of computers, nothing was reliable. Hard disks would have errors that would come right from the factory. The manufacturer even labeled the drives with the bad parts to be entered so DOS could ignore them. It was not too uncommon to have memory chips go bad from time to time. In my case I installed a modern system and had two sticks of memory both come up with errors…
This was rather hard to find, it turns out that EVERYTHING wants to start ssh-agent. Systemd As a user issue the following command: systemctl --user disable ssh-agent.servie LXDE Select Preferences/Default applications for LXSession Select Core applications Remove ssh-agent from Security (keyring) X11 Comment out use-ssh-agent from /etc/X11/Xsession.options
Background I just recently cleaned out my horde of old motherboards and systems (most went to good homes). What I kept were more modern machines that no longer have: A PCI slot A floppy controller A PATA controller This now ruled out the use of all my old 3.5 floppy drives and my old PATA iomega internal Zip 100 drive. Find a controller First issue was to find a controller that’s compatible…
After 20+ years I hit a memory problem with one of my remote servers. The recommended action is to replace the ram OR run Memtest86+ to find the affected regions of memory. No problem but how do you run it over a serial console? Install memtest86+ apt-get install memtest86+ This will drop the binaries into your /boot directory ready to use with ext linux. Just select the correct one for your…
Mar 20, 2026 Updated for Debian 13 Specs MacBook Air 13" (Late 2010) Model A1369 EveryMac.com Intel “Core 2 Duo” (SL9400) Memory: 2GB (kinda) nVidia GeForce 320M (256MB shared) Storage: 256GB Notes This work was done with Debian 13 The netboot installer does not recognize the wifi card. A USB ethernet adapter is needed. To boot the installer from a thumb drive hold down the option key…
FreeDVDBoot - DVD Player Exploit This is a way to create a DVD disc with an exploit that soft mods the playstation to run wLaunchELF. It looks like this project has been abandoned. I used it on a PS2 slim to install FreeMcBoot. wLaunchELF - File Manager & Executable Launcher Excellent file management tool. New versions even support ExFAT! This is basically the swiss army knife of the filesystem.…
EVERY Linux & Windows Server install out of the box has two things: An administrator account A user account with no privileges EVERY Windows 7/10/11 etc install out of the box has two things: A DISABLED administrator account A user account with admin privileges Which do you think is the LEAST secure but paradoxically is used on more client machines globally? This is article is going to make your…
Note: I plan to keep this page updated with my findings as I experiment more and more. Over the years I’ve had a number of cars and in each one I had a stereo system with a USB port to load my music on. After purchasing my 2022 Model Y, I immediately set about on how to do this. Long story short, there is only one usable USB 3.0 Port (Type-A). The rest of the ports are charging only (no…
This is technology from the old days but still proves to be very handy. Wake-on-LAN is a way to trigger sleeping (or powered off) computer to wake up by sending a “Magic Packet” over ethernet. There are two parts to setting this up: BIOS & OS configuration of the sleeping machine. Sleeping machine BIOS Every bios is different but you are looking for a section titled APM (Advanced Power…
These are some notes I have for enabling client certificates in lighttpd on a test server. This authentication method is very different than plain, digest etc. After connecting and establing an SSL/TLS connection, the server requests a client certificate. A verification is done to make sure the client cert was signed by our certificate authority. If so, the common name of the client certificate is…
For those of us grey beards who remember a simple 80x25 text terminal (or a C64 user who longed for 80 cols). This is the article for you. Linux can still be run in a non-graphics mode, however if you are running any kind of a console server the cols and rows don’t match up. Here are some steps to set your linux console to 80x25. Bootloader - Set the screen resolution This really depends on…
Every Windows install by default wants to create 3 partitions: boot, OS & recovery (WinRE). This little tutorial will get that down to one. This actually goes all the way back to Windows 7 and has been tested all the way to Windows 11 & Server 2022. There are some real advantages to doing this: Windows 10 update has a bug where the recovery partition is too small. All updates will fail until the…
This is a quick how-to. This represents the bare minimum to get things working on a Debian system. Note: other systems may vary. Bind9 config First you need to create your zone file. The location of the file is very specific to Debian. Under the apparmor rules ( /etc/apparmor.d/usr.sbin.named ) this directory is granted write access, specicifically to dynamically updated zone files.…
This isn’t the end all of lists, I’ll add to it in the future. These are observations I’ve made over the years on family vacations. The fly-in/fly-out crowds don’t see a lot of this. You really have to drive through the state to get a real taste. This is in no particular order: The highest points in Florida are landfills converted to parks. Car Washes are necessary every…
2025-03-10 Added instructions below to shorten the USB cable. Background In the ‘90s the huge trend in peripherals was ergonomics. Early trackballs back then were pretty horrible. It was a mechanical ball mouse, just upside down. On a whim I bought a Logitech Marble Trackball way back in 2002 (Trackman ver in 2013). It has some really advanced features (even by today’s standards): The…
strcasestr is a wonderful function which finds the first occurrence of the substring needle in the string haystack . Getting there is interesting. First in linux (gcc), this is considered a nonstandard extension, a special define needs to be done. This function does not exist in mingw. Here are two ways to get around this issue: Using the Pre-Processor Please note the _GNU_SOURCE define needs to…
There are many ways to skin this cat. Of all of them xxd is my favorite because it is the easiest to port to various platforms. xxd This little utility comes from the same makers as vim . It can be found in most, if not all linux distros. This program will convert a source file into a hex dump, even better it will format it to be C compatible. I use the output to write into a .h file for inclusion…
Over the past 20 years I’ve writing quite a bit of cross platform C code using gcc and mingw. These are some quick functions I’ve reached for which save a bunch of mundane coding. The key advantage to use macro definitions rather than functions is performance speed. If these were a function, all the overhead (poiters, stacks etc) would be needed each time the function were called. In…
I’m a linux command line junkie. Every once in a while I need to make an ISO image file of something on a CD/DVD/Blu-Ray. This is an ongoing article that will be updated as I learn more about the task. CD (Compact Disc) 750MB This is by far the easiest one to do on virtually any Linux machine. Because a CD has zero copy protection, you just do a byte-for-byte copy dd status=progress…
I’m a bit old school using the old BIOS bootloader stuff for years. I made the jump to UEFI and performed a bios update. It actually removed my UEFI entry for my Debian install. I had a bit of a panic and found a quick way to recover. This process will add an entry into the UEFI boot table pointing to my bootloader (grub) Boot into a live version of Debian execute the following command:…
One of my hobbies is weight lifting but as I get older and during a workout, all math functions in my brain are non existant. I needed something that could: Given a 100% max weight, calculate a range of percentages of that weight for doing reps. Figure out which plates I needed to load for a given weight. Have an interface that can be read without reading glasses (large fonts). Be flexible enough…
This is an ongoing entry on various tricks I’ve learned about using Wine . Installing Wine on Debian Do Not install Wine from the Debian repositories. It is much easier to install from WineHQ directly . In those instructions you add WineHQ has an apt repository as well as install the necessary keys. Following installation, be sure to have Winetricks installed: apt-get install winetricks…
This is an easy way to give Linux members of group “ scanner ” access to USB based scanners. Find USB Device vendor id Execute the command lsusb The first 4 hex digits after ID will be the vendor ID of your scanner. In this case we have an Epson 04b8 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 007: ID 04b8:011b Seiko Epson Corp. GT-9300UF [Perfection…
One of the features lacking on a Raspberry PI is a Real Time Clock (RTC). This is basically a battery backed up clock that the PI can sync with to maintain clock accuracy. I 2 C configuration Install i2c-tools apt-get install i2c-tools Enable I 2 C in raspi-config Enable Interface Options/I2C Add the following to /boot/firmware/config.txt dtoverlay=i2c-rtc,ds3231 Reboot Confirm configuration Check…
This script file will disable wifi once an ethernet cable is plugged in. It has been tested on various Debian & Mint distributions. Network Manager Create /etc/NetworkManager/dispatcher.d/99-wlan and add the following contents to it: #!/bin/bash wired_interfaces="en.*|eth.*" if [[ "$1" =~ $wired_interfaces ]]; then case "$2" in up) nmcli radio wifi off ;; down) nmcli radio wifi on ;; esac fi Set…
I have an obstensibly large collection of DVD/BluRay/CD discs. The decision was made to finally get those into a format that I could keep on a server (with backups!). It’s not pretty, but very functional. The drives came from some salvaged PC’s from a few years back. I ran a couple of sata cables and a USB sata adapter to connect the data side of the drives. I came up with a simple…
Recently I found myself on a large cruise ship for a week with “free” internet service. You get what you pay for, slow as dial-up and a lot of restricted outbound ports. Note This is not a guide to find out how to break the system, but rather some tips on how to better use and discover whats available and can be leveraged. I did a bit of preparation before I left. I made sure I had a…
I’m still amazed that keyboards still have the Caps Lock key and worse that it’s in the home row of typing. These little hacks will convert that key to a more useful CTRL key. Debian apt-get install keyboard-configuration console-setup In the file /etc/default/keyboard XKBOPTIONS="ctrl:nocaps" Windows Open Powershell as admin and enter the following $hexified =…
This is a very brief overview on how to configure a Raspberry Pi as a serial console server using conman and a USB to serial port adapter. KVM era In the early days of Linux, the kernel would crash or a configuration error would occur taking the server off the network. I’d have to go down to the home “server room” fire up the KVM and try and figure out what went wrong with one of…
Background I am infatuated with the Raspberry Pi computer and am always looking for a new use for one. Lately I’ve been using one as a media center box running Kodi . I also have more than one TV and I realized quickly that installing a kodi-pi device per TV was a lot of upkeep. I needed some way to have one Kodi broadcast its video to all my TVs. I could run an HDMI splitter and a LOT of…
Background As with all projects this was to scratch an itch. Starting with Debian 10, VirtualBox was no longer included in the distribution. Don’t get me wrong, VirtualBox is an awesome product but I wanted to “stretch my legs” and try something a bit different. QEMU is the grandaddy of virtualization starting way back in 2007. In this case I’ll be using QEMU with KVM which…
Background What better way to celebrate Star Wars Day than to have a movie marathon (in story chronological order) but put a Pragmatic twist on it. Create in in-house TV station and broadcast the movies to all the TVs in the house! As with most all folks, we are cord cutters and have an HD antenna mounted to catch the local channels. Many years ago we installed a Channel Plus 3025 video…
Linux From a terminal run ‘sudo dmesg’. You should be able to see if usblp sees it: [3624781.843957] usb 1-3: new full-speed USB device number 125 using xhci_hcd [3624781.985112] usb 1-3: New USB device found, idVendor=0922, idProduct=001a [3624781.985114] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [3624781.985116] usb 1-3: Product: DYMO LabelWriter 400 Turbo…
Background One day a few years ago, I saw an article about a vending machine that prints short stories based on the number of minutes needed to read the story. It’s print medium is thermal receipt paper. I thought, genius! It gives the reader a short break from screen time and the used story can be thrown in recycling. Recently I stumbled across my trusty (not much used) label printer, which…