Skip to content

Instantly share code, notes, and snippets.

Noah Petherbridge kirsle

Block or report user

Report or block kirsle

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Keybase proof

I hereby claim:

  • I am kirsle on github.
  • I am kirsle ( on keybase.
  • I have a public key whose fingerprint is 03AC B9F9 5CE5 A920 871E 94C5 9255 42ED E2E7 1CDA

To claim this, I am signing this object:

kirsle / .bashrc
Created Jan 17, 2017
Show current git branch name in Bash prompt
View .bashrc
# Function that prints the branch name.
git_branch() {
branch=`git branch 2> /dev/null | sed -e '/^[^*]/d' | perl -pe 's/^\*\s+//g'`
if [ "$branch" != '' ]; then
echo -n " ($branch)"
# Integrate it into your $PS1 prompt.
# Would look like: [user@localhost myapp (master)]$
kirsle / nginx-custom
Created Jan 18, 2017
Rotate nginx per-user log files
View nginx-custom
/home/*/logs/*.log {
rotate 14
size 50M
create 0640 www-data adm
kirsle / Motivational Speech Alarm
Last active Mar 16, 2018
Motivational Speech Alarm Clock with Raspberry Pi
View Motivational Speech Alarm

Motivational Speech Alarm Clock

This is the code I used to make an alarm clock out of a Raspberry Pi (model 1 B+, 512MB RAM) that plays motivational speeches at 6:30 in the morning to get my ass out of bed.

At first I was using a CLI YouTube client, but it would hang after a while due to not running on an interactive console (being launched by crond), and the audio support on Pi's have always been somewhat flaky.

I ended up using youtube-dl to pre-download a playlist and using omxplayer for its hardware-accelerated decoding support. Works pretty well, except omxplayer has no support for things like "playlists" or "shuffling" so I needed

kirsle /
Created Dec 21, 2014
GTK Config for the panel text color on the XFCE Desktop

Save this code as ~/.gtkrc-2.0 and restart your XFCE panel with xfce4-panel -r

This file will set your panel text color to white (overriding the color setting from your current GTK theme). Change the #FFFFFF to another color if you want another color.

The engine "murrine" part will remove the text style for Murrine based themes (for example, a drop-shadow effect used in the Ubuntu Ambiance theme and Greybird).

style "panel"
    fg[NORMAL] = "#FFFFFF"
kirsle /
Created Jul 18, 2014
AttrDict - A dict for Python that behaves like JavaScript.
#!/usr/bin/env python
"""A dict-like object that supports JS object syntax.
AttrDict is a dict that can be called using either square brackets, like a
normal dict, or by using attributes--just like in JavaScript.
Accessing the value for an undefined key will return None (Python's equivalent
to undefined).
kirsle /
Created Mar 19, 2020
Offsite Encrypted Backups

This describes my setup for using DigitalOcean Volumes (disk images attached to my VPS) for off-site backups and keeping them encrypted-at-rest when I'm not actively writing or reading to the disk image.

Basically it consists of:

  • A DigitalOcean virtual private server.
  • An extra Volume attached to the VPS (100GB or so), this presents itself as a block storage device in Linux.
  • LUKS encrypted partition on the Volume.
You can’t perform that action at this time.