Technology — a classification, not a measurement. An on-box language model (Qwen3.6-35B-A3B-FP8, prompt version 1) read this channel’s own recent posts on 11 September 2026 and assigned it the closest of 31 fixed categories, at 84% confidence. This is a model’s judgement about what the channel is likely to be about, not a fact this register measured the way a subscriber count or a view count is measured — it can be revised on a later pass, and it carries no weight anywhere else on this page. How this classification works, and why it has no browse page of its own yet.
Growth
14 measurements spanning 42 days, net +46. 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 9,303–9,375 and does not start at zero.
Measurement log — every subscribers count we have recorded
Measured (UTC)
Subscribers
Change
18 Sept 2026, 22:21
9,362
-1
14 Sept 2026, 19:18
9,363
-4
10 Sept 2026, 20:38
9,367
+12
6 Sept 2026, 04:16
9,355
+6
2 Sept 2026, 04:18
9,349
+1
30 Aug 2026, 10:27
9,348
+5
27 Aug 2026, 04:14
9,343
+20
20 Aug 2026, 22:24
9,323
-3
18 Aug 2026, 03:52
9,326
-1
15 Aug 2026, 00:24
9,327
+16
11 Aug 2026, 16:55
9,311
-2
8 Aug 2026, 08:13
9,313
-3
7 Aug 2026, 14:31
9,316
no change
7 Aug 2026, 14:25
9,316
first reading
Engagement
28 posts held, back to 2 July 2026 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 34 pages of Telegram’s post history, 20 posts per page.
ERR · 30 days
13.2%
avg views ÷ 9,362 subscribers
Avg views / post
1,240
2 posts measured
Reaction rate
2.06%
reactions ÷ views · ER floor
Posts in window
2
of 28 held
ERR is average views per post over the last 30 days divided by subscribers, the definition TGStat uses, so this figure is comparable with the one you will see elsewhere. It falls structurally as a channel grows: a high ERR on a small channel and a low one on a large channel describe reach mathematics, not quality. We publish the figure and the sample it came from and pass no verdict on it.
ER is defined industry-wide as (forwards + reactions + comments) ÷ views — note the denominator is views, not subscribers. Telegram’s public web preview carries views and reactions but not forward or comment counts, so the reaction rate above is the reactions term only and is therefore a floor: the true ER for this channel is higher by an amount we have not measured and will not estimate.
What these figures were computed from
Window
Rolling 30 days · latest post in window 28 August 2026
Posts held
28 (2 July 2026 – 28 August 2026)
Views total
2,470
Reactions total
51
Forwards / comments
not exposed by the public surface — not measured, not estimated
Readings taken
29 Aug 2026, 06:59 UTC
Views are a single reading per post, taken at the time above. A post published in the last day or two is still accumulating views, which pulls the 30-day average down slightly. That is a property of the standard definition rather than a fault in it, so we keep the definition rather than “correcting” the number into something nobody can reproduce.
Precision. Telegram publishes view counts on its public widget in short form — 8.12K, 3.7M — so any reading at or above 1,000 reaches us rounded to three significant figures, and only counts below 1,000 are exact. Averages and rates derived from them are shown to the same precision rather than to the unit: a figure like 3,701,250 would assert digits nobody measured.
Reaction counts are published per emoji and rounded the same way, so a total below 1,000 is exact and a larger one is a sum that may carry a rounded component from each emoji above 1,000. Because it is a sum, it does not look rounded — read a large reaction total as three significant figures per contributing emoji rather than as the figure it prints.
What this channel posts
Video runtime
5s
Average length
5s
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
957 reactions across 28 posts, in 12 distinct kinds. The most used accounts for 44.1% of them.
Every reaction kind recorded on the sample, most used first
Reaction
Count
Share
Share, drawn
❤
422
44.1%
👍
279
29.2%
🔥
195
20.4%
❤🔥
31
3.24%
😁
19
1.99%
👏
3
0.313%
👎
2
0.209%
🤨
2
0.209%
⚡
1
0.104%
💯
1
0.104%
😱
1
0.104%
🤔
1
0.104%
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 28 of the 28 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 957 reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.
Measured over the 28 most recent posts we hold, published 2 July 2026 to 28 August 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.
Telegram Stars
Stars received
1
across the posts below
Posts paid on
1
of 28 we hold a reading for · 4%
Most on one post
1
single highest reading
A paid reaction is a reader spending Telegram Stars — bought with money — on a post by @grokaemcpp. Telegram publishes the count on the public post preview alongside ordinary reactions, and this register reads it there. It is the only figure on this site that measures money moving rather than attention.
Stars are not reactions, and the two are never added. They are rendered in the same strip on Telegram and counted in the same shape, but one is a tap and the other is a purchase. The reaction totals and the engagement rate elsewhere on this page exclude every figure in this section, and no rate here is computed against a reaction count.
This is not revenue, and we publish no currency figure. What a Star costs a reader and what it pays a channel are different numbers, Telegram takes a share we cannot observe, and the terms have changed. Converting a Star count into money would be an estimate dressed as a measurement, so the count is where we stop.
Counted over the 28 most recent posts we hold for this entry, published 2 July 2026 to 28 August 2026. Star counts above 1,000 reach us in Telegram’s short form and carry the same three-significant-figure rounding as everything else on this page.
Advertising
Ad load
3.57%
1 of 28 posts carry an ad marker
Regulatory tokens
1
posts carrying an erid · 1 distinct token
Median views · ads
1,360
over 1 measured post
Median views · rest
3,140
over 27 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
2W5zFJQscAm
1
28 August 2026
28 August 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 28 most recent posts we hold, published 2 July 2026 to 28 August 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.
Человеческие сообщения об ошибках в static_assert
#опытным
Одной неприятной особенностью static_assert еще с С++11 были ограничения на сообщения об ошибках. По сути могли использоваться только строковые литералы. ТО есть просто фиксированные строки. Никаких динамических преобразований:
template <class T>
void g() {
static_assert(sizeof(T) == 4, "Type T size is not 4");
}
Из сообщения об ошибке компиляции: er…
❓Кто этот призрак в вашем коде: изучаем особенности работы с легаси на C++
Легаси — вот что объединяет всех разработчиков на всех языках программирования. Мы учимся уживаться с «наследием», встраиваем его в современную кодовую базу или стараемся не трогать.
Пришло время разобраться с легаси в email-проекте Ghost in the code.
Вы получите семь писем от инженеров, в числе которых представитель России в Международной …
Какой тип nullptr?
#опытным
Для многих nullptr - это магическая хреновина, которая магически и правильно "зануляет"(что бы это не значило) указатель. А как это работает - уже не важно. И даже на этом уровне понимания можно прекрасно писать хороший код и не знать забот. Но мы здесь собрались для грокания С++, поэтому будем разбираться.
Для начала, nullptr - это литерал указателя. Есть литералы целочисленые(42, -10…
Критическая секция. Примитив синхронизации
#опытным
Стандартный ответ на обычный вопрос "а какие примитивы синхронизации вы знаете?" - мьютексы, атомарные переменные, условные переменные. Для них есть привычные инструменты в языке - std::mutex, std::atomic и std::condition_variable.
Иногда проскальзывают в ответах более опытных людей людей семафоры и барьеры - std::counting_semophore и std::barrier.
Но очень очень…
Приглашаем на бесплатный открытый вебинар курса «Программист С»: «С без компромиссов: обработка ошибок и полиморфизм»
Когда: 25 августа, 20:00 (мск)
Язык С даёт полный контроль над памятью и железом, но за эту мощь приходится платить — в нём нет встроенных исключений и классов. Однако, это не значит, что отказоустойчивость и гибкость недоступны. На вебинаре разберём техники, которые обычно остаются за кадром, и пока…
Критическая секция. Блок кода
#новичкам
Термин "критическая секция" имеет 2 значения и это несколько конфузит как новичков, так и опытных разрабов, кто просто не встречался с двумя личинами термина. Сейчас и в следующем посте разберем оба значения.
Начнем с простого.
Одна из самых больших опасностей многопоточного кода - это гонка данных. Когда 2 потока пытаются читать и записывать в одну ячейку памяти без испол…
Гибридные вектора
#опытным
std::inplace_vector воплощает в себя преимущества динамического расширения размеров и отсутствия аллокаций. Полезная штука, но и она ограничена. Literally: вы не можете добавить в массив элементов больше, чем capacity.
И это нормальные ограничения. Нельзя иметь неограничено расширяемый массив на стеке.
Но что если я знаю, что в 99% случаев мой массив будет содержать не больше N элемент…
std::inplace_vector
#опытным
Стандартная библиотека традиционно запаздывает с внедрением полезного функционала.
Вот у нас есть std::vector. Прекрасный контейнер, расширяемый. более менее все им пользуются. Однако у него есть проблема - динамические аллокации. От них не уйти. А если вам они не нужны, то вы вынуждены использовать другие инструменты. Да и еще и ограниченное использование вектора в constexpr контекст…
Мапим значения на типы. Ч2
#опытным
Напомню проблему:
enum class DataType: uint8_t {
kInt32,
kDouble,
kUint64
};
template<typename T>
T create_from_buffer(const void* buffer) {
static_assert(std::is_trivially_copyable_v<T>,
"Type T must be trivially copyable");
T obj;
std::memcpy(&obj, buffer, sizeof(T));
return obj;
}
Как на основе DataType создать объект соответств…
Мапим значения на типы. Ч1
#опытным
Иногда требуется на основе какого-то рантайм значения, например перечисления, получить какой-то соответствующий тип.
Например, у вас есть шаблонная функция и вы хотите вызвать правильную ее инстанциацию:
enum class DataType {
kInt32,
kDouble,
kUint64
};
template<typename T>
T create_from_buffer(const void* buffer) {
static_assert(std::is_trivially_copyable_v<T>,…
Ответ
#опытным
2 вещи нужно знать(помимо всего остального С++😆), чтобы правильно ответить на квиз выше:
1️⃣ Сокрытие имен
Когда в классе объявляют метод с неким именем, все методы с этим именем из базовых классов становятся невидимыми (скрытыми), независимо от их параметров.
То есть
struct A {
void func(const std::string&);
};
struct B : A {
void func(float);
};
B b;
у объекта b можно вызвать только…
Квиз
Выберете правильные утверждения о вызовах в коде:
struct A {
void func(const std::string&); // #1
};
struct B : A {
void func(float); // #2
};
struct C : B {
using A::func;
void func(int); // #3
};
C c;
B& b = c;
👍9🔥5❤3❤🔥1💯1
Showing the 12 most recent of 28 posts we hold for @grokaemcpp. 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 2 polls we hold for this entry, as Telegram rendered them when we read the post. A poll’s figures keep moving after that, so each one is dated.
The shares total 291%, 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.
Cколько динамических аллокаций будет в коде из поста выше?
049%
131%
217%
39%
42%
52%
The shares total 110%, 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 28 most recent posts we hold, published 2 July 2026 to 28 August 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.
Appears in Telegram’s recommendations for other channels
The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.
Physics.Math.Code @physics_lib · 146,712 Telegram ranks this channel #25 of 72 here — alongside 71 others — read 13 August 2026
IT Portal @IT_Portal · 100,284 Telegram ranks this channel #76 of 78 here — alongside 77 others — read 15 August 2026
This channel appears in 2 seed channels' Telegram-generated recommendation lists in total. Each is Telegram’s list for THAT channel, not this one — see how this is measured.
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.
“Грокаем C++” (@grokaemcpp), 9,362 subscribers as measured 18 September 2026. Telegram Register, tgregister.com/channel/grokaemcpp.
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.