Почему length у строки с одним эмодзи возвращает 5 Откройте консоль браузера и проверьте: "🍋🟩".length даёт 5, [..."🍋🟩"].length даёт 3, а человек видит один значок лайма. Это не баг, это три разных способа считать. length в JavaScript считает кодовые единицы UTF-16 по 16 бит. Эмодзи лайма это два таких элемента, соединитель ещё один, зелёный квадрат ещё два, итого пять. Spread-оператор идёт по кодовым точкам Unico…

Channel
Точка входа в программирование
@prog_point
On this record: Growth · Engagement · Reactions · Advertising · Posts · Polls · Citations · Handles named that no longer answer · Telegram's recommendations · Cite this entry
18,111subscribers
-102 since we began measuring on 6 August 2026
Risers and fallers across the register · movement among entries of 10,000–31,623.
Register entry
| Telegram ID | -1001281185048 |
|---|---|
| Type | Channel |
| Username | @prog_point |
| Created | Between 1 April 2018 and 31 July 2021 — estimated from Telegram’s id allocation, not measured. How this range is calculated. |
| First recorded | 6 August 2026 |
| Last confirmed live | 7 September 2026 |
| Measurements held | 26 |
| Confirmed unchanged | 1 time, most recently 7 September 2026 |
| On Telegram | t.me/prog_point |
Growth
| Measured (UTC) | Subscribers | Change |
|---|---|---|
| 7 Sept 2026, 01:01 | 18,111 | -5 |
| 4 Sept 2026, 11:36 | 18,116 | -3 |
| 3 Sept 2026, 01:24 | 18,119 | +2 |
| 1 Sept 2026, 21:53 | 18,117 | -1 |
| 31 Aug 2026, 21:23 | 18,118 | -5 |
| 30 Aug 2026, 20:28 | 18,123 | -8 |
| 29 Aug 2026, 19:56 | 18,131 | -8 |
| 28 Aug 2026, 19:17 | 18,139 | -13 |
| 27 Aug 2026, 18:25 | 18,152 | +2 |
| 26 Aug 2026, 18:53 | 18,150 | -3 |
| 25 Aug 2026, 17:02 | 18,153 | -2 |
| 24 Aug 2026, 20:28 | 18,155 | +7 |
| 23 Aug 2026, 05:16 | 18,148 | +9 |
| 20 Aug 2026, 12:04 | 18,139 | -7 |
| 19 Aug 2026, 09:24 | 18,146 | -4 |
| 18 Aug 2026, 10:27 | 18,150 | -6 |
| 17 Aug 2026, 13:55 | 18,156 | -6 |
| 16 Aug 2026, 05:08 | 18,162 | -8 |
| 14 Aug 2026, 12:16 | 18,170 | -13 |
| 13 Aug 2026, 00:45 | 18,183 | first reading |
Engagement
45 posts held, back to 10 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 56 pages of Telegram’s post history, 20 posts per page.
- ERR · 30 days
- 9.21%
- avg views ÷ 18,111 subscribers
- Avg views / post
- 1,670
- 24 posts measured
- Reaction rate
- 0.215%
- reactions ÷ views · ER floor
- Posts in window
- 24
- of 45 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. It is computed over the 23 of 24 measured posts that carry a reaction reading, and over those same posts' views.
| Window | Rolling 30 days · latest post in window 3 September 2026 |
|---|---|
| Posts held | 45 (10 July 2026 – 3 September 2026) |
| Views total | 40,043 |
| Reactions total | 86 |
| Forwards / comments | not exposed by the public surface — not measured, not estimated |
| Readings taken | 3 Sept 2026, 08:56 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.
Reaction mix
189 reactions across 44 posts, in 37 distinct kinds. The most used accounts for 33.3% of them.
| Reaction | Count | Share | Share, drawn |
|---|---|---|---|
| ❤ | 63 | 33.3% | |
| 👍 | 23 | 12.2% | |
| 🔥 | 14 | 7.41% | |
| 🆒 | 9 | 4.76% | |
| 😁 | 8 | 4.23% | |
| 🌚 | 7 | 3.70% | |
| ✍ | 6 | 3.17% | |
| ❤🔥 | 6 | 3.17% | |
| 👎 | 4 | 2.12% | |
| 🌭 | 3 | 1.59% | |
| 🐳 | 3 | 1.59% | |
| 💯 | 3 | 1.59% | |
| 🤗 | 3 | 1.59% | |
| ☃ | 2 | 1.06% | |
| 🎉 | 2 | 1.06% | |
| 👀 | 2 | 1.06% | |
| 👏 | 2 | 1.06% | |
| 👾 | 2 | 1.06% | |
| 😇 | 2 | 1.06% | |
| 😐 | 2 | 1.06% | |
| 17 further kinds | 23 | 12.2% |
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 44 of the 45 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 189 reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.
Measured over the 45 most recent posts we hold, published 10 July 2026 to 3 September 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
- 2.22%
- 1 of 45 posts carry an ad marker
- Regulatory tokens
- 1
- posts carrying an erid · 1 distinct token
- Median views · ads
- 1,330
- over 1 measured post
- Median views · rest
- 1,120
- over 44 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.
| erid | Posts | First seen | Last seen |
|---|---|---|---|
| 2W5zFHm1YuX | 1 | 12 August 2026 | 12 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 45 most recent posts we hold, published 10 July 2026 to 3 September 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.
Recent posts
Двойное подчёркивание в Python не делает атрибут приватным Новички часто пишут self.__value и думают, что закрыли поле от внешнего мира. На самом деле Python просто переименовывает его: внутри класса Helper атрибут __value превращается в _Helper__value. Это называется name mangling, и обойти его можно, написав это длинное имя руками. Ловушка глубже, чем кажется. Переименование зависит только от имени класса, не от …
🆒2
Одна настройка — и git branch показывает ветки от самой свежей Ветки в проекте копятся быстро: своя текущая, пара недоделанных, чужие после ревью, старые с прошлого месяца. По умолчанию git branch выводит их по алфавиту, поэтому нужная теряется где-то в середине списка, и вспомнить, какая из них свежая, невозможно. Обычно с этим борются самописным скриптом: пробегают по всем веткам, для каждой запрашивают дату посл…
🔥2😇2
Вставьте команду — explainshell разберёт её по кусочкам Нашли в туториале команду вроде tar -xzvf archive.tar.gz -C /tmp и не понимаете, что делает каждая буква? Сайт explainshell разбирает команду на части и к каждому флагу подтягивает объяснение прямо из man-страниц — официальной документации утилит Linux. Понимает пайпы и перенаправления, знает тысячи команд из man-страниц Ubuntu. Полезная привычка: прежде чем з…
❤5
Первый проект на Python: собираем игру из знакомых конструкций После знакомства с основами синтаксиса можно перейти к небольшой программе, которую получится закончить за один курс. На Real Python собирают с нуля консольную игру «Камень, ножницы, бумага» и объясняют каждый этап. По ходу работы вы потренируетесь получать ввод от пользователя, повторять действия с помощью циклов и делить программу на функции. В проект…
🆒1
«У меня работает, а на сервере падает» — про это написан свод из двенадцати правил Первый рабочий проект почти всегда проходит через один и тот же сюжет: на ноутбуке всё запускается, на сервере ломается. Пароль от базы вписан прямо в код, у коллеги другая версия библиотеки, логи пишутся в файл, который никто не читает, а перезапуск сервиса теряет загруженные пользователем картинки. Адам Уиггинс, сооснователь Heroku…
❤3❤🔥1
SQL можно изучать в браузере без установки базы данных SQL нужен, чтобы получать и изменять данные, которые хранятся в таблицах. В начале легко запутаться в командах и правилах, поэтому SQLBolt предлагает короткие уроки с упражнениями прямо на той же странице. База данных на компьютере для занятий не нужна. Сначала учебник объясняет устройство таблиц и выбор нужных строк. Затем появляются фильтрация, сортировка, об…
❤3🤷♀1
Python Tutor показывает выполнение программы по одному шагу Когда программа выдаёт неверный результат, новичку бывает трудно понять, в какой момент всё пошло не так. Python Tutor запускает код в браузере и позволяет двигаться вперёд и назад по отдельным шагам. На экране видно, какие значения сейчас лежат в переменных, как меняются списки и словари, какие объекты связаны друг с другом. Ещё сервис показывает, какая ф…
❤3🗿1🫡1
MMO с 23-летней историей переезжает с Python 2 на Python 3 — и вот почему это долго Вы наверняка слышали, что Python 2 давно не поддерживается. Живой пример того, во что превращается такой переезд, — EVE Online. Прошлый раз версию интерпретатора в игре меняли в 2010 году. Масштаб: 2,4 млн строк Python примерно в 20 тысячах файлов, поверх 23 лет данных живых игроков — персонажи, навыки, имущество, внутриигровая валю…
❤🔥3
GitHub Classroom выключили — что делать, если по нему шла ваша учёба Если вы учились или вели курс через GitHub Classroom, сервис больше не работает. 28 августа GitHub окончательно выключил сайт, API и связанные службы. К этому шли с 26 мая, когда закрыли регистрацию новых пользователей. Classroom был надстройкой над GitHub для учебных курсов: преподаватель раздавал задание, каждому студенту автоматически создавалс…
❤1
Карта бесплатных курсов: что учить по порядку, если начинаете с нуля Материалов для самоучки много, главная проблема в другом: непонятно, в каком порядке их брать. На r/learnprogramming собрали такую карту: только бесплатные курсы, у каждого честная оценка, сколько часов он займёт. Фундамент — Missing Semester от MIT: командная строка, Git, отладка, то, чему обычно не учат ни на одном курсе. 15–25 часов. Дальше CS…
🔥3🎉1🦄1
Rebase создаёт новые коммиты, и в этом его опасность Разработчица из Гданьска собрала команды Git, которым её когда-то научил тимлид, для тех, у кого add, commit, pull и push уже на автомате. Многие из них переписывают историю, а опасно это, когда историю уже забрали коллеги. После git rebase main коммиты D и E превращаются в D' и E' с другими хэшами. Пока ветка только ваша, всё безопасно; если на ней сидят другие,…
❤1
Showing the 12 most recent of 45 posts we hold for @prog_point. 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.
Открыли игру или тест на сайте. Что решает, доиграете вы или закроете вкладку через 20 секунд? 👇
- Коротко: вся игра на 2–3 минуты22%
- Результатом можно красиво поделиться — как квадратики Wordle4%
- Есть приз за прохождение23%
- Виден рейтинг — хочу обогнать других14%
- Тема цепляет лично меня — про профессию, про своё41%
- С каждым днём новый уровень — есть причина вернуться14%
- Просто красиво и залипательно сделано43%
- Ничего — закрываю почти всегда35%
The shares total 196%, 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 45 most recent posts we hold, published 10 July 2026 to 3 September 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.
Republishes
Channels on the register whose posts this channel has forwarded.
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 3 registered channels — 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.
Names
Channels on the register whose handles appear in this channel's posts.
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.
Handles this channel named that no longer answer
- Dead references
- 1
- handles named in this channel’s posts, vacant today
- Evidenced gone
- 1
- we ourselves saw one of these resolve, at some point
- Never seen alive
- 0
- vacant every time we have ever looked
@prog_point named 1 handle that resolve to nothing today. That is a fact about the reference, not necessarily a fact about the handle’s history — see the two groups below.
Most of these may never have existed as a live channel at all. A handle a channel names can be a typo, an aspirational name nobody registered, or a channel that was already gone before this one ever mentioned it. Unless a row below is marked evidenced, all we know is that it references a handle that is not a live channel today — not that anything “died”. How this is measured.
Evidenced gone
We ourselves saw each of these resolve to a real page at some point before it went vacant — a genuine, evidenced change, not an inference from absence.
named in 4 posts, 24 August 2026 – 4 September 2026 · confirmed gone 27 August 2026 (two independent sightings — see how we confirm a dead handle)evidenced
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.
@procode404 · 41,082
Telegram ranks this channel #13 of 83 here — alongside 82 others — read 30 August 2026
@tproger · 78,629
Telegram ranks this channel #15 of 95 here — alongside 94 others — read 19 August 2026
@nuancesprog · 56,702
Telegram ranks this channel #23 of 84 here — alongside 83 others — read 23 August 2026
This channel appears in 3 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 7 September 2026 — this entry's latest reading, not the date you are reading this.
“Точка входа в программирование” (@prog_point), 18,111 subscribers as measured 7 September 2026. Telegram Register, tgregister.com/channel/prog_point.
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.