Skip to content

Instantly share code, notes, and snippets.

@timkuijsten
timkuijsten / bin2hex.c
Last active December 28, 2019 00:14
binary to hexadecimal
#include <stddef.h>
/*
* Encode binary data into ASCII hexadecimal numbers.
*
* Return the number of hexadecimals written in "out". If "outlen" is at least
* twice as long as "inlen" the result is not truncated.
*/
size_t
bin2hex(char *out, size_t outlen, const unsigned char *in, size_t inlen)
@timkuijsten
timkuijsten / udptun.c
Created July 12, 2018 19:42
unencrypted udp based vpn tunnel
/* A simple unencrypted UDP tunnel between two tunnel devices. */
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/route.h>
#include <net/if.h>
#include <net/if_tun.h>
#include <netinet6/in6_var.h>
<?php
/*
* Copyright (c) 2017 Tim Kuijsten
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
@timkuijsten
timkuijsten / smartos.vbox.md
Last active October 2, 2020 10:55
SmartOS on VirtualBox

VirtualBox config

vbox host vboxnet0 = 192.168.56.1 (static, no dhcp)

vbox smartos guest config:

storage:

  • add ISO

audio:

  • disable
@timkuijsten
timkuijsten / mysql_backup
Last active July 7, 2020 06:46
mysql per database backup without mysql.event warning
#!/bin/sh -
# The important part is not to put the password as an argument to the mysql
# commands, i.e. don't use the -p option. Instead use a .my.cnf file in the home
# dir of the user you are running this script as, i.e. /root/.my.cnf if running
# as root. Make the file readable for the owner only: chmod 400 /root/.my.cnf
# See: http://stackoverflow.com/questions/17829659/securing-backup-credentials-for-mysqldump/17844997#17844997
umask 007
@timkuijsten
timkuijsten / genpass.sh
Last active February 22, 2017 16:06
Generate strong and easy to type passwords. Tested with OpenBSD 5.2, Ubuntu 10.04, Ubuntu 12.04 and Mac OS X 10.8.
#/bin/sh
# copy to /usr/local/bin
# usage: genpass [length]
LENGTH=12
if [ 0 -lt $(($1)) ]; then
LENGTH=$1
fi
@timkuijsten
timkuijsten / Bye Bye Ubuntu (Desktop)
Last active December 10, 2015 04:18
No Ubuntu for Christmas
Yesterday, after evangelizing Ubuntu for years and running Ubuntu on my
parents desktop since 2009, I finally "relieved" them by giving them
Windows 7 as a gift.
For years I had the hope that every Ubuntu release would get better
than the previous edition. That the vision of Canonical aligned with my
vision of openness and where user rights are put central. I took the
fact that some proprietary things didn't work for granted and thought
we could fight it best by adding weight to the open source movement and
use open source software while demanding open codecs, standards etc.
@timkuijsten
timkuijsten / gist:3492572
Created August 27, 2012 21:46
mongo oplog replicate json over tcp
// default to $main, used in mongod master mode
var oplogCollection = '$main';
// if not master, assume a replicaset is used
if (config.db_mode !== 'master') {
oplogCollection = 'rs';
}
var mongoDb = require("mongodb"),
mongoServer = new mongoDb.Server(config.db_host, config.db_port),
@timkuijsten
timkuijsten / log_writes.patch
Created August 22, 2012 15:56
Emit write event on connection.write
diff --git a/node_modules/mongodb/lib/mongodb/connection/connection.js b/node_modules/mongodb/lib/mongodb/connection/connection.js
index 4b65528..b3f4686 100644
--- a/node_modules/mongodb/lib/mongodb/connection/connection.js
+++ b/node_modules/mongodb/lib/mongodb/connection/connection.js
@@ -115,18 +115,35 @@ Connection.prototype.isConnected = function() {
return this.connected && !this.connection.destroyed && this.connection.writable && this.connection.readable;
}
+var emitDocuments = function(command, connection) {
+ var documents = [];
@timkuijsten
timkuijsten / sshsock
Last active April 10, 2018 20:43
Quick 'n dirty VPN for macOS
#!/bin/sh
# sshsock - Quick 'n dirty VPN for macOS
#
# Usage example:
# Let Apple Mail, Safari and Firefox route all traffic via your ssh server at
# foo.example.com by using a system-wide local SOCKS proxy:
#
# $ sshsock foo.example.com
# Password: