惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
IT之家
IT之家
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
C
Cyber Attacks, Cyber Crime and Cyber Security
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
WordPress大学
WordPress大学
C
CXSECURITY Database RSS Feed - CXSecurity.com
F
Fox-IT International blog
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy & Cybersecurity Law Blog
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
F
Future of Privacy Forum
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recorded Future
Recorded Future
P
Proofpoint News Feed
O
OpenAI News
C
CERT Recently Published Vulnerability Notes
E
Exploit-DB.com RSS Feed
Spread Privacy
Spread Privacy
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
罗磊的独立博客
V
V2EX - 技术
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
N
Netflix TechBlog - Medium
AWS News Blog
AWS News Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
李成银的技术随笔
C
Cisco Blogs
SecWiki News
SecWiki News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
L
LINUX DO - 热门话题
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
Latest news
Latest news
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks

DEV Community

The SFMC Discovery Checklist We Run Before Touching the UI Hosting MCP Gateway Registry on AWS ECS: A Practical Blueprint for Enterprise Agentic AI Systems Google Antigravity 2.0: The IDE is Dead, Long Live the Agent Orchestra I built an AI agent that texts me LeetCode and system design summaries every morning, here's exactly how REAL-WORLD ASSETS TOKENIZATION : THE $10 TRILLION EVOLUTION Life is like a FTP Server I Built an "AI Meal Planner." It Almost Produced a Nutritionally Invalid Plan. Generate Claude Code skills from your git history Stop Fighting the DOM. Selector-First Thinking Will Save Your Scraper. Testing OTP email flows shouldn't be flaky — meet AssertKit Firebase AI Logic Is on the Client. Here Are the 4 Security Layers That Keep It Safe. The php-fpm Tuning Cheat Sheet: 5 Settings That Decide Your p99 SFMC Success Metrics That Survive the QBR Goal vs Exit Criteria in Journey Builder: Measure What Matters Why I Wrote 475 Tests for a Desktop Accounting App Stop Engineering Prompts: How an Eval-First Harness Let Us Ship 25 Algorithm Versions Autonomously Deux IA d'accord = une source : la règle qui m'a évité un pipeline bâti sur du vide Two AI reviews agreeing is not two reviews: how I learned to test claims before adopting them My agent could see the dropdown. It just couldn't pick anything. The Job Role Nobody Is Talking About and Why Freshers Should Get There First Why `mixed` Is the Worst Type in Your PHP Codebase (and How to Kill It) PHP Fibers in Production: 4 Real Cases Where They Beat curl_multi and Queues PHP 8.4 Asymmetric Visibility: 5 Patterns That Replace Constructors and Setters apt-mark hold doesn't pin versions — how it nearly removed OpenSSH across our fleet Getting Started with AWS — A Beginner Friendly Introduction I Built a Free Metal Weight Calculator — Here's the Math Behind It From Half Baked Repos to GitHub Glory: How I Am Finishing My Ambitious Ten App Masterpiece Aasa: The Phone That Finally Notices Why Fast Development Fails Without Strong Engineering Foundations Journey Builder vs Automation Studio: Which Tool for Which Job Dynamic Content Blocks: One Email, Different Content Per Tier Everyone's Talking About Gemini 3.5 Flash. The Real Story at Google I/O 2026 Was a Skill File. Enhancing the AI Blog System: SQLite Support and Streamlined Publishing Features I Fine-Tuned Gemma 4 on an Emotion Dataset Using a Single GPU Omnichannel inventory in D365: DOM + the Inventory Add-in File-Drop Automations: SFMC Pattern for Daily Imports Regression Testing in Agile: How to Test Without Slowing Down Your Sprints I build projects and manage teams without a single call Making a Calculator UI with HTML5 and CSS3 Full Next.js + Node.js + PostgreSQL Interview Task Setup Google’s Gemini Coding Demos Revealed the Slow Death of “Blank Page Programming” Verification Activity: SFMC Guard Against Empty Files Integrating Shopify with external systems: MVP connection choices Beyond RAG: Architecting Local Long-Context Pipelines with Gemma 4's 31B Dense Model KloudAudit vs AWS Cost Explorer: Why I Stopped Using Cost Explorer for Waste Detection Telegram: API bot access token Gemma 4 at the Edge AasPass: A lightweight, local-first password vault for developers Why Local AI Was the Real Winner of Google I/O 2026 (An Insider’s Take) Laravel Google Drive Filesystem: Unlimited Cloud Storage with Familiar Syntax When not to build an AI agent (and what to ship instead) What a real Sanity CMS development services proposal looks like Why hybrid search is the boring default we keep recommending I kept improving my .NET order pipeline after a CTO left feedback. Here is where it ended up. Why Developers go behind Linux ? Does Front End need HTML, CSS? - Part - 2 From Prompts to Action: What Gemini 3.5 Flash and the Agentic Stack Mean for Developers Does Front End need HTML, CSS? - Part - 1 The real attack surface for AI coding agents is the config file Chai aur SQL — A Beginner's Journey into Databases Find Your Route Source Score: Continuing Exploration of LLM Usage in Automated Workflows Tried using the Claude Platform on AWS Your Node.js Server is Using Just One CPU. Here's How to Fix It. 🚀 Google Antigravity 2.0 Quietly Changes What It Means to Be a Software Engineer Environment variables vs connection references in Power Platform Multi-BU D365 environment: single tenant, multiple LEs AI API Integration Testing Checklist for Multi-Model Apps ORA-00203 오류 원인과 해결 방법 완벽 가이드 Designing a Data Extension in SFMC: The Four Decisions First Kayrol — Day 0: Building AI highlight reels for athletes (in public) The Agony of Over-Engineered Operators: Why Simplicity Saved Our Treasure Hunt Engine Business Rules vs Power Automate vs Plugin: pick one Dataverse virtual tables on SQL: three latency patterns Comunicación y sincronización entre procesos distribuidos I let Gemma 4 analyze my credit card statements so I wouldn't have to Faithfulness gate: the agent layer most teams skip Centralized procurement D365: global address book + vendors Why I Can't Stop Thinking About Google's New A2A Protocol Perovskite cell scaps simulation analysis ¿Qué significan esas letras del CVSS? Guía para entenderlo de una vez scrcpy Integration in a Tauri App — Android Screen Mirroring on Mac Shopify theme editor: design tokens merchants can edit Dataverse security restructure: lessons applied too late Floatkit is live now!!! SimGemma: Democratizing STEM Education with Offline-First AI Simulations What to monitor in an AI agent before you launch (and after) The precedence rule deserves a name Diffusion Language Models Are Here: Deep Dive into NVIDIA's Nemotron-Labs DLM Architecture [Boost] I Still Remember the Day Our Server Stall Almost Killed the Product Launch AI Agents Need More Than Fact-Checking Evaluation & Benchmark Results 5 things `flutter_gemma` doesn't tell you about shipping Gemma 4 on Android How I Indexed 2,000 Claude Code Skills (And What the Install Data Says About AI Coding in 2026) Architecting Instant Micro-Loans: Data Pipelines and KYC Automation Bulk Rename Files from the Command Line with Python Virtual SOC Analyst This project was an absolute blast to build for the Hermes Agent Challenge. If you found the architecture layout or the local automation breakdown helpful, please drop a ❤️ or a 🦄 on the post! Let me know if you want me to write a follow-up guide specifi How I built a fully offline AI assistant on Android with Gemma 4 E2B
I was manually comparing two versions of a contract for 2 hours before I built this tool
Ubed Sheikh · 2026-05-24 · via DEV Community

A few months ago I was helping a friend review a revised freelance contract.

The client had "made a few small changes" - their words.

We had two PDF versions. No track changes. No diff. Just two documents that looked almost identical.

So we did what anyone does in that situation: opened both side by side and started reading. Line by line. Paragraph by paragraph.

Two hours later we found three changes. One of them was a payment clause that had been quietly reworded to cap late fees.

That experience stuck with me. Not because it was dramatic — but because it was completely avoidable.

The tools that exist weren't solving my actual problem

I knew diff checkers existed. I'd used them before for code.

But when I went looking for something that could handle:

  • Long-form text documents (not just code)
  • File uploads (not just paste)
  • URL comparison (compare two web pages directly)
  • Something that didn't upload my content to a server

I kept running into the same problems:

  • Most tools are built for developers comparing code, not people comparing documents
  • The ones that accepted files often uploaded them to external servers — not ideal for contracts or sensitive content
  • URL comparison either didn't exist or was buried behind a signup wall
  • The similarity score (how similar are these two texts, as a percentage?) was almost never shown

So I built my own.

What I focused on while building it

Browser-only processing. Everything runs in JavaScript inside your browser. No file ever touches a server. For contracts, legal documents, HR content — this matters.

Three comparison modes in one tool:

  • Paste text directly (Content A vs Content B)
  • Upload two files — TXT, CSV, JSON, HTML, MD, LOG
  • Paste two URLs and compare the live page content directly

Word-level diff, not just line-level. Most diff tools highlight entire changed lines. Word-level highlighting shows you exactly which word changed inside a sentence — much more useful for documents.

Similarity score. A percentage that tells you at a glance how similar two texts are. Useful when you need a quick sanity check before diving into the details.

Inline and side-by-side views. Some people prefer reading changes in flow. Others prefer the two-column comparison. Both are there.

One thing I didn't expect

URL comparison sounds simple. Fetch two pages, strip the HTML, compare the text.

It's not simple.

Cross-origin requests get blocked by a lot of websites. Some pages load content dynamically via JavaScript, which means a basic fetch only gets the shell. Others serve different content based on location, device, or login state.

I ended up building a best-effort URL comparison — it works well for most public pages, but I document the limitation clearly: if a site blocks cross-origin requests, text paste is the fallback.

Honest tools tell you what they can't do.

Who actually uses this (from real feedback)

I built it for my own problem, but the use cases that came back surprised me:

  • Writers comparing drafts before sending to editors
  • HR teams checking policy document versions
  • Developers comparing API response outputs during debugging
  • Students checking if two sources are too similar before submission
  • Anyone dealing with government or exam portals that return "updated" documents with no change log

That last one is very common in India specifically. Government portals update forms silently. You download a form, fill it out, then find out the portal has a newer version with different fields. A diff checker would have caught it in 10 seconds.

What I'm still working on

  • Better handling of tables inside documents (HTML table comparison is messy)
  • Export diff as PDF or HTML report
  • Bulk comparison across more than two files

If you've run into a specific comparison problem that existing tools don't handle well — I'd genuinely like to hear it in the comments.

Try it

If this sounds useful: Content Difference Checker

No signup. No file upload. Works in your browser.

What's the most frustrating "these two documents look the same but aren't" situation you've dealt with?

I'm asking because half of my feature ideas come from people describing problems I hadn't thought of. The contract story above came from a friend. The government form problem came from a comment on my last post. Curious what else is out there.