Disappointing people, one at a time, since 1967.
Now only $0.54^H^H33 a day.
Continuous improvement ... free!
A puzzle wrapped up in an enigma.
Now with Style!


It appears that internet 2.0+ has even ruined the concept of a vanity page. Initially, vanity pages were set up by lonely single white people who wanted to share their loneliness with the other 11 people who were dialed in to the real internet through their local internet provider. I suppose it was about marketing, if that marketing was selling belly button lint.
A good definition of a vanity page is:
An Internet domain, particularly in the .com or .org top-level domains, apparently created for no reason other than boosting the creator's ego.*
I'm not sure if the content of my pages boosts my ego, but there really is no real other reason for their existence. Over the years there's been a great deal of self-deprecating narcissism within these pages. Now, it's mostly a collection of mental flotsam that, in reality, could be organized for free** with a Google account. Instead, I spend thirty-three cents a day to keep this domain active. In return, I get to play with hypertext markup language which I quite rather enjoy, edit pages on a ultra-low-power computron that 20 years ago I'd have killed for (RPi 3B+), use one of my favorite internet protocols to transfer files around, make ASCII title blocks, weep quietly at the new reality of one space after a period and spew mildly benign rhetoric for the handful of people who have remembered my URI*** to read, shake their heads, and question our relationship.
* From the Jargon File.
** Not at all free.
*** It's only a URL if the the protocol is included.



The correct number of bicycles to have is n+1.
Name Wheel WB TT DT ST
Raleigh Rocky 26"x1.50" 41.5" 22" 24" 18.5"
Raleigh Rocky 26"x1.95" " " " "
Sekine 26"x1.35" 40.5" 21" 23" 19.5"
Giant Halfway 20"x1.75" 39.5" " " "
Dahon 16" " " " "


This content has been moved somewhere else.


* that I like and will talk incessantly about.


In no order, typical software reinstalled when I crash my Raspberry Pi OS installs:
* Remember to copy over the bookmarks file from the .gftp directory from the old install because you very likely do not have the username and password written down anywhere handy.
** Only suckers continue to use HP products.

What version of Linux am I using?


cat /etc/issue


cat /etc/*release


uname -r


uname -a

My .vimrc file:

set nocompatible set nowrap set ruler set showmode set showcmd set smartindent set tabstop=4 set shiftwidth=4

My userChrome.css* file:

/* Display the sidebar on the right */ #browser { -moz-box-direction: reverse; } #sidebar {max-width: none !important; min-width: 0px !important;} /* Red text on active tab */ .tabbrowser-tab[selected="true"] {font-weight:bold !important;color:rgba(255,64,64,1) !important;}
* in the .mozilla/firefox/user.default/chrome directory.

Flash with be the death of me


sudo cp libflashplayer.so /usr/lib/flashplugin-installer/


cp libflashplayer.so into /home/user/.mozilla/firefox/userprofile/plugins


In the SANDISK directory:

find . *.* > /home/username/Music/pl-all.txt

In vi:

:1,$s/\.\/// this removes the ./ at the front of every line :1,$s/\//\\/g this replaces all the / with \ throughout the entire line

then save the file. At the prompt:

sort -u pl-all.txt -o pl-all.m3u

Edit, and enjoy.

How I hacked away the "/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)" error on my Slitaz box

I edited the /etc/locale.conf file to read:


A script I rewrite yearly to copy pictures off of memory cards for making a yearly calendar:

#!/bin/bash filler="00000000" src="/media/babo/" read -p "month (1-12, null to exit)? " m while [ ${m} ] do echo ${m} dest1=${filler}${m} dest1=${dest1: -2} dest1="cal${dest1}" read -p "pic number (null to exit)? " p while [ ${p} ] do if [ -e pics.txt ] then rm pics.txt fi p="*${p}*" find "${src}" -name "${p}" > pics.txt cat pics.txt read -p "is this list ok? " ch1 if [ "${ch1}" = "y" ] then echo -n "copying" while read line do echo -n "." cp ${line} ${dest1} done < pics.txt echo else 2>&1 fi read -p "pic (null to exit)? " p done read -p "month? (null to exit)? " m done


HIGH >15g >20g >5g >1.5g
MEDIUM 5-15g 3-20g 0.5-5g 0.3-1.5g
LOW <5g <3g <1.5g <0.3g


25 years ago I bought an HP48SX calculator, quite possibly the world's greatest scientific calculator (if you look past the fact that it used SRAM for internal memory, weird proprietary memory cards that needed batteries for "permanency" and weird proprietary interface cables. Plus, it's slow as fuck). I don't use it much now, apart from powering it on yearly to see if the batteries need replacing. As I am paranoid that all the programming I did in it may eventually disappear, I've decided to type out the code stored. Really.
Notes to self: There are certain "extended" characters that plan ol' ASCII does not have. I've tried my best to make them clear. If in doubt, read the manual. You've saved it, haven't you?



Content to come.

L is for Sinister

My shortlist of personal left-handed and left-dominance issues

Many left-handed people complain about computer keyboards, especially those with numeric keypads. I've found them to not be a problem if the mouse is set to the left side of the keyboard and the mouse buttons reversed. This setup is well balanced.
I have problems with ironing, or using any power tool with a cord. This, however, might be function of how terrible I am with ironing or using power tools in general. Hand rotary tools, like a Dremel branded tool, are especially dangerous. Holding the tool in my left hand causes a great deal of kick back because of the right-handed rotation of whatever bit is being used. I initially thought the tool just basically sucked and people were afraid to criticize it for fear of being ostracized, much like openly expressing that the Tragically Hip aren't a particularly good musical group. No, the tools suckiness rests squarely in my sinister ways.
I learned, rather poorly, to play the guitar as a right-handed person because all my "teachers" were right-handed.
Most of these I have learned to accommodate, but, without fail, not before failing at using initially.


Oh, yes, please, more lists, there can never be enough lists on the internet of things.

Content has been moved to relevant sections.





  1. go into BIOS at boot
  2. manually set serial port to: ttyS0, serial port 1, I/O port 03F8, IRQ 4
  3. access the serial port through /dev/ttyS0 via the console
    • a sudo chmod 666 /dev/ttyS0 is needed after each boot
  4. install serial communications software, minicom
  5. configure minicom: sudo minicom -s
    • set the serial port
    • set other modem parameters (optional)
  6. get ready to dial out!

I was also able to do this on a RPi3 with a USB to serial 9-25 cable and working from the installing of minicom (I don't really remember and I failed to make notes). The internet of things tells me to configure minicom with the modem port to be /dev/ttyUSB0 (maybe sudo chmod 666 /dev/ttyUSB0, too). I'll try it sometime and update this post.

Points to remember:

Hilarity will ensue!






  1. 1980 AC/DC Back In Black
  2. 1981
  3. 1982 Headpins Turn It Loud
  4. 1983
  5. 1984
  6. 1985
  7. 1986 Art of Noise In Visible Silence
  8. 1987
  9. 1988 Sons of Freedom Sons of Freedom
  10. 1989
  11. 1990
  12. 1991 Pixies Trompe Le Monde
  13. 1992
  14. 1993
  15. 1994
  16. 1995
  17. 1996 Chixdiggit! Chixdiggit!
  18. 1997 Helmet Aftertaste
  19. 1998 Judy And Mary Pop Life
  20. 1999 Rumania Montevideo Rumaniamania
  21. 2000 Hi-Posi Seizen Setsu
  22. 2001
  23. 2002 Donnas Spend The Night
  24. 2003
  25. 2004 Ken Yokoyama The Cost Of My Freedom
  26. 2005 Clicks Magic of White
  27. 2006 Hinoi Team Super Euro Party
  28. 2007
  29. 2008
  30. 2009
  31. 2010
  32. 2011
  33. 2012 Hitomi Mobius
  34. 2013
  35. 2014 Babymetal Babymetal
  36. 2015 No Small Children Hold Tight, I'm Flying
  37. 2016
  38. 2017
  39. 2018

MP3 encoding aid

kbps MB/min Hours/GB
128 0.9 18.9
160 1.2 14.2
192 1.4 12.2
256 1.9 8.9
320 2.3 7.4



the autumn leaves of
colors many silently
lie under the snow

spring sunshine chases
winter's blue snow and cold air
happy orange warmth


the smoke that rises
grey from the computer case
does not bring me joy

an empty in-box
does not mean no one loves you
but it feels that way

freckles on your nose
a cute wrinkle when you smile
memories always



Time: Materials: Precautions: Hazards: Procedure:
Mix popcorn, oil and salt together in an appropriate vessel suitable for mixing popcorn, oil and salt together. Once the popcorn is uniformly coated with oil and salt, dump the mixture into a brown paper "sack lunch" bag (1). Fold over the top of the bag twice to seal; folds of 2/3 inch (15 mm) are appropriate; use "origami" corner folding for extra style points. Place bag, bottom down, in microwave. Microwave on the highest power setting available for 90 seconds (2). Remove bag filled with delicious popcorn from microwave. Handle bag carefully as it is hot and oily and take caution opening to avoid steam. Enjoy.
  1. Taking the time to mix the popcorn, oil and salt well before dumping has not empirically shown to yield a more evenly salted end product in comparison to adding the salt after the popcorn/oil mixture are dumped in the bag. Dump away!
  2. Cooking time is equipment dependent. It will take a few tries to narrow the cooking time down to where popping is maximised and and burning is minimised. Using an LG ("Lucky Goldstar") 0.8 cubic foot microwave, this "max/min" time is 75 seconds. An older Danby "Designer" 0.8 cubic foot microwave produces similar results in 92 seconds.
I've had ample time to practice the popcorn recipe above. I will keep the original text intact as an artifact. Here's the low down of my research.
I've reduced the amount of popcorn to a generous two and a half tablespoons. Oil is added mainly to make the salt stick. It is not required for popping. An oil-free product can be made with no other changes in cooking time. That said, coconut oil makes for a superior product.
Apparatus and Materials: Instructions:
  1. Open bag.
  2. Add popcorn.
  3. Add oil.
  4. Add seasoning.
  5. Lightly shake bag to mix.
  6. Allow mixture to settle along a long side of bottom of bag.
  7. Fold top of bag as described in original instructions.
  8. Inside the microwave, lay down two layers of paper towels to absorb oil.
  9. Lay bag down on the paper towels ON ITS SIDE, wide side down, with popcorn still gathered at bottom fold.
  10. Pop as described below.
  11. Enjoy.
Step 9 is critical. If my description makes little sense, remember how prepackaged microwave popcorn packages are put into the microwave. Flat, on their broad side.


Key presses for setting certain options on my Freeplay Summit radio:


My double-edge safety razors

Name Weight Handle
Glillette Slim Adjustable 71g 9.2cm TTO
Wilkinson Classic 45g 10.6cm 2P
Weishi 57g TTO
Baili 72g 9.4cm TTO
Feather Popular 35g 11.5cm TTO
Dorco 12g 11.0cm 2P
"Assured"* 44g 9.1g TTO
TTO: Twist To Open 2P: Two-piece
While I only started to shave with a safety razor in my 48th year, shaving is no longer a chore; I truly do look forward to putting blade to skin, even if I've reduced the ritual to ten minutes.
I have two favorites: the Dorco and the Feather Popular. Both are light- weight razors (physically), which appears to be counter-intuitive to modern shaving culture. I also love their long handles. Liking the Dorco is a true surprise. It weighs next to nothing, yet I feel no inclination to push the blade against my skin to shave with it. Very odd.
I've learned that I prefer safety razors that reveal very little blade. I have two inexpensive razors that expose so much blade, the blade goes "ting ting ting" cutting through the whiskers. Do not like. Plus I don't enjoy the super exfoliation provided by slutty razors.


The correct number of blades a razor should have is one. Any more and the razor is a gimmick. There is no need for more than one. "Lift and cut" should be more properly coined "lift and in-grow".
If shaving is painful or irritating, it's being done wrong. The daily task of whisker reduction should be meditative and enjoyable. Shaving should be a task to look forward to, not something to dread or avoid. Shaving should be far from routine; it should be a continuous improvement exercise on mastering the tools and the technique of whisker reduction. Complacency leads to weeping.

Cold water shaving

I have also become a quiet evangelist for cold water shaving. All of the bad press about cold water shaving is just that. It is, by far, a more pleasant way to reduce the whiskers.

Observations and Benefits

  1. Less water is wasted, especially the initial minute or so to get hot water out of the tap.
  2. A side-effect of the less water used is that I spend less time shaving or have more time to shave.
  3. The soap brush still hydrates properly.
  4. The soap still foams.
  5. Marginal, if any, irritation.
  6. Weepers weep less and happen less often.
  7. Whiskers are cut as close as hot shaving.
It's literally win-win on every point. And, just like hot water shaving, the caveat is that the water be soft. Hard water makes everything suck, shaving especially so.

Whisker pretreatment

I have forgone the expensive preshave oils and creams in favor of something more pedestrian: coconut oil. I take about a short teaspoon amount and rub it all over my face, not just the whiskers. If I can, I will let it sit for five to ten minutes before soaping up and shaving. Smooth.
I appreciate the long-running trend of men looking like hobos with three plus days worth of whisker growth, regardless of the trim level, because I don't have to put the full effort into reduction to look presentable. This statement might seem hypocritical; while it is important to do one's absolute best, time on Earth is finite and if I need only ten minutes to evolve, why should I spend fifteen when it will go unnoticed?
* Dollar Tree purchase; very slutty.

That Plane*

* The correct title for this section really should be "They belong on that plane". This is a never-ending list of people and things and ideas that belong on a plane that will crash, leaving no survivors.


"Because sometimes I can't get music CDs encoded with other's shitty software."

Step Uno: Extract CD audio files with cdparanoia

~/Music/rip/$ cdparanoia -B --
This extracts all the files on the CD into individual files, sequentially numbered, starting with track01.cdda.wav. It's easier to extract the entire CD and just delete the final MP3s that aren't wanted.
Take care to deal with any WAV files that might have been created from previous rips. Either MV them to a temporary directory or RM them. The script below ASSumes that the WAV files present are the correct ones.

Step Due: Edit a simple text file used for creating and titling the MP3 files

Go to freedb.org and get the track listing of the CD being extracted. Viewing the "Disc-ID" link to get the song titles is easiest. Create a text file that looks like the example below:
---BEGIN sample.txt TEXT FILE--- Single Artist Album Title 2017 This Is A Song So Is This And This Is Also A Song This Is The Last Song ----END sample.txt TEXT FILE----
The first line tells the script to deal with single/multi artist CDs. I need to look at what the script below is actually doing before I discuss dealing with multi artist CDs. I really don't think the script as written deals with multi artist CDs properly. The above text file has five tracks. Take care to not leave empty lines in the file.

Step Tre: run the WAV2MP3 script

Duh. Execute the BASH script below:
~/Music/rip$ bash wav2mp3 < sample.txt
This redirects the contents of sample.txt into the script. The script is just a bunch of read statements executed in sequence, hence the necessity for the text file that is being redirected into the script to be in the correct order. Lots of "ideas" in the script should be self-evident. Read the MAN pages for stuff that isn't.
---BEGIN wav2mp3 SCRIPT--- #!/bin/bash filler="00000000" read multi echo $multi read artist echo $artist read album echo $album read year echo $year for l in `ls track*wav` do if [ "${multi:0:1}" = "M" ] then read martist dartist="va" read track else martist=${artist} dartist=${martist} read track fi tn=${l:5:2} dartist=`echo ${dartist} | tr "[:upper:]" "[:lower:]"` dartist=`echo "${dartist}" | tr " " "_"` dartist=`echo "${dartist}" | tr -d "'\"" ` dtrack=`echo ${track} | tr "[:upper:]" "[:lower:]"` dtrack=`echo "${dtrack}" | tr " " "_"` dtrack=`echo "${dtrack}" | tr -d "'\"" ` dalbum=`echo ${album} | tr "[:upper:]" "[:lower:]"` dalbum=`echo "${dalbum}" | tr " " "_"` dalbum=`echo "${dalbum}" | tr -d "'\"" ` dest="${dartist}-${year}-${dalbum}" if ! [ -e ${dest} ] then mkdir -p ${dest} fi lame -b 256 -m s -q 2 --ty ${year} --tg 17 --tl "${album}" --tn "${tn}" --tt "${track}" --ta "${artist}" ${l} ${dest}/${tn}-${dtrack}.mp3 done ----END wav2mp3 SCRIPT----
Please make sure to edit the "lame" line to be all one line as I had to break the line into two to conform to the formatting of this page.

Step Quattro: Enjoy the MP3s

Enjoy indeed. Sometimes the tags might not be "right" or how I want them. When that is the case, I will load up a tag editor, "EasyTag" for instance, and fix accordingly.
Home About Contact Disclaimer Discover Map Privacy Terms (c) 2001-2019