Skip to content

Instantly share code, notes, and snippets.

<?php
define('FAILNET_VERSION', '3.0.0 DEV');
define('OUTPUT_SILENT', 0);
define('OUTPUT_NORMAL', 1);
define('OUTPUT_DEBUG', 2);
define('OUTPUT_DEBUG_FULL', 3);
define('OUTPUT_RAW', 4);
define('OUTPUT_SPAM', 4); // ;D
@katanacrimson
katanacrimson / app.js
Created December 2, 2012 18:23
nodejs app - expressjs 3.0 + socket.io v9 + passport + redis
var express = require('express'),
passport = require('passport'),
LocalStrategy = require('passport-local').Strategy,
connect = require('connect'),
http = require('http'),
path = require('path'),
util = require('util'),
fs = require('fs'),
redis = require('redis'),
cookie = require('cookie'),
@katanacrimson
katanacrimson / gist:1515305
Created December 23, 2011 20:40
why phpbb failed
why phpbb has failed the open source movement
in response to the daydreaming present in http://www.phpbb.com/community/viewtopic.php?f=64&t=2143698
note: this is from the standpoint of the everyday admin, running 3.0.x - changes already patched into 3.1.x are not taken into consideration as they are not readily available for public use. if you want pending changes considered, get off your ass and get a release of 3.1.x out.
---
issues
- contributing
package bushong;
import java.util.ArrayList;
public class Board {
private ArrayList<String> validSolutions;
private Move[][] data;
private int moves;
public Board() {
@katanacrimson
katanacrimson / ci_lower_bound.sql
Created July 6, 2017 15:55 — forked from favila/ci_lower_bound.sql
MySQL stored functions for calculating confidence intervals using Wilson scores: more precisely "Lower bound of Wilson score confidence interval for a Bernoulli parameter". Includes a P(qn) function (inverse normal distribution). See http://www.evanmiller.org/how-not-to-sort-by-average-rating.html This describes a way to rank items based on a ve…
# Francis Avila 2009-07-04
# See http://www.evanmiller.org/how-not-to-sort-by-average-rating.html
# These functions calculate "Lower bound of Wilson score confidence interval for a Bernoulli parameter"
# Two stored functions:
# CI_LOWER_BOUND(pos, trials, confidence) calculate a wilson score given POS positive votes in TRIALS number of trials
# PNORM(qn) calculate P(qn) (inverse normal distribution); needed by CI_LOWER_BOUND
delimiter ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `ci_lower_bound`(pos INTEGER, trials INTEGER, confidence DOUBLE) RETURNS double
NO SQL
function ss {
scrot ~/.ss/$1.png > /dev/null
scp ~/.ss/$1.png solanine:~/http/ss/ > /dev/null
echo http://odios.us/\~/ss/$1.png | xclip -selection clipboard
echo uploaded to http://odios.us/\~/ss/$1.png
}
function uriCompressor()
for(var i = 0, this.convArray = []; i <= 61; i++) {
if(i < 10) {
this.convArray.push(i)
} else if(i < 36) {
this.convArray.push(i.toString(36))
} else {
this.convArray.push((i - 26).toString(36).toUpperCase()
}
}
@katanacrimson
katanacrimson / plugin.js
Created March 13, 2013 19:48
Because data modification in plugins is nicer than just an emit listener. Note: your listeners have to be specifically adapted for plugin.hook() forwarding
var EventEmitter = require('events').EventEmitter,
util = require('util'),
async = require('async')
function plugin() {
EventEmitter.call(this)
}
util.inherits(plugin, EventEmitter)
// A horribly butchered form of EventEmitter.emit, hacked to support data modification & chaining
var url = require('url'), path = require('path'), fs = require('fs'), port = parseInt(process.argv[2] || 8888, 10)
require('http').createServer(function(req, res) {
var rfile = path.join(__dirname, 'shareddir', url.parse(req.url).pathname)
if(!fs.existsSync(rfile)) {
res.writeHead(404, {'Content-Type': 'text/plain'})
res.write("404 Not Found\n")
res.end()
} else {
fs.readFile(rfile + (fs.statSync(rfile).isDirectory()) ? '/index.html' : '', 'binary', function(err, file) {
if(err) {
var zlib = require('zlib')
zlib.gzip(Buffer('test'), function(err, res) {
console.dir(res)
var resString = res.toString()
var resBuffer = Buffer(resString, 'binary')
console.dir(resBuffer)
zlib.gunzip(resBuffer, function(err, text) {
if(err) throw err
console.log(text.toString())
})