HolyJS 2024 Autumn
2024-11-07..2024-11-15
-- online --
HolyJS ·
[HolyJS 2016 Piter, HolyJS 2016, HolyJS 2017 Piter, HolyJS 2017, HolyJS 2018 Piter, HolyJS 2018 Moscow, HolyJS 2020 Moscow, HolyJS 2021 Piter, HolyJS 2021 Moscow, HolyJS 2022 Spring, HolyJS 2022 Autumn, HolyJS 2023 Spring, HolyJS 2023 Autumn, HolyJS 2024 Spring, HolyJS 2024 Autumn, HolyJS 2025 Spring, HolyJS 2025 Autumn]
who it's for
frontend developers, React developers, Node.js developers, web performance engineers, web3 developers, engineering managers, game developers
topics
Feature-Sliced Design (FSD); React Compiler auto-memoization; V8 memory profiling and tracing; Vue reactivity internals; Next.js streaming SSR; WebAssembly for web apps; WebGPU readiness and limits; WebTransport usage patterns; Solana web3 (SPL tokens, transactions); local-first decentralized web; Temporal API and date handling in JS; SVG and canvas rendering optimization
| title | author | length |
|---|---|---|
| Functional programming in JavaScript | Marat Zimnurov | 47m |
Overview of functional programming in JavaScript: what FP really means, which FP techniques (composition, monads, higher-order functions) have already entered… | ||
| Understanding Feature-Sliced Design | Aleksandr Morgunov | 48m |
Feature-Sliced Design is an architectural methodology for organizing frontend projects that emphasizes modularity, public APIs for modules, and separation of… | ||
| 3 main shortcomings of FSD after 3 years of use | Evgeniy Paromov | 45m |
Talk examines three major shortcomings discovered in the FSD (Feature-Sliced Design) approach after three years of using it with React. Covers how the author… | ||
| Life before and after React Compiler | Anna Shiryaeva | 46m |
Explains what compilers are and how the new React Compiler works, naming React Compiler and React 19 as the technologies discussed. Examines which problems the… | ||
| How much memory does your tab consume? | Anton Nepsha | 45m |
Talk examines how much memory a browser tab running JavaScript can use, asking what counts as “a lot” of RAM (e.g., is 100 MB large). It covers memory leaks… | ||
| The gears of Vue reactivity | Denis Chernov | 45m |
Talk examines Vue's reactivity system by digging into its source code and examples; it explains how the internal mechanisms (the "gears" of reactivity) operate… | ||
| The history of reactivity | Artem Arutyunyan | 47m |
A historical overview of reactivity in JavaScript tracing how observables fell out of favor after React's rise a decade ago and how signals are now being… | ||
| Product development with Node.js: what you can and can't do | Andrey Ryasnoy | 44m |
Overview of using Node.js for product-focused backend development, covering which practices and patterns are appropriate and which should be avoided. Discusses… | ||
| LaranaJS: real SSR | Evgeniy Kucheryavyy | 46m |
LaranaJS is presented as a framework that implements true server-side rendering (SSR) rather than attempting incremental fixes to frontend tooling. It rethinks… | ||
| Web3 for JavaScript developers using Solana as an example | Aleksandr Kazakov | 01h 08m |
Covers practical JavaScript work with Solana using the web3.js library: how to install and configure web3.js, create and use crypto wallets, and construct and… | ||
| Streaming in Next.js: How It Works and User Benefits | Fedor Ishchenko | 39m |
Presentation explains how Next.js streaming SSR works and how KODIX used it in production. It covers Next.js caching mechanics, how to prepare streaming… | ||
| Impress by Metarhia: why types when you have contracts? And what about local storage? | Evgeniy Shashkin | 45m |
Presentation describes using Impress Application Server (from the Metarhia stack) as the backend for an interactive task-tracker developed at SberMarketing in… | ||
| Fallout 2 and WebAssembly | Vasiliy Rogin | 46m |
A developer ported Fallout 2 Community Edition to run in the browser and describes the process using WebAssembly and Emscripten. The talk explains how… | ||
| Astro-land: A New Life for Your Landing Pages, or “The Mysterious Island” | Sergey Zhirkov | 44m |
Experience migrating Algoritmika’s marketing landing pages from an SPA to Astro to achieve fast load times and good SEO while reusing existing React markup and… | ||
| Predicting Math.random() | Andrey Kuzmenko | 41m |
Explains how Math.random() is implemented in Node.js, naming the pseudorandom number generation algorithm used and how PRNGs work. Demonstrates concrete… | ||
| My Data Is My Data, or The Local-first Decentralized Web | Pavel Vostrikov | 52m |
Talk examines local-first, decentralized web approaches to improve UX, CX and data ownership on the modern web. It discusses techniques and technologies for… | ||
| How to Write and Deploy a Backend in Half an Hour If You're a Regular Front-end Developer | Anton Efremenkov | 45m |
Overview of backend options in JavaScript with a recommendation to use a serverless approach; a live walkthrough of a custom site backed by a serverless… | ||
| Media Capture in WebRTC Apps, or How to Finally Turn on Your Camera During a Call | Nikolay Pugachev | 45m |
Covers how to implement media capture in WebRTC apps using the Media Capture and Streams API: requesting streams with getUserMedia, using and updating… | ||
| Memes, Shaders and PixiJS: How an RTS on the Web Loads in 3 Seconds and Delivers 120 FPS | Danila Simonov | 58m |
A four-year development case study of the browser RTS Age of Memes built with PixiJS. Covers why the team wrote a custom web game engine, texture compression… | ||
| What to Use Today for WebAssembly? | Yuriy Karpov | 46m |
Compares languages that compile to WebAssembly—C, Rust, Go, and AssemblyScript—by implementing benchmarks like Gaussian blur, thresholding, and quicksort to… | ||
| How to Make Automated Tests Useful: The Evolution of Tests in Yandex ID | Dmitriy Andriyanov | 46m |
Yandex ID built a full automated regression testing capability by defining functional requirements and creating methodology, processes, and tools. The talk… | ||
| The Evolution of PREMIER.ONE: From Tons of Legacy to Nuxt 3 | Dmitriy Bortsov, Andrey Avtushenko | 44m |
PREMIER.ONE migrated a high-traffic production site from Vue 2 to Nuxt 3, rebuilding architecture and development processes rather than doing a simple… | ||
| You Are Not Ready for WebGPU | Musa Asukhanov | 47m |
An overview of the current state and future prospects of WebGPU, explaining its practical benefits and use cases. Discusses technical and industry challenges… | ||
| Internationalization — What Are You? | Aleksey Ershkov | 46m |
Covers the broader scope of i18n beyond translating UI text, explaining what internationalization entails and how it differs from localization plus related… | ||
| NestJS: Typing and Request Validation | Ivan Klimenko | 37m |
Discussion of typing and validating requests in NestJS, covering issues and nuances when implementing request types and validation. Presents ideas for request… | ||
| Data-oriented Programming | Aleksey Zolotykh | 45m |
Covers Data-Oriented Programming (DOP), explaining its core concepts and how it differs from object-oriented and functional programming. Describes focusing on… | ||
| HTMLVideoElement from Scratch, with Fast Seeking | Stepan Mikhaylyuk | 01h 33m |
Covers implementing an HTMLVideoElement from scratch with support for fast seeking (frame-by-frame rendering). Explains why fast seek is essential for systems… | ||
| From Roman Emperors to the Temporal API: Conquering Dates and Times in JS | Sergey Solovev | 46m |
Explains why dates and times cause bugs in JavaScript by covering calendar dates, timescales, time zones, and locale-specific formatting, with historical… | ||
| Plastic Shovels in a Multithreaded Sandbox | Vsevolod Zolotov | 44m |
Explains how multithreading is implemented in JavaScript by covering Atomics and Transferable Objects and demonstrating synchronization patterns like Semaphore… | ||
| How to Track Memory in V8? | Aleksandr Zaytsev | 45m |
Shows how to use Node.js built-in modules node:v8, node:inspector and node:perf_hooks together with Chrome DevTools to build performance and memory-tracking… | ||
| Astra: How We Made Developers' Lives Easier by Building a Browser Extension | Mikhail Volynov | 46m |
A presentation about Astra, an internal Chrome browser extension built with Chrome Extension API to simplify frontend development and testing for Mail. It… | ||
| The Custom Meat Grinder: How to Build Collaborative Services | Viktor Shcheglov | 46m |
Covers building collaborative real-time online services where many users edit the same data, focusing on conflict resolution using CRDTs and the Yjs library… | ||
| Speeding Up Node Apps: When the Standard Profiler Isn't Enough | Viktor Khomyakov | 45m |
Shows how to use Linux perf to profile Node.js applications to get more detailed information than Node.js’s built-in profiler provides; covers using perf on… | ||
| WebTransport: When and How to Use It? | Nikolay Konstantinov | 44m |
Overview of WebTransport support across browsers, practical guidance on when and how to use the WebTransport API, and comparisons with WebRTC and WebSocket… | ||
| Metaverse for MTS on Babylon.js | Vasiliy Porokh | 44m |
Talk shows how to build a 3D metaverse using Babylon.js: third-person camera, collision handling with obstacles, character animations, aurora effects and… | ||
| Load Management in Node.js | Dmitriy Krystek | 44m |
Explains how to protect a Node.js application from overload by using a rate limiter, a request queue, and traffic burst protection. Covers why each (rate… | ||
| Smart Contracts and Decentralized Applications (DApp) | Andrey Makarov | 48m |
Explains key aspects of smart contracts and decentralized applications (DApp), their societal and business impact, and discusses example implementations of… | ||
| Where Do Good Ideas Come From? | Vladimir Spiridonov | 43m |
Talk examines creative thinking and how people generate new ideas, covering how individuals handle problem situations, what helps and hinders that process, and… | ||
| Interview with Sasha Zelik: Rust on the Frontend | Sasha Zelik | 35m |
Conversation about using Rust for frontend development: how frontend apps are written in Rust, the tools and frameworks commonly used, size of the Rust… | ||
| IPFS in the Enterprise | Artem Shovkin | 36m |
IPFS is presented as a decentralized file-distribution system that increases resilience by storing data across multiple nodes. The talk covers adapting IPFS… | ||
| Technology Strategy as a Lifeline in a Sea of Tech Stacks | Georgiy Zhuravlev | 45m |
A talk about applying a technology policy at SIBUR Digital to align work across multiple projects, encourage reuse of solutions, build internal tools, and… | ||
| Efficient Rendering of SVG Arrows: Optimizing Graphs with Hundreds of Nodes | Aleksandr Maltsev | 43m |
A custom dependency-free SVG arrow-rendering library built for an internal graph service, with built-in optimizations. Covers why off-the-shelf solutions were… | ||
| Availability Monitoring (A11Y) | Maksim Kuznetsov | 45m |
A presentation about building an accessibility (A11Y) monitoring system for VKontakte that collects accessibility errors in real time across many sections and… | ||
| Interview with Sergey Popov: The Junior Specialists Job Market | Serezha Popov | 34m |
An interview with Sergei Popov about the current job market for junior specialists, covering widespread corporate university programs, the closure of online… | ||
| 3D Graphics with Node.js Addons | Luis Blanko | 46m |
Showed how to run GPU code (CUDA/OpenCL) and WebGL JavaScript from Node.js by writing native add-ons, so JS modules can perform 3D rendering outside the… | ||
| Conference Opening | Timur Gafiulin, Aleksandr Korotaev | 13m |
Overview of the HolyJS 2024 Autumn conference schedule, sessions, and general information. Hosts Timur Gafiulin and Alexander Korotaev present logistical… | ||
| Conference Closing | Timur Gafiulin, Tema Senyukov, Yaroslav Losev | 07m |
A closing session for HolyJS 2024 Autumn that summarizes the conference, recalls highlights, and outlines future plans. Hosts Timur Gafiulin, Tyoma Senyukov… | ||
| Opening of the Offline Segment | Timur Gafiulin, Tema Senyukov, Yaroslav Losev | 16m |
An opening segment for the HolyJS 2024 Autumn in-person program presenting the schedule, the session lineup, and practical information for attendees. Hosts… | ||
| Wrap-up of the Online Segment | Timur Gafiulin, Aleksandr Korotaev | 08m |
A wrap-up of HolyJS 2024 Autumn’s online portion, recapping highlights and notable moments and outlining future plans. Hosts Timur Gafiulin and Alexander… | ||
| nothing matches | ||