Posts

Showing posts from November, 2021

Work from Home Setup - Holiday Wireless Edition

Image
The balcony iMac has moved inside for the winter. The Labrador is, at 2 ½  years old, still not to be trusted. The combination has my dining room table sharing space between the tree and the iMac. I just set everything up to be as comfy as possible. Pictured: The  Bose QC35 II  headphones, a very competent wireless headset for calls, Zoom meetings, etc. (Though of course, now apparently superseded by the QC45 model.) Minor annoyance: After about 3 years of light-to-moderate use, the leather on the earpads is starting to flake off. I have Wicked Cushions replacements on the way.  Keychron K8 with Kailh Box Jades (swapping to Boba U4 RGB 62g switches in an RGB / Aluminum K8 , as soon as they get here). Got this monitor stand with built in USB hub and wireless phone charger on a Black Friday sale. Cheap Bluetooth laser mouse (a $20  Insignia NS-PNM3B8BK , works surprisingly well; side button functionality enabled with SensibleSideButtons ). Noble Fir 5' Xmas tree from Oregon ,

Table Tree

Image
Literal table. Literal tree. I got a 5' tree from Shawn’s this year, as I’m hosting a partial xmas (just two of us) and I don’t trust my now-2.5-year-old Labrador not to eat ornaments or lights, or otherwise interact with the tree in desirable ways, especially when I’m not home to directly supervise. Anyway. It’s next to the iMac on the dining room table, and I’ve been working on that machine a few hours a night. What’s awesome about this setup? (1) The awesome smell of the Noble Fir. (2) I have the lights on a digital timer that goes on at 4:45 p.m. every evening, and switches off at 11 p.m. nightly. The perfect reminder I should shut down and get a decent amount of sleep. (And, let’s face it, I should really be working less .)

PHP with SQLite using PDO

Image
Had to throw together a fast and dirty database-backed system. Super easy with SQLite, which is built into most PHP builds. Not sure? Run this and look for --with-sqlite3 in the Configure Command section: <?php phpinfo(); Creating a database and setting up tables from the command line is easy: $ sqlite3 SQLite version 3.22.0 2018-01-22 18:45:57 sqlite> .open /path/to/database.sqlite sqlite> CREATE TABLE tag (uuid char(36) primary key, tag varchar(255)); sqlite> .tables tag sqlite> INSERT INTO tag (uuid, tag) VALUES('371A4A0D-C21E-42AD-854A-B48181D061AD', 'Litigation'); sqlite> SELECT * FROM tag; 371A4A0D-C21E-42AD-854A-B48181D061AD|Litigation sqlite> create table article_tag( uuid text primary key, article_uuid text, tag_uuid text); sqlite> create index atart on article_tag(article_uuid); sqlite> create index attag on article_tag(tag_uuid); sqlite> .quit I realized after the fact that SQLite maps “regular” SQL data types ( CHAR(36) etc) to

LetBox kinda sucks

Image
I have a LetBox VPS instance I use for some database development. Nothing critical. It’s $3.30/month . It autobills my credit card. Easy. The credit card I had setup expired this month. I overlooked it. LetBox didn’t bother sending any notice that my card on file was about to expire or anything like that. Instead I got, the evening before a holiday weekend, two emails, one letting me know the card charge didn’t go through, the other informing me my invoice was overdue. (On the date it was due.) I got another email the next day (Thanksgiving), by which point the VPS was in a suspended state and not accessible. Really? No notice, and you’re going to suspend service when payment is a single day late over a long holiday weekend?! For a $3.30 transaction?!

Aww, shucks.

Image
After 7 years, one of the two 6TB Western Digital Red drives that forms half of my RAID1 mirror failed to come up after a server reboot: [   19.762832] ata2.00: exception Emask 0x0 SAct 0x100 SErr 0x0 action 0x0 [   19.762838] ata2.00: irq_stat 0x40000008 [   19.762841] ata2.00: failed command: READ FPDMA QUEUED [   19.762847] ata2.00: cmd 60/08:40:08:00:00/00:00:00:00:00/40 tag 8 ncq dma 4096 in                         res 41/40:00:09:00:00/00:00:00:00:00/00 Emask 0x409 (media error) <F> [   19.762850] ata2.00: status: { DRDY ERR } [   19.762852] ata2.00: error: { UNC } [   19.764196] ata2.00: configured for UDMA/133 [   19.764212] sd 3:0:0:0: [sdd] tag#8 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [   19.764215] sd 3:0:0:0: [sdd] tag#8 Sense Key : Medium Error [current] [   19.764218] sd 3:0:0:0: [sdd] tag#8 Add. Sense: Unrecovered read error - auto reallocate failed [   19.764222] sd 3:0:0:0: [sdd] tag#8 CDB: Read(16) 88 00 00 00 00 00 00 00 00 08 00 00 00 08 00 00

An Early 2020 Guide to getting a Rise of the Resistance Boarding Group at Disneyland

Image
I posted this write-up on February 15, 2020, for someone who was wondering how to maximize their Disneyland experience and chances of getting on Rise of the Resistance. Who knew what was on the horizon ?!

iPad Mechanical Keyboards - Success and Redux

Image
  I wrote earlier about trying to find a mechanical keyboard setup for an iPad . After finally retrieving my iPad Pro 9.7 from the trunk of a car that’s been in the shop since June (sigh…), I can now attest: This solution rocks. MakerMade3D’s one-off (so far?) 3D-printed “bezel” holds the iPad perfectly (with one caveat, if the feet on the K2 aren’t flipped down, small or large, the setup will rock a little bit on a flat surface. Flip those down and it’s rock solid. The setup is a Keychron K2 with Kailh Box Navy switches, which are heavy … Pondering swapping them out for Boba U4  “silent tactile” switches. (Update: Ordered from Ali Express with a delivery date about 6 weeks out, no one had the RGB 62g in stock, but I may have a line on them through reddit…) Meanwhile, two three new contenders have come to my attention: NT68 The Epomaker NT86 seems to be the perfect iPad mechanical keyboard. I’m told they’ll be shipping in December, after the Kickstarter backers’ units have shipped,

Unleaded Aviation Fuel

Image
The elephant in the room is now beating at the gates (with apologies for the mixed metaphor): The Tetra Ethyl Lead (TEL) in aviation fuel. The search for a fuel to replace the currently ubiquitous (and only fuel that can be universally used by piston aircraft) 100LL AvGas has been under way for some time. Here, I’ve attempted to summarize the current state of things, and cover the frustrating difficulties that prevent an overnight switch to unleaded fuels. Why Aviation Fuel is Leaded: Octane The first thing that must be understood when discussing replacement fuels is the octane rating. (Also, note different numbers mean different things, and it can get confusing; see below.) The main issue is detonation .   Aircraft engines with magnetos (i.e., virtually all piston-powered aircraft currently flying) are not computer controlled and have static timing that does not advance with increased RPM; additionally, mixture is manually controlled by the pilot. Automotive engines, liquid-cooled,