Skip to content

Instantly share code, notes, and snippets.

View nlitsme's full-sized avatar

willem nlitsme

View GitHub Profile
@nlitsme
nlitsme / sendpgp.py
Last active August 29, 2015 14:08
send pgp mail from vim
#!/usr/local/bin/python
"""
Reads message from stdin, pgp encrypts, launch mailto: url to send with mail app.
I use this to send pgp messages from within vim.
First i type a message like this:
----
Subject: test
To: person@example.com
@nlitsme
nlitsme / lbk.sh
Last active August 29, 2015 14:08
list timemachine copies of a file
#!/bin/bash
bkdir=
while [[ -n "$1" ]]; do
cd $(dirname "$1")
realpath=$(pwd -P)
case "$realpath" in
/Volumes/*)
realpath=${realpath:9}
;;
@nlitsme
nlitsme / lsofdiff.sh
Last active August 29, 2015 14:08
view recent filesystem activity using lsof
#!/bin/bash
if [[ $(id -u) -ne 0 ]]; then
sudo $0 "$@"
exit $?
fi
diff <(sleep 1 ; lsof -n -P| grep -v "^\(sleep\|lsof\|grep\|diff\|bash\)" ) <(lsof -n -P| grep -v "^\(sleep\|lsof\|grep\|diff\|bash\)" )
@nlitsme
nlitsme / x0.sh
Last active August 29, 2015 14:08
simplify xargs -0
#!/bin/sh
tr -d "\r" | tr "\n\\" "\0/" | xargs -0 "$@"
@nlitsme
nlitsme / filetrace.d
Last active August 29, 2015 14:08
trace opened files for all processes in osx
#!/usr/sbin/dtrace -s
syscall::open*:entry {
this->exe= execname;
this->file= copyinstr(arg0);
this->mode= arg1;
}
syscall::open*:return {
printf("%4d (%4d) %-20s\tM%07o %s",arg0, errno, this->exe, this->mode, this->file);
}
@nlitsme
nlitsme / exectrace.d
Last active August 29, 2015 14:08
trace executed processes in osx
#!/usr/sbin/dtrace -s
#pragma D option quiet
syscall::exec*:entry
{
printf("exec %s -> %s\n", execname, copyinstr(arg0));
}
proc:::exec-failure
@nlitsme
nlitsme / symboldecode.pl
Created October 30, 2014 00:01
simplify huge c++ template typenames by finding common subexpressions.
# (C) 2003-2007 Willem Jan Hengeveld <itsme@xs4all.nl>
# Web: http://www.xs4all.nl/~itsme/
# http://wiki.xda-developers.com/
#
# attempt to make complicated template symbols more readable
#
# $Id: $
#
use strict;
use warnings;
@nlitsme
nlitsme / hexedit.pl
Last active August 29, 2015 14:08
easily modify binary files
#!/usr/bin/perl -w
# (C) 2003-2007 Willem Jan Hengeveld <itsme@xs4all.nl>
# Web: http://www.xs4all.nl/~itsme/
# http://wiki.xda-developers.com/
#
# $Id$
#
use strict;
use IO::File;
use Getopt::Long qw(:config no_ignore_case);
@nlitsme
nlitsme / add.pl
Last active August 29, 2015 14:08
add columns of numbers in various ways
#!/usr/bin/perl -w
# (C) 2003-2007 Willem Jan Hengeveld <itsme@xs4all.nl>
# Web: http://www.xs4all.nl/~itsme/
# http://wiki.xda-developers.com/
#
# $Id$
#
use strict;
@nlitsme
nlitsme / group.pl
Last active August 29, 2015 14:08
add numbers group by specific column
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
use POSIX;
# todo: convert back to time in output
sub parseint {
return $_[0];
}