Skip to content

Instantly share code, notes, and snippets.

Kir Shatrov kirs

Block or report user

Report or block kirs

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Dockerfile
FROM ubuntu:latest
# tools you need to build MRI
RUN apt-get update && apt-get install -y git ruby autoconf bison gcc make zlib1g-dev libffi-dev libreadline-dev libgdbm-dev libssl-dev build-essential
View getaddr.c
#define _GNU_SOURCE
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(int argc, char *argv[])
int i, ret;
View getaddrinfo_interrupt.rb
require 'net/http'
require 'socket'
# to run on Ubuntu/Debian with sudo access
def with_unresponsive_dns
fake_dns_ip = ""
th = do
server =
server.bind(fake_dns_ip, 53)
View resolv_timeout.rb
require 'net/http'
require 'socket'
def with_unresponsive_dns
fake_dns_ip = ""
th = do
server =
server.bind(fake_dns_ip, 53)
View gist:bc6215a358578d6f4e395a2dcab4ccc5
int deserialize_String_vector(struct iarchive *in, const char *tag, struct String_vector *v)
int rc = 0;
int32_t i;
rc = in->start_vector(in, tag, &v->count);
v->data = calloc(v->count, sizeof(*v->data));
for(i=0;i<v->count;i++) {
rc = rc ? rc : in->deserialize_String(in, "value", &v->data[i]);
rc = in->end_vector(in, tag);
View shopify_deadlines.rb
class Deadline
def self.current=(value)
ActiveRecord::Base.deadline = value
def initialize(duration_seconds)
@deadline = now + duration_seconds.to_i
def extend_deadline(duration_seconds)
View omg.rb
# frozen_string_literal: true
require 'benchmark/ips'
require 'securerandom'
str = "#{SecureRandom.alphanumeric(1000)} SUBSTR"
Benchmark.ips do |x|
x.config(:time => 5, :warmup => 2)"=~") do |t|
100.times do
View omg.rb
# frozen_string_literal: true
require "bundler/inline"
gemfile(true) do
source ""
git_source(:github) { |repo| "{repo}.git" }
gem "rails", github: "rails/rails"
kirs / dance
Last active Jan 16, 2020
Docker snapshot (CRIU) experiments with Rails app and Redmine
View dance
# The script to run actual benchmark
set -e -x
kirs / notes
Created Jun 24, 2019 — forked from justincormack/notes
criu setup Ubuntu 18.04
View notes
apt update
apt upgrade
apt install build-essential
apt install pkg-config
apt install libnet-dev python-yaml libaio-dev
apt install libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler protobuf-compiler python-protobuf libnl-3-dev libcap-dev python-future
# criu install
curl -O -sSL
tar xjf criu-3.10.tar.bz2
You can’t perform that action at this time.