Skip to content

Instantly share code, notes, and snippets.

# Install https://www.vaultproject.io/
brew install vault
# Start dev vault server in a separate terminal
vault server -dev
# ==> Vault server configuration:
# ...
# Unseal Key: 7ACQHhLZY5ivzNzhMruX9kSa+VXCah3y87hl3dPSWFk=
# Root Token: 858a6658-682e-345a-e4c4-a6e14e6f7853
@exAspArk
exAspArk / memory_middleware.rb
Created December 27, 2016 16:12
MemoryMiddleware
class MemoryMiddleware
ENV_REQUEST_PATH = 'REQUEST_PATH'.freeze
ENV_PUMA_AFTER_REPLY = 'rack.after_reply'.freeze
LOGGER = Logger.new('/tmp/memory.log'.freeze)
def initialize(app)
@app = app
end
def call(env)
(export LC_ALL="ru" ; awk '{split($0,l,";") ; print l[2],l[3],l[4]}' ~/.zsh_history | sort | uniq -c | sort -nr | head -n 20)
require "net/http"
require "socket"
socket = "/tmp/portal2.sock"
sock = Net::BufferedIO.new(UNIXSocket.new(socket))
request = Net::HTTP::Get.new("/")
request.exec(sock, "1.1", "/")
begin
source 'https://rubygems.org'
gem 'puma'
gem 'sinatra'
gem 'faraday'
gem 'typhoeus'
group :development do
@exAspArk
exAspArk / The Technical Interview Cheat Sheet.md
Created January 20, 2016 11:11 — forked from tsiege/The Technical Interview Cheat Sheet.md
This is my technical interview cheat sheet. Feel free to fork it or do whatever you want with it. PLEASE let me know if there are any errors or if anything crucial is missing. I will add more links soon.

Studying for a Tech Interview Sucks, so Here's a Cheat Sheet to Help

This list is meant to be a both a quick guide and reference for further research into these topics. It's basically a summary of that comp sci course you never took or forgot about, so there's no way it can cover everything in depth. It also will be available as a gist on Github for everyone to edit and add to.

Data Structure Basics

###Array ####Definition:

  • Stores data elements based on an sequential, most commonly 0 based, index.
  • Based on tuples from set theory.
@exAspArk
exAspArk / gist:42bdb62751a9300ee6d7
Created December 21, 2015 09:42
Screen / Tmux (in iTerm 2)
ssh login@server.example.com -t "screen -DR session_name"
tmux -CC attach -t session_name || tmux -CC new -s session_name
@exAspArk
exAspArk / gist:c325bb9a75dcda5c8212
Last active July 21, 2022 08:46
Elasticsearch: calculating user sessions with Map/Reduce (Ruby)
# The same algorithm which is used in Google Analytics (https://support.google.com/analytics/answer/2731565?hl=en):
# Time-based expiry (including end of day):
# - After 30 minutes of inactivity
# - At midnight
# Enable dynamic scripting for Groovy (https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html#_enabling_dynamic_scripting)
# ! WARNING: please read about security first
# Usage:
#
require "net/http"
def start_server
# Remove the X to enable the parameters for tuning.
# These are the default values as of Ruby 2.2.0.
@child = spawn(<<-EOC.split.join(" "))
XRUBY_GC_HEAP_FREE_SLOTS=4096
XRUBY_GC_HEAP_INIT_SLOTS=10000
XRUBY_GC_HEAP_GROWTH_FACTOR=1.8
XRUBY_GC_HEAP_GROWTH_MAX_SLOTS=0
@exAspArk
exAspArk / ruby_heart_print.rb
Last active August 29, 2015 14:15
Prints heart with ruby
ruby_print = ->(a, b = 28, c = 1) { puts ("ruby" * a).center(b) * c } ; [[2, 14, 2], [3, 14, 2], 7, 7, 7, 6, 5, 4, 3, 2, 1].map { |i| ruby_print.call(*i) }
rubyruby rubyruby
rubyrubyruby rubyrubyruby
rubyrubyrubyrubyrubyrubyruby
rubyrubyrubyrubyrubyrubyruby
rubyrubyrubyrubyrubyrubyruby
rubyrubyrubyrubyrubyruby
rubyrubyrubyrubyruby
rubyrubyrubyruby