6 measurements spanning 39 days, net +1. Dots are measurements; the straight line between them is drawn to join them, not to claim we know the path taken in between — snapshots are recorded only when a count changes, so gaps mean “no change observed”, never “interpolated”. The vertical axis spans 392–395 and does not start at zero.
Measurement log — every subscribers count we have recorded
Measured (UTC)
Subscribers
Change
18 Sept 2026, 22:58
395
+1
11 Sept 2026, 04:42
394
+2
25 Aug 2026, 16:33
392
-1
17 Aug 2026, 23:56
393
-1
11 Aug 2026, 21:02
394
no change
10 Aug 2026, 21:15
394
first reading
Engagement
20 posts held, back to 16 October 2025 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 1 page of Telegram’s post history, 20 posts per page.
Nothing published in the last 30 days. ERR and ER are rolling 30-day measures, so there is nothing to compute — we hold 20 posts for this entry, the most recent from 13 April 2026. An engagement rate over an empty window would be a number about nothing.
What this channel posts
Video runtime
9m 58s
Average length
9m 58s
Measured directly from 1 video with a duration reading, out of the posts we hold for this channel — not this channel’s whole posting history, only the sample this register has actually read. An exact reading to the second, taken from the post itself rather than from Telegram’s own rounded chrome, so it carries no ≈ mark.
Reaction mix
230 reactions across 19 posts, in 10 distinct kinds. The most used accounts for 55.7% of them.
Every reaction kind recorded on the sample, most used first
Reaction
Count
Share
Share, drawn
👍
128
55.7%
🔥
66
28.7%
❤
17
7.39%
💯
10
4.35%
😢
2
0.87%
😴
2
0.87%
🤔
2
0.87%
🗿
1
0.435%
🙉
1
0.435%
🙏
1
0.435%
No sentiment is inferred, and none should be read in. This table is ordered by count and by nothing else. Emoji do not carry stable meaning across languages or communities — 🙏 is thanks in one channel and mourning in another — so we publish which ones were pressed and how often, and pass no judgement on what an audience meant by them.
Precision. Telegram publishes reaction counts per emoji and short-forms each one — 4.34K, 1.2M — so any single kind at or above 1,000 reaches us at three significant figures, and only counts below 1,000 are exact. The shares above are ratios of those figures and carry the same error. This is also why the total here can differ slightly from a reaction total printed elsewhere on the page: both are sums of the same rounded parts, taken over samples with different edges.
Coverage. Reactions were read on 19 of the 20 sampled posts in this sample. Summed by Telegram’s own count on each post — not by adding up the per-emoji breakdown above — those same posts carry 230 reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.
Measured over the 20 most recent posts we hold, published 16 October 2025 to 13 April 2026, using the newest reading held for each. Telegram Stars are excluded: they are a payment, not a reaction, and they have their own section.
Advertising
Ad load
5.00%
1 of 20 posts carry an ad marker
Regulatory tokens
1
posts carrying an erid · 1 distinct token
Median views · ads
830
over 1 measured post
Median views · rest
644
over 19 measured posts
An ad marker, not a judgement about a post. A post is counted here because it carries one of two explicit markings: an erid token, which Russian law has required on paid placements since 2022 and which is issued against a specific advertising contract, or a #реклама / #ad hashtag in the body, which is the channel declaring it itself. The first is documentary; the second is a self-declaration and is weaker. No classifier reads the text and decides — nothing on this site guesses that a post is an advertisement.
This is a floor, and it can only ever be a floor. A channel that runs paid placements without marking them produces no marker for us to count, and an unmarked ad is indistinguishable from an ordinary post on the public surface. The ad load above therefore means “the share of posts that declared themselves”, never “the share of posts that were paid for”. A low figure is not evidence of a channel that runs few ads.
Both figures are medians, and no ratio between them is published. Each is a view reading that actually occurred on a post, picked by percentile_disc rather than averaged, so one viral post cannot move it and no interpolated value is invented between two readings. The sample on one side is under five posts, which is too thin to compare. The two figures are shown side by side with the count behind each, and deliberately not divided into a headline like “ads get x% fewer views” — an arithmetic that is easy to print and, at this sample size, means nothing.
Advertising tokens recorded on this entry
erid
Posts
First seen
Last seen
empotent
1
16 January 2026
16 January 2026
A token repeated across several posts is one advertising contract placed more than once, which is what the identifier is for. The strings are reproduced exactly as they appeared in the post or in its click-through URL and are not validated against any registry — we record the marker a channel published, and whether it resolves to a real contract is a question for the register that issued it.
Measured over the 20 most recent posts we hold, published 16 October 2025 to 13 April 2026. Views are the latest single reading held for each post, and any reading at or above 1,000 is rounded by Telegram to three significant figures.
Типовые ошибки мышления при проектировании модуля
За последние недели я провел несколько разборов решений с разработчиками. Разбирали задачу на проектирование нотифаера.
Требования к нотифаеру такие:
☘️ Приложение должно отправлять уведомления по разным поводам: изменение статуса заказа, рекламные рассылки и т. д.
☘️ Нужны разные каналы доставки: email, telegram, sms.
☘️ Пользователь в настройках должен выбирать…
Кривой код начинается с кривой постановки задачи
Прежде чем писать код, нужно спроектировать систему. Но прежде, чем вы начнете проектировать, нужно убедиться, что вы собрали все бизнес-требования, и что они являются исчерпывающими и непротиворечивыми.
Умение работать с бизнес-требованиями – важная составляющая системного мышления для любого разработчика.
Поэтому я попросил свою коллегу Анну Ковалеву – бизнес-анал…
Куда расти из мидла: смотрим через функции, а не названия ролей
Пообщавшись с подписчиками, я с удивлением обнаружил, что возможные траектории профессионального роста для многих не так очевидны. Отсюда и родился этот пост.
Чтобы понять, куда расти, важно сначала разобраться с функциями, которые существуют в командах.
💻 Разработка
⚙️ разработка фичей
⚙️ баги, саппорт
⚙️ разработка эпиков
⚙️ рефакторинг
⚙️ ревью ко…
Как управлять деградацией кода
В предыдущем посте я перечислил факторы, определяющие степень деградации кода - скрытой метрикой цены любой задачи.
Понимание этих факторов можно использовать не только для борьбы с деградацией, но и для осознанного управления ею.
Разберем каждый фактор на реальном примере. Есть задача внести небольшую доработку в сложную логику применения скидок к цене заказа.
⚙️ Сложность изменяем…
Кодовая база существует для того, чтобы деградировать
Как бы это не было грустно, но у кода нет иной судьбы. Каждая новая фича или доработка практически неизбежно приводит к падению качества кода.
В идеальных условиях снижение качества кодовой базы происходит крайне медленно. Как и накопление техдолга. Но в реальных проектах бизнес требует выкатывать фичи как можно скорее, тестирует продуктовые гипотезы, делает про…
Почём сортировка? Или бинарный поиск против хешмапы.
Я уже как-то сравнивал хеш-таблицы с простыми массивами. Но на днях у меня случился спор, в ходе которого коллеги выдвинули точку зрения, что индексация массива может быть дорогой по памяти, и для больших массивов бинарный поиск может оказаться эффективнее.
Коротко освежу для тех, кто подзабыл тему алгоритмов:
1️⃣ Поиск в хеш-таблице имеет сложность O(1), то ест…
Хочу поделиться новостями о жизни и планах канала
1️⃣ На платформе LevelUp Club появился каталог постов этого канала.
Давно хотел систематизировать материалы по темам: архитектура, паттерны, PHP, Фреймворки и т. д. Теперь можно быстро посмотреть список всех публикаций и найти посты по интересующему направлению.
🔗 https://level-up-club.ru/posts
2️⃣ В ближайшее время выйдут новые лонгриды на Хабре.
Планирую серию …
Лог, метрика или профайлер?
Почти любую проблему в проде пытаются решать одним из трёх инструментов:
⚙️ логирование,
⚙️ профилирование,
⚙️ сбор метрик.
Тема огромная и интересная, в данном посте я дам очень краткий сравнительный обзор всех трех инструментов и приложу к посту табличку, которую я делал для внутреннего митапа пару лет назад.
📝 Логирование
☘️ Как правило, собирает информацию о событиях.
☘️ Логи хра…
Как думать о перформансе на небольших и средних проектах
Большая часть разговоров о перформансе на не-highload проектах базируется на мифах, а не реальных расчетах. Это касается как совсем абсурдных заявлений типа "рефлексия медленная", так и типичной боязни вытащить в память PHP процесса несколько тысяч объектов и что-то с ними поделать.
Давайте разберемся, всегда ли эти страхи оправданы.
🐢 Про медленную рефлекси…
Архитектурный подход - это как думать, а не как делать
На днях у меня состоялась переписка с одним из студентов моего курса по Symfony. Она показалась мне интересной, и я решил опубликовать ее фрагмент.
Есть библиотека webmozart/assert. Видел примеры ее использования для валидации Value Object (например) при их создании (чтобы объект мог находиться только в валидном состоянии). Эту библиотеку допустимо использовать…
Отключили с утра интернет. Смотрю свои задачи в работе по найму: вся бизнес-логика описана, на ближайшие дни одни Application команды да контроллеры предстоит штамповать. Думаю, не буду это без AI вручную делать: долго и нудно. Неэффективно.
Открываю пет-проект: на этой неделе запуск, идут последние причесывания по фронту. Фронтом я вообще не занимаюсь и даже не ревьюю тот код, который мне агент генерирует.
Решил, …
Оптимизация агрегатов без ленивой загрузки
Мы привыкли к тому, что содержимое коллекций вложенных объектов одинаково в БД и памяти PHP процесса. Например:
class User
{
/** @var Tag[] */
private array $tags;
}
Имея такой код, мы ожидаем, что после загрузки юзера из базы, память PHP процесса содержит все объекты Tag, связанные с этим юзером. И наоборот: если в процессе выполнения программы состав тегов поменяетс…
👍2😴2🗿1
Showing the 12 most recent of 20 posts we hold for @ak_architect. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.
Polls
The poll we hold for this entry, as Telegram rendered it when we read the post. A poll’s figures keep moving after that, so each one is dated.
Хочу понять, что вам сейчас интереснее всего читать. Канал потихоньку растёт, варианты тем есть разные, поделитесь, пожалуйста, своими предпочтениями. Можно выбрать несколько вариантов.
На какие темы вам было бы интереснее всего читать посты?
Архитектура, DDD, паттерны, ООП.84%
Фреймворки (повседневная практика): Как пользоваться компонентами, ходовые кейсы.33%
Фреймворки (внутрянка): резолверы, компайлер-пассы, тонкая настройка, как и зачем этим пользоваться.33%
Общий PHP: эксцепшены (как правильно), логирование, итераторы-генераторы (зачем и где) и т. п.45%
Кейсы: как решается та или иная бизнес-задача.50%
Карьера (Middle): собеседования, роадмапы, советы.18%
Карьера (Senior): аналогично предыдущему.22%
Работа в команде: ревью, согласование контрактов, командные соглашения и т. п.25%
Взаимодействие с менеджментом и лидами: кейсы из опыта, советы.15%
Самоорганизация на удаленке: тайм-менеджмент, work-life balance, как работать эффективнее.18%
The shares total 343%, above 100: this poll accepts more than one answer per voter. No per-option vote count is published, so the number of voters who chose each option is not derivable and is not shown.
Percentages only — there are no per-option vote counts here, because Telegram publishes none. The public post preview gives each option’s share and a single voter total, and nothing else. Multiplying one by the other would produce a per-option tally that looks measured and is not: the shares are rounded to whole numbers before we ever see them. We print what was published and leave the column that does not exist empty.
The shares need not add up to 100. Rounding alone puts many polls at 99 or 101. A poll that allows more than one answer per voter runs well past 100 by design, and several here do. The bars are drawn against a fixed 100% track at each option’s own percentage rather than normalised to the total, so a poll that exceeds it shows that it does instead of being quietly rescaled.
Read from the 20 most recent posts we hold, published 16 October 2025 to 13 April 2026. Telegram labels each poll by kind — an anonymous poll, a quiz, a closed set of final results — and that label is reproduced rather than paraphrased.
Forward network
Republished by
Channels on the register that have forwarded this channel's posts into their own feed.
Built only from forwarded posts we have actually read, on both sides. Coverage is early and deliberately incomplete: a missing link means we have not read the post that would prove it, never that the relationship does not exist. Counts are distinct forwarded posts observed, so they only ever go up as we read more.
Mentions
Named by 1 registered channel — every channel on the register whose own posts have named this one, by its current username or any other username it currently holds, merged from two separately captured readings of the same fact so a namer caught by only one of them is not missed and a namer both caught is not counted twice. A username this channel has since dropped is not matched — that handle may belong to someone else now, and crediting today’s namer to yesterday’s owner would misattribute it.
Named by
Channels on the register whose posts name this channel's handle.
A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.
Cite this entry
A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 18 September 2026 — this
entry's latest reading, not the date you are reading this.
“Александр Карпов” (@ak_architect), 395 subscribers as measured 18 September 2026. Telegram Register, tgregister.com/channel/ak_architect.
Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.