Skip to content

Instantly share code, notes, and snippets.

View hamsolodev's full-sized avatar

mch hamsolodev

  • Melbourne, Australia
View GitHub Profile
#!/bin/zsh -w
# This hook is run after this virtualenv is activated.
# If the virtualenv has a .project file in it then check to see the
# path contained within it exists, and if so collect etags for .py
# files in that path. Also includes etags generated for the
# virtualenv itself—if it finds them. Virtualenv tags are generated
# with the `venvtags` function defined in .zshrc: which should be run
# manually after, for example, installing new requirements. The
# resulting TAGS file is then hooked into the virtualenv by a
set skip on lo0
block in all
pass in on { em0 wlan0 } proto udp from any to 224.0.0.251 port mdns
pass out all keep state

Watch outgoing DNS requests on wlan0

tcpdump -pni wlan0 'port domain'

My ThinkPad X200 Arch Linux install process

TODO passphrase protected keyfiles…setup a keyfile in a remaining key-slot? something to make this properly two–factor.

Notes on installing Arch Linux from scratch, using LVM volumes inside a LUKS container.

Why not boot from removable media? Well, there's no real support for “plausible deniability” built in to LUKS/dm-crypt. This means that the benefit of booting from removable media—being able to keep secret the fact that the main HDD contains an encrypted

remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Update Route53 DNS A name record for home IP.
#
# Uses the *route53* library, rather than boto.
import os
import re
import sys
# -*- mode: sh; coding: utf-8 -*-
# check for interactive shell, returning straight away if this isn't
# one!
[ -z "$PS1" ] && return
setopt prompt_subst
setopt transient_rprompt
setopt prompt_sp
autoload -Uz vcs_info
# -*- coding: utf-8 -*-
#
# Retrieve a list of hosts from EC2, with Name metadata tags matching
# the supplied regex.
#
# e.g. in your fabfile
#
# env.roledefs = {
# 'somesite': lambda: matching_names(r'somesite-web-\d+'),
# }

My ThinkPad X200 Arch Linux install process

TODO passphrase protected keyfiles…setup a keyfile in a remaining key-slot? something to make this properly two–factor.

Notes on installing Arch Linux from scratch, using LVM volumes inside a LUKS container.

Why not boot from removable media? Well, there's no real support for “plausible deniability” built in to LUKS/dm-crypt. This means that the benefit of booting from removable media—being able to keep secret the fact that the main HDD contains an encrypted

Nice illustration of importance of MAC use in encryption

Without use of MAC, it’s easy to mess with the IV to change the result of “successfully decrypting” ciphertext.

First, create some plaintext:

echo Give Eve \$500 > plaintext.dat

cat plaintext.dat