Появился бесплатный open-source PDF-редактор для Windows, который пытается заменить Adobe Acrobat без подписки. KillerPDF умеет редактировать текст прямо в PDF, добавлять аннотации и изображения, объединять и разделять страницы, заполнять формы, ставить подписи, печатать и делать OCR. Причём распознавание работает локально через Tesseract, без отправки документов в облако. Есть и более редкие штуки: восстановление …

Channel
C# (C Sharp) programming
@csharp_ci
On this record: Growth · Engagement · What this channel posts · Advertising · Posts · Citations · Handles named that no longer answer · Telegram's recommendations · Cite this entry
18,139subscribers
-46 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 | -1001161543941 |
|---|---|
| Type | Channel |
| Username | @csharp_ci |
| Description | По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ |
| 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 | 23 August 2026 |
| Measurements held | 16 |
| Confirmed unchanged | 1 time, most recently 23 August 2026 |
| On Telegram | t.me/csharp_ci |
Growth
| Measured (UTC) | Subscribers | Change |
|---|---|---|
| 23 Aug 2026, 16:58 | 18,139 | +9 |
| 22 Aug 2026, 03:04 | 18,130 | +3 |
| 20 Aug 2026, 16:56 | 18,127 | +6 |
| 19 Aug 2026, 16:33 | 18,121 | -5 |
| 18 Aug 2026, 13:34 | 18,126 | -5 |
| 17 Aug 2026, 14:16 | 18,131 | -3 |
| 16 Aug 2026, 04:06 | 18,134 | -6 |
| 14 Aug 2026, 16:08 | 18,140 | -5 |
| 12 Aug 2026, 07:23 | 18,145 | -8 |
| 11 Aug 2026, 10:12 | 18,153 | -6 |
| 10 Aug 2026, 08:36 | 18,159 | -1 |
| 9 Aug 2026, 06:42 | 18,160 | -5 |
| 8 Aug 2026, 05:51 | 18,165 | -14 |
| 7 Aug 2026, 06:52 | 18,179 | -8 |
| 6 Aug 2026, 09:20 | 18,187 | +2 |
| 6 Aug 2026, 03:21 | 18,185 | first reading |
Engagement
32 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 37 pagesof Telegram’s post history, 20 posts per page.
- ERR · 30 days
- 15.3%
- avg views ÷ 18,139 subscribers
- Avg views / post
- 2,780
- 21 posts measured
- Reaction rate
- —
- this channel exposes no reaction counts
- Posts in window
- 21
- of 32 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.
| Window | Rolling 30 days · latest post in window 23 August 2026 |
|---|---|
| Posts held | 32 (10 July 2026 – 23 August 2026) |
| Views total | 58,370 |
| Reactions total | — |
| Forwards / comments | not exposed by the public surface — not measured, not estimated |
| Readings taken | 23 Aug 2026, 22:44 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
- Photos
- 960
- Videos
- 51
- Links
- 767
Lifetime counters from Telegram’s own channel header, read 23 August 2026 — not the date at the top of this page, which is when the subscriber count was last read. Below Telegram’s rounding threshold, so these counts are exact.
- Video runtime
- 2m 27s
- Average length
- 49s
Measured directly from 3 videos 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.
Advertising
- Ad load
- 3.13%
- 1 of 32 posts carry an ad marker
- Regulatory tokens
- 1
- posts carrying an erid · 1 distinct token
- Median views · ads
- 2,630
- over 1 measured post
- Median views · rest
- 3,480
- over 31 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 |
|---|---|---|---|
| 2VSb5yvnNti | 1 | 11 August 2026 | 11 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 32 most recent posts we hold, published 10 July 2026 to 23 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.
Recent posts
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rus…
Posted without readable text
⚙️ Service Discovery в .NET через Consul можно подключить без самописного резолва адресов и ручного перебора инстансов. Рабочая схема выглядит так: Install-Package Steeltoe.Discovery.Consul Регистрируем discovery: builder.Services .AddServiceDiscovery(o => o.UseConsul()); В appsettings.json указываем Consul и параметры сервиса: "Consul": { "Host": "localhost", "Port": 8500, "Discovery": { "Se…
🔥 .NET 11 Preview 7 вышел, и Microsoft заметно прокачала сразу C#, Runtime, ASP.NET Core и SDK Один из самых интересных апдейтов в C# — labeled break и continue: теперь можно явно указать, из какого цикла выходить или какой цикл продолжать. Ещё появились union patterns и улучшенная проверка исчерпывающих случаев для закрытых иерархий типов. В Runtime добавили оптимизации async`/`await, включая runtime async tiering…
Posted without readable text
🚀 C# РАЗРАБОТЧИКИ: перестаньте создавать зависимости вручную Одна из самых частых ошибок в архитектуре .NET - создавать зависимости прямо внутри класса. ❌ Плохой подход: var companyRepository = new CompanyRepository(); var customerRepository = new CustomerRepository(); var creditService = new CustomerCreditServiceClient(); Проблемы: ❌ жёсткая связность компонентов ❌ сложно заменить реализацию ❌ трудно писать unit-…
Запрограммируй робота на Python и поборись за призовой фонд трека 7 500 000 руб на True Tech Champ 2026. Попробуй себя в треке по программированию роботов. Начать проще, чем кажется: зарегистрируйся, собери команду или объединись с другими участниками на платформе и пройди квалификационный этап до 13 сентября. В онлайн-симуляторе тебе предстоит запрограммировать робособаку и робота-манипулятора для доставки груза че…
💡 C#: заставьте архитектуру ломать CI, если кто-то нарушил правила Компилятор C# отлично проверяет типы, но ему всё равно, что Application внезапно начал зависеть от Infrastructure. Code Review тоже не гарантирует, что такое заметят. Для этого можно использовать Architecture Tests — тесты, которые проверяют не бизнес-логику, а структуру проекта. Например, через NetArchTest.Rules: [Fact] public void Application_…
Posted without readable text
🔥 Request-response через брокер сообщений в C#: мощный паттерн, который легко превратить в распределённый дедлок Один сервис отправляет сообщение в RabbitMQ или NATS и ждёт ответ. Для вызывающего кода это выглядит почти как обычный await, хотя под капотом работают две независимые очереди: Requester -> request -> Responder Requester <- response <- Responder В RabbitMQ запрос обычно содержит ReplyTo и уникальный …
Лето, ИТ-Пикник и музыка известных артистов уже через несколько дней! 8 августа в Коломенском пройдет ИТ-Пикник. В программе — выступления проекта LAB Антона Беляева, IOWA, Cream Soda, Pompeya, мартина и Совы. А днем — научпоп-лекции, дискуссии об ИИ и больших языковых моделях, мастер-классы и интерактивы. Полезные знакомства и развлечения тоже будут. Зарегистрироваться и узнать подробности можно на сайте меропри…
Showing the 12 most recent of 32 posts we hold for @csharp_ci. 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.
Citation-graph rank
Citation-graph rank — 224,413 of 1,585,381entries in the measured graph. A weighted position computed from the forward and mention edges below — republished posts weigh more than named mentions — and recomputed periodically, over the whole graph. Published only as this ordinal position, never as a score: a position is a fact, and a score printed beside one channel’s name would read as a verdict this register does not make. The two counts beneath stay separate for the same reason mentions are never summed with forwards anywhere else on this page — a named-by count costs nothing to manufacture. The top 100 by this measure, or how it is computed.
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 6 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.
@msdevru · 3,0755 postsБиблиотека С# С++
@cpluscsharp · 10,0633 postsC# 1001 notes
@csharp_1001_notes · 6,5642 postsIT channels | каталог IT каналов
@itchannels_telegram · 4,5071 postМашиннное обучение | Наука о данных Библиотека
@machinelearning_books · 16,8531 postPython вопросы с собеседований
@python_job_interview · 24,7861 post
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
- 2
- handles named in this channel’s posts, vacant today
- Evidenced gone
- 0
- we ourselves saw one of these resolve, at some point
- Never seen alive
- 2
- vacant every time we have ever looked
@csharp_ci named 2 handles 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.
Never seen alive
References a handle that is not a live channel — we have no record it ever was one.
named in 1 post, 24 August 2026 – 24 August 2026
named in 1 post, 24 August 2026 – 24 August 2026
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.
@linuxkalii · 55,091
Telegram ranks this channel #80 of 89 here — alongside 88 others — read 23 August 2026
This channel appears in 1 seed channel's Telegram-generated recommendation list 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 23 August 2026 — this entry's latest reading, not the date you are reading this.
“C# (C Sharp) programming” (@csharp_ci), 18,139 subscribers as measured 23 August 2026. Telegram Register, tgregister.com/channel/csharp_ci.
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.