Required tools for playing around with memory:
hexdump
objdump
readelf
xxd
gcore
require 'pry' # gem install pry | |
# Pass in an enumeration of data and | |
# (optionally) a block to extract the grouping aspect of the data. | |
# | |
# Optional: sort_by lambda (operates on group key and count) | |
def puts_hist(data, sort_by:nil, &blk) | |
data = data.map(&blk) if blk | |
counts = data.each_with_object(Hash.new(0)) {|k,h| h[k]+=1} |
# 2.4.2p198 on MBP 2017 i7 | |
user system total real | |
-- YAML size=86 delta_vsz=0 delta_rss=2092 | |
17.730000 0.060000 17.820000 ( 17.851288) | |
-- JSON size=83 delta_vsz=0 delta_rss=4 | |
0.850000 0.000000 0.870000 ( 0.892370) |
#!/usr/bin/env bash | |
declare -i last_called=0 | |
declare -i throttle_by=2 | |
@throttle() { | |
local -i now=$(date +%s) | |
if (($now - $last_called >= $throttle_by)) | |
then | |
"$@" |
[passenger_*] | |
user root | |
command /root/.rbenv/shims/ruby %c | |
env.passenger_status /root/.rbenv/shims/passenger-status | |
env.passenger_memory_stats /root/.rbenv/shims/passenger-memory-stats | |
env.graph_category Passenger | |
env.PASSENGER_INSTANCE_REGISTRY_DIR /tmp/aptmp |
#!/bin/bash | |
# /etc/crontab | |
# 0 8 * * * root update_blogs.sh >> /var/log/update_blogs.log | |
[email protected] | |
blogs=`ls -d /var/www/{blog1,blog2,blog3}` | |
update_wp(){ | |
blog=$1 |
// | |
// Based on https://quinesoft.de/2016/05/23/swift-enumerate-iterate-enum/ | |
// | |
// Usage: | |
// | |
// public enum Pies: Int, EnumerableEnum { | |
// case apple | |
// case strawberry | |
// case chicken | |
// } |
import { Directive, forwardRef, Attribute } from '@angular/core'; | |
import { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms'; | |
// variation from https://plnkr.co/edit/KgjSTj7VqbWMnRdYZdxM?p=preview | |
@Directive({ | |
selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]', | |
providers: [ | |
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true } | |
] |
function s3size() { | |
for path in $*; do | |
size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{printf "%.2fGb\n", (total/1024/1024/1024)}'); | |
echo "[s3://$path]=[$size]"; | |
done; | |
} |
require 'mina/bundler' | |
require 'mina/rails' | |
require 'mina/git' | |
task :deploy_prod => :environment do | |
set :rails_env, 'production' | |
set :restart_workers, true | |
set :branch, 'master' | |
set :deploy_to, '/path/to/PROD/rails/root' | |
set :test_url, "http://www.example.com" |