Skip to content

Instantly share code, notes, and snippets.

View d0k's full-sized avatar

Benjamin Kramer d0k

View GitHub Profile
@d0k
d0k / keynotepng.rb
Created October 19, 2008 20:37
ruby script to convert images inside keynote 4 bundles to PNG
#!/usr/bin/env ruby -w
# Converts images inside keynote bundles to PNG
# We need RMagick with tiff support installed
# You may get libtiff from macports
# and RMagick from rubygems
# Licensed under GPLv3
require 'rubygems'
@d0k
d0k / cheader.pl
Created January 2, 2009 17:44
perl script to create empty source files
#!/usr/bin/perl -w
# ./cheader.pl foo.h bar.c qux.py
# creates empty source files
use strict;
sub cheader {
my $guard = uc shift;
$guard =~ tr/\.\/-/_/;
@d0k
d0k / wtab.c
Created January 2, 2009 17:50
C program to generate LaTeX truth tables
/* ./wtab n
* creates a truth table for LaTeX with n bits
*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE unsigned long
#define MAXBITS sizeof(SIZE)*8-1
@d0k
d0k / digitsum.py
Created January 2, 2009 17:54
simple python script to compute the digit sum of an integer
#!/usr/bin/env python
from sys import argv
print(sum(int(x) for x in argv[1]))
@d0k
d0k / zshrc
Created January 9, 2009 20:03
my .zshrc
source ~/.profile
autoload zmv
autoload -U compinit
compinit
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BNichts gefunden fuer: %d%b'
zstyle ':completion:*' completer _complete _match _approximate
zstyle ':completion:*:match:*' original only
@d0k
d0k / historyclean.m
Created April 29, 2009 13:47
Safari history cleaner written in Objective C 2.0
/* Safari History.plist cleaner
* compile with:
* gcc historyclean.m -o historyclean
*/
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
fprintf(stderr,
@d0k
d0k / copytime.pl
Created November 26, 2009 14:14
apply file times from one file to another
#!/usr/bin/perl
use warnings;
use strict;
use File::stat;
use File::Basename;
if (@ARGV == 0) {
print {*STDERR} "Usage: $0 infile outfile\n";
print {*STDERR} "Usage: $0 indir outdir\n";
@d0k
d0k / clean.c
Created November 26, 2009 14:31
find . -name '*...*' -delete
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
DIR *dir;
unsigned long count = 0, unlinked = 0;
struct dirent *ent;
int ret;
@d0k
d0k / sortuniq.cpp
Created June 24, 2010 14:27
sort | uniq -c | sort -n
#include <algorithm>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <vector>
typedef std::map<const std::string, unsigned> map_t;
typedef std::pair<unsigned, const std::string*> pair_t;
typedef std::vector<pair_t> array_t;
@d0k
d0k / dupeln.pl
Created June 24, 2010 14:31
Turn duplicate files into hardlinks
#!/usr/bin/perl
use strict;
use warnings;
use File::Find;
use Digest::MD5;
my %files;
sub wanted {