Skip to content

Instantly share code, notes, and snippets.

View heyalexej's full-sized avatar

Alexej heyalexej

  • rather hard to pin down
View GitHub Profile
@heyalexej
heyalexej / Sony-ShutterCount-Extraction.md
Created July 19, 2026 04:33
Pure-Go Sony camera ShutterCount extraction without exiftool — reverse-engineered byte-substitution cipher, MakerNote walking, benchmarks

EXTRACTING SONY SHUTTER COUNT IN PURE GO (WITHOUT EXIFTOOL)

Published: 2026-07-19

A standalone reference for extracting Sony camera ShutterCount in pure Go, including the reverse-engineered byte-substitution cipher and EXIF MakerNote walking logic. No shelling out to exiftool, no CGo, no external binaries.


@heyalexej
heyalexej / vw-audi-wheel-hub-513253.md
Created July 16, 2026 16:20
VW/Audi front wheel hub & bearing assembly (513253 / 5K0498621) — fitment list, cross-reference numbers, US buying guide

VW / Audi Front Wheel Hub & Bearing Assembly — Fitment & Buying Guide (US)

US industry part number: 513253 (front wheel hub + bearing assembly, VW/Audi PQ35 platform)

This is the bolt-on hub unit with integrated wheel bearing used across most transverse VW/Audi models of the mid-2000s to late 2010s (Golf MK5/MK6, Jetta, Passat, CC, EOS, Beetle, Audi A3 8P, TT MK2, Q3, and more). One part covers front left and right. On AWD cars (quattro / 4Motion / R32 / Golf R) the same unit is also used on the rear axle.

Specs

@heyalexej
heyalexej / unrs_check.py
Created July 14, 2026 13:31
Prüfziffern-Validierung für die Unternehmensnummer (UNR.S) der gesetzlichen Unfallversicherung nach DGUV-Verfahrensbeschreibung
"""Prüft die Prüfziffer einer Unternehmensnummer (UNR.S) der gesetzlichen Unfallversicherung.
Aufbau (15 Stellen): Stellen 1-11 Unternehmernummer, Stelle 12 Prüfziffer,
Stellen 13-15 Unternehmenskennzeichen (nicht "000").
Algorithmus laut DGUV-Verfahrensbeschreibung UV-Meldeverfahren:
Stellen 1-11 mit den Faktoren 4, 9, 4, 9, ... multiplizieren, Produkte
aufsummieren, Prüfziffer = 10 - (Summe mod 10); ergibt das 10, ist sie 0.
Quelle: https://www.dguv.de/medien/inhalt/versicherung/uv-meldeverfahren/verfahrensbeschreibung_neu/verfahrensbeschreibung_2-1/verfahrensbeschreibung-ln_2_1.pdf
"""
@heyalexej
heyalexej / macbook-air-homebrew-iterm2.sh
Last active July 9, 2026 20:25
Install Homebrew and iTerm2 on a clean MacBook Air
#!/usr/bin/env bash
# Bootstrap a clean MacBook Air in two stages:
# 1. Run in Apple's Terminal: installs Homebrew + iTerm2, then opens iTerm2.
# 2. Run the same command in iTerm2: installs VS Code, GitHub CLI,
# Pi Coding Agent, logs into GitHub, then optionally stores your DeepSeek API key for Pi.
#
# Usage:
# /bin/bash -c "$(curl -fsSL 'https://gist.githubusercontent.com/heyalexej/2419b1bae9170502166fb079fe4cf47b/raw/macbook-air-homebrew-iterm2.sh?cachebust=1')"
set -euo pipefail
@heyalexej
heyalexej / README.md
Created July 6, 2026 14:35
cdb: Chrome Debug Browser - launch Chrome with a copied non-default profile and CDP enabled

cdb - Chrome Debug Browser

cdb is a tiny shell shim that starts Chrome/Chromium with a non-default copied profile and the Chrome DevTools Protocol (CDP) enabled.

It is meant for local developer/agent workflows where a tool needs a classic CDP endpoint such as:

127.0.0.1:9222
http://127.0.0.1:9222/json/version
@heyalexej
heyalexej / README.md
Last active June 30, 2026 13:58
MediaMarkt (DE) GraphQL API — reverse-engineered. Persisted-query hashes, headers, filter format, and pickup-availability flow. Headless clients (no browser, no auth). Documentation so others can build skills on top.

mediamarkt-api

Direct MediaMarkt GraphQL API client suite. No browser, no scraping, no auth, no cookies. Uses Apollo persisted queries (APQ).

📖 Full reverse-engineering documentation: REVERSE_ENGINEERING.md — all discovered operations, hashes, headers, variable formats, and the pickup-availability flow.

Tools

@heyalexej
heyalexej / pydantic-ai-feature-parity.html
Last active June 26, 2026 11:32
PydanticAI feature parity comparison: TypeScript and Go alternatives
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PydanticAI Feature Parity: TypeScript and Go Alternatives</title>
<style>
:root {
color-scheme: light;
--bg: #f5f7fa;
@heyalexej
heyalexej / ebay-video-download.md
Created February 24, 2025 14:02
eBay Video Download using yt-dlp

eBay Video Download using yt-dlp

eBay uses Shaka Player. In the network request tab look for playlist.mpd (example: https://video.ebaycdn.net/videos/v1/3bf030c01940a60dda114d36ffffc522/playlist.mpd)

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT30.062S" minBufferTime="PT6S">
<ProgramInformation/>
<Period id="0" start="PT0S">
<AdaptationSet id="0" contentType="video" segmentAlignment="true" bitstreamSwitching="true" lang="und">
<Representation id="0" mimeType="video/mp4" codecs="avc1.64001e" bandwidth="2400000" width="1280" height="605" frameRate="81180000/2705609">
@heyalexej
heyalexej / export.sql
Created June 2, 2019 20:31
Gambio Kundenliste exportieren
SELECT * FROM `address_book`
INNER JOIN customers ON address_book.customers_id=customers.customers_id;
@heyalexej
heyalexej / interesting-ais-numbers.py
Created March 22, 2018 17:16
goofing around finding a cool number for a backup SIM
#!/usr/bin/env python3.6
from string import ascii_lowercase as letters
import json, _jsonnet, re, pickle
from requests import get
import spacy
nlp = spacy.load('en')
def letter_combinations(digits):