Skip to content

Instantly share code, notes, and snippets.

@Stantheman
Stantheman / apache_directory_size.sh
Created March 31, 2012 17:08
One-Liner to get approximate size of remote Apache directory listing using wget and perl
wget -r -nd -np --spider http://URL_GOES_HERE 2>&1 | perl -ne '$size += $1 if $_ =~ m/^Length: (\d+)/; END{print $size . "\n";}'
@Stantheman
Stantheman / herestring.sh
Created May 15, 2012 14:46
comparing here strings and pipes
#!/bin/bash
for i in {1..1000}; do
sed 's/lo//' <<< "hello world\n"
done
@Stantheman
Stantheman / output
Last active December 14, 2015 21:09
perl substr, verse substition, versus lvalue substring speed comparison using Benchmark. regular substr won by a larger margin than I thought, which makes me generally happy
# running 5.10.0, but according to http://perldoc.perl.org/perl5160delta.html#Performance-Enhancements, these benchmarks might be out of sync:
# Assignment to substr in void context is now more than twice its previous speed. Instead of creating and returning a special lvalue scalar that is then assigned to, substr modifies the original string itself.
# substr no longer calculates a value to return when called in void context.
Benchmark: running l_substr, sed, substring for at least 10 CPU seconds...
l_substr: 11 wallclock secs (10.30 usr + 0.01 sys = 10.31 CPU) @ 1455470.71/s (n=15005903)
sed: 10 wallclock secs (10.35 usr + 0.04 sys = 10.39 CPU) @ 433279.21/s (n=4501771)
substring: 11 wallclock secs (10.44 usr + 0.01 sys = 10.45 CPU) @ 2926646.89/s (n=30583460)
Rate sed l_substr substring
sed 433279/s -- -70% -85%
@Stantheman
Stantheman / output
Created March 14, 2013 02:42
compare perl substitution against "chop if substr($var, -1) eq"
Benchmark: running sed, substr_if for at least 20 CPU seconds...
sed: 21 wallclock secs (21.10 usr + 0.00 sys = 21.10 CPU) @ 1937388.20/s (n=40878891)
substr_if: 21 wallclock secs (21.22 usr + 0.03 sys = 21.25 CPU) @ 2412531.58/s (n=51266296)
Rate sed substr_if
sed 1937388/s -- -20%
substr_if 2412532/s 25% --
@Stantheman
Stantheman / sean.sh
Last active December 16, 2015 04:39
Sean Connery voice maker. <3 cloud
#!/bin/bash
# Sean Connery voice maker
# shhhay the word
function connify {
word=$1
word=$(sed -E 's/(s|ch)/shhhh/g' <<< $word)
echo -n "$word "
}
#!/usr/bin/env perl
use strict;
use warnings;
use Benchmark qw( timethese cmpthese ) ;
my $r = timethese( -10, {
val => sub {
my @arr;
push @arr, $_ for (1..10000);
},
@Stantheman
Stantheman / benchmark.pl
Created July 13, 2013 21:38
comparing typeglob aliases to references
#!/usr/bin/env perl
use strict;
use warnings;
use Benchmark qw( timethese cmpthese ) ;
my $a=10;
*b = *a;
my $ref = \$a;
@Stantheman
Stantheman / fuse-color.pl
Created December 4, 2013 02:28
Someone in #climagic on freenode said they wanted every command to automatically be pumped into @busyloop 's lolcat repo (https://github.com/busyloop/lolcat). This is the work in progress. Works fine, just plop into place, there's a package for perl fuse in Debian. Set PATH=/opt/stan/badidea (or wherever) and have cool colors. stage 2 would be t…
#!/usr/bin/perl
use strict;
use warnings;
use Data::Printer;
use Fuse;
my $mountpoint='/opt/stan/badidea';
Fuse::main(
mountpoint=>$mountpoint,
mountopts=>"allow_other",
package main
import (
"bufio"
"bytes"
"fmt"
IO "io/ioutil"
"os"
"sort"
"strings"
#!/bin/bash
choose_congestion_control="/proc/sys/net/ipv4/tcp_congestion_control"
ip=127.0.0.1
iperf -s
iperf_pid=$!
for i in $(ls /lib/modules/3.2.0-4-amd64/kernel/net/ipv4/tcp*); do
# transform the path from /lib/.../tcp_bic.ko to bic