taplo is a CLI tool (and a Rust library) for working with TOML. It can check TOML files for syntax errors, validate them against JSON schemas, and format. The best thing about it is the Even Better TOML VSCode plugin wrapping taplo that provides all the same things as CLI plus smart syntax highlighting, navigation, refactoring, and even autocomplete for pyproject.toml, fly.toml, Cargo.toml and a few other formats). …

Channel
ITGram
@itgram_channel
On this record: Growth · Engagement · Posts · Citations · Cite this entry
393subscribers
-4 since we began measuring on 6 August 2026
Risers and fallers across the register · movement among entries of Under 1,000.
Register entry
| Telegram ID | -1001131440955 |
|---|---|
| Type | Channel |
| Username | @itgram_channel |
| Created | 8 October 2017 — measured — cross-checked against a third-party dataset (ext.tg_channel) |
| First recorded | 6 August 2026 |
| Last confirmed live | 28 August 2026 |
| Measurements held | 5 |
| Confirmed unchanged | 1 time, most recently 28 August 2026 |
| On Telegram | t.me/itgram_channel |
Growth
| Measured (UTC) | Subscribers | Change |
|---|---|---|
| 28 Aug 2026, 18:54 | 393 | -1 |
| 21 Aug 2026, 22:18 | 394 | -1 |
| 14 Aug 2026, 14:07 | 395 | -2 |
| 6 Aug 2026, 19:51 | 397 | no change |
| 6 Aug 2026, 02:32 | 397 | first reading |
Engagement
20 posts held, back to 5 March 2023 — 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 pageof 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 26 July 2023. An engagement rate over an empty window would be a number about nothing.
Recent posts
Mutation testing is technique for evaluating how good your tests are. The idea is that a special tool (or a very bored human) breaks the code by slightly changing ("mutating") something in it and then running all the tests, and the tests must fail. If they don't fail, you either have dead code or the tests aren't good enough. There are some pre-requisites for when it mkes sense to do that: 1. The test coverage is 1…
refurb is yet another linter for Python. What makes it special is that it internally runs as a mypy plugin. This gives the linter static information about types for everything. As a result, refurb can give more precise and reliable suggestions. But of course it also means refurb is slower than something like pycodestyle which works on regular expressions or ruff which is written on Rust and works only with AST. #pyt…
To make all my content accessible, I've provided source, website, and RSS for every project I have: + 🐿 ITGram: 🌐 website, 📶 rss, 📢 telegram, 📄 source. + 🐍 Python etc: 🌐 website, 📶 rss, 📢 telegram, 📄 source. + ✏️ Blog: 🌐 website, 📶 rss, 📄 source. I had to do quite a few changes for that: The blog is now powered by Hugo static site generator with PaperMod theme which provides RSS out of the box. Before it was power…
A long time ago, I used to use Twitter to find out about new projects and blog posts. Later, I moved to Reddit. Now, both are the very manifestation of enshittification, so I removed both accounts. Hacker News never seemed useful to me (perhaps, I just don't know how to use it). I recently registered on Mastodon and started to follow a few hashtags, but they include a lot of unimportant stuff, like discussions, quest…
Channel photo updated
Go 1.21rc1 is released! It's not a final release yet, but we already can see what new features will be there, and that's huge: 1. Built-in function min, max, and clear. You know, like in all other normal programming languages. 2. Experimental fix for the loop variable capture, one of the most common Go mistakes. 3. Profile-guided optimization is now stable. The Go compiler itself now uses it to make its code 10% fas…
🎥 I made a series of videos about hacking DVWS using Burp Suite: https://www.youtube.com/playlist?list=PLz_SG4MKcA4m1p-QPvkLaX6gVrCIHwkCj Many years ago, if you want to practice basics of penetration testing, the best way to do that was to play around with DVWA. DVWA is "Damn Vulnerable Web Application", a web app specifically designed to have as many vulnerabilities as possible for you to learn how to exploit them.…
📝 My 20 Year Career is Technical Debt or Deprecated. I certainly see and feel what the author means. Technologies move at a crazy pace because we always want our tools to be better, more "modern" if you wish. If your Python service isn't a Python 3.10+ microservice on FastAPI with async/await and type annotations, that's it, it's legacy. Just 4 years ago having a Django monolith was fine but not today. And things ev…
📝 I investigated the Underground Economy of Glassdoor Reviews is an unexpectedly detailed post about how companies buy online reviews on Glassdoor and similar platforms. The author contacted freelancers providing such services, aggregated their quotes and services, asked some "hows", and built interesting charts for a few random companies. The research perhaps lacks scale, but still, quite an interesting rabbit hole.
🦀 Found it! assert2 solves the problem I described above. You simply write assert!(a + b > 13) and if it fails, instead of "something wrong, good luck" it will say "5 + 6 > 13", with nice colors and all. Now my basic set of human-friendly testing for Rust is complete. #rust
🦀 The built-in Rust testing framework is alright for small tests, but it quickly falls apart when the project grows. And even for small projects, the tests look messy and the failure output isn't helpful. I haven't found one all-in framework like pytest but there are some small projects that together make something much better: + nextest is a fast test runner with a nice colorful output, powerful DSL for filtering t…
Showing the 12 most recent of 20 posts we hold for @itgram_channel. 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.
Mentions
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.
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 28 August 2026 — this entry's latest reading, not the date you are reading this.
“ITGram” (@itgram_channel), 393 subscribers as measured 28 August 2026. Telegram Register, tgregister.com/channel/itgram_channel.
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.