Skip to content

Instantly share code, notes, and snippets.

@rioki
rioki / Options.cpp
Created Sep 6, 2014
Rioki's Option Parser
View Options.cpp
//
// Rioki's Option Parser
//
// Copyright (c) 2014 Sean Farrell <sean.farrell@rioki.org>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
@rioki
rioki / compose.h
Last active Aug 29, 2015
String composition.
View compose.h
//
// Copyright (c) 2011-2015 Sean Farrell
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
View COPYING.txt
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
@rioki
rioki / server.js
Created Sep 13, 2012
A HTTP server serving static files in note.js.
View server.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 Sep 18, 2012
Automatically "build" when files change.
View autobuild.js
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 / pangox.pc
Created Oct 28, 2012
Fake PangoX for MinGW Build
View pangox.pc
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 Nov 15, 2012
My Uncrustify config.
View call_Uncrustify.cfg
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
Sliding Average for Boolean Inputs
View slavg.c
/**
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
View Graph.h
#ifndef _GRAPH_H_
#define _GRAPH_H_
#include <stdexcept>
#inlcude <set>
#include <map>
struct nil {};
View noise.c
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,