Skip to content

Instantly share code, notes, and snippets.

@ralphholz
ralphholz / kodi_18_raspbian.md
Created May 12, 2020 10:08
Kodi 18 with Netflix add-on on Raspbian (Raspberry Pi 3)

Running Kodi 18 on Raspbian with Netflix add-on and VPN

My goal was to run Kodi 18 on a vanilla Raspbian, install the Netflix add-on, and tunnel all traffic via a VPN. A great number of tutorials exist for that purpose, but none of them was entirely correct or up to date. At the time of writing, 2019-08-11, there are a number of obstacles to overcome. It took me the better part of an afternoon to piece the following together from several sources, with the general approach for the Netflix add-on - differing in details - following the instructions at https://www.makeuseof.com/tag/netflix-amazon-video-plex-raspberry-pi/. The advantage of installing Kodi on a normal Raspbian (instead of opting for LibreElec and other media centre-focusing distributions) is that you can use a variety of other software and, importantly, can use VPN clients other than OpenVPN. Admittedly, I haven't tried OpenVPN in a long while and I think it will have the necessary performance, but I actually like the ExpressVPN client for its e

@ralphholz
ralphholz / ms_ergonomic_single_key_fix.md
Created May 12, 2020 10:08
Repair Microsoft Ergonomic keyboard with single non-working keys

The problem

Microsoft Ergonomic Keyboard 4000 with one or more single keys not working.

Preliminaries

Use a key mapping tool (macOS users: Keyboard Viewer) to ascertain that indeed there is really no signal coming from the keyboard rather than just the wrong one. If you do see a keycode when you press the key, you need to have a look what kind of other tools you might have installed that intercept the key. In the following, we assume you do not see a keycode.

Possible reasons

Installing zeek 3 on Linux in single-host cluster mode with pfring

I am documenting how I installed zeek 3.0 on my Linux machine, which has 36 cores (72 with hyperthreading), using pfring to distribute the load. The OS is Ubuntu 18.04.3.

NICs and drivers

My monitoring interfaces are enp134s0f0 and enp216s0f0. Driver is i40e. This driver is supported by pfring, according to https://www.ntop.org/guides/pf_ring/zc.html.

Install openssl

zeek 3 supports OpenSSL's 1.1 API. You will still likely need to install libssl-dev:

Installing zeek (bro) on Linux in single-host cluster mode with pfring

I am documenting how I installed zeek (bro) on my Linux machine, which has 36 cores (72 with hyperthreading), using pfring to distribute the load.

NICs and drivers

My monitoring interfaces are enp134s0f0 and enp216s0f0. Driver is i40e. This driver is supported by pfring, according to https://www.ntop.org/guides/pf_ring/zc.html.

Install openssl

zeek does not yet support OpenSSL's 1.1 API, so we need an older openssl than shipped with Ubuntu 18.0.4.1:

Using chunkwm with khd on macOS High Sierra

To use chunkwm, you have to go to considerably more trouble than you will be used to if you are coming from the older (but very nice) kwm version 3. If you are coming from kwm 4, you are probably right at home.

Note: these instructions have now been added to the chunkwm wiki: https://github.com/koekeishiya/chunkwm/wiki/Instructions:-chunkwm-with-(s)khd-on-macOS-High-Sierra

Understanding the daemon and plugin concept

chunkwm is heavily modularised. It consists of a daemon, chunkwm, and a command-line control tool, chunkc. Neither will directly interact with the user: you need to use khd for that. chunkc is used to send commands to chunkwm, which is listening on a socket (and chunkc sends to that socket).

@ralphholz
ralphholz / weechat-weeslack.md
Last active December 4, 2017 06:24
Using Slack via weechat with slack plugin via websockets (macOS HighSierra)

First half: following instructions to get weechat to run with Python plugin

This is for macOS High Sierra.

These instructions extend those on https://gist.github.com/fluxsauce/060ab39a4fb7b8fc89524690c727627b with a few things that went wrong for me.

Python via brew

You might find yourself without a Python installation via brew (even though you installed pyton via brew at some point in the past). That is important, however, because we need pip. Run