Skip to content

Instantly share code, notes, and snippets.

@cxreg
cxreg / git-only
Created February 26, 2013 21:17
git-only
#!/bin/sh
opts=$(git rev-parse --no-revs "$@" 2>/dev/null)
rev=$(git rev-parse --revs-only "$@" 2>/dev/null)
branch=$(git name-rev --name-only ${rev:-HEAD})
upstream=$(git name-rev --name-only --refs 'refs/remotes/*' --no-always $branch@{u} 2>/dev/null)
git log $(git rev-parse --not --remotes --branches | grep -v $(git rev-parse $branch) | grep -v ${upstream:-XXX}) $branch $opts
@cxreg
cxreg / gist:5042722
Created February 26, 2013 22:08
git-cleanup
#!/bin/bash
if [[ $1 != "-f" ]]; then
echo "### Dry-run mode, specify -f to actually perform deletes.";
fi;
for branch in $(git branch -r --merged origin/master | grep '\<origin/' | grep -v '\<origin/master\>');
do
if [[ -z $(git rev-list $branch --since '1 month') ]]; then
name=$(echo $branch | sed 's/^origin\///');
if [[ $1 = "-f" ]]; then
@cxreg
cxreg / gist:5174403
Created March 16, 2013 01:04
bash ... wat
count@narbuckle:~$ bash --version
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
count@narbuckle:~$ foo=(1 2 3 4 5); unset foo[4]; echo ${foo[@]}; unset foo[3]; echo ${foo[@]}; unset foo[2]; echo ${foo[@]};
1 2 3 4
1 2 3
1 2
dolszewski@blackheat:~$ bash --version
@cxreg
cxreg / gist:5306528
Created April 3, 2013 23:50
Fix %% in JSON in FS
diff --git a/src/switch_json.c b/src/switch_json.c
index 3819cda..3b7a603 100644
--- a/src/switch_json.c
+++ b/src/switch_json.c
@@ -220,7 +220,7 @@ static char *print_string_ptr(const char *str)
const char *ptr;char *ptr2,*out;int len=0;unsigned char token;
if (!str) return cJSON_strdup("");
- ptr=str;while ((token=*ptr) && ++len) {if (strchr("\"\\\b\f\n\r\t",token)) len++; else if (token<32) len+=5;ptr++;}
+ ptr=str;while ((token=*ptr) && ++len) {if (strchr("\"\\\b\f\n\r\t%",token)) len++; else if (token<32) len+=5;ptr++;}
@cxreg
cxreg / gist:5306732
Created April 4, 2013 00:35
Use a simple format string for JSON printing, thus not interpreting % as a conversion specifier
--- a/src/mod/applications/mod_commands/mod_commands.c
+++ b/src/mod/applications/mod_commands/mod_commands.c
@@ -4809,7 +4809,7 @@ SWITCH_STANDARD_API(show_function)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error!\n");
holder.stream->write_function(holder.stream, "-ERR Memory Error!\n");
} else {
- holder.stream->write_function(holder.stream, json_text);
+ holder.stream->write_function(holder.stream, "%s", json_text);
}
cJSON_Delete(result);
@cxreg
cxreg / gist:5311075
Last active December 15, 2015 19:28
benchmarking node binary-to-url-encoding
var fs = require('fs');
var re = /(..)/g;
var methods = {
with_escape: function(data, cb) {
cb(escape(data.toString('binary')));
},
with_loop: function (data, cb) {
var buf = '';
for (var n = 0; n < data.length; n++) {
@cxreg
cxreg / gist:5418654
Created April 19, 2013 07:17
SIPp scenario to trigger modesl unicode parser bug
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
How I invoked this test:
sipp 10.104.11.81 -p 2048 -sf repro.sipp -m 1 -nd -nr
-->
<scenario name="utf8 in caller id">
<send>
@cxreg
cxreg / gist:5435752
Created April 22, 2013 15:02
Rakudo make asplode
$ make -j5
/usr/bin/perl /home/count/src/ext/perl/perl6/local/lib/parrot/5.2.0-devel/tools/build/pmc2c.pl --no-lines --dump --include src/vm/parrot/pmc --include /home/count/src/ext/perl/perl6/local/src/parrot/5.2.0-devel --include /home/count/src/ext/perl/perl6/local/src/parrot/5.2.0-devel/pmc src/vm/parrot/pmc/perl6lexinfo.pmc src/vm/parrot/pmc/perl6lexpad.pmc.
/usr/bin/perl /home/count/src/ext/perl/perl6/local/lib/parrot/5.2.0-devel/tools/build/pmc2c.pl --no-lines --c --include src/vm/parrot/pmc --include /home/count/src/ext/perl/perl6/local/src/parrot/5.2.0-devel --include /home/count/src/ext/perl/perl6/local/src/parrot/5.2.0-devel/pmc src/vm/parrot/pmc/perl6lexinfo.pmc src/vm/parrot/pmc/perl6lexpad.pmc.
/usr/bin/perl /home/count/src/ext/perl/perl6/local/lib/parrot/5.2.0-devel/tools/build/pmc2c.pl --no-lines --library perl6_group --c src/vm/parrot/pmc/perl6lexinfo.pmc src/vm/parrot/pmc/perl6lexpad.pmc.
cc -c -o perl6_group.o -Isrc/vm/parrot/pmc -I/home/count/src/ext/perl/perl6/local/include/parrot/5.2.0-d
dolszewski@blackheat:~$ echo test | read somevar
dolszewski@blackheat:~$ echo $somevar
dolszewski@blackheat:~$ read somevar < <(echo test)
dolszewski@blackheat:~$ echo $somevar
test