Sign in

Roman Dvornov

@rdvornov.bsky.social
59 followers 74 following 10 posts

Engineer at Microsoft / Frontend researcher, author of CPUpro, Discovery.js, React Render Tracker, CSSTree github.com/lahmatiy

PostsRepliesMedia
Reposted by Roman Dvornov
Alёna Batitskaia @abatickaya.bsky.social · 25/09/2026
I turned website loading into music, so you can hear the threads, not just see them. Some sites turn into a great track you can loop and work to. blog.alena.rocks/en/artifacts...
072
Roman Dvornov @rdvornov.bsky.social · 06/03/2026
Most AI forecasts today assume two things: AI will replace engineers. AI will write all the code. I think both questions miss the real story. A short forecast for the next year: medium.com/@rdvornov/ai...
medium.com
AI and the Coming Correction
A forecast for the next year (2026)
022
Roman Dvornov @rdvornov.bsky.social · 19/01/2026
If profiling feels useless in complex apps (systems), maybe that’s not because nothing can be done. But because we’re still looking from the wrong perspective. medium.com/@rdvornov/wh...
medium.com
Why Profiling Leaves You Guessing
From isolated measurements to understanding execution as a process
000
Roman Dvornov @rdvornov.bsky.social · 15/01/2026
A simple observation that becomes uncomfortable once you take it seriously: Stability and objectivity in complex systems emerge from the structured coexistence of conflicting evaluative perspectives. medium.com/@rdvornov/st...
medium.com
Stability Comes From Tension
If removing tension feels like improvement, you are probably breaking something important.
031
Reposted by Roman Dvornov
Marvin Hagemeister @marvinh.dev · 10/08/2025
The semver library used in npm, yarn and pnpm could be made 33x faster. Ran into that while wondering why running `npm install` takes so long on the Preact repo. marvinh.dev/blog/speedin...
marvinh.dev
Speeding up the JavaScript ecosystem - Semver
During the installation process, package managers run a bunch of semver comparisons. The semver library used in npm, yarn and pnpm can be made around 33x faster.
1219935
Roman Dvornov @rdvornov.bsky.social · 05/08/2025
✍️ New article: Web Streams in Depth – Part 1: The Challenge of Modern Data From callbacks to for await...of, and from Node.js Streams to the Web Streams API — here's how JavaScript evolved to handle massive data efficiently, everywhere.
dev.to
Web Streams in Depth, Part 1: From Callbacks to Streams
Introduction: The Challenge of Modern Data JavaScript has come a long way from its humble...
010
Roman Dvornov @rdvornov.bsky.social · 08/05/2025
🚀 CPUpro 0.7.0 is here! - Annotated source code view - Code states, inlining, deoptimizations insights - Enhanced "All call frames" table - Raw V8 log support (no conversion needed) - Gzipped profiles support
github.com
Release 0.7.0 – Source code view, code states, raw V8 log and gzipped profiles support · discoveryjs/cpupro
CPUpro opens a new chapter in providing deeper insights into how JavaScript code runs, introducing annotated function source code display with per-location precision. This feature is only available...
122
Roman Dvornov @rdvornov.bsky.social · 22/03/2025
Discovery.js 1.0.0-beta.94 Introducing text rendering github.com/discoveryjs/...
000
Reposted by Roman Dvornov
Dmitry Makhnev @dmitrymakhnev.bsky.social · 21/02/2025
Dear @webstorm.jetbrains.com and @jetbrains.com IDEs users who use JS testing framework integrations, A huge refactoring of this subsystem was delivered in EAP 5. It has changes for: - @vitest.dev - Jest - @nodejs.org test runner - @playwright.dev - Cypress - Mocha - Protractor and Karma ...
youtrack.jetbrains.com
153
Reposted by Roman Dvornov
Bramus @bram.us · 16/01/2025
New in Chrome 133 – which goes stable on Feb 4 – is a new method to move an element around the DOM. Unlike the classic way of removing+reinserting a node, this moveBefore method preserves the element’s state! Iframes remain loaded, animations don’t restart, … DEMO: codepen.io/bramus/full/...
416127
Roman Dvornov @rdvornov.bsky.social · 14/01/2025
🚀 CPUpro v0.6 After months of research, experiments and refactoring, a first release in a row is here: call stack restoration of inlined code (V8 log), enhanced calculations and presentation, new data model. Release notes (long read): github.com/discoveryjs/... More to come soon!
github.com
Release 0.6.0 – Call stack restoration of inlined code, enhanced calculations and presentation, new data model · discoveryjs/cpupro
In the months since the previous release, CPUpro underwent significant refactoring, with major improvements in computations and new feature prototypes. This release introduces enhanced calculations...
021
Reposted by Roman Dvornov
Marco Ippolito @marcoippolito.dev · 07/01/2025
Node.js v23.6.0 is out! 🥳🎉 This release enables the flag --experimental-strip-types by default. Node.js will be able to execute TypeScript files without additional configuration! ⚠️ This feature is experimental, has limitations and is subject to change. nodejs.org/en/blog/rele...
nodejs.org
Node.js — Node v23.6.0 (Current)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
39930
Reposted by Roman Dvornov
Anthony Fu @antfu.me · 18/12/2024
Also, I am looking for active maintainers to help me maintain VueUse. I'd be happy to provide some mentorships if you are interested in that. Doing OSS would be a long process tho, and probably won't make you have financial benefits at the beginning - but could be an interesting experience.
117615
Reposted by Roman Dvornov
Stoyan Stefanov @stoyan.me · 13/12/2024
Web performance calendar: Friday the 13th edition with @programmingart.bsky.social's monster 😈 of a post on what's sorely needed in a browser's Network panel today calendar.perfplanet.com/2024/top-8-t...
calendar.perfplanet.com
Top 8 things I want in the Devtools Network Panel
Look, I'm just going to come out and say it: I'm a jealous man. I'm not proud of it, but I'm a jealous man. These past months and years, I've seen great update after amazing update (not you) being rel...
0154
Reposted by Roman Dvornov
Sergey Rubanov @sergey.works · 12/12/2024
With the recent Safari 18.2 release, WebAssembly Garbage Collection is now available in all the major browsers 🥳
1388
Reposted by Roman Dvornov
Stoyan Stefanov @stoyan.me · 07/12/2024
You can force garbage collection in your JS by starting Chrome with a flag: open "/Applications/Google Chrome.app" --args --js-flags=--expose-gc Now you can call `gc()` to collect the rubbish :)
061
Roman Dvornov @rdvornov.bsky.social · 05/12/2024
Discovered a neat trick: converting FormData to a multipart/form-data string (and back!) using the Response API. Seems to be an unknown or little-known approach, though I don’t claim originality. Wrote an article to share how it works: dev.to/rdvornov/con...
dev.to
Converting FormData to a multipart/form-data String and Back Using Response
While working on another article about converting various values into ReadableStream, I stumbled upon...
000
Reposted by Roman Dvornov
ESLint @eslint.org · 26/11/2024
📣 Start linting CSS with ESLint using the brand new eslint/css package! This is a very early edition so feedback is welcome. 🐣 www.npmjs.com/package/@esl...
npmjs.com
@eslint/css
CSS linting plugin for ESLint. Latest version: 0.1.0, last published: 5 minutes ago. Start using @eslint/css in your project by running `npm i @eslint/css`. There are no other projects in the npm regi...
010721
Reposted by Roman Dvornov
IntentToShip @intenttoship.dev · 22/11/2024
Blink: Intent to Ship: Explicit resource management (sync)
groups.google.com
Blink: Intent to Ship: Explicit resource management (sync)
Blink: Intent to Ship: Explicit resource management (sync)
042
Reposted by Roman Dvornov
Jen Simmons @jensimmons.bsky.social · 20/11/2024
We implemented a new value for `background-clip` called `border-area`. It lets you use CSS fill a border with a background image or gradient. This article explains how it works, and shows up the possibilities in 7 demos. #css #webdesign #webdevelopment #graphicdesign webkit.org/blog/16214/b...
webkit.org
Make creative borders with background-clip border-area
How’d you like to use CSS to easily create a border from an image or gradient?
1025144
Reposted by Roman Dvornov
Matthias Martin @handle.invalid · 19/11/2024
Excited to announce Easing Wizard is now live! 🎉 The ultimate CSS easing editor with support for Bézier, spring, bounce, wiggle, and overshoot! 🚀 🔗 easingwizard.com Can you find the hidden easter egg?
510825