Skip to content

Instantly share code, notes, and snippets.

View vehsamrak's full-sized avatar
❤️

Petr Karmashev vehsamrak

❤️
View GitHub Profile
@vehsamrak
vehsamrak / wait-for-minio.sh
Last active September 1, 2025 08:00
Wait for MinIO for docker compose
#!/bin/sh
# This script waits for Minio to be available and then ensures a specific bucket exists.
# It repeatedly tries to connect to Minio and set up an alias.
# Once connected, it attempts to create the bucket.
# If the bucket already exists, the script considers it a success.
# The loop continues until the bucket is confirmed to exist, retrying every second.
if [ -z "${MINIO_URL}" ]; then
echo "Error: MINIO_URL environment variable is not set."
@vehsamrak
vehsamrak / work.sh
Created February 21, 2024 11:27 — forked from montethinks/work.sh
Start tmux with preconfigured windows and panes.
#!/bin/sh
# Setup a work space called `work` with four windows
session="work"
# set up tmux
tmux start-server
# create a new tmux session with <NAME>
@vehsamrak
vehsamrak / main.go
Created December 1, 2020 21:32 — forked from mcarrowd/main.go
golang win1251 <-> utf8 encoding issue demonstration
package main
import (
"fmt"
"golang.org/x/text/encoding/charmap"
)
func main() {
for i := 0; i <= 255; i++ {
charnum := uint8(i)
PHP
1. Код должен удовлетворять требованиям PSR-2.
2. Если в выражении больше чем один оператор конкатенации, нужно вместо него применить sprintf().
3. Перед и после оператора конкатенации должны стоять пробелы.
4. Нельзя использовать синтаксис группировки с оператором use для неймспейсов и трейтов. (use Foo\Bar\{Foo, Bar, Baz,}).
5. Все названия переменных, методов, классов и других сущностей должны быть валидными словами на английском языке, без сокращений. Исключения: аббревиатуры протоколов, индекс итератора (i), алгебраические нотации (x).
6. Список элементов одной области видимости, чей порядок не имеет значения (константы, свойства классов, импорты (use), ключи в массивах), должны располагаться в алфавитном порядке.
7. Публичные константы, свойства и методы должны определяться перед закрытыми, при этом приватные должны быть в конце.
8. Пустая строка перед return в методе длиннее одной строки.
9. При объявлении пустого массива перед циклом, в котором он будет наполняться, между массивом и циклом не долж
https://media.bidr.io/1X1.png]]></Impression>
https://buyer.dsp.com/exchange/v1/impression?ad_view_id=1527742886151586.1332087494.22444.dsp&advertising_id=f1062471-8d97-47bf-be7e-ad65910b2015&age=&android_id=f1062471-8d97-47bf-be7e-ad65910b2015&app_bundle_id=com.ketchapp.rollercoaster&app_name=Roller%20Coaster&app_store_url=https%3a%2f%2fplay.google.com%2fstore%2fapps%2fdetails%3fid%3dcom.ketchapp.rollercoaster%26hl%3den&device_ip=MTg1LjEyMC4xMjYuMTc0&device_name=TB3-710F&device_type=Lenovo&dsp_creative_id=681&gender=&inventory_source=UNITY&latitude=31.5&line_item_id=682&longitude=34.75&offer_id=7cd8baf8-1f8d-44d3-ada3-fc1c7ffca2b1&placement_id=com.ketchapp.rollercoaster-vast&platform=Android&platform_carrier=&udid=f1062471-8d97-47bf-be7e-ad65910b2015&user_agent=TW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDUuMC4xOyBMZW5vdm8gVEIzLTcxMEYgQnVpbGQvTFJYMjFNOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzY2LjAuMzM1OS4xNTggU2FmYXJpLzUzNy4zNg==]]></Impression>
https://us-east-1.event.pr
@vehsamrak
vehsamrak / Version20121011141021.php
Last active April 26, 2018 11:44 — forked from ziadoz/Version20121011141021.php
Doctrine DBAL and Migrations Example
<?php
/*
* /path/to/migrations/directory/Version20121011141021.php
*/
namespace ExampleMigrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
class Version20121011141021 extends AbstractMigration
@vehsamrak
vehsamrak / docker-install.sh
Last active November 14, 2018 07:53
Docker and docker compose install for ubuntu
#!/usr/bin/env bash
# set up docker repository
export DEBIAN_FRONTEND=noninteractive;
# auf storage driver
apt-get update
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

@vehsamrak
vehsamrak / install_golang.sh
Created February 24, 2018 07:43 — forked from jniltinho/install_golang.sh
Install Golang on Linux
#!/bin/bash
## Install Golang 1.10 64Bits on Linux (Debian|Ubuntu|OpenSUSE|CentOS)
## http://www.linuxpro.com.br/2015/06/golang-aula-1-instalacao-da-linguagem-no-linux.html
## Run as root (sudo su)
## Thank's @geosoft1 | @gwmoura
GO_URL="https://storage.googleapis.com/golang"
GO_VERSION=${1:-"1.10"}
GO_FILE="go$GO_VERSION.linux-amd64.tar.gz"
# Ctrl+a as a prefix command
set-option -g prefix C-a
bind-key C-a last-window
bind-key k kill-session
# Ctrl+arrow to move a whole word
set-window-option -g xterm-keys on
###############