Skip to content
View akarazhev's full-sized avatar
👨‍💼
👨‍💼

Block or report akarazhev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
akarazhev/README.md

Andrey Karazhev

Data engineering: backend and distributed systems, 19 years. I work on data in motion — parsing and normalising what arrives from other systems, moving it, reconciling what does not match, and the analytics built on top. Java, Python, Go.

Most of what I publish is about the quiet failures — duplicates, gaps, stale values, order and reprocessing. They produce no errors in the log and surface weeks later as a wrong number.

Diagnoses in other people's code

Reading unfamiliar code until the mechanism is named, with line references and, where possible, a test that shows it.

numaflow#3645 — an accumulator watermark that never advances when a key keeps receiving data and the function emits nothing for it. Verified with a local test against the Rust core. The team revisited the design, kept the behaviour as intended and restored the drop API in four SDKs; the documentation fix is merged in #3660.

nats-server#8607 — why adding a stream source scans the whole stream, what opt_start_time actually applies to, and what does bound the scan. Checked against the reporter's own version rather than main.

ccxt#26773 — a balance update lost rather than delayed, because deepExtend builds a new object.

Lean#9790 — three of eight Send calls run off the result thread.

OCA/queue#996 — an Odoo job recorded under the __name__ of the function it found, not the name it was asked for. When a module installs a replacement under another name, as auditlog does for write and unlink, the job fails the moment it runs. The name was lost in four places; the fix and three tests are in #998.

OCA Contributor

Surveys, with their collectors and raw data

What breaks in price feeds — 1,163 commits matching six feed-failure terms across 48 crypto organisations, and how the vocabulary differs between publishing a feed and consuming one. A hand check of 100 diffs found about one in six is an actual repair; the correction and every classification are in the repository.

What DAOs actually fund — 93 funding proposals across 29 governance forums: what gets funded, for how much, and through which channel. analyse.py reproduces the dataset byte for byte.

Before that

As an independent contractor I worked directly for telecom companies in Slovenia — Iskratel and RC IKT — remotely, with acceptance testing on the client's own equipment.

crypto-scout — event-driven services that ingest market and on-chain events: collector, queue, analyst, TimescaleDB.

metacfg4j — a configuration library with a business abstraction over CRUD services, a DSL and an MVP.

How I work

I write the method down next to the result. If a number is published here, the code that produced it and the data it ran on are published with it — a disagreement should be with a rule you can read, not a figure you have to believe.

Limits go in before conclusions, not in a footnote.


minihub.app · hello@minihub.app

Pinned Loading

  1. price-feed-failure-survey price-feed-failure-survey Public

    1,163 commits matching six feed-failure terms across 48 crypto organisations; about 17% are repairs, checked by hand. Data and method included.

    Python

  2. dao-funding-survey dao-funding-survey Public

    93 funding proposals across 29 DAO governance forums: what gets funded, for how much, and through which channels. Data and method included.

    Python

  3. crypto-scout crypto-scout Public archive

    A production-ready Java 25 microservices ecosystem for cryptocurrency market data collection, persistence, and analysis. Built with ActiveJ for high-performance async I/O, RabbitMQ Streams for mess…

  4. bitcoin-risk-brief bitcoin-risk-brief Public

    Daily Bitcoin risk signal with visible data freshness: a deterministic 0-1 metric, a scenario price ladder, seven locales, and a documented surface for AI agents. Analytics and research context, no…

    Python

  5. metacfg4j metacfg4j Public

    The metacfg4j project (that stands for the meta configuration for java) is a library that can be used as the solution by creating a business abstraction or may extend an existed implementation to p…

    Java 2 1

  6. macaudit macaudit Public

    A single shell script that reports the state of a Mac as one self-contained HTML page: applications, startup items, running processes, security settings, and what changed since the last run. No dep…

    Shell