Skip to content

Instantly share code, notes, and snippets.

View fxlv's full-sized avatar

Kaspars Mickēvičs fxlv

View GitHub Profile
@fxlv
fxlv / gist:7135271
Created October 24, 2013 11:10
simple vimrc
set nocompatible
syntax enable
set showmode
set hlsearch
set backspace =2
set visualbell
set cursorline
set smartindent
set number
set ruler
#!/usr/bin/env python
#
# Get a url from stdin, parse it and return a list of potential rss/xml/atom feed URLs in it
from bs4 import BeautifulSoup
import requests
import sys
def main():
stdin=sys.stdin.readlines()[0].strip()
@fxlv
fxlv / extend_volume.sh
Last active August 29, 2015 14:07
LVM based crypto filesystem extending
TARGET=/some/dir
CRYPTO_DEVICE_NAME=/dev/mapper/crypto_super_secure
LVM_VOLUME=/dev/SOMETHING/SOME_LVM_VOLUME
#
echo "Unmounting $TARGET"
umount $TARGET
echo "Extending"
lvextend -L +100g $LVM_VOLUME
echo "Resizing crypto"
cryptsetup --verbose resize $CRYPTO_DEVICE_NAME
@fxlv
fxlv / dns_cache_flush_osx
Created October 3, 2014 19:16
Flush DNS cache on OSX
sudo killall -HUP mDNSResponder
# running ad-hoc ansible commands
ansible some-host-name-* -S -m shell -a "lastlog -t 60"
@fxlv
fxlv / 10-usbtest.rules
Last active August 29, 2015 14:07
10-usbtest.rules
#
# add this to your /etc/udev/rules.d
#
# then run "udevadm control --reload-rules"
# and your flash will be automounted whenever you insert it
ATTRS{model}=="USB Flash Drive ", ATTRS{vendor}=="ADATA ", SYMLINK+="usbflash-adata%n"
ACTION=="add", ATTRS{model}=="USB Flash Drive ", ATTRS{vendor}=="ADATA ", RUN+="/bin/mkdir -p /mnt/usbflash-adata%n"
ACTION=="add", ATTRS{model}=="USB Flash Drive ", ATTRS{vendor}=="ADATA ", RUN+="/bin/mount /dev/%k /mnt/usbflash-adata%n"
#!/bin/bash
echo "cleaning up apt cache"
sudo apt-get clean
sudo /etc/init.d/rsyslog stop
echo "Removing old logs"
sudo find /var/log -type f -delete
echo "Zeroing out disk"
sudo dd if=/dev/zero of=/zero bs=1M
echo "Removing zero file"
sudo rm -v /zero
@fxlv
fxlv / gist:33c8cad7c0c51e264e26
Created January 7, 2015 06:23
dns resolver tracing with ktrace in openbsd
23513 ping 1420611042.842872 CALL connect(0x4,0x202092630,0x10)
23513 ping 1420611042.842878 STRU struct sockaddr { AF_INET, 10.0.1.1:53 }
23513 ping 1420611042.842890 RET connect 0
23513 ping 1420611042.842896 CALL sendto(0x4,0x202091800,0x1e,0,0,0)
23513 ping 1420611042.843135 GIO fd 4 wrote 30 bytes
"\M-`\M-m\^A\0\0\^A\0\0\0\0\0\0\bsuperduperdomain\^Ccom\0\0\^A\0\^A"
23513 ping 1420611042.843146 RET sendto 30/0x1e
23513 ping 1420611042.843155 CALL poll(0x7f7fffff9440,0x1,0x1388)
23513 ping 1420611047.846041 RET poll 0
@fxlv
fxlv / gist:6a692cfe711c8746c3cb
Last active August 29, 2015 14:13
vagrantfile multi machine example
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision :shell, inline: "apt-get update; apt-get -y upgrade"
config.vm.box = "fxlv/debian_wheezy64"
@fxlv
fxlv / gist:6657ba422a9e7afd18ac
Last active August 29, 2015 14:13
Excerpt from eglibc-2.13/resolv/res_send.c, comments added to explain logic.
/*
* ns == current nameserver index (eg. 1,2 or 3)
* statp->retrans == retransmition time interval (this is defined in resolv.h)
*
* do a bitwise shift to the left to get the new timeout
* if ns == 0 then this does nothing
*/
int seconds = (statp->retrans << ns);
if (ns > 0)
// divide the time that was calculated after the bitwise shift by the nameserver count