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

推荐订阅源

B
Blog RSS Feed
Spread Privacy
Spread Privacy
T
Threatpost
C
Cisco Blogs
P
Palo Alto Networks Blog
AI
AI
Cyberwarzone
Cyberwarzone
NISL@THU
NISL@THU
P
Privacy & Cybersecurity Law Blog
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
Latest news
Latest news
AWS News Blog
AWS News Blog
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
WordPress大学
WordPress大学
Vercel News
Vercel News
S
Securelist
爱范儿
爱范儿
J
Java Code Geeks
Know Your Adversary
Know Your Adversary
S
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
D
DataBreaches.Net
宝玉的分享
宝玉的分享
D
Darknet – Hacking Tools, Hacker News & Cyber Security
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
K
Kaspersky official blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
量子位
博客园_首页
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
腾讯CDC
T
Threat Research - Cisco Blogs
雷峰网
雷峰网
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
S
Security Affairs

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Outlook on Windows silently scales your email by 1.5×
2026-05-10 · via Hacker News

We sent a tidy 600-pixel-wide newsletter on a Wednesday. By Friday, support had a folder labeled my email looks giant. The complaints clustered on Windows, in Outlook, with no pattern across versions. The screenshots all showed the same thing: the hero, the buttons, the spacing — every dimension scaled up by what looked like exactly 50%.

Six hours and a borrowed Surface laptop later, we had it. Every complaining recipient had their Windows display scaling set to 125% or 150%. That setting — three clicks deep in Settings > Display — quietly rewrites pixel arithmetic inside Microsoft Word's HTML rendering engine, which is the engine Outlook on Windows still uses for email.

What's actually happening

When Word interprets an HTML email, it doesn't treat width="600" as 600 CSS pixels. It treats it as a physical dimension and applies the system DPI factor. On a 96 DPI display (the “100% scaling” default nobody has anymore) 600 stays 600. At 125% scaling it becomes 750. At 150% it becomes 900. Your carefully laid-out 600px email is now 900px wide and overflowing into Outlook's reading pane.

Width attributes get scaled. Height attributes get scaled. Inline style="width:600px" gets scaled. VML shapes get scaled. The one thing that doesn't get scaled is text — because text has its own DPI handling — so a hero image grows but the headline next to it doesn't. The result is the uncanny look of an email designed by two agencies who never spoke.

The fix is older than Gmail

Buried in the Office OOXML spec, there's a flag that tells Word to stop. You set it through an XML namespace declared in 1996, wrapped inside an MSO conditional comment introduced in 2007:

<!--[if gte mso 9]>
<xml>
  <o:OfficeDocumentSettings xmlns:o="urn:schemas-microsoft-com:office:office">
    <o:PixelsPerInch>96</o:PixelsPerInch>
  </o:OfficeDocumentSettings>
</xml>
<![endif]-->

The conditional limits the block to Outlook 2000 and up; every other client treats it as an HTML comment and ignores it. The OfficeDocumentSettings namespace pins Word's internal DPI to 96, which short-circuits the multiplication. Once it's in your <head>, the email stops growing.

There is no Microsoft documentation page for this fix. There is a Litmus blog post from 2016, a couple of Stack Overflow threads, and the word-of-mouth folklore of email developers. It works. Nobody seems to know why it isn't the default.

Three other things you might be debugging right now

While we're here, a quick tour of the rest of the haunted house:

  • Apple Mail turns dates into calendar links. Write “Sale ends May 5” in your campaign and iOS Mail wraps “May 5” in a tappable suggestion that opens a create-event sheet. The override styling is bright blue with an underline, ignoring whatever colors you set. The lid: <meta name="format-detection" content="date=no,telephone=no,address=no"> — though some macOS Mail versions still detect through it. Apple is also extremely confident about flight numbers and package tracking codes, so “UA 219 boards at 9:15” becomes two separate suggestions.
  • Outlook freezes your GIF on the first frame. Animated GIFs are not animated in Outlook 2007 through 2019. You see frame zero, full stop. If your loop's payoff (“SUBSCRIBE!”) is at frame 30, Outlook recipients see a blank rectangle. Always design frame zero as the fallback.
  • Yahoo Mail's mobile web view strips <style> blocks. Anything in your <head> stylesheet vanishes; only inline style="..." attributes survive. Hover rules, media queries, dark-mode overrides — all gone. Build for the lowest common denominator and inline everything.

The pattern

Every quirk above shares a shape: a feature that made sense in some other product — Word's DPI awareness, iOS's data detection, Yahoo's style sanitizer — doing its job in a context where the job is wrong. Email isn't a platform. It's twenty platforms quietly disagreeing about how to interpret HTML 4.01.

The way out is to use less HTML, not more. The smaller the surface you hand to email clients, the fewer corners they can cut in different directions. A pixel grid built from <td bgcolor="..."> cells uses no images, no fonts, no remote assets, and — crucially — almost no widths that the Word engine can multiply. The colors render on first paint, identically, on every client we've tested.

That's the technique behind picmel. Drop in a logo or a product shot, get back HTML that goes out the door without surprises. There's nothing for Outlook to scale when there are no widths to scale.