Skip to content

Instantly share code, notes, and snippets.

View erikdubbelboer's full-sized avatar

Erik Dubbelboer erikdubbelboer

View GitHub Profile
@erikdubbelboer
erikdubbelboer / chromebug.html
Created May 27, 2011 11:08
Element doesn't render after setting float: none (can still click and hover over the element)
<!DOCTYPE html>
<html lang=nl>
<head>
<meta charset=utf-8>
<title>Chrome float bug</title>
<style>
.tabs ul {
list-style-type: none;
}
#! /bin/sh
### BEGIN INIT INFO
# Provides: redis-server
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: redis-server - Persistent key-value db
@erikdubbelboer
erikdubbelboer / gist:1106441
Created July 26, 2011 10:18
Nodejs base64 crypto bug?
var crypto = require('crypto');
var origtoken = '128073137281613|2.AQDnAjjO73ESnmhJ.3611.1311634811.2-3306278|i3L2dgZ7rg6m2vKt0GzjhhKbzTQ';
var algo = 'des-ecb'; // openssl list-cipher-commands to list available algos
var key = 'appelsap';
var base = 'base64'; // changing this to 'hex' makes it work
var tokencrypt = crypto.createCipher(algo, key);
@erikdubbelboer
erikdubbelboer / gist:1957486
Created March 2, 2012 10:06
nodejs db-mysql blocking call example
var mysql = require('db-mysql');
for (var i = 0; i < 4; ++i) {
new mysql.Database({
hostname: hostname,
user : user,
password: password,
database: database
}).connect(function() {
this.query('SELECT SLEEP(10)').execute(function() {
@erikdubbelboer
erikdubbelboer / proxy.js
Created September 17, 2012 13:03
Simple http proxy to local VM
/*
TODO:
- add support for https
- add POST support
*/
var http = require('http');
@erikdubbelboer
erikdubbelboer / gist:4245619
Created December 9, 2012 15:32
Dutch javascript space invaders tutorial
// Regels die met // starten zijn commentaar en horen niet bij de code van het programma.
// Dit soort regels zijn handig om dingen in uit te leggen zodat als je later
// de code nog eens door leest je nog weet wat er ook alweer precies gebeurd.
// Deze regels zijn in een browser nodig om 2d tekeningen te kunnen maken.
// ctx is het object wat wij straks kunnen gebruiken om alles mee te tekenen.
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
@erikdubbelboer
erikdubbelboer / gist:4405902
Last active December 10, 2015 08:08
Format size in C
char* size(char* buffer, unsigned int length, unsigned int num) {
// floor(log(pow(2, 64)) / log(1024)) = 6
const char* unit[] = {
"B", "KB", "MB", "GB", "TB", "PB", "EB"
};
if (num == 0) {
snprintf(buffer, length, "0 %s", unit[0]);
} else {
unsigned int base = floor(log(num) / log(1024));
@erikdubbelboer
erikdubbelboer / gist:4405910
Last active December 10, 2015 08:08
Current time in milliseconds
#include <sys/time.h> // gettimeofday()
unsigned long int millitime() {
struct timeval t;
gettimeofday(&t, NULL);
return (t.tv_sec * 1000) + (t.tv_usec / 1000);
}
@erikdubbelboer
erikdubbelboer / gist:5115427
Created March 8, 2013 09:56
Constructor example
/* ~$ g++ test.c -o test
* ~$ ./test
* 12
*/
#include <stdio.h>
class Test {
public:
package main
import (
"fmt"
"time"
"net/http"
)
var requests = 0