Skip to content

Instantly share code, notes, and snippets.

@rioki
rioki / autosync.js
Last active October 26, 2023 17:58
Automatically sync two directories with node.js.
var fs = require("fs");
var path = require("path");
var configFile = "autosync.json";
if (process.argv.length == 3) {
configFile = process.argv[2];
}
var config = JSON.parse(fs.readFileSync(configFile, "UTF-8"));
@rioki
rioki / server.js
Created September 13, 2012 13:46
A HTTP server serving static files in note.js.
var fs = require("fs");
var path = require("path");
var url = require("url");
var mime = require("mime");
var http = require("http");
function start(htdocs, port) {
http.createServer(function (request, response) {
var file = url.parse(request.url).pathname;
var fullFile = path.join(htdocs, file);
@rioki
rioki / autobuild.js
Created September 18, 2012 08:09
Automatically "build" when files change.
var fs = require("fs-extra");
var path = require("path");
var cp = require("child_process");
console.log("------------------------------------------");
console.log("autobuild");
console.log("------------------------------------------");
if (process.argv.length == 3) {
var configFile = process.argv[2];
@rioki
rioki / Makefile
Created October 26, 2012 07:05
Ultimate C++ Library Makefile
PACKAGE = myproj
VERSION = 0.0.0
CXX ?= g++ -std=c++0x
CXXFLAGS += -Iinclude -DVERSION=\"$(VERSION)\"
LDFLAGS +=
prefix ?= /usr/local
headers = $(wildcard include/*.h)
lib_hdr = $(wildcard src/*.h)
@rioki
rioki / pangox.pc
Created October 28, 2012 09:27
Fake PangoX for MinGW Build
prefix=c:/gtkmm
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
pango_module_version=1.6.0
Name: PangoX
Description: Fake PangoX for MinGW Build
Version: 1.28.3
@rioki
rioki / call_Uncrustify.cfg
Created November 15, 2012 07:40
My Uncrustify config.
tok_split_gte=false
utf8_byte=false
utf8_force=false
indent_cmt_with_tabs=false
indent_align_string=false
indent_braces=false
indent_braces_no_func=false
indent_braces_no_class=false
indent_braces_no_struct=false
indent_brace_parent=false
@rioki
rioki / slavg.c
Created May 14, 2013 16:35
Sliding Average for Boolean Inputs
/**
Sliding Average for Boolean Inputs
Imagine you have a microcorntoler that can only do basic interger arithmetic.
You want to ensure an input does not bounce. Normally you would use floating
point and division to maintain a sliding average, but we neither have
floating point values nore division on the given microcontoler.
So intead a 8 bit integer is used as an average. If the input is up the
average is incremented and if the input id down decremented. To prevent
#ifndef _GRAPH_H_
#define _GRAPH_H_
#include <stdexcept>
#inlcude <set>
#include <map>
struct nil {};
int p[512] = { 151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,
30,69,142,8,99,37,240,21,10,23,190, 6,148,247,120,234,75,0,26,197,
62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,
125,136,171,168, 68,175,74,165,71,134,139,48,27,166,77,146,158,231,
83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,
143,54, 65,25,63,161, 1,216,80,73,209,76,132,187,208, 89,18,169,
200,196,135,130,116,188,159,86,164,100,109,198,173,186, 3,64,52,
217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,
227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152, 2,44,
@rioki
rioki / build_detect_platform
Last active December 27, 2015 16:29
leveldb Windows port
#!/bin/sh
#
# Detects OS we're compiling on and outputs a file specified by the first
# argument, which in turn gets read while processing Makefile.
#
# The output will set the following variables:
# CC C Compiler path
# CXX C++ Compiler path
# PLATFORM_LDFLAGS Linker flags
# PLATFORM_LIBS Libraries flags