Skip to content

Instantly share code, notes, and snippets.

View pestilence669's full-sized avatar

Paul Chandler pestilence669

View GitHub Profile
@pestilence669
pestilence669 / unfck_gpc.php
Last active August 29, 2015 14:03
Old code I posted in the comments of php.net years ago. It's boilerplate code for automating the handling of PHP's "magic" quoting behavior. It was copy and pasted frequently, after I renamed it "unfck_gpc" instead of "unfuck_gpc," which was deleted as offensive. As far as I can tell, the only big project that still uses it, is a Russian CMS.
<?php
// vim: set ts=4 sw=4 noet:
/*
In the example above, the author forgets to include $_REQUEST,
which is also slashed (using PHP 4.3.8).
It's good practice to include a routine to "unslash" or "slash"
variables, if something happens that isn't to your expectation.
However your PHP is written to depend on this option, it becomes
important to support either when or if others deploy your code.
@pestilence669
pestilence669 / facebull.aco.py
Last active January 11, 2016 23:11
Small experiment with Ant Colony Optimization for solving Facebook's FaceBull puzzle. This solution was not a winner; nor were my genetic algorithm, branch & bound, simulated annealing or brute force approaches.
#!/usr/bin/env python
# vim: set ts=4 sw=4 noet:
################################################################################
# Author: Paul Chandler <[email protected]>
# Facebook's FaceBull Puzzle
#
# NOTE: If psyco is installed, it's imported & enabled. The improvement is
# unimpressive, but it's something.
#
# /me crosses fingers
@pestilence669
pestilence669 / macClipboardCopier.py
Last active August 29, 2015 14:03
Copies a string into the clipboard... on a Mac.
#!/usr/bin/env python
# vim: set ts=4 sw=4 noet:
import argparse
def shoveIntoClipboard(contents):
"Copies a string into the clipboard... on a Mac"
p = subprocess.Popen(['pbcopy'], stdin = subprocess.PIPE)
p.stdin.write(contents)
p.stdin.close()
return p.wait() == 0
@pestilence669
pestilence669 / macOS_defaults.sh
Last active April 21, 2020 00:59
macOS "defaults" customizations
#!/bin/bash
# vim: set ts=4 sw=4 noet fileencoding=utf-8:
# disable the accent menu in macOS, when you hold keys like "e"
# enable repeat / use ⌥ instead.
defaults write -g ApplePressAndHoldEnabled -bool false
# basic dock preferences
defaults write com.apple.dock orientation -string left
defaults write com.apple.dock autohide -int 1
@pestilence669
pestilence669 / nginx.conf
Last active April 10, 2017 23:51
Nginx SSL configuration to proxy localhost:443 to localhost:80
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
@pestilence669
pestilence669 / all_git_authors.sh
Last active August 29, 2015 14:04
Get all contributing author usernames in a Git project
#!/bin/bash
# vim: set ts=4 sw=4 noet:
git log | grep Author | cut -d' ' -f2 | sort -u
@pestilence669
pestilence669 / install_random_things.sh
Last active August 29, 2015 14:05
Random installations of various things
#!/bin/bash
# vim: set ts=4 sw=4 noet:
# install colorization & other enhancements to the stock MongoDB shell
npm install -g mongo-hacker
# command-line JSON filtering, formatting and other general awesome
npm install -g json
@pestilence669
pestilence669 / mongo_sequence.js
Last active November 29, 2016 09:32
Monotonic increasing sequences in MongoDB
// vim: set ts=4 sw=4 noet:
// create a collection to hold the named sequences
db.createCollection('counters');
// shell helper. initialize, if necessary, and return the next sequence
function getCounterFor(name) {
return db.counters.findAndModify({
query: { _id: name },
update: { $inc: { sequence: 1 } },
@pestilence669
pestilence669 / addLocalAlias.sh
Last active August 29, 2015 14:06
Enable 127.0.0.2 on OS X
#!/bin/bash
# vim: set ts=4 sw=4 noet:
# must add each alias individually. here's .2
sudo ifconfig lo0 alias 127.0.0.2 up
@pestilence669
pestilence669 / get_tomcat7_version.sh
Created November 20, 2014 02:33
Get the Tomcat version(s) in Ubuntu
#!/usr/bin/bash
# vim: set ts=4 sw=4 noet:
java -cp /var/lib/tomcat*/lib/catalina.jar org.apache.catalina.util.ServerInfo