Skip to content

Instantly share code, notes, and snippets.

@nkwhr
nkwhr / partition.rb
Last active February 2, 2022 13:55
a serverspec resource type for checking partitions.
module Serverspec
module Type
class Partition < Base
def initialize(partition, type)
@name = partition
@partition_table = {}
case type
when 'cylinder'
options = "-l"
@nkwhr
nkwhr / run.sh
Created April 3, 2014 08:26
helper script for executing plenv + carton app in cron.
#!/bin/sh
export HOME="/home/me"
export PATH="$HOME/.plenv/bin:$PATH"
eval "$(plenv init -)"
cd $HOME/app
exec carton exec -- "$1"
#!perl
use strict;
use warnings;
use Furl;
use Imager;
use Text::AAlib qw(:all);
my $url = 'https://2.gravatar.com/avatar/0e2fa4d5e82a2addb50f03414870ea46?d=https%3A%2F%2Fidenticons.github.com%2F76d9ed40d8b87622cbfa7bc12cffbcdb.png&s=420';
my $ua = Furl->new;
#!/bin/sh
_RSS=0
_SHARED=0
_PID=$1
_SMAPS=`cat /proc/$_PID/smaps`
for i in `echo "$_SMAPS" | grep 'Rss' | awk '{print $2}'`; do
_RSS=`expr $_RSS + $i`
done
#!/usr/bin/env perl
use Mojolicious::Lite;
use File::Basename;
use Plack::Builder;
use HTML::TreeBuilder::XPath;
use DBI;
get '/' => sub {
my $self = shift;
@nkwhr
nkwhr / jenkins_docker.sh
Created July 27, 2015 09:06
A sample script for running rspec on docker
#!/bin/bash
set -x
uuid=$(uuidgen)
docker build -t myapp .
docker run -d --name mysql-${uuid} --env MYSQL_ROOT_PASSWORD=xxxxxx mysql:5.6
docker run -d --name memcached-${uuid} memcached
# ・8-18文字であること
# ・大文字小文字アルファベットと数字が含まれていること
# ・.@_- (ドット、アットマーク、アンダースコア、ハイフン)のうち少なくとも1
# つ含まれていること
class PasswordGeneratorAttributeError < StandardError; end
class PasswordGenerator
NUMBERS = [*0..9]
UPPER_CHARS = [*'A'..'Z']
LOWER_CHARS = [*'a'..'z']
(unless (>= 24 emacs-major-version)
(error "requires Emacs 24 or later."))
(deftheme heroku "A color theme inspired by Heroku's old dashboard")
(custom-theme-set-variables
'heroku
'(linum-format "%4d\u2502 "))
(let ((*background* "#1b1b24")
@nkwhr
nkwhr / stop_sidekiq.rake
Created May 1, 2015 06:25
Safely stop Sidekiq process
require 'sidekiq/api'
namespace :sidekiq do
task 'stop' do
ps = Sidekiq::ProcessSet.new
abort 'Sidekiq process not running' if ps.count == 0
ps.first.quiet!
puts "SIGUSR1 sent\nWaiting 10sec for status update"
@nkwhr
nkwhr / activity_logger.rb
Last active August 29, 2015 14:14
Custom Logger Example on Rails
# lib/activity_logger.rb
class ActivityLogger < Logger
def format_message(severity, timestamp, progname, msg)
base_log = {
timestamp: timestamp,
severity: severity
}
base_log.merge(msg).to_json + "\n"
end
end