stephansama / videos

Remotion compositions

Every video in this repo is playable live below. Nothing here is a pre-rendered MP4 — each card boots the source composition in-browser via @remotion/player.

Loading…

Adding Typescript To My Neovim Configuration

Learn how I added TypeScript to my Neovim config using language packs, schema-driven keymaps, and modern completion tools.

Loading…

Combining Clsx And Tailwind Merge For Dynamic Class Lists In Web Applications

Learn how to streamline dynamic class management in modern web development by combining clsx and tailwind-merge. This guide explores installation, usage, and practical examples to help you simplify class rendering and integrate Tailwind CSS effectively into your projects.

Loading…

Composer

Long-form video composer: intro bumper + slide MP4s + audio + captions to final MP4

Loading…

Creating A Tmux Keybinding For Pop Up Sessions

Learn how to enhance your tmux workflow by creating keybindings for popup windows. This guide covers setting up a custom script, binding keys in tmux, and optimizing popup sessions to streamline your terminal management.

Loading…

Determining The Age Of A Git Repository

Learn how to determine the age of a Git repository by locating its root commit. This guide covers fast commands using git rev-list, git log, and methods for retrieving the repository creation date.

Loading…

How Cloudflare Rebuilt Next In Vite Using Vibe Coding

Vinext, built by Cloudflare on Vite, reimplements Next.js with AI-powered “vibe coding,” enabling faster builds, smaller client bundles, and effortless deployment to Cloudflare Workers.

Loading…

How Npmx Revolutionized The Npm Community

Explore npmx, the Nuxt-based package registry by Daniel Roe that prioritizes modern performance and sustainable open-source development practices.

Loading…

How To Automatically Load Node Version Based On Nvmrc File

Learn how to automatically switch Node.js versions in your terminal based on a local .nvmrc file using nvm and a simple Zsh script. Save time and avoid version conflicts by setting up automatic Node version management in your development workflow.

Loading…

How To Connect Cloudflare Tunnel To Synology Nas

Securely access your Synology NAS without port forwarding. Learn how to install and configure Cloudflare Tunnel using Container Manager for encrypted remote access.

Loading…

How To Create An Awesome List

Discover how to create an 'awesome list' on GitHub to curate and share valuable resources. This guide covers choosing a topic, structuring your list, encouraging community contributions, and maintaining its relevance, inspired by Sindre Sorhus' popular 'awesome' series.

Loading…

How To Install And Configure Typescript Go As An Lsp In Neovim

Learn how to install and configure TypeScript-Go (tsgo) as a high-performance TypeScript and JavaScript language server (LSP) in Neovim 0.11+. Follow this step-by-step guide to set up tsgo, improve your development workflow, and enjoy faster code navigation and completion in Neovim.

Loading…

How To Install Catppuccin Theme Across Your Entire Setup

Want a beautiful, cohesive theme for your development environment? Learn how to install the Catppuccin theme in Neovim, tmux, WezTerm, Firefox/Chrome (Dark Reader), Lazygit, and Alfred for a smooth pastel aesthetic across your tools.

Loading…

How To Pipe Data Into A Node Script

Learn how to use process.stdin to pipe data from terminal commands into Node.js. A step-by-step guide on stream handling, data events, and best practices.

Loading…

How To Print A Lua Table

Learn how to print and debug Lua tables effectively using the dump function. This guide explains the function's implementation, usage, and how it can simplify inspecting complex table structures in your Lua scripts.

Loading…

How To Sort A Table Using Javascript

Learn how to sort HTML table data dynamically using JavaScript. This comprehensive guide covers handling various data types like text, numbers, dates, and images, and provides step-by-step instructions to implement an interactive table sorting feature. Perfect for web developers looking to enhance user experience on their websites.

Loading…

How To Use Rust To Create A Netlify Serverless Function

Learn how to enable and create Rust-based serverless functions on Netlify. This guide covers setting up experimental Rust support, initializing a new function with Cargo or the Netlify CLI, and structuring a basic Rust function for seamless deployment.

Loading…

Identifying Duplicate Lines In Files Using Linux Terminal Commands

Easily identify and count duplicate lines in any text file directly from your Linux terminal. Learn the powerful sort | uniq --count --repeated command pipeline, understand why it works, and see how to integrate fzf for quick interactive file selection. Perfect for log analysis and data cleaning.

Loading…

Implementing A Deep Merge Function In Javascript

Learn how to implement a recursive deep merge function in JavaScript to merge nested objects efficiently. This guide explains the limitations of Object.assign() and the spread operator, provides example seed data, and walks through a step-by-step implementation. Perfect for developers working with configuration objects, state management, and complex data structures.

Loading…

Integrating Fzf Into Tmux For Efficient Navigation

Learn how to integrate the powerful fuzzy finder fzf into your tmux workflow for faster and more efficient navigation. This guide covers installation, configuration, and customization of fzf with tmux, along with plugins like tmux-fpp and tmux-open for enhanced file and URL management. Streamline your workflow by replacing default tmux keybindings and improving session, window, and pane switching with fuzzy search. Perfect for developers looking to boost productivity in the terminal.

Loading…

Integrating Lazygit Into Tmux For Git Management

Streamline your Git workflow by integrating lazygit into your tmux setup. This guide shows you how to create a custom keybinding to launch lazygit in a popup window directly within tmux. Manage your Git repositories efficiently, including staging, committing, and pushing changes, without leaving your terminal workspace. Perfect for developers looking to improve their Git productivity within tmux.

Loading…

Intro Bumper

YouTube intro bumper for the stephansama channel

Loading…

Lily58 Pro Keyboard Review

The Lily58 Pro keyboard kit is a customizable split ergonomic keyboard featuring silent Cherry MX Red switches, ZMK firmware, and unique keycaps—ideal for tech enthusiasts seeking modularity and comfort.

Loading…

Maintaining Package Versions With Pnpm And Yaml Anchors

Managing dependencies across a monorepo often leads to dependency drift, where different packages inadvertently use conflicting versions of the same library. By leveraging YAML anchors, you can define

Loading…

Mastering Css Counters A Guide To Dynamic Web Numbering

CSS counters are browser-managed variables that increment as matching elements are encountered in the document tree. This native feature enables dynamic numbering and structured labeling (e.g., headin

Loading…

My Neovim Config

Discover a structured and modular approach to configuring Neovim for maximum efficiency. This guide breaks down my Neovim setup, including plugin management, keybindings, language-specific configurati

Loading…

Pnpm Yaml Anchors

Long-form video of the pnpm + YAML anchors article

Loading…

Remap Caps Lock To Esc

Learn how to easily remap the Caps Lock key to Escape on macOS, Windows, and Linux. This guide provides step-by-step instructions for each operating system, including using System Preferences on macOS

Loading…

Restoring Tmux Sessions After A System Reboot

Learn how to easily restore your tmux sessions after a system reboot with the tmux-resurrect plugin. This guide walks you through the installation, configuration, and usage of tmux-resurrect, includin

Loading…

Shorts

9:16 vertical composer: 30 to 60s highlight clip with burned captions and hook overlay

Loading…

Simplify Your Dotfile Management With Gnu Stow

Learn how to manage and organize your dotfiles efficiently using GNU Stow. Simplify configuration with symlinks, version control, and easy portability for your zsh, tmux, Neovim, and more.

Loading…

Troubleshooting After And Before Pseudo Elements A Guide To Common Issues

Discover common issues with CSS ::after and ::before pseudo-elements and learn how to troubleshoot them. This guide explains key problems like missing content properties, using pseudo-elements on repl

Loading…

Understanding The Javascript Event Loop

Learn how JavaScript’s event loop, call stack, microtask queue, and macrotask queue work together to enable non-blocking asynchronous behavior in a single-threaded environment. Includes a visual diagram and code example.

Loading…

Using Is Operator In Typescript For Type Narrowing

Learn how to use the TypeScript is operator to create custom type guards, narrow union types, and improve type safety with practical examples.

Loading…

Using React Hook Form With Material Ui

Learn how to integrate React Hook Form with Material UI for efficient form handling in React. This guide covers how to use the Controller component to wrap MUI input fields, ensuring proper value trac

Loading…

Viewing Github Repositories In Visual Studio Code A Quick Guide

Discover how to easily open GitHub repositories in Visual Studio Code directly from your browser using GitHub.dev. This guide explains how to modify the GitHub URL by changing '.com' to '.dev' for a s