Skip to content

Instantly share code, notes, and snippets.

View strizhechenko's full-sized avatar
💭
I may be slow to respond.

Oleg Strizhechenko strizhechenko

💭
I may be slow to respond.
View GitHub Profile
@strizhechenko
strizhechenko / альбомы.md
Last active July 14, 2023 06:45
Пидорвэйв

Buzzword Blaster

Собеседование

  1. Зарплатные ожидания
  2. Whiteboarding
  3. Quicksort
  4. Разговор с HR
  5. Серая ЗП
  6. Большая премия
@strizhechenko
strizhechenko / uuid05.py
Last active June 23, 2023 14:08
Компактные человекочитаемые уникальные идентификаторы для небольших несинхронизирующихся распределённых систем.
from base64 import b64encode
from time import time
import os
pid = os.getpid()
if pid == 1: # для поддержки запуска в контейнерах
import socket
hostname = socket.gethostname()
pid = ord(hostname[0]) + ord(hostname[-1])
@strizhechenko
strizhechenko / dpkt-client-hello-parsing.py
Last active June 21, 2023 02:38
#dpkt #python #client_hello #ssl #tls #tcp
# coding=utf-8
import dpkt
import struct
TLSExtensionTypes = {
0: 'server_name',
1: 'max_fragment_length',
2: 'client_certificate_url',
3: 'trusted_ca_keys',
@strizhechenko
strizhechenko / porno.md
Last active June 13, 2023 19:24
Код ниже генерирует прекрасные названия, не знаю для чего, новые жанры порно или названия программных проектов.
#!/usr/bin/env bash

if [ ! -f /tmp/linux ]; then
    curl -sS https://www.linux.org.ru/ | egrep -o /tag/[0-9a-z-]+ | sed 's|/tag/||' > /tmp/linux
fi
if [ ! -f /tmp/pron ]; then
    curl -sS http://www.xvideos.com/tags  | egrep -o /tags/[a-z0-9-]+ | sed 's|/tags/||' > /tmp/pron
fi
@strizhechenko
strizhechenko / heif-directory-convert.sh
Last active August 21, 2022 04:05
Script to convert directory with photos from iPhone (.HEIC) to .jpg format. Requires libheif-examples package installed. Notice: .jpg output is ~20% larger than .HEIC original.
#!/bin/bash
set -euE
echo "$0 $* [$$] START" >&2
declare DIR="${1:-.}"
declare REMOVE="${2:-no}"
at_least_one_output_exists() {
@strizhechenko
strizhechenko / check_inet.sh
Created August 2, 2022 06:21
Красивая проверка что именно там в сети опять отвалилось
#!/bin/bash
set -euE
SUCCESS="\\033[1;32m"
HEADER="\\033[1;34m"
FAILURE="\\033[1;31m"
NORMAL="\\033[0;39m"
check() {
# 02.10.2016
Гарри Поттер и анапская рыбалка
Гарри Поттер и аппаратный маникюр
Гарри Поттер и восьмая джава
Гарри Поттер и двойная мотивация
Гарри Поттер и десктопные интерфейсы
Гарри Поттер и домашнее животное
Гарри Поттер и ебанутая сука
Гарри Поттер и ебнутый клип
@strizhechenko
strizhechenko / morf_csv.py
Created April 24, 2022 08:22
Скрипт сбора текстовой информации из брифингов МО РФ в унифицированный CSV
#!/usr/bin/env python
""" Скрипт сбора текстовой информации из брифингов МО РФ в унифицированный CSV """
# coding: utf-8
import os, re, csv, logging
from pathlib import Path
from urllib.parse import urlparse
import html2text, requests
from bs4 import BeautifulSoup
#!/bin/bash
set -euE
echo "$0 $@ [$$] START" >&2
if [ "${1:-}" == '--help' ]; then
echo "Info: $0 - утилита для синхронизации незакоммиченных изменений"
echo "Usage: [action=push|pull|once] $0 [CONFIG|<server> <directory> <interval>]"
echo "Example: $0 10.20.140.333 /home/xxx/git/yyy/ 300"
@strizhechenko
strizhechenko / shell.md
Last active July 6, 2020 12:05
Программа для underhood.ko

Опции bash для разработки

Разрабатывайте скрипты с опциями set -eu

  • set -e - падать на ошибках
  • set -u - считать ошибкой обращение к неопределенной переменной
  • set -o pipefail - заставить пайпы перестать скрывать ошибки предыдущих команд

Профиты

  • максимально быстрое выявление скрытых ошибок в коде.
  • не надо самому писать многие проверки значений.
  • Это сделает shell-код похожим на нормальный язык программирования, а не на набор последовательно выполняющихся команд, которым на всё пофиг.