Skip to content

Instantly share code, notes, and snippets.

View rjzak's full-sized avatar

Richard Zak rjzak

View GitHub Profile
rjzak /
Created January 30, 2014 22:37
Ends and ends
import os
import random
import string
def recursiveDirectoryContents(dir):
for root, dirs, files in os.walk(dir):
for file in files:
yield os.path.join(root, file)
def randomString(length=10):
rjzak /
Created July 14, 2014 20:53
Make a ramdisk on Linux
if [ $# -eq 2 ]
mkdir $1
mount -t tmpfs -o size=$2 tmpfs $1
echo "Proper use: $0 <RAMDISK_DIR> <RAMDISK_SIZE>"
echo "Example: $0 /mnt/ramdisk 4096m"

Keybase proof

I hereby claim:

  • I am rjzak on github.
  • I am rjzak ( on keybase.
  • I have a public key whose fingerprint is 0B12 C074 CFEE 5EC2 F2A7 37D4 FF07 22A6 B38E 9F42

To claim this, I am signing this object:

rjzak / randFile.c
Created July 24, 2013 14:19
Generate & store random data in a file. Designed to create a large random file to use as a key file for TrueCrypt.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char* argv[] ) {
if (argc != 3) {
printf("Error, you must provide a destination file and number of iterations\n");
return -1;
FILE *fp;
rjzak /
Created November 26, 2013 22:45
Use this middleware for Django to append the load time to each page. Add it to the middleware config in your file. If you wish to disable it for a given view, use the @PageLoadExempt decorator.
from django.utils.decorators import decorator_from_middleware, available_attrs
from functools import wraps
import time
class PageLoadTimerMiddleware:
def __init__(self):
self.initTime = time.clock()
self.disabled = False
def process_request(self, request):
rjzak / tlock.c
Last active January 1, 2016 18:49
A simple terminal locking application for Linux. Compile with: gcc -o tlock tlock.c -lpam -lpam_misc
#include <security/pam_appl.h>
#include <security/pam_misc.h>
#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
* Code adapted from:
* PAM:
rjzak /
Last active January 2, 2016 17:39
Compare magic numbers (or the first 32 bytes of a file) with the output from the file command (which also uses magic numbers). The intention is to discover magic numbers for different file types. For example, to be able to distinguish between different MS Office document types, since libmagic just says "CDF V2 Document, Little Endian, Os" or "Zi…
import sys, os, subprocess
def fileType(filePath):
return subprocess.Popen("""/usr/bin/file "%s" """ % filePath, shell=True, stdout=subprocess.PIPE).communicate()[0].split(":")[1].strip()
def idMSFile(filePath):
if os.path.isdir(filePath):
for fileInDir in os.listdir(filePath):
rjzak /
Created October 23, 2014 20:20
Python interface to Meta Scan
import os
import json
import time
import hashlib
import httplib
class Result:
rjzak /
Created February 17, 2016 17:22
For when you need some random keys as a string, with optional starting value and optional length
import random
def randomKey(start=None, bytes=16):
if start is None:
part = "%02x" % random.randint(0,255)
return randomKey(part, bytes)
elif len(start.split(" ")) == bytes:
return start
part = "%s %02x" % (start, random.randint(0,255))
return randomKey(part, bytes)
rjzak / Makefile
Created May 4, 2016 20:40
Makefile template
CFLAGS+=-std=c99 -DMYDEFINE -g -O0
DEPS = Makefile
all: myproj
%.o: %.c %.h $(DEPS)
$(CC) -fPIC -c -o $@ $< $(CFLAGS)
myproj: file.o main.o