Skip to content

Instantly share code, notes, and snippets.

@DavidBuchanan314
DavidBuchanan314 / widevine_fixup.py
Last active December 24, 2025 21:09
Patch aarch64 widevine blobs from ChromeOS to work on non-ChromeOS linux, including platforms with 16K page size like Apple Silicon / Asahi Linux
"""
MIT License
Copyright (c) 2023 David Buchanan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
FROM debian:bullseye
ENV DEBIAN_FRONTEND noninteractive
ENV LANG='C.UTF-8' LC_ALL='C.UTF-8'
# Support multiarch builds to perform cross compilation
# https://wiki.debian.org/Multiarch/HOWTO
RUN dpkg --add-architecture arm64
# Expected system requirements
@jdoss
jdoss / LUKS_and_TPM2_with_Fedora.md
Last active March 4, 2026 23:38
Decrypt LUKS volumes with a TPM on Fedora Linux

Decrypt LUKS volumes with a TPM on Fedora Linux

This guide allows you to use the TPM on your computer to decrypt your LUKS encrypted volumes. If you are worried about a cold boot attack on your hardware please DO NOT use this guide with your root volume!

Preflight Checks

Verify that you have a TPM in your computer:

# systemd-cryptenroll --tpm2-device=list
PATH DEVICE DRIVER
@vncsna
vncsna / bash_strict_mode.md
Created June 6, 2021 01:59 — forked from mohanpedala/bash_strict_mode.md
set -e, -u, -o, -x pipefail explanation

set -e, -u, -o, -x pipefail

The set lines

  • These lines deliberately cause your script to fail. Wait, what? Believe me, this is a good thing.
  • With these settings, certain common errors will cause the script to immediately fail, explicitly and loudly. Otherwise, you can get hidden bugs that are discovered only when they blow up in production.
  • set -euxo pipefail is short for:
set -e
set -u
@thalamus
thalamus / ArchLinuxARM-M1
Last active July 22, 2025 02:58
How to boot Arch Linux ARM in QEMU (patched for M1)
/*
* This document is provided to the public domain under the
* terms of the Creative Commons CC0 public domain license
*/
How to boot Arch Linux ARM in QEMU (patched for M1)
Prerequisites:
QEMU - patched for M1 processors - patches: https://github.com/utmapp/qemu
@andrebrait
andrebrait / keychron_linux.md
Last active February 13, 2026 10:19
Keychron keyboards on Linux + Bluetooth fixes

Here is the best setup (I think so :D) for K-series Keychron keyboards on Linux.

Note: many newer Keychron keyboards use QMK as firmware and most tips here do not apply to them. Maybe the ones related to Bluetooth can be useful, but everything related to Apple's keyboard module (hid_apple) on Linux, won't work. As far as I know, all QMK-based boards use the hid_generic module instead. Examples of QMK-based boards are: Q, Q-Pro, V, K-Pro, etc.

Most of these commands have been tested on Ubuntu 20.04 and should also work on most Debian-based distributions. If a command happens not to work for you, take a look in the comment section.

Make Fn + F-keys work (NOT FOR QMK-BASED BOARDS)

Older Keychron keyboards (those not based on QMK) use the hid_apple driver on Linux, even in the Windows/Android mode, both in Bluetooth and Wired modes.

@daujerrine
daujerrine / gsoc-2020-ffmpeg-flif.md
Last active October 25, 2025 15:14
GSOC 2020: Writing a FLIF Decoder and Encoder for FFmpeg

GSOC 2020: Writing a FLIF Decoder and Encoder for FFmpeg

[Free Lossless Image Format][1], or FLIF is the precursor to [JPEG XL][2] and [FUIF][3]. It claims to have a higher level of compression or lower file size than conventional lossless image formats like PNG, Lossless JPEG 2000, etc. FLIF and FUIF development has been stopped in favour of JPEG XL.

[The task was to write an encoder and decoder for this format for FFmpeg.][4]

@tetkuz
tetkuz / headless-fpsdisplay
Created March 30, 2017 08:32
Headless FPS Display Sink
GST_DEBUG=fpsdisplaysink:6 gst-launch-1.0 videotestsrc ! fpsdisplaysink video-sink=fakesink text-overlay=false signal-fps-measurements=true
@dufferzafar
dufferzafar / gsoc-2016-projects.csv
Last active January 16, 2026 22:34
All GSoC 2016 Projects! Generated using the script here: https://gist.github.com/dufferzafar/4018277a08d3f6de9e74f11a3f913e78
Project Title Student Display Name Organization Name Mentors
Key mapping GUI Tomasito665 Mixxx DJ Software RJ Ryan, Ferran Pujol Camins
YAPDNS system64 The Honeynet Project Pietro Delsante, Fedele Mantuano, Andrea De Pasquale
FFv1 P frame support sdolganov FFmpeg Reynaldo Verdejo, michaelni
coala: Integrating coala with the Eclipse IDE Sheikh Araf Python Software Foundation Harsh Dattani, Lasse Schuirmann (sils1297), AbdealiJKothari
User interfaces for Tracker Dilushi Sustainable Computing Research Group ( SCoRe ) Dinith Minura, Namal Jayasuriya, Rumesh
File Support izgzhen Mozilla Manishearth
KolibriOS. Development of TLS/SSL library DenisKarpenko KolibriOS Jeffrey A., Pathoswithin
IPFS friendly & distributed version of Amber skbly7 Berkman Center for Internet and Society Genève
Cache layer for jpf-nhandler Jayton Java Pathfinder Team franck, Nastaran, Cyrille Artho

Problems & Solutions for Interaction Between C and Go

At Vimeo, on the transcoding team, we work a lot with Go, and a lot with C, for various tasks such as media ingest. This means we use CGO quite extensively, and consequently, have run into bits that are perhaps not very well documented, if at all. Below is my effort to document some of the problems we've run into, and how we fixed or worked around them.

Many of these are obviously wrong in retrospect, but hindsight is 20/20, and these problems do exist in many codebases currently.

Some are definitely ugly, and I much welcome better solutions! Tweet me at @daemon404 if you have any, or have your own CGO story/tips, please! I'd love to learn of them.

Table of Contents