Skip to content

Instantly share code, notes, and snippets.

@timkuijsten
timkuijsten / bin2hex.c
Last active Dec 28, 2019
binary to hexadecimal
View bin2hex.c
#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 Jul 12, 2018
unencrypted udp based vpn tunnel
View udptun.c
/* 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>
View random_key.php
<?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 Oct 2, 2020
SmartOS on VirtualBox
View smartos.vbox.md

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 Jul 7, 2020
mysql per database backup without mysql.event warning
View mysql_backup
#!/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 Feb 22, 2017
Generate strong and easy to type passwords. Tested with OpenBSD 5.2, Ubuntu 10.04, Ubuntu 12.04 and Mac OS X 10.8.
View genpass.sh
#/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 Dec 10, 2015
No Ubuntu for Christmas
View Bye Bye Ubuntu (Desktop)
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 Aug 27, 2012
mongo oplog replicate json over tcp
View gist:3492572
// 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 Aug 22, 2012
Emit write event on connection.write
View log_writes.patch
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 Apr 10, 2018
Quick 'n dirty VPN for macOS
View sshsock
#!/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: