Skip to content

Instantly share code, notes, and snippets.

View dfsnow's full-sized avatar

Dan Snow dfsnow

View GitHub Profile
@henk23
henk23 / Caddyfile
Last active January 14, 2026 03:16
Caddy with json logs and fail2ban
# /etc/caddy/Caddyfile
{
log {
output file /var/log/caddy/caddy.log
format json
}
}
(logging) {
@nielsvanvelzen
nielsvanvelzen / jf-dev-auth.md
Last active September 28, 2026 21:55
Jellyfin API Authorization

Jellyfin API Authorization

To start using the Jellyfin API, authorization is probably the first thing you'll need to do. Jellyfin's authorization options can be a bit confusing because there are a lot of deprecated options.

Generally there are three ways to authenticate: no authorization, user authorization with an access token or authorization with an API key. The first way is easy, just do nothing. But most often you'll need to use either the access token or API key.

Sending authorization values

There are two methods to send authorization values to the server. The preferred method is by using the Authorization header with the custom MediaBrowser scheme. When a header value is not possible (e.g. URLs send to external applications or due to other constraints) the ApiKey query parameter can be used. The query parameter just takes an access token or API key. We strongly recommend to always use the Authorization hea

@dereckmezquita
dereckmezquita / Makevars
Last active April 8, 2023 17:52
Makevars and instructions for installing installing data.table on an M1 Mac; note config also works for installing slam/syuzhet.
# if you downloaded llvm manually above, replace with your chosen NEW_PATH/clang
LLVM_LOC = /opt/homebrew/opt/llvm
CC=$(LLVM_LOC)/bin/clang -fopenmp
CXX=$(LLVM_LOC)/bin/clang++ -fopenmp
# -O3 should be faster than -O2 (default) level optimisation ..
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L/opt/homebrew/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I/opt/homebrew/opt/gettext/include -I$(LLVM_LOC)/include
@machikoyasuda
machikoyasuda / diy-e-bike-conversion-readme.md
Last active September 15, 2025 17:26
diy-e-bike-conversion-readme.md

D.I.Y. E-bike conversion

image

Components

  1. Front G311 Kit - Front wheel pre-laced with geared hub motor - $300
  2. Motor controller, C4820-GR_Higo - $100
  3. Thumb throttle, attached to handlebars - $15
  4. G311 Torque Arm, attached to front dropouts - $20
@kepano
kepano / obsidian-web-clipper.js
Last active October 23, 2026 11:27
Obsidian Web Clipper Bookmarklet to save articles and pages from the web (for Safari, Chrome, Firefox, and mobile browsers)
javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), import('https://unpkg.com/@tehshrike/readability@0.2.0'), ]).then(async ([{
default: Turndown
}, {
default: Readability
}]) => {
/* Optional vault name */
const vault = "";
/* Optional folder name such as "Clippings/" */
@avoidik
avoidik / README.md
Created April 24, 2021 18:16
How to Limit CPU and Memory Usage With Cgroups on Debian/Ubuntu

How to Limit CPU and Memory Usage With Cgroups on Debian/Ubuntu

Cgroups is a flexible Linux kernel feature to limit, police and account resources usage. A cgroup is a set of tasks for a subsystems, that is typically a resource controller.

A file system of type cgroup is mounted and all operations are run over it.

Installation

The installation can be done using any of libcgroup, cgmanager or systemd.

@jackblk
jackblk / LogitechF310_Macbook.MD
Last active May 22, 2026 05:54
Getting Logitech F310 to work with Macbook USB-C port
@mcarlton00
mcarlton00 / Jellyfin-api-auth-example.py
Last active June 9, 2026 07:10
Example for authenticating to Jellyfin API from Python
import requests
# Define connection details
server_url = 'http://192.168.0.200:8096'
username = 'User'
password = 'Password'
# Build json payload with auth data
auth_data = {
'username': username,