Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env perl
# Memorable, typeable password generator. See https://blog.kamens.us/?p=5969.
#
# By Jonathan Kamens <jik@kamens.us>.
#
# This script is in the public domain. You are welcome to do whatever you want
# with it, though it would be nice if you'd give me credit somehow or at least
# send me email and let me know how you're using it.
#
#!/usr/bin/bash -e
# Pick the first updatable package that isn't held, and list what was
# updated.
trap "rm /tmp/*.$$" EXIT
cp /var/log/dpkg.log /tmp/dpkg.log.$$
apt-mark showhold | awk -F: '{print $1}' |sort -u > /tmp/held.$$
apt list --upgradable 2>/dev/null | awk -F/ 'NR>1 {print $1}' | sort -u > \
#!/bin/bash -e
# This script reads a dpkg.log fragment, identifies all of the
# packages upgraded in it, finds and downloads the pre-upgrade
# versions of those packages from Launchpad, and installs them,
# downgrading the system to approximately the state it was in before
# the packages were upgraded.
#
# To use it, copy the section of /var/log/dpkg.log containing the
# upgrade you want to undo into a new file, remove the lines

Keybase proof

I hereby claim:

  • I am jikamens on github.
  • I am jik (https://keybase.io/jik) on keybase.
  • I have a public key ASD44yzUyutb2s-C6BGHSYGt0BAQ5mglTt9Si89y3HE4PQo

To claim this, I am signing this object:

@jikamens
jikamens / auto-dnsbl.pl
Last active February 3, 2023 15:32
auto-dnsbl.py - add DNSBL entries to /etc/hosts.deny automatically
#!/usr/bin/env perl
=pod
=head1 SUMMARY
auto-dnsbl.py - add DNSBL entries to /etc/hosts.deny automatically
=head1 DESCRIPTION
@jikamens
jikamens / download-helpscout-mailbox.py
Last active October 27, 2021 16:47
Python script for doanloding conversations, customers, and attachments from a Help Scout mailbox
#!/usr/bin/env python
"""Download conversations, customers, and attachments from a Help Scout mailbox
Written by Jonathan Kamens (jik@kamens.us).
Released into the public domain.
Email me patches if you have enhancements you'd like me to incorporate. Don't
bother emailing me bug reports or suggestions; this script does exactly what I
Verifying I am +jik on my passcard. https://onename.com/jik
@jikamens
jikamens / phonepower-usage-cron.sh
Last active August 29, 2015 14:00
Scripts for using Selenium to check your Phone Power international minutes automatically
#!/bin/bash -e
# Cron wrapper script for phonepower-usage.pl.
#
# Copyright (c) 2014 Jonathan Kamens <jik@kamens.us>. You can do
# whatever you want with this script, as long as you give me credit
# and don't make any money from it.
#
# The home page of this script is http://blog.kamens.us/2014/04/20/using-selenium-to-monitor-phone-power-international-call-usage/.
#
@jikamens
jikamens / lastpass_brute_force.c
Last active August 29, 2015 13:58
Proof of concept of brute-forcing LastPass passwords
#include <assert.h>
#include <openssl/evp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
/* Proof of concept for brute-forcing LastPass passwords from the
user's login key (sent at login from client to server) or from the