Wed, 28 Feb 2024

Blackberry Key2 BBF100-6

Got a brand new Blackberry Key2 BBF100-6 from eBay. This is to replace my beloved Blackberry Key2 LE BBE100-5 that has suffered a cracked screen. I view this as a blessing in disguise, because I was living with a debilitated situation with battery life and RAM. I am really hoping that the extra 2GB of RAM will make the Blackberry experience sing again! 4GB was always too little. I hope the dual SIMs come in handy when traveling internationally (which will be rare, but treasured!).

I backed up my BBE100-5 onto local storage in Windows at the Administrator Command Prompt using the following commands:

adb exec-out "tar -c storage/emulated/0 2> /dev/null" > sdcard.tar
adb exec-out "tar -c storage/0000-0000/ 2> /dev/null" > external.tar

I learned how to do this using this StackExchange entry:

I was unable to use gzip on Windows.

The first command is to backup the "internal" storage. The second command is to backup the "external" storage.

First thing I did with the new phone was disable the Productivity Center.

Then I learned the hardware space bar was functioning intermittently, so cried tears of despair and ordered another model on eBay. So then another model came, this time a BBF100-9. The space bar was also functioning intermittently. I read on Reddit about users fixing the issue with WD-40, so I tried it, and amazingly, it worked!


Mon, 02 Oct 2023

2023 Intel i9 PC Build

I wanted to have desktop PC for all of my family members rackmounted in the garage far away from where they would be using it. After trying some Tripp Lite (one of my favorite companies) solutions for KVM over CAT5 cable and finding the latency sub-optimal, I stumbled upon a Linus Tech Tips video demoing the Icron EL5363 HDMI + USB 2.0 Extender, which works optimally over CAT6A, which I previously cabled all throughout the house in preparation. tldr; These devices work GREAT! The only complaint I have is that their rackmount kit is more for mounting under a desk than in a rack and I needed to do both.

I also explored 2U server cases for this build but was unable to mitigate heat issues, even when using powerful case fans. In the end, I found that a 4U case allowed for the most airflow and a worry free system, even when mounted in a non-air conditioned garage in the middle of the summer.

My build choice was mostly informed by wanted to build something that would keep me from having to build another computer, at least for a very long time. I explored a single, powerful server running VMWare but it seemed too much, so I went for multiple identical discrete systems.

Parts List

PCPartPicker Part List
Type Item
CPU Intel Core i9-10900K 3.7 GHz 10-Core Processor
CPU Cooler Noctua NH-D12L 60.09 CFM CPU Cooler
Motherboard ASRock Z590 Pro4 ATX LGA1200 Motherboard
Memory Kingston Server Premier 32 GB (1 x 32 GB) DDR4-2666 CL19 Memory
Kingston Server Premier 32 GB (1 x 32 GB) DDR4-2666 CL19 Memory
Storage Samsung 980 Pro w/Heatsink 1 TB M.2-2280 PCIe 4.0 X4 NVME Solid State Drive
Samsung 980 Pro w/Heatsink 1 TB M.2-2280 PCIe 4.0 X4 NVME Solid State Drive
Video Card MSI VENTUS 3X OC GeForce RTX 3060 Ti LHR 8 GB Video Card
Case Silverstone RM42-502 ATX Mid Tower Case
Power Supply SeaSonic FOCUS PX 850 W 80+ Platinum Certified Fully Modular ATX Power Supply
Case Fan Noctua R8 redux-1800 PWM 31.37 CFM 80 mm Fan x2
Thermaltake TOUGHFAN 58.35 CFM 120 mm Fan x2

Parts List Notes


CPU Cooler




Video Card


Power Supply

Case Fans


Tue, 19 Jul 2022

Mounting a USB Drive

Best version I've had yet...

Get the UUID of the USB Drive. `-ovalue` outputs the pure UUID to use in /etc/fstab.

blkid -t TYPE=vfat -sUUID -ovalue

Add the following line to /etc/fstab:

UUID=$UUID /media audo nosuid,nodev,nofail,umask=000 0 0

Mount the drive.

mount -a


FreeDB is Now GNUDB

FreeDB is no more! Long live GNUDB.

Vortexbox will now work with these settings to grab audio metadata:



Mon, 26 Oct 2020

Gigabyte GA-8I955X

I breadboarded a Gigabtye GA-8I955X, jumping the power to kick start the process. Boy was that a mistake! Turns out the motherboard will startup and shutdown without all of its connections made to its pins: PW, RES, MSG, HD. Well, maybe it was just the missing reset jumper. Point being, only plugging in the power cable isn't going to get you very far. With a speaker connected, you will not hear any warning beeps to help you identify the issue.

This motherboard would accept a USB-HDD with Debian 6 (squeeze) running Linux 2.6, which recognized the Sil3132 straightaway. However, the Windows XP installation would not accept anything less than a slipstreamed CD. All attempts to use USB-HDD or floppies to load drivers failed.

USB support for peripherals seems lagging. Best to use a PS2 keyboard and mouse for Windows XP installation.


Fri, 11 Oct 2019

Blackberry KEY2 LE (BBE 100-5) Review

The Blackberry KEYOne was a fine phone, with an untenable problem: not enough RAM. I had to perform some kind of RAM management every day just so it stayed functional.

Fast forward to the Blackberry KEY2 LE - one more GB of RAM, actually usable.

A bonus is that they managed to improved an already fine keyboard.

They appear to have cheaped out on the speakers and microphone on the LE. Not sure if the non-LE model has better audio specs.




Mon, 15 Apr 2019

Wordpad Postcard Margins

In case anyone was wondering....

Left: 1.25
Top: 1
Right: 3.5
Bottom: 5


Fri, 22 Feb 2019


mst is my favorite Perl programmer. He has a wonderful series outlining his "opinionated version of Task::Kensho" called mstpan. Here are all the articles collated:


Fri, 11 Jan 2019

Setting a Default Version of Excel

If you have two version of Excel running concurrently on a single PC, you may wish Windows defaulted automatically to the older version. However, if you try to associate a file type like .xls with a particularly version of Excel, namely the older one, Office will correct your mistake and re-establish your file type association with the newer verion.

To overwrite this "functionality", the procedure is as follows.

No more having to open Office 2003 first before opening a file!


Tue, 19 Jun 2018

Sierra Online

Growing up, I spent much of my time behind the screen typing commands into IBM PCs - to solve the puzzles that were the great games made by Sierra Online.

I collected what I could in order to make sure my kids could have the same experience I did, but could not have predicted that the games would all be freely available as Abandonware that could be played via DOSBox.

In any case, I wanted to write down the titles that I remember being enamored with, for posterity. Almost all the games I loved were designed for the SCI game engine. Here is the complete list of SCI titles.

Some other non-Sierra games I liked were:

Some games I had but didn't like a lot, but want to write down:


Wed, 07 Feb 2018

Routing Apache through Perl Catalyst PSGI Server

Here's how you do it:

<VirtualHost *:80>
DocumentRoot /var/www/server

<Proxy *>
  Order deny,allow
  Allow from all
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /icons !
ProxyPass / http://localhost:5000/ keepalive=On
ProxyPassReverse / http://localhost:5000/
#RequestHeader set X-Forwarded-HTTPS "0"

Run psgi app with Starman:

sudo starman --l :5000 /var/www/dhamma/Dhamma-Maintenance/app.psgi --daemonize --pid /var/run/ --error-log /var/log/starman/error.log


Fri, 04 Nov 2016

A Brief Review: LG Enact VS890

I think as of November 2016, with the disappointing release of the Blackberry Priv (you call that a Blackberry keyboard?), the LG Enact VS890 is still the best Android phone with a physical keyboard, at least on Verizon (CDMA / EVDO / LTE).

This phone was released to little fanfare in August of 2013. It appears to have been marketed as an extry level phone. I find its features to be quite professional.

There isn't much RAM, only 1 GB, and that's where you're gonna get into trouble if you use this phone as a full-fledged Android device. It also has a very poor camera. What this device is great at is as a phone with email and text messaging capabilities with that wonderful physical keyboard featuring a full number row and arrow keys!

A lot of people don't want to carry a phone filled with all kinds of wizbang apps. They basically want a regular phone to answer calls and to write texts (in lieu of annoying voicemail), and maybe compose emails for more thought out conversations. What many people don't know is that they really want a physical keyboard to do all these things. And they also are going to want cloud-based contact integration, which Android thankfully offers. After that, maybe they'll use Instagram and Hangouts, hopefully not Facebook. If you can draw the line there, this phone is for you!

At Android version 4.4.2 and firmware VS89023A, I found the VS890 to be unrootable with either Stump, towelroot or KingRoot. However, the latest version of KingRoot comes with software called Purify that took my phone from a laggy, nearly unusable state into a really efficient phone again.

Make sure not to run the brightness at full tilt if you want to keep the battery intact for more than 2 hours. :)

Now if I could only figure out how to disable the "Write and Share" button. Ugh.


Sun, 20 Dec 2015

Enabling WiFi on a Thinkpad X61 running VortexBox 2.4

First things first! If you are planning on configuring a Thinkpad X61 for wireless networking, make sure the wireless hardware switch on the front of the unit is set to on!

The root password for a default VortexBox install is: vortexbox

Create a USB key installer using the instructions here:

'yum' has been deprecated in favor of 'dnf'.

dnf -y update

To setup a static IP address on eth0, configure the network using system-config-network:

dnf -y install system-config-network

The X61 uses the 4965GN wireless controller. This driver needs to be enabled:

dnf -y install iwl4965-firmware

Some necessary tools are missing right out of the gate, so install them:

dnf -y install wireless-tools
dnf -y install NetworkManager-wifi

'cnetworkmanager' has been deprecated and orphaned, so don't try to install and configure it, as suggested in other HOWTOs. NetworkManager will be used instead.

After installation, reboot the system.

After reboot, configure the interface. My interface was configured with a static ip different from the one used for eth0 and a WPA2 key.

nmcli connection add type wifi con-name my-wifi-static ifname wlan0 ssid ssid_name ip4 static_ip/24 gw4 gateway_ip 
nmcli connection modify my-wifi-static ipv4.dns "dns_ips_separated_by_space"
nmcli connection modify my-wifi-static wifi-sec.key-mgmt wpa-psk
nmcli connection modify my-wifi-static wifi-sec.psk password 
nmcli connection up my-wifi-static

Aside from the wireless driver not installing automatically and some of the applications not being available out of the box, I find these network configuration tools to be quite elegant.

From here, you should be able to access the VortexBox server directly by IP via a browser. After connecting, under 'Network Configuration', set VortexBox to use a static ip.

Note: Something in the configuration might reset eth0 to the same IP as wlan0. If that happens, re-run 'system-config-network'.

Further Considerations

/storage mount

The default installation mounts /storage directly into the root file system, which the installer configures efficiently, leaving a large storage partition free for use. Create a new partition using 'fdisk /dev/sda'. Press 'n' to add a new partition and accept all defaults. Press 'w' to save.


Create an ext4 filesystem on the new partition:

mkfs -t ext4 /dev/sda5

'lsblk -f' will show the UUID assigned to the new parition. Add an entry to /etc/fstab to mount the new partition at boot:

echo "UUID=uuid /storage ext4 defaults 0 0" >> /etc/fstab


'df -h' wii confirm success!

Multiple CD-ROM Configuration

'/etc/ripit/config' contains autorip configuration settings.

tracktemplate="$artist - $album - $tracknum - $trackname"
Multiple CD-ROM Setup

Follow this HOWTO to configure multiple CD-ROM drives:


cp /opt/vortexbox/ /opt/vortexbox/

Get the edited script here:

Or edit '/opt/vortexbox/' yourself. Replace the line which reads:




Add an extra loop to work through each drive in the CDDEVICES array in sequence:

while true
   for CDDEVICE in "${CDDEVICES[@]}";
     CDSTATUS=`/opt/vortexbox/checkcd $CDDEVICE`

    sleep 2

'wodim' is a handy utility to check the status of CD-ROM drives:

dnf -y install wodim
wodim --devices



'lltag' doesn't exist on Fedora, must be compiled from source.

dnf -y install cpan
cd /usr/local/src
bunzip2 lltag-0.14.4.tar.bz2
tar -xvf lltag-0.14.4.tar
cd lltag-0.14.4
make install
cpan install MP3::Tag
Disable Logitech Media Server

To disable the Logitech Media Server:

systemctl disable squeezeboxserver.service
  • add user to 'users' group
  • create a symlink 'flac' to storage/music/flac
  • create a script 'change_permissions' that will set all permissions in 'flac' to chgrp = users and chmod = 775
chgrp -R users flac/
chmod -R 775 flac/

Then, create a script that will take you to NAS.

ssh -t 'cd /share/data/Audio && bash --login -i'

Then, create a script 'monitor_rip' to monitor rips.

tail -f /var/log/ripit.log



Thu, 17 Dec 2015

Debian on QNAP HS-210

Like my previous installation of Debian on a QNAP device, this one wasn't easy.

Like others, I followed Martin Michlmayr's HOWTO guide, but had enough problems to conclude that something is off in the way 'jessie' handles a flash bootloader and that it'd be better to install 'wheezy'. This would required a slight modification to his wget commands to get the older version of flash-debian.

cd /tmp
busybox wget
busybox wget
busybox wget
busybox wget
sh flash-debian

I had to follow the QNAP Firmware Recovery many times. When something went wrong with the Debian install, this was the only choice as I did not save any of my previous flashes anywhere to reload. After a while, I felt confident there wasn't a risk of bricking this unit as it could always be reset back to its initial configuration saved in flash memory. I would always manually load the latest firmware rather than use the automated firmware update which would download it each time and often not work.

Running the manual setup, I set a static IP address. When prompted to configure disks, I opted to configure disks later. SSH access is possible without first configuring disks.

It really help see what was going on during install by monitoring syslog on a secondary SSH connection.

tail -f /var/log/syslog

To begin setting up partitions, I selected 'Guided - Use entire disk', selecting the second partition (/dev/sdb) and choosing to put all files in one partition. When prompted to remove existing RAID partitions, I selected 'yes'. I then setup the first partition (/dev/sda) in exactly the same way. After that, configure software RAID1 with /boot as md0, / as md1, and swap as md2.

When selecting the kernel for the base system, I selected 'linux-image-3.2.0-4-kirkwood'. When prompted to include drivers, I selected 'generic'.

I also found that my old version of PuTTY was unable to connect to the default QNAP SSH server. Upgrading PuTTY to beta 0.66 fixed the issue. It also was necessary to start and stop the SSH daemon inside the QTS Control Panel under Network Services >> Telnet/SSH by unchecking 'Allow SSH connection', clicking 'Apply', and then checking the box and 'Apply' again.

Wireless Networking with D-Link DWA-131

'lsusb' reports the D-Link DWA-131 I bought from Amazon as USB ID 2001:3319.

Bus 001 Device 003: ID 2001:3319 D-Link Corp

which is the REV_E model based on the Realtek RTL8192eu chipset. This driver must be downloaded from D-Link.

cd /usr/local/src
mkdir DWA-131
cd DWA-131
tar zxvf 20140812_rtl8192EU_linux_v4.3.1.1_11320.tar.gz
cd 20140812_rtl8192EU_linux_v4.3.1.1_11320/
make install
echo "8192eu" >> /etc/modules
update-initramfs -u

My networking requirements for this NAS require that I set up a static IP address on wlan0 that will stay connected to my main subnet and an eth0 that will be configured for a local network. This was a little tricky to configure, since the only way to access the NAS is over ethernet of some kind. If for whatever reason both links were unavailable, I would not be able to access the OS in the NAS. This is how I set it up.

'wpasupplicant' was essential for WPA2 configuration. 'resolvconf' was necessary for getting DNS to work on the wlan0 interface, for some reason.

  ip a
  ip addr flush dev wlan0
  apt-get -y install wpasupplicant
  apt-get install resolvconf

My /etc/network/interfaces looks like this:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
#       address
#       netmask
#       network
#       broadcast
#       gateway
#       # dns-* options are implemented by the resolvconf package, if installed
#       dns-nameservers

# my-wifi-static
auto wlan0
iface wlan0 inet static 
        # dns-* options are implemented by the resolvconf package, if installed
        wpa-ssid ssid 
        wpa-psk password 

# my-ethernet-local
allow-hotplug eth0
iface eth0 inet static


Tue, 19 Aug 2014

Installing DD-WRT on an ASUS RT-N66U

Installing DD-WRT on an ASUS RT-N66U is an exercise in patience. The installation process requires a lot of waiting, presumably for the firmware to flash onto the unit. The unit itself does not give many indications that anything is happening during the process, leading one to conclude that the device is bricked. Here are installation instructions that take into account the wait times for firmware installations.

Disclaimer: Because I was not patient at the outset of the installation, it could be the case that no intermediary firmware was required except for the final version of DD-WRT. I was not able to test this before finishing the installation.

Note: It is possible that this procedure will work best if the router is plugged into a switch and the computer that is used to configure the router is plugged into that same switch, rather than directly into the router Ethernet port.


  1. Verify the hardware version of the unit: ASUS RT-N66U H/W Ver: .B1
  2. Download and install ASUS RT-N66U B1 Utility version
  3. Download and extract Asuswrt-Merlin RT-N66U version custom firmware.
  4. Download dd-wrt.v24-22208_NEWD_2_K2.6_mega-RT-N66_64K.trx special 64k CFE compatible firmware. Standard DD-WRT builds will not work.
  5. Directly connect a PC to port 1 on the router with an Ethernet cable. Disable any wireless cards on the PC. Configure the NIC as follows:
    IP Address:
    Subnet Mask:
  6. Power off the router. Power on the router holding the reset button until the power light starts to flash. The unit will enter "rescue mode".
  7. Setup a ping test using the command line:
    ping -t
  8. Verify that the ping reply shows a TTL=100, which indicates the router is in "rescue mode".
    Reply from bytes=32 time=1ms TTL=100
  9. Start >> Programs >> ASUS Utility >> RT-N66U Wireless Router >> Firmware Restoration
  10. Browse for RT-N66U_3.0.0.4_376.45_0.trx and click "Upload" to start the firmware installation. The browser will indicate installation progress. Once the browser indicates that the upload has finished, continue to wait until the ping test indicates the operating system on the router is up and running. This could take in excess of 30 minutes. A ping test showing TTL=64 is the indication that the flash has completed:
    Reply from bytes=32 time=1ms TTL=64
  11. Clear the NVRAM by powering off the router, holding down the WPS button and powering the unit back on, continuing to hold the WPS button for 30 seconds.
  12. Verify the installation of the custom firmware worked by connecting to with a browser.
  13. Repeat the firmware upload steps 10-12 above for dd-wrt.v24-22208_NEWD_2_K2.6_mega-RT-N66_64K.trx. The flash process might take well in excess of 30 minutes. Be patient!

Helpful links:

DD-WRT on the Asus RT-N66U with 64K CFE
Asus RT-N66U -


Fri, 05 Oct 2012

Debian on QNAP TS-259 Pro+

I have Debian working on a QNAP TS-259 Pro+. I should have made this document as I was setting up the NAS the first time, but I had so many headaches and reinstallations that I couldn't concentrate on it at the time. I can't actually remember the details of all the steps I followed. The basic overview is:

You should be able to piece it together from the help files here:


No Automation Allowed

In recent months, MySpace has viciously cracked down on any form of 'automated use of their systems'. This would include automated messaging and commenting, but it also unfortunately includes trolling through one's own "Friends" and adding calendar entries. Nothing is more annoying than having to enter identical data into two separate databases. If MySpace lightened their hardline stance and let the user community decide was is spam rather than outright banning automation, the tasks that do need to be automated could be automated.


A Brief Review: Motorola Droid 4

Update: Bugless Beast didn't work out so well for me over time. It eventually crawled to a halt. My real fix came with Sourcery v2.2, outlined here.

After trying to raise my OG Droid 1 Motorola Droid A855 from the dead using the Bugless Beast ROM, having initial success and then watching my Droid degrade yet again to an unusable state where I'd wait many seconds for any activity of a button press to transpire, I pulled the trigger on a Droid 4.

So far, it's been disappointing, from a purely UI point of view. The hardware is fast. Buttons work properly when you press them. But Motorola/Verizon bung it up yet again by releasing an Android version chock full of annoying bloatware and unnecessary modifications. Where they won me over with the release of the OG Droid 1 by keeping the Android OS clean and simple, they ruin it here with the Droid 4. The text messaging and email apps are very noisy - tons of font and emoticon options clutter the screen. There's tons of misused space. Text messages display 3 messages at a time when there's space for 9. The UI feels like a comic book. It feels like text and UI options are splayed all over the screen in seemingly random fashion.

But these aren't even the deal breakers for me; those come along with the keyboard and button layout. After spending years with the Droid 1, I came to expect a certain feel from the keyboard. I loved the tight, small buttons. This keyboard (and device) is bigger, and not for any gain, save for video. It's harder to type by feel. The buttons give a lot, making it harder to type fast. It's moderately nice to have a number key row and proper locations for !@#$%^&*(). However, by putting the Caps Lock button where the Shift button would normally be on a keyboard, I am constantly having to edit my messages to repair having pressed Caps Lock. The Shift button is a far reach from where it would normally be in a QWERTY layout. It's something I haven't yet been able to get over, since my automatic touch typing response kicks in whenever I am using it and it is very hard for me to correct. Moreover, some genius decided that they would move the Back botton from the bottom left corner so somewhere in the middle of the layout, forcing you to look down to find it's location. This phone forces you to look at it, while the Droid 1 could be driven blindly and feel like an extension of one's hand. The back button is an integral part of the Android experience and moving it to a spot where you can't feel for it completely ruins the UI.

I reinitialized Bugless Beast on my Droid 1 following a great tutorial on Reddit here:

Last time I had trouble installing V6 SuperCharger and KickAssKernelizer and it seems these two scripts are essential to avoid Droid Degredation. So far, it's been running smooth. I think I am going to get my cell service reinstalled and send the Droid 4 back to Verizon. LTE is faster, but it's not that much better of an experience.


Lenovo Thinkpad W701ds

I broke down and purchased a Lenovo Thinkpad W701ds. I had two goals:

  1. Replace my constantly overheating Thinkpad T61p, my main machine upon which I engage in both business and pleasure.
  2. Finally overcome my demons and create a portable system I can actually make electronic music on without crying.

I am a technology curmugeon in that I really don't care very much about operating systems anymore and when I have to think about upgrading to the latest version of Office, it really makes me ill and I'll resist doing so until it becomes necessary. So it was with trepedation that I upgraded to Windows 7 64-bit, which you gratefully can configure to work exactly like Windows XP. Here's how you do that...

Ok, anyone reading this interested in this laptop needs to know a few things:

For low latency audio applications, so far the only thing I've had to do is disable my wireless network adapter in order to avoid any large spikes. That makes me happy.


Thu, 26 Apr 2007

Why Do I Need Always On Broadband?

Lately I'm starting to see that I've lost sight about why people use computers, particularly networked computers. As much as the Internet is supposed to be an active medium, one by which we pull content to us instead of getting pushed upon as passive observers, I find that half the time I'm reacting to websites or emails rather than thinking about what it is I am even doing on the computer. Sites like used to provide both an active and passive Internet experience whereby I could connect with highly intelligent people and what they value and comb between all their recommendations. Over time, as the site became more popular, the quality of the content diminished substantially. Yet I still found myself checking for new information to consume day after day, regardless of quality. So now I want to step back and start asking myself what it is that I want out of a relationship with computer technology.


A Brief Review: Nokia 6256i

When I switched from Cingular to Verizon, I lost the ability to use GSM phones. Therefore I almost lost the ability to use the fine Nokia 2630, the personification of candybar perfection. My only other legitimate Nokia option on Verizon was the 6256i.




The Ultimate Cell Phone

What does the ultimate cell phone need to have?


2007 RAV4 Review

I like the 2007 RAV4. Inside, it is a very clean design with no frills. Minor objections:


powered by Blosxom Valid XHTML 1.0 Strict