Tuesday, June 2, 2020

Dog Stuff

These aren’t affiliate links, just things I’ve found (mostly on chewy.com, as I’ve been boycotting Amazon since late June of 2019, long story) very useful in transitioning from a home with two known quantity adult dogs, to a home with a very young puppy. Hope they’re helpful to, well, anyone. Prices are what I paid at the time, not current pricing.

Puppy Phase

Potty Training

  • Washable puppy pads ($16 for 2). I don’t like disposable stuff if I can help it.
  • Nature’s Miracle laundry additive ($10) (or this SKU for $8). For washing the reusable puppy pads.
  • Nature’s Miracle spray ($10). Accidents will happen.
  • Bissell Pet Stain Eraser portable shampooer. I found the best pricing ($50) on Bissell’s eBay store. (This one’s not just useful when house breaking, but it’ll definitely get a lot of use then!)
  • Rug Doctor - Corded Upright Deep Cleaner. A bit large and awkward but this thing really sucks. I’ve used other home carpet cleaners, none can touch this one, in the price range ($235 on sale).
  • Astroturf potty ($36) (I also got a spare piece of astroturf ($21) so I could wash one and leave it to dry, and have a fresh one to swap in.) (Even though it’s “medium” it was enough for my puppy through about 6 months, at which point a switch flipped and he would wait until we went “outside” for everything.)


Some folks use a crate beyond the puppy months. I don’t. When my guy was using a crate, I had a whole little “apartment” setup for him:
  • 48" Crate ($75) (with an interior divider to make it smaller while he was potty training as a very small puppy; also, two doors)
  • Crate mat ($33) 48"
  • Wire pen ($37), 30", that I had attached to the crate, and which wrapped around food/water bowls and his astroturf potty.

Other Barriers

While he’s still getting into and destroying things he shouldn’t, I’m using these to limit his access to areas I don’t want him to be unsupervised:
  • Freestanding pet fence ($60), I have one keeping him from going behind the loveseat (I have a desk back there with cords underneath, etc), and used another to keep him from going under the dining room table (which I’d shoved up against a wall to make room for his crate-apartment).
  • Step-through gate ($38), I have this at the entrance to the hallway off the living room that leads to the bathroom, some hall shelves / closet, and the bedroom.

All Life Phases

  • Elevated dog bowls ($30 for stand and two bowls).
  • VittlesVaults ($26/ea). As each of my puppies are on different foods, I have a 35 lbs container for each (though the Royal Canin Labrador Puppy 30 lbs bag doesn’t quite fit; I usually have a bit of food left in the bag for a couple of days).
  • A Dyson. I’ve got the V10 Absolute. I want one of the big corded ones, eventually ($too much).
  • Collars. I like ones with their name and phone number in big letters, like these ($19).
  • Kongs! Always Kongs. Load ’em up and they’ll be engaged for hours.
  • Bullysticks, these are the most affordable option I’ve found ($8)
  • Good2Go Seatbelt Adapters ($13) for safe travels, especially in a convertible
  • SENSE-Ation harnesses (about $30)
  • Hemp leashes ($19)


  • Treat bag ($6)
  • Charlee Bear Cheese and Egg treats ($6), for training at home. No better bang for the buck.
  • Soft and Chewy Training Bits ($3), for training on the go. My trainer recommends treats that are “small, sticky, and stinky,” and these fit the bill. I buy several bags at a time as the 4oz size doesn’t last long.


My dogs are easy, but benefit from:
  • ZoomGroom ($6). The rubber nubs feel like vigorous scritching, they love it and lean into it! Helps get rid of the fur they were going to shed everywhere...
  • Flea comb ($5) never hurts to check.
  • Dremel 7300-PT 4.8V cordless pet grooming kit ($35) just the thing for their nails

Slow Feeder

My Labrador eats incredibly quickly. Too quickly. I tried this inexpensive slow feeder gizmo: https://www.chewy.com/loving-pets-gobble-stopper-slow/dp/47359 Not recommended; it’s a lot smaller than it appears to be, doesn’t stay put, and my Lab started eating it. I’ve since switched to:

Dog food

I used to be a dog food snob. Only grain free. No corn (it’s like feeding your pup McDonalds! ... is probably something I’ve said, probably a lot). Etc. Taste of the Wild, EVO, etc. Most recently, Canidae Pure Elements. But then I started reading about dilated cardiomyopathy ( “DCM”). I think the first time I encountered it was in this thread on reddit.

The FDA has announced they are investigating DCM, and named a list of foods that had been, at least tentatively, linked to DCM fatalities: Arcana, Zignature, Taste of the Wild, 4Health, Earthbloom Holistic, Blue Buffalo, Nature’s Domain, Fromm, Merrick, California Natural, Natural Balance, Orijen, Nature’s Variety, NutriSource, Nutro, Rachael Ray Nutrish. I discussed it with my late Labrador’s oncologist (at a specialty practice; they don’t sell dog food, or AFAIK have any interest in what you feed), who wrote:
I am on a merciless crusade to re-educate the public that Purina, Royal Canin and Hills are veterinarian recommened for a reason and do long term feeding trials to prevent stuff like this from happening and employ veterinary nutritionists.  My dogs have always eaten Purina (either Proplan or vet diet like Bright Minds or tummy diet like EN) or Hills science diet any maintenance diet.  I think Purina is more palatable.
Our regular vet made the same recommendations, as did my mom’s dogs’ vet, when we happened to discuss dog food on a dive boat during a recent shark diving excursion.

My “senior” mutt
So, now, my ~9 year old street stray rescue mutt is on Purina Pro Plan Bright Mind 7+ and thank the gods they’re changing the bag.


Meanwhile, my spoiled prince, an AKC registered Labrador puppy, started life on Eukanuba Large Breed Puppy, which the breeder recommended I discontinue at 6 months. I switched him to Royal Canin Labrador Puppy, which he loves (he has a slow feeder bowl, which helps a little, but he scarfs food down like, well, like a teenager). The feeding guidelines for that food call for it to be fed until 15 months, though everyone in the dog community seems to have an opinion as to when to shift off of puppy food. So I asked Royal Canin the “why” behind that cut-off. Their reply: “The reason for 15 months is the larger the dog the longer it takes for them to reach full size and adulthood. Though a Labrador maybe near full height at 7, 8 months they are still growing the muscles and nerves to support that size. The difference between the puppy and adult product is that the puppy will have higher Calories, Fat, and Protein amounts to support that growth.” So, there you have it. Oh, and here’s the brat:

My Labrador at about 11 months

Monday, June 1, 2020

PHP Serialization

So easy...

$ cat serialize.php 
$ts = time();
$data = array( 
$ts++ => [ 'id' => 'fnord123', 'query' => 'fnord', 'status' => 'new' ],
$ts++ => [ 'id' => 'fnord124', 'query' => 'Mooney', 'status' => 'pending' ]


file_put_contents( "phpdata.txt", serialize($data), LOCK_EX);


$ cat unserialize.php 
$data = unserialize( file_get_contents("phpdata.txt") );


Thursday, May 28, 2020

Changing Default Boot Volume in Clover

I have a computer booting using Clover. It has this annoying thing where it boots into an installation partition, instead of my main operating system partition, unless I manually select the right boot partition at power-up. Makes remote rebooting (without, say, a net-enabled KVM, which I don’t have), a huge PITA. For the life of me I couldn’t figure out how to fix this, but now, with some guidance, I have.

  1. Use Clover Configurator to:
    1. Left pane, Tools: Mount EFI
    2. Right pane, under Efi Partitions, “Mount Partition”
    3. Right pane, under Efi Partitions, “Open Partition” once it’s mounted
  2. Find and edit config.plist under EFI/CLOVER (on my system: /Volumes/EFI/EFI/CLOVER/config.plist), and change DefaultVolume to LastBootedVolume, save the file, and unmount the EFI volume:


# diskutil unmount /Volumes/EFI/
Volume EFI on disk0s1 unmounted

Rebooting, and hoping it works! ...

Edit: It did not. Haven’t had time to investigate further.


Wearing the “COVID six,” I started riding my bike into the office again. Before (years and years ago), it was an awesome, fat-melting 17 mile trek down the beach into the south bay. Now, it’s 3 miles, but, better than nothing.

    My current commuter, at the office.
      Trek 2100zr promotional photo
    I’m still riding the same bike I was back then, a circa 2006 or 2007 58cm Trek 2100zr I got from i.Martin.

    It’s still mostly stock, with some accessories added. A couple of years ago, I had Helen’s refurbish it to deal with years of beach riding abuse (corrosion on the cables, new handlebar tape, etc). I got a good deal on it; the next year’s models were already out and they needed to clear it off the showroom floor. I want to say I spent $700, against a sticker price of $1299? Anyway.
    • Frame: ZR 9000 Alloy w/TCT Carbon seat stays
    • Fork: Bontrager Approved, Carbon
    • Wheels: Bontrager Select
    • Tires: Bontrager Race Lite, 700x23c (though if I ever need to swap rubber, I’ll probably go with Continental Gatorskins, like I have on my old Specialized Sirrus commuter, now a hangar bike)
    • Shifters: Shimano 105 STI, 10 speed
    • Front derailleur: Shimano 105
    • Rear derailleur: Shimano Ultegra
    • Crank: Bontrager Race 52/39/30
    • Cassette: Shimano 105, 12-25, 10 speed
    • Pedals: Power Grips High Performance Pedal Kit (stock were Shimano 505, clipless, but I can never find bicycle (or golf, or ...) shoes in my size (US 13W, euro 47.5-48))
    • Saddle: Bontrager Race Basic
    • Seatpost: Bontrager Carbon
    • Handlebar: Bontrager Select VR, 31.8mm
    • Stem: Bontrager Select, 7 degree, 31.8mm
    • Headset: Cane Creek Integrated w/cartridge bearings, sealed, alloy
    • Brakeset: Cane Creek 3 w/Shimano 105 STI levers
    • Color: Anthracite.
    • NiteRider Mi.Newt 600 LED headlight, USB rechargeable (I miss the halogen 5W+15W setup I had, with the battery pack that took up a water bottle holder; my Labrador puppy ate the charger cord years ago)
    • Blackburn Mars 4.0 1-watt rear flasher
    • Road Morph G portable hand pump. Love this one; it has a fold-out foot pad and the inflater is on a flexible hose, so you're not stressing the valve stem constantly. When you're trying to pump a tire up to 110+ psi, this thing is a godsend.
    • Timbuk2 Goody Box top-tube bag that worked great back when I had an iPhone 4... Carries keys, a short mini USB cable to charge the headlight, a couple of 1 oz. Gatorade packets, etc.
    • A rear hydration carrier system comprised of, I think, two Profile Design Kage cages mounted to a Minoura SBH-300 saddle water bottle cage mount for 2 cages
    • A pair of “whatever the bike shop had at the time” bottom tube and seat tube water bottle cages, like these
    • A RavX Classic X saddlebag containing the usual stuff:
    • Think there might still be pieces of an old CatEye computer with a (wired) cadence sensor; I just use the iPhone and Cyclemeter now, though I really should get a Bluetooth cadence module.
    A lot of trial and error went into putting all that together.

    Specialized Sirrus
    My first commuter was a base model Specialized Sirrus I got for what seemed like, at the time, the astronomical price of $500. Picked it up the weekend after the bar exam, and started commuting (~5 miles each way) from Park La Brea to Century City, shedding some of the flub I’d put on over 4 years of working full time, law school at night, and then cramming for the GBX. That had a CatEye computer (basic), a mirror sticking out of one of the bar ends, a kickstand (?!), a pannier rack and pannier bags, and a top bag that sat on top of that rack, etc. I went through so many lights (front and rear), etc. Shimano ST-EF35 shifters, Shimano T-301 front / Sora rear derailleur, Specialized Forearm Sport, 28/38/48 crankset, 8-speed, 12-26 teeth rear cogs, 700x28c tires. This one had plastic pedals that disintegrated, so it ended up with Power Grips (that I later moved to the Trek 2100zr); now it's wearing some generic metal pedals as it’s only really cruising between hangars at the airport.
    Trek 7.2 FX promotional photo

    At my mom’s in Missouri I have a “Rage Red” Trek 7.2 FX (cheapest decent bike I could find that didn’t have twist grip shifters), for KATY trail rides and bimbles around Forest Park; think I paid about $349 for it in 2006 or 2007, and its still totally stock: Shimano EF50 shifters, C102 front / Alivio rear derailleur, TX71 48/38/28 crankset, SRAM PG830 11-32, 8 speed cassette, Tektro V brakes (with the EF50 levers), 700x35c tires. It may have a bike computer on it. Probably does. Stock composite pedals. Probably has all of 200 miles on it. Still, a good little bike for the price.

    When did Gatorade switch from 1oz packets (for 16.9 oz water bottles) to 1.23 oz packets (for 20 oz water bottles)? And when did they do away with the little cannisters with the scoops? (I know, there’s better stuff out there, but Gatorade mix is readily available at supermarkets, etc., and it’s just easy.)

    Mars 4.0

    Minoura SBH-300
    Mi.Newt 600

    Tuesday, May 12, 2020

    Goddamnit. Now BanditHost is dead.

    After my ArkaHosting VPS went deadpool, BanditHost seemed solid, so I setup a fairly massive database and front end on a virtual server there. It’s been offline for a few days and I finally had a minute to dig into it. Yup. They’re dead, too. Ungh. I do not have the time to populate that massive database again (it’s dozens of gigabytes). At least I have the code backed up, and the MariaDB instance on the VPS was a slave being populated by a master I host on a RAID-equipped Linux server at home.

    Monday, April 27, 2020

    Bluetooth Low Energy

    Hmm. Was about to pull the trigger on the well-reviewed Logitech M585 (this “work from home” thing has me wanting a Bluetooth mouse I can easily swap around from computer to computer), until I read this:

    This mouse requires that your PC be compatible with BLE (Bluetooth Low Energy) technology. If your computer doesn’t support this, you will have to use the Unifying receiver with this mouse. BLE is also referred to as “Bluetooth Smart.” If your computer was manufactured in 2016 or later, you can expect it to be compatible. Higher end machines from 2015 support this technology, while it was an uncommon option in 2014.

    Probably not a great fit for my circa-2013 MacBook Air or my “Mid-2010” iMac ... Sigh. Back to the drawing board. Probably just pick up another cheap Insignia. They work surprisingly well, and if I have two of ’em, the pain in the ass factor of swapping between two computers using Bluetooth becomes a non-issue.