Hi everyone, my name is P Swyom Sanjog. Welcome back to my blog—I hope you’re all doing well. Today, I’m bringing a new topic: Virtual DOM. Let’s understand what the Virtual DOM is in simple terms. We’ll cover key questions like what it is, why it’s used, and how it works. So, let’s get started! Virtual Dom So, let’s break down the topic into “Virtual” and “DOM.” Virtual means something that exi
Your phone will connect to the strongest tower it hears. It does not ask for ID first. It assumes trust, and that assumption is the entire problem. I first noticed this in 2019 outside a security conference in Las Vegas. My test Android dropped from LTE to 2G for 47 seconds, then returned to normal. No user notification. The baseband logs showed a cipher downgrade to A5/0, a location area code tha
On April 30, 2026. I posted an update after 3 years explaining what I was doing and what new thing I have been working on. And In that I mentioned how AI has made frontend development robotic. Same design, same colors, same animation. It's as if software has lost all the personality and character that it had. I originally fell in love with web development because it gave developers a power create
If you've ever searched your own product and seen a competitor recommended by an AI assistant instead, you already understand why AEO matters. Answer Engine Optimization (AEO) is the practice of making your site legible, trustworthy, and citable to AI systems like ChatGPT, Claude, Gemini, Perplexity, and Deepseek. It's not magic. It's mostly technical and structural decisions you can either get ri
The Problem: We Were Flying Blind At Refer, we're on a mission to enable talented individuals to fulfill their professional potential by helping them pursue their ideal job. Behind the scenes, that means a lot of microservices, and recently we decided to consolidate everything into a mono-repository. If you've ever migrated dozens of microservices into a monorepo, you know the drill: contracts b
The Problem If you are building AI applications with LLMs, you know the pain: raw HTML is useless for training data. You need clean, structured Markdown. Most solutions like Firecrawl or Crawl4AI require setup, dependencies, and often paid plans. You could write your own parser: import re import urllib.request def html_to_markdown(url): html = urllib.request.urlopen(url).read().decode()
I audited 14 Shopify themes last quarter for speed. 11 of them blamed apps. None had touched Liquid loop count, capture-in-loop allocations, or image output. After optimizing 100+ Shopify stores over 12 years: the code-level patterns in your theme files account for 40-60% of total render time. Apps matter. Images matter. The template layer is where the compounding problems live. Here are the 5 Liq
This technical post walks through the design and implementation of Secure Playground: a local web app that simulates prompt-injection attacks against large language models and demonstrates simple defenses. Provide a minimal, reproducible environment to test payloads and defensive strategies. Make it easy to add new providers and run mutation-based red-team experiments. Offer a leaderboard and scor