Skip to content

Instantly share code, notes, and snippets.

View mattsta's full-sized avatar
🐢
Moving slowly and fixing things

Matt Stancliff mattsta

🐢
Moving slowly and fixing things
View GitHub Profile
matt@ununoctium:/tmp% tar xfvzp redis-2.8.17.tar.gz
x redis-2.8.17/
x redis-2.8.17/build-static-symbols.tcl
x redis-2.8.17/generate-command-help.rb
x redis-2.8.17/hyperloglog/
x redis-2.8.17/hyperloglog/.gitignore
x redis-2.8.17/hyperloglog/hll-err.rb
x redis-2.8.17/hyperloglog/hll-gnuplot-graph.rb
x redis-2.8.17/install_server.sh
x redis-2.8.17/mkrelease.sh
@mattsta
mattsta / gist:7512d430b3cc43bd669e
Last active August 29, 2015 14:06
Because tired of anonymous process names
[Everything here is ps output captured by "ps auxww|grep [r]edis-"]
Master / Replica (no config specified on the master):
./redis-server /Users/matt/repos/redis/redis.conf *:9999 replica (connected to 127.0.0.1:6379)
./redis-server *:6379 master (1 replica)
Master with config file:
./redis-server /Users/matt/repos/redis/redis.conf *:6379 master (1 replica)
Same master as above, but with a name defined too (if name is set, name shows instead of config file path):
@mattsta
mattsta / nginx.config.nice
Last active August 29, 2015 14:07
hack at me, bro
/usr/local/src/web/nginx-1.7.6% cat config.nice
./configure --prefix=/sw --with-http_perl_module --with-ipv6 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-pcre=../../libs/pcre-7.9/ --add-module=../nginx-upload-module/ --with-http_spdy_module --with-openssl=/usr/local/src/sys/openssl-1.0.1j
@mattsta
mattsta / redis-demo.service
Created October 21, 2014 21:20
redis systemd voodoo
[Unit]
Description=Redis Demo
After=network.target
[Service]
# Port 0 stops Redis from listening to ports by itself
ExecStart=/home/matt/repos/redis/src/redis-server --dir /tmp --port 0
PrivateTmp=yes
# Redis requires non-blocking sockets or else _nothing_ works
@mattsta
mattsta / mergables
Created October 29, 2014 20:52
things in my hidden merge branch
Author: Matt Stancliff <matt@genges.com>
Date: Mon Oct 20 13:07:06 2014 -0500
Add dynamic proctitle support
Uses new anet IP formatting to show proper IPv4 vs IPv6 results too.
Closes #2081
Author: Matt Stancliff <matt@genges.com>
Date: Mon Oct 20 10:39:11 2014 -0400
@mattsta
mattsta / timcook
Last active August 29, 2015 14:08
word frequency analysis of https://news.ycombinator.com/item?id=8532261 (when it had 641 comments (see history for earlier versions))
% ./text.py timcook-hn-at-641-comments
===============================================================================
Count of sentence ending words:
55: it.
29: gay.
27: people.
23: that.
@mattsta
mattsta / soooooon.t
Created November 16, 2014 18:19
DEBUG JEMALLOC INFO
matt@ununoctium:~/repos/redis/src% ./redis-cli -p 6379 debug jemalloc info
___ Begin jemalloc statistics ___
Version: 3.6.0-0-g46c0af68bd248b04df75e4f92d5fb804c3d75340
Assertions disabled
Run-time option settings:
opt.abort: false
opt.lg_chunk: 22
opt.dss: "secondary"
opt.narenas: 32
opt.lg_dirty_mult: 3
@mattsta
mattsta / thing.hs
Created December 3, 2014 21:51
Script/Non-Script Speeds
127.0.0.1:6379> script load "return redis.call('georadius', '{global}:z:locations:'..ARGV[1], ARGV[2], ARGV[3], 10, 'km', 'withdistance', 'ascending')"
"1c4c03da2a57cf99d50d57aba9a1d431526b2b9e"
127.0.0.1:6379> script load "return redis.call('get', 'abc')"
"b86fdf4c29439ed5d9a52c206d90e2b2d8cfc42c"
Geo tests (key doesn't exist, so just testing getting an empty reply):
matt@ununoctium:~/repos/redis/src% redis-benchmark -n 10000 georadius {global}:z:locations:u1 51.0500000 3.7166700 10 km withdistance ascending
====== georadius {global}:z:locations:u1 51.0500000 3.7166700 10 km withdistance ascending ======
10000 requests completed in 0.08 seconds
@mattsta
mattsta / gist:8810a0cdf18f45875ebf
Created December 20, 2014 16:06
dont sue me sue
* THIS CONVERSATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS CONVERSATION, EVEN IF ADVISED OF THE
@mattsta
mattsta / mem_size_bench.c
Created December 20, 2014 19:54
benchmark memory operations from small 32 bytes to 4+ MB. results reported as factional nanoseconds.
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <string.h>
static long long ustime(void) {
struct timeval tv;
long long ust;
gettimeofday(&tv, NULL);