Skip to content

Instantly share code, notes, and snippets.

View brenns10's full-sized avatar

Stephen Brennan brenns10

View GitHub Profile
@brenns10
brenns10 / opener.py
Created August 16, 2023 04:42
Open a file with root privileges via sudo, a helper, and unix sockets
"""
Open a file via sudo and unix socket
If you only need root privileges to open one file, then you can spawn a helper
program with sudo to open the file, then pass the file descriptor back to your
original process via a Unix socket. This module imports a drop-in replacement
for os.open (except for the dir_fd argument) based on this idea:
stephen at wrath in ~/repos/opener
$ ls -l secret.txt
@brenns10
brenns10 / coredump.c
Created October 21, 2022 23:47
stupid core dump
/*
* Sample multi-threaded application for core dump.
* gcc -pthread -g -O0 -o coredump coredump.c
*/
#define _GNU_SOURCE
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
@brenns10
brenns10 / keybase.md
Created January 31, 2022 22:51
keybase.md

Keybase proof

I hereby claim:

  • I am brenns10 on github.
  • I am brenns10 (https://keybase.io/brenns10) on keybase.
  • I have a public key ASCtEwHfvPC-c34CBjy90aiuZ7pxk9h_LRgo4cZD5MTdygo

To claim this, I am signing this object:

From 38c48252f528b00ba0b4fd2d1a364b91c694a4ac Mon Sep 17 00:00:00 2001
From: Stephen Brennan <stephen@brennan.io>
Date: Thu, 28 Dec 2017 15:14:59 -0800
Subject: [PATCH] fs: when reading mp3 files, only play Shake It Off
---
fs/open.c | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/fs/open.c b/fs/open.c
@brenns10
brenns10 / PKGBUILD
Created March 3, 2017 15:39
Patched Python for vido
# $Id: PKGBUILD 286731 2017-01-16 12:41:55Z svenstaro $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=python
pkgver=3.6.0
pkgrel=3
@brenns10
brenns10 / Makefile
Last active August 3, 2023 19:51
Linux Character Device Example
obj-m += chardev.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
@brenns10
brenns10 / keybase.md
Last active January 31, 2022 22:50
keybase.md

Keybase proof

I hereby claim:

I hereby claim:

  • I am brenns10 on github.
@brenns10
brenns10 / Labor Statistics.ipynb
Last active April 1, 2016 02:04
Gender Diversity in the Workforce
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@brenns10
brenns10 / alphabet.py
Created November 18, 2015 20:08
Determine Ordering of Alphabet
"""
Code to return the alphabet in which a list of words is sorted.
Imagine that you are given a list of words (eg: best friends forever), along
with the claim that these words are lexicographically sorted for *some*
alphabet. Your job is to determine whether this is true, and if it is, return
an example of such an alphabet.
This module implements an algorithm to solve this problem. It creates a graph
of dependencies between letters, performs a topological sort, and then returns
@brenns10
brenns10 / spawner.py
Last active November 18, 2015 17:44
Tmux Job Spawner
#!/usr/bin/env python3
"""
Run a list of commands in tmux.
"""
from subprocess import call
from os.path import realpath, isfile
from uuid import uuid4
from datetime import datetime
import os, sys