No Haggle Car Buying Via Backdoor Employee Pricing Plans

My most recent car buying experience took three rounds of negotiating over the course of 2.5 hours to get a fair deal. This 2.5 hours did not include time spent test driving, evaluating a potential trade-in, signing the deal with finance, and conducting the delivery walk-through. After this arduous buying process, I looked into ways … Read more

What musical instrument should my daughter play? A look at sex differences and representation in music

My daughter has tried a variety of preschool-age activities – soccer, gymnastics, dance, art, etc. The only activity that has stuck is piano. Considering the exploration vs. exploitation trade-off, perhaps it’s better to delay exploring new activities until she’s older and instead exploit her current interest in music. So I bought an electronic drum kit. … Read more

Museum Reciprocal Membership Arbitrage

While researching museum memberships, I found many museums offer reciprocal membership to other museums. For instance, the de Young museum offers reciprocal membership through NARM at the contributor level ($299). However, the Museum of Craft and Design offers reciprocal membership through NARM and ROAM at the enthusiast level ($150). Clearly, the Museum of Craft and … Read more

How to Configure Fail2Ban

Notes to self, running on Ubuntu 20.04. This is to ban access to a specific web page rather than a service like SSH. Install fail2ban. pyinotify is the default backend. In /etc/fail2ban, copy jail.conf to jail.local. Edit jail.local by uncommenting the ignoreip line and adding your IP address so you don’t accidentally lock yourself out. … Read more

How to Setup WireGuard on Ubuntu 20.04

Notes for setting up WireGuard. Assumes server and client are both Ubuntu 20.04. Server Config Install WireGuard Generate the public and private server keys. Restrict permissions on the private key. Create the config file Edit config file with text below. CLIENT1_PUBLIC_KEY is generated in the client config below. Multiple clients can be added by copying … Read more

How to Create a Virtual (Headless) TigerVNC Server on Ubuntu 20.04

Creating a headless virtual VNC session (i.e. no monitor plugged in) for Ubuntu 20.04 using GNOME was harder than anticipated. It was easy to set up a local VNC session, but going headless without a dummy adapter AND with the GNOME desktop was a challenge. Install TigerVNC Some VNC servers only support local VNC sessions … Read more

How to Migrate from SVN to Git

Notes to self. Should be a one-time move, but there were two issues that might be helpful to remember in the future if not. Install Git, Setup SSH On git server: Install git Setup and switch to git user Setup ssh files Setup directory that holds bare repos On SVN server: Install git and git-svn … Read more

How to Compile OpenCV 4.5.2 with CUDA 11.2 and cuDNN 8.1 on Ubuntu 20.04

Notes to self after fresh install of 20.04 (16.04 finally reached EOL). Install NVIDIA drivers Launch “Software & Updates.” Under “Additional Drivers” install metapackage from nvidia-driver-460. Install CUDA 11.2 Download CUDA from NVIDIA using deb (network) Per the installation instructions, after installation add the following entries to the end of .bashrc Install third party libraries … Read more