- Thursday, October 3rd: A full-day single-track series of full-length and lightning talks
- Friday, October 4th: Free 1-2 hour morning workshops
30 minute talks with 5 minutes of live Q&A. These talks will dive into their subject area and show new ways of working with your tooling.
- Oh My Zsh: Learnings Over 15 Years of CLI Innovation
Join Robby Russell, the creator of Oh My Zsh, as he reflects on the remarkable journey of this CLI framework on its 15th anniversary. Robby will share his candid experiences and insights into how a project that started without a clear plan managed to gain widespread adoption across the software industry.
Weâll travel through the origins of Oh My Zsh, its surprising growth, and the valuable lessons he learned along the way. Robby will highlight the significance of creating user-friendly and practical tools, especially for new developers. Heâll delve into the art of engaging with an open-source community and his mission to bring enjoyment to the command line. Robbyâs advice on developing a successful open-source project will resonate with web developers eager to improve their tools and contribute to community-driven innovation.
This talk aims to show that anyone can launch a successful software project with the right mindset and motivation. Robbyâs story demonstrates the power of solving problems for yourself and your peers. He will discuss building and sharing useful tools, showing that even small efforts can have a significant impact. This talk will give you a deeper understanding of the power of collaboration and how these principles can be applied to your work in and around developer tooling.
-
- Excalidraw: Canvas All The Way Down
How do we manipulate pixels in a DOM-oriented world? HTML <canvas>! I recently built Excalidrawâs âlabeled arrowsâ feature, which heavily utilizes all sorts of Canvas element JavaScript APIs for rich graphics and media display in web browsers. Letâs dig in to see how Canvas and Excalidraw work under the hood!
Iâll cover with demos:
- Why labeled arrows were built: including the âhowâ and âwhyâ of design decisions
- The architecture of how elements are structured and how text is tied to the arrow
- Rendering arrows in canvas, including multi-point arrows and transparency effects
- How Canvas and SVG compare & contrast with mask attributes, clipping, and clearRect
- Performance optimizations such as caching labeled repeat computational and graphics work
The audience will come away understanding how Canvas APIs work together - along with how labeled arrows were implemented in Excalidraw.
- The Battle for Source Code: Why Text Always WinsThereâs nothing more devtool-y than how you store your code. Over the past 50 years, computers have grown dramatically more powerful, user interfaces have grown increasingly complex, and computer programs have grown orders of magnitude larger. But despite all this change, we still represent computer code the same way we did in 1970: as plain text files. Why is plain text so ubiquitous, and why do attempts to replace it always fail?
-
- Oxc: Pluggable Next-Gen Tooling At Rust Speed
The Oxc Project is a collection of high-performance JavaScript/TypeScript tools written in Rust. It comes with a parser, a linter, and other build-time libraries and utilities. But didnât these already exist? Why did we need to rewrite them in another language?
Great questions! This talk will walk through the incredible performance and interoperability opportunities of moving shared web dev tooling to a native-speed language like Rust. Youâll see both how to use these wonderfully fast new tools in your project to unlock speedy and reliable builds immediately.
Even better, youâll also get an insiderâs view of how these projects are built. Thereâs all sorts of fantastic engineering at play, ranging from re-using test suites from Babel and TypeScript themselves to community-oriented integration tests to ensure compatibility. The end result is a rich set of community tooling for the Rust ecosystem that is a joy to work with.
-
- How To Write About Software
Writing a technical blog post may sound like a solo task, but in reality itâs just like good softwareâbest with a writer and reviewer/editor. But what does that process look like, and whatâs the role of the editor?
In this talk, Iâll first show elements of a good versus great blog post, with examples. A good post gets the information across in an orderly fashion. A great blog post starts from great source material, and manages to be a page turner. Sometimes, good is all you need, but itâs useful to recognize when you have the potential for great.
Next, Iâll show real examples of specific edits to blog posts I consider good and great. In general, you need to first edit at the macro level (e.g. throwing out an entire first draft and choosing a completely different angle) and then the micro level (e.g. restructuring sentences for clarity). The title and opening deserve special attention, and Iâll share tactics you can use to write and refine them.
Marketing your software isnât just for marketers. These techniques will help you in everything from pull request descriptions to release announcements. Iâll use real material from a series of blog posts we published in spring 2024 at Render to show how much of a difference applying editing craft to communications can make.
-
- Building an LSP Server from Scratch in Zig
Have you ever started a simple project, wanted something to exist, and ended up spending all your time building it yourself? I recently went from building static sites, to building my own static site generator, to writing a new HTML parser and then language server from scratch.
This talk will guide you through that process of how my yak-shaving stack evolved over time, starting with using TreeSitter as a parser, and culminating in the Zine static site generator and SuperHTML language server. Weâll cover both why those things are useful and how they actually work under the hood.
By the end of this talk, you will have concluded Iâm a maniac, or you will have developed your own appreciation for occasionally building things from scratch. Likely both.
-
- Diving Into The Chrome DevTools Performance Panel
Excellent tools are at the heart of every performance optimization workflow. From synthetic testing, auditing, and diagnosing performance issues to collecting and analyzing performance data from real-world user experiences. A good performance workflow utilizes both real-world and synthetic tooling to help you understand how fast your site is and how to make it faster.
In this talk, weâll explore Googleâs recommended web performance tooling workflow for fast Core Web Vitals. Weâll focus on Chrome DevTools and the powerful Performance panel to get a better understanding of whatâs happening under the hood. Weâll also look at a typical data pipeline for collecting and analyzing real-user data to get a better understanding of the top performance issues and opportunities. Finally, weâll look at a few techniques to significantly improve some of the most common and impactful issues with loading performance and interaction responsiveness.
-
- Escaping the Curse of Outdated Docs
Sigh, your docs are broken and outdated. But hereâs the good news: they donât have to be!
Documentation is a reflection of the quality of your dev tooling, so if itâs broken and outdated that sets the tone for your productâs reputation. I empathize with you: as your tooling constantly evolves, keeping documentation up-to-date is challenging, especially when managing multiple programming languages. You already have so much going on. Docs are important, and your time is too.
Join Rizèl for a session on working smarter (and not harder) with practical techniques for integrating documentation into your development workflows. Rizèl will share how to efficiently treat your developer docs as code to ensure your documentation remains reliable and current.
-
- The Road to Faster Builds: Developing Isolated DeclarationsIsolated Declarations is a new feature in TypeScript 5.5 that is designed to help speed up build times in monorepos. In this talk, weâll discuss how Bloomberg, in collaboration with Google and Microsoft, helped develop this feature. Youâll learn how Isolated Declarations can enable parallel builds for faster overall build times, and weâll also examine what this means for how you author your code.
-
10 minute talks with 3 minutes of live Q&A. These sessions show great tech that you can talk about with the speaker between sessions.
- Web Animations: Tools and Techniques
Did you know web animations have their own dedicated browser dev tools? Come learn how to debug timeline based animations in the browser and share animation specs across teams!
Often design happens in Figma and development happens in components. During that hand-off, motion and interaction design can fall through the cracks. But there are great tools and techniques that marry development and design, bringing life and personality to your UI.
Weâll start with the basics needed to add some visual interest to any project and escalate all the way to integrating complex, orchestrated animations from a motion design team into your workflow. Weâll also cover CSS animation utility libraries, easing tools for creating custom eases and springs, using the Web Animations API to react to and chain animation events.
- Creating a WASM-Powered Plugin System For Your App
How awesome would it be if anyone could write plugins in any languages that interop with your application regardless of your stack? Introducing Extism: a powerful plugin system that allows you to integrate WASM code into your servers, the edge, CLIs, IoT, browsers and everything in between.
The talk will start out with a history of WASM and itâs predecessor (asm.js). We will even point out Gary Bernhardtâs âBirth and Death of JavaScriptâ presentation and how it seems to have predicted where WASM could go. After understanding WASM and its history, we will outline what Extism is, how it can be used, as well as some real-world examples of its usage.
-
- Tracing: Start On Day Zero
Traces are an incredibly useful tool for understanding how your code actually runs function-by-function. With OpenTelemetry being accepted as standard by vendors and language platforms alike, there has never been a better time to start using it. Yet, many teams adopt traces late in the development cycle when code is hard to change and new tools always take time and money to learn.
This talk will show you how you can get started using tracing locally and what you can get out of it. It will discuss the benefits you get from well-traced applications and why it is so hard to get there. Weâll cover what makes tracing hard, how to smooth out those rough edges and get you debugging your code in no time!
-
- Harnessing the Accessibility Tree: Debugging with this Hidden Gem
Accessibility is a core component of the web â yet many web development teams treat it as an afterthought. Building with accessibility in mind involves understanding the rules of accessibility and how to use web dev tools to your advantage in designing and debugging it.
Letâs go through the Accessibility Tree: a hidden gem for understanding how a webpage will be presented through various accessibility lenses. Weâll explore how to access and use the accessibility tree through DevTools and discuss the slight differences in how different browsers render the tree. From there, weâll delve into the structure of the tree and explore its relationship to the DOM.
By understanding and utilizing the Accessibility Tree, we can build digital products and services that are more inclusive and compliant.
-
- Node.js Core Performance Optimizations, RevealedPerformance is important! So important, that performance engineers tend to have an âoccupational hazardâ of optimizing everything. Join Yagiz in diving into real-world examples of how a performance engineer optimizes Node.js core code â with techniques thatâll be useful to you for all your applications. Yagiz Nizipli will share technical and funny details about the dark side of optimizations and how to prioritize optimizing what needs it most.
-
1-2 hour hands-on sessions with the makers of dev tools. These in-depth, interactive workshops will level up your dev tool crafting skills.
- Build Editor Extensions with the Makers of Nx Console
You will leave this workshop having built and installed a custom VSCode and JetBrains extension! Learn how to enchant your Editor in a (seasonally witch-themed!) deep dive into Editor plugins and what it takes to build one. You will gain hands-on experience with Nx and how you can use it to compose a clean architecture in a complex repo.
Weâve learned a lot in the process of building and maintaining both Nx and Nx Console, our editor extension - weâre ready to share our best tips and tricks!
If you want to learn more about Nx or if youâve ever thought to yourself âI wish someone at my company could make an editor extensionâ then this workshop is for you! Come and see how easy it is to get started.
-
- Building Resilient Applications with Durable Execution
Your business logic is important - but it requires so many service calls! Internal services, external services, retries, timeouts⌠Keeping track of all the failure points and logic can become a nightmare in larger applications. Especially for sensitive transactions such as money or personal data.
Introducing durable execution: the ability to write independent tasks that manage their own retry and timeout behavior. Applications built on these tasks become more traceable and understandable by nature, allowing you to build up reliable business applications with confidence and ease.
Join Dan Farrelly, CTO and co-founder of Inngest, and Aaron Harper, engineer at Inngest, as they show us how to make an application built on durable execution. Youâll learn how to get starting using an engine such as Inngest, along with great general tips and tricks you can apply in our own codebases.
Youâll emerge with the best techniques to supercharge your projects â whether youâre already a tooling wizard or trying to become one.