Notes: VLC

Under View->Add Interface, you can enable the Web Interface for VLC. This gives you a way to remote control VLC using HTTP requests, or simply check the status of things (like the currently playing song). By default, the web server runs here: http://localhost:8080/ Before you can access it, you need to set a password. Follow the instructions at the URL above (i.e. Tools->Preferences then All->Interface->Main Interface->Lua then Lua HTTP->Password. With a password set, you can access it via cURL like so:...

Notes: DaVinci Resolve on Ubuntu

DaVinci Resolve is not designed to run on Ubuntu out-of-the-box (it’s designed for Redhat/CentOS). So we need some trickery. Download it: https://www.blackmagicdesign.com/ca/products/davinciresolve/ Install pre-requisites: sudo apt-get install libssl-dev libgstreamer-plugins-base1.0-dev sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so.10 sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10 Install OpenCL: sudo apt install ocl-icd-libopencl1 opencl-headers clinfo ocl-icd-opencl-dev # Intel IvyBridge+ Support (i.e. 3xxx) sudo apt install beignet # Otherwise `clinfo` can't find an OpenCL device Install DaVinci Resolve: # Unzip and enter installer's folder sudo ....

Sphinx Search Notes

Config broken up in to sections sources (`source`) indexes (`index`) indexers (`indexer`) searchd (`searchd`) http://sphinxsearch.com/docs/current.html#quick-tour https://github.com/sphinxsearch/sphinx/blob/rel22/sphinx-min.conf.in https://github.com/sphinxsearch/sphinx/blob/rel22/sphinx.conf.in Should you switch to Sphinx real time indexes?...

Notes: Rsync'y Box

https://www.ostechnix.com/find-size-directory-linux/ https://www.marcus-povey.co.uk/2015/04/09/cross-server-ssh-rsync-backups-done-more-securely/ https://help.ubuntu.com/community/Fstab https://stackoverflow.com/questions/8475694/how-to-specify-in-crontab-by-what-user-to-run-script https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/...

Notes: EdgeMax (EdgeRouter)

Notes on working with an Ubiquiti EdgeRouter running EdgeMax. Factory Reset If you ever need to start over, you can factory reset by holding the Reset button for about 10 seconds, until the eth4 LED starts flashing and then becomes solidly lit. After a few seconds, the LED will turn off, and the EdgeRouter will automatically reboot. Getting Started Plug your computer in to PORT 1 (eth0). Connect to https://192.168.1.1 (note HTTPS)....

Notes: Linux Containers

Linux Containers are “the new hotness”. If there’s a feature Ubuntu has over other distros, its containers built-in. LXD is the modern tool used for containers. It can be installed elsewhere, but that’s not how we roll here. https://linuxcontainers.org/ LXD containers are not VM’s, but are designed to work exactly like them. The key difference is they are fully native, and they access to hardware directly (well networking aside). You can even grant access to a GPU. Containers are a very flexible tool for your everyday Linux use. Ubuntu 16.04 ships with LXD 2.0, but for some of the advanced features, you’re going to want the latest. https://launchpad.net/~ubuntu-lxc/+archive/ubuntu/lxd-stable Working with containers is A LOT like working with vagrant boxes. Reference: https://www.ubuntu.com/containers/lxd It’s also worth noting that while LXD only runs on Linux, the client (lxc) can be run on other OS’s including Windows and Mac. What this lets you do is set up remote connections to LXD containers. I’m not going to cover remotes here, but infrastructurally speaking it can be used from other platforms (even just other Linux machines). Disabling IPv6 DON’T DO THIS. You can optionally disable IPv6 support in LXD. Where lxdbr0 is the ldx-br0 bridge created during setup. Frankly though, this doesn’t change much. I thought it did more, but the containers themselves are still assuming an IPv6 IPs, just you can’t see them via lxc list anymore. Reference: https://github.com/lxc/lxd/issues/3333 Modern Kernels on LTS Ubuntu Starting with Ubuntu 16.04 LTS, you are able to make your Ubuntu install subscribe to the latest changes to the Linux kernel. There are 3 channels you can subscribe to: GA-16.04 (General Availability) HWE-16.04 (Hardware Enablement) HWE-16.04-Edge (Cutting Edge Hardware Enablement) By default Ubuntu puts you on the GA track, meaning in Ubuntu 16.04’s case, you’re getting Kernel 4.4.x. Switching to HWE, you get a current Kernel. At the time of this writing, that’s 4.10.x. HWE channels are good up until the next major LTS release of Ubuntu. Then you effectively get put on the GA track of the now current LTS release (i.e. 18.04 starting April 2018). It is then expected you’ll upgrade to the new LTS release, where you can begin again, switching to the next HWE series. More details: https://wiki.ubuntu.com/Kernel/RollingLTSEnablementStack How to install HWE: Then reboot to apply the change. I’m not 100% sure how necessary this is, but I was under the impression that I read something that called for newer that 4.4.x kernel. Who knows. I’ll make a note here if I find it again. Canonical also offers a live Kernel patching service. https://www.ubuntu.com/server/livepatch Notable because rebooting is not required, but beyond 3 machines you need to start paying for a support plan. Also (and this is key), the livepatching services is limited to GA releases. Yes, no HWE kernels via livepatch. Linux Network Interfaces This is a key file on Ubuntu. It’s not even specific to LXD, but Linux in general. To create advanced Linux Networking configurations, from bridges to VLANs, you do it here. A default Ubuntu Server install will give you a relatively simple configuration. The ever important loopback interface (lo), and a list of ethernet adapters. WiFi and some specialty services (VMs) are handled by other applications. Interestingly, my Ubuntu Desktop machine’s interfaces file is far more bare. It looks like in Desktop Ubuntu, another service is being run to support plug-and-play networking. ...

Notes: Advanced Networking (overview)

So thanks to … reasons, I recently had to rework my internal network. To do it, I had to order some new hardware, and learn a bunch new things about networking. ...

Chaotic Git Merging Notes

I recently had a situation where a pair of devs were working on some code, and shared that code between them. I unfortunately wasn’t around to act as an intermediary and merge in to mainline for them. This resulted in 3 separate Push Requests with a number of conflicting changes. Add to that I started merging one set of changes, making my own changes, only to later realize there was all this overlap, so I’d effectively turned this in to a 4-way merge conflict. Oops! To make this more manageable, I removed my conflict from the picture. To make my changes properly, I need to see the final result of the 3 Push Requests merged in to one. So I created a new Uber Push Request that combined (and fixed) the conflicts between the 3. To get there, I had to learn more about GIT. 🙂 ...

Notes: Linux video-to-giffing

References: – conversion: http://xmodulo.com/convert-video-animated-gif-image-linux.html – monitor: https://www.imagemagick.org/discourse-server/viewtopic.php?t=15860 – remove every-other: https://stackoverflow.com/a/12604488/5678759 Create a folder, and move the video file in to the folder. At this point you have files. Viewing the folder should let you see the thumbnails. You can pre and post delete any files you grabbed by accident. If the images come from an animation, you might want to delete every-other-file. Next use ImageMagick to build the GIF....

Notes: Advanced OBS Stream Config

OBS Studio ships with a bunch of audio plugins (Gate, Compressor). On Windows you can use VST Plugins too. Like most DAW’s, the VSTs used must match the Architecture (i.e. 32bit vs 64bit). A good set of plugins for this are these VSTs from the developer of Reaper. They are available in both 32bit and 64bit. http://www.reaper.fm/reaplugs/ Configuring decent Audio I’m using a 3-stage setup. ReaFir (FFT) ReaEQ (EQ) ReaComp (Compressor) ReaFir can be used to capture the noise profile of the room....