Skip to content

Instantly share code, notes, and snippets.

View shved's full-sized avatar
🦀

Vitalii Shvedchenko shved

🦀
View GitHub Profile
@shved
shved / docker-compose.yml
Created December 14, 2022 16:42
Minio local docker compose developer setup for aws s3 replacement 2023
version: '3.7'
services:
minio:
image: minio/minio
ports:
- "9000:9000"
volumes:
- data:/data
environment:
MINIO_REGION: us-east-1
@shved
shved / clickhouse-cheatsheet.md
Last active May 26, 2024 11:02
ClickHouse client cheatsheet

Cheatseet assumes you're just playing around on a not clustered ClickHouse server.

docker run -it yandex/clickhouse-client --host your.toy.server.host --port 9500 --user default --password password123 --multiline

SHOW DATABASES

SHOW TABLES (in current database)

SHOW DICTIONARIES (in current database)

@shved
shved / test_mem_usage.rb
Last active May 30, 2023 06:22
Simple RSS limit test
class TestMemoryUsage
LIMIT_MB = 70 # the memory limit you want to test
def run
work_thread = Thread.new do
# your ruby code here
end
loop do
sleep(0.1)
@shved
shved / run_state.rb
Created February 17, 2019 10:25 — forked from flash-gordon/run_state.rb
This shows that implementation of state effects doesn't require mutation. This example uses recursion that can be optimized after enabling TCO
require 'fiber'
class RunState
def call(fiber, state = {}, *xs)
result = fiber.resume(*xs)
if fiber.alive?
op, *args = result
case op
when :read
@shved
shved / .iex.exs
Created May 13, 2018 17:47
.iex.exs
global_settings = "~/.iex.exs"
if File.exists?(global_settings), do: Code.require_file(global_settings)
Application.put_env(:elixir, :ansi_enabled, true)
IEx.configure(
colors: [
eval_result: [:cyan, :bright] ,
eval_error: [[:red, :bright, "\n▶▶▶\n"]],
eval_info: [:yellow, :bright ],
],
#!/usr/bin/env ruby
class Array
def my_flatten
return self if empty?
return self unless any? { |el| el.is_a? Array }
last_elem = pop
if last_elem.is_a? Array
my_flatten + last_elem.my_flatten
else