Skip to content

Instantly share code, notes, and snippets.

@RichardBarrell
RichardBarrell / client-connect.c
Created December 18, 2011 05:05
My (mildly-embarrassing) openvpn config
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/wait.h>
int run(char **argv, char **envp) {
pid_t chipr = fork();
if (chipr == 0) {
@RichardBarrell
RichardBarrell / perf_annotate_output.txt
Created April 4, 2013 22:07
Interesting output from "perf annotate" - it seems that whenever I use a synchronising instruction, "perf record" accidentally attributes the sync instruction's ticks to the instruction immediately *after* the lock or mfence.
Percent | Source code & Disassembly of rev26_2
------------------------------------------------
:
:
:
: Disassembly of section .text:
:
: 0000000000400760 <paws>:
: void paws() {
: #ifdef USE_A_POSIX_BARRIER
# Incoming, allow TCP 22, 80, 443 and all ICMP except redirect.
# Outgoing, allow everything.
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
import inspect
def marmoset_patch(old, new, extra_globals={}):
g = old.func_globals
g.update(extra_globals)
c = inspect.getsource(new)
exec c in g
old.func_code = g[new.__name__].func_code
@RichardBarrell
RichardBarrell / Vagrantfile
Created January 9, 2014 15:00
bog standard Vagrantfile for working with Lucid
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "lucid64"
config.vm.box_url = "http://files.vagrantup.com/lucid64.box"
config.vm.hostname = "puppet"
config.vm.network :private_network, :ip => "192.168.50.100"
config.vm.provision :shell, :path => bootstrap.sh
end
@RichardBarrell
RichardBarrell / cpath_env.sh
Last active August 29, 2015 13:57
Bourne shell function for adding things to linking, include, etc, paths.
# "cpath_env $DIRECTORY" sets paths appropriately for making gcc+autoconf
# pick up C libraries installed with ./configure --prefix $DIRECTORY.
# example:
# cd /tmp
# tar xf ~/libfoo.tar.gz
# cd libfoo
# ./configure --prefix=$HOME/stuff
# make && make install
import thread
import threading
import sys
import dis
import os
done = threading.Semaphore(0)
A = [0]
@RichardBarrell
RichardBarrell / Vagrantfile
Created April 14, 2014 22:40
Typical Lucid Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "lucid64"
config.vm.box_url = "http://files.vagrantup.com/lucid64.box"
config.vm.define :lucid do |t|
end
config.vm.network "forwarded_port", guest: 8080, host: 8080
@RichardBarrell
RichardBarrell / main.c
Created July 9, 2014 00:35
Does calling a function defined like "foo()" differ from calling a function defined like "foo(void)"?
#include <stdio.h>
int foo(FOO_ARGS);
int main(int argc, char **argv) {
printf("%d!\n", foo());
return 0;
}
int hork(int x, int y)
{
return x * (x + y);
}