Skip to content

Instantly share code, notes, and snippets.

View PetrGlad's full-sized avatar
🚶‍♂️
.

Petr Gladkikh PetrGlad

🚶‍♂️
.
  • 21:57 (UTC +04:00)
View GitHub Profile
@PetrGlad
PetrGlad / Avro_Aws_Glue_Kafka.sh
Last active February 3, 2026 13:45
Examples how to extract infomration from Kafka messages encoded for AWS Glue using Avro
# https://lenses.io/blog/aws_glue_schema_registry_that_binds_apache_kafka
# 16 bytes starting with 3rd contain UUID of AWS Glue schema.
cat message.base64 | base64 -d | tail -c+3 | head -c16 | uuid -d -F BIN -
# Bytes starting from 19 contain the message itself.
cat message.base64 | base64 -d | tail -c+19 | java -jar avro-tools-1.12.1.jar fragtojson --schema-file schema.avsc -
security.protocol=SASL_SSL
sasl.mechanism=AWS_MSK_IAM
sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
@PetrGlad
PetrGlad / make-video.sh
Last active October 7, 2025 21:36
soundtrack-video-with-static-picture
# https://superuser.com/questions/1041816/combine-one-image-one-audio-file-to-make-one-video-using-ffmpeg#1041818
ffmpeg -i backgrop.png -i soundtrack.mp3 -c:v libx264 -tune stillimage -c:a copy output-video.mkv
@PetrGlad
PetrGlad / virtualbox.commands.ps1
Created February 14, 2025 09:51
Virtualbox tips
# See https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/changenat.html#nat-adv-dns
$env:PATH = $env:PATH + ";C:\Program Files\Oracle\VirtualBox"
VBoxManage list runningvms
VBoxManage startvm <VM-NAME>
# DNS resolver options
VBoxManage modifyvm <VM-NAME> --natdnshostresolver1 on
# or
VBoxManage modifyvm <VM-NAME> --natdnsproxy1 on
@PetrGlad
PetrGlad / join-pdf-example.sh
Created June 2, 2024 16:14
Join PDF Documents
# https://stackoverflow.com/a/19358402/117220
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH \
-dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf
@PetrGlad
PetrGlad / number-to-words.py
Created May 4, 2024 16:24
An exersice problem
import sys
DIGITS = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
TEENS = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']
TENS = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']
def speek_0(n: int) -> [str]:
"""Auxiliary function."""
words = []
$ echo "ertyoiu" | podman secret create asdf -
c680db24d26dc024f36f90e90
$ podman secret ls
ID NAME DRIVER CREATED UPDATED
c680db24d26dc024f36f90e90 asdf file 5 seconds ago 5 seconds ago
$ podman run --rm -ti --secret asdf alpine
/ # ls /var/run/secrets/
asdf
/ # ls /var/run/secrets/asdf
@PetrGlad
PetrGlad / rant.py
Created March 12, 2024 16:07
Code pile
import os
import re
import jinja2
import pygments
import pygments.lexers as lexers
from pygments.formatters import HtmlFormatter
CSS_CLASS = ".code"
@PetrGlad
PetrGlad / audatic.py
Last active March 5, 2024 19:30
Python test assignment coderbyte
import statistics
import ast
import math
import json
from typing import Callable
class ParseError(Exception):
pass
#!/bin/sh
diff --color <(yq -P 'sort_keys(..)' $1) <(yq -P 'sort_keys(..)' $2)