Why Tiling Window Managers Don’t Quite Work on macOS?
Over the years, I’ve tried several tiling window managers on macOS, including yabai (28.3k stars) and Aerospace (19.2k stars). First, I want to acknowledge the incredible work their developers have done. These tools are ambitious, technically…
Posts by Umar
Evaluating PDF Readers: What Works, What Doesn’t
When it comes to reading and working with PDFs, most applications cover the basics—open a file, read it, search through it, maybe highlight a few lines. But if you work with long documents, technical papers, or research material, you quickly realise…
svelte-lexical is a rich-text editor for Svelte based on the text editor framework Lexical ✍️ - madewithsvelte.com/svelte-lexical
Foot vs Ghostty – Memory Consumption
I use Ghostty as my primary terminal emulator. I’ve never had any issues with it—it's fast and displays icons and images flawlessly. While Alacritty, Kitty, and WezTerm have all pushed terminal emulation forward, each has a few weak spots that Ghostty addresses…
BosGame M4Neo Mini PC – Thermal Management
I recently purchased the BosGame M4Neo Mini PC, and so far it has been an impressive little machine. Its compact design fits perfectly on my limited desk space, yet it still delivers strong performance. The AMD Ryzen 7 processor handles multitasking…
Svelte State: Deep Reactivity, Proxies, and Snapshots
One of the most powerful features in Svelte 5's new reactivity system is deep reactivity. At first glance, it feels magical: wrap an object in state(), and suddenly every nested property, array, and child object becomes reactive. But under the…
Comparing IDEs – Part 5 -Zed: The Promising Newcomer
This is fifth post of the 5 part series: VScode - leader of the pack NeoVim - modal editing experience VSCode with Vim extension - the allure of vim bindings in VSCode WebStorm - the premium editing experience Zed - the newcomer A Fresh Approach…
Comparing IDEs – Part 4 -WebStorm: Polish, Power, and Limitations
A Premium IDE Experience WebStorm represents the premium end of the IDE spectrum—a polished, feature-rich environment specifically designed for web development. When working with TypeScript, CSS, and related technologies, WebStorm…
Comparing Modern IDEs – Part 3: VSCode with Vim extension
The Allure of Vim Keybindings in VS Code After discussing Neovim as a standalone editor, let's examine another approach: using Vim-style editing within VS Code through extensions. For those who appreciate Vim's keyboard-centric editing but…
Comparing Modern IDEs: A Developers Guide (Part 2: NeoVim)
Introduction to Modal Editing At the opposite end of the spectrum from our previous topic is Neovim, a text editor that emphasises keyboard-focused interaction rather than mouse-driven operations. Neovim features an extraordinary approach…
Comparing Modern IDEs: A Developer’s Guide (Part 1 – VS Code)
In this five-part series, I'll compare four popular Integrated Development Environments (IDEs): Visual Studio Code, JetBrains WebStorm, NeoVim, and Zed. Each offers unique advantages for different development workflows, but let's start…
Released svelte-lexical 0.6.2: diff in code block
svelte-lexical 0.6.2 brings support for code diff inside a code block. You can get into the diff mode by using the markdown shortcut (```diff-javascript) followed by the space key. There is also support for creating tables using the markdown…
Svelte: Maintaining state of hidden components
In a complex UI, we often need to hide components—for example, switching between tabs, showing a modal, or collapsing a section. In Svelte, the natural way to conditionally render is with an if block: {#if showComponent} {/if} But there’s a…
Taking advantage of fine-grained reactivity in #Svelte
Thanks for having me on @paolo.ricciuti.me
Released svelte-lexical 0.6.0 – Dark mode & Embed videos/tweets
Release 0.6.0 has a bunch of exciting new features and several bug fixes. See the GitHub release page for the complete change log. Dark Mode Finally, we have support for dark mode out-of-the-box. There are three themes to choose from:…
Svelte Reactivity : Beyond the basics
Svelte 5 introduces a powerful and refined reactivity system that gives developers greater control and clarity. In this post, we’ll explore the key concepts behind Svelte 5’s reactivity model, from derived values to tracking rules and best practices. $derived…
Released svelte-lexical 0.5.3: new documentation website
This release introduces a new documentation website developed using Startlight that is an Astro framework template for creating documentation sites. Breaking change breaking: refactor font size update methods New Features feat: export all…
svelte-lexical: Released version 0.5.1
We've just released v0.5.1 of svelte-lexical, featuring important bug fixes and a default theme included in the npm package. The default theme makes it more convenient to include the default theme for the editor and shell in your project. Instead of copying…
Broken for me as well
Tree-Shaking CSS in a Vite project
Optimizing code delivery is crucial when building modern web applications to ensure faster load times and better performance. One common optimization technique is tree-shaking, where unused code is eliminated from the final bundle. It is easier to achieve for…
Upgraded #svelte-lexical to #svelte 5.
Kudos to the Svelte team for making such a major migration so easy. This must have required a lot of hard work. @svelte.dev @sveltesociety.dev umaranis.com/2025/01/01/u...
Icon libraries for developers
Here are some of the largest icon libraries: Library Number of Icons License Description 1.3+ Million - PNG: free with attribution- SVG: 15$ / month for 100 icons Each Icon is available in 47 different styles 226K+ Open Source - Consolidate icons from other…