- AOP - Aspect-oriented programming in PHP - http://aop-php.github.com/
- PreProcessor - macro-style processing - http://pecl.php.net/package/PreProcessor
- Meta - AST building from PHP Source - https://github.com/flavius/phpmeta/
- Runkit - Black magic for PHP - https://github.com/zenovich/runkit
- scalarobjects - Register methods on PHP scalars - https://github.com/nikic/scalar_objects
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// This is largely stolen from test.php in the Inline_C repo (https://github.com/pear/Inline_C/blob/master/test.php) | |
require_once("C.php"); | |
$function1 = <<<EOF | |
PHP_FUNCTION(times) | |
{ | |
long i,j; | |
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &i,&j) == FAILURE) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env ruby | |
require "xmlsimple" | |
require "colored" | |
def parse_test_cases(test_cases) | |
test_cases.each do |test_case| | |
errs = test_case["failure"] || test_case["error"] | |
if errs | |
puts ("-->" + test_case["name"]).red |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function timer(callable $fn, $name, $freq=50000) | |
{ | |
$start = microtime(true); | |
$start_mem = memory_get_usage(true); | |
$things = []; | |
for ($i = 0; $i < $freq; $i++) | |
{ | |
$things[] = $fn(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
OIFS=$IFS | |
IFS=$'\n' | |
count=10 | |
if [ -n "$1" ]; then | |
count=$1 | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env bash | |
# pip install -r Pygments | |
pygmentize -f terminal256 $1 2>/dev/null | |
if [ $? -ne 0 ] | |
then | |
cat $1 | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module SegmenterHelper | |
def sentences(num_sentences, text) | |
@tactful_tokenizer ||= TactfulTokenizer::Model.new | |
result = @tactful_tokenizer.tokenize_text text | |
output = "" | |
0.upto([num_sentences, result.length].min - 1) do |i| | |
output << "#{result[i]} " | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class You < Person | |
include Transportation | |
state_machine :wednesday_night, :initial => :no_plans do | |
before_transition :no_plans => :making_anthony_happy, :do => :come_to_dukegen_pitch_at_rocketspace! | |
end | |
def come_to_dukegen_pitch_at_rocketspace! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript"> | |
var __RouteCurry = function(route){ | |
return function(options){ | |
var routeMod = route; | |
if (typeof options == "string" || typeof options == "number"){ | |
routeMod = routeMod.replace(/:[a-zA-Z0-9\_]+/,options); | |
} | |
else{ | |
for(key in options){ | |
routeMod = routeMod.replace(":"+key, options[key]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'optparse' | |
options = {source: File.expand_path("~/.profile-remote"), target: "~/.profile"} | |
OptionParser.new do |opts| | |
opts.banner = "Copy a .profile script to a machine for sshing to it.\nUsage: shush [options] host" | |
opts.on("-s", "--source SOURCE", "The source profile file. Default is ~/.profile-remote") do |s| | |
options[:source] = File.expand_path(s) |
NewerOlder