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

推荐订阅源

A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
aimingoo的专栏
aimingoo的专栏
B
Blog
博客园 - 聂微东
博客园_首页
D
DataBreaches.Net
F
Fortinet All Blogs
小众软件
小众软件
M
MIT News - Artificial intelligence
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
F
Full Disclosure
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 【当耐特】
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
G
Google Developers Blog
B
Blog RSS Feed
Attack and Defense Labs
Attack and Defense Labs
W
WeLiveSecurity
N
News | PayPal Newsroom
Recent Announcements
Recent Announcements
AI
AI
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
TaoSecurity Blog
TaoSecurity Blog
S
Security Affairs
Martin Fowler
Martin Fowler
Webroot Blog
Webroot Blog
P
Palo Alto Networks Blog
S
Schneier on Security
Latest news
Latest news

Simon Tatham

Simon Tatham (@simontatham@hachyderm.io) https://hachyderm.io/@simontatham/116902306686439329 https://hachyderm.io/@simontatham/116902305532212331 Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) https://hachyderm.io/@simontatham/116465646162193402 Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io) Simon Tatham (@simontatham@hachyderm.io)
https://hachyderm.io/@simontatham/116436356335059865
2026-04-20 · via Simon Tatham
In computing, one often says that two features (of a program or language or whatever) are 'orthogonal'. Often the implication is just that you can choose the setting of each feature separately – no setting of feature Foo is incompatible with Bar. But in mathematics, that concept sounds more like (linear) _independence_ than orthogonality. It's saying that you can independently choose where you are on the axis for feature Foo, and the one for feature Bar, and every possible pair of choices corresponds to a valid point in the configuration space. Orthogonality, in maths, is a stronger property than mere independence. What does it add? If a set of vectors {e₁,e₂,…} are orthogonal, and v is in their span, then you can find v's coefficient of e₁ by taking the dot product v . e₁. This formula works the same no matter what the other vectors are. In fact, you don't even need to _know_ what they are. Whereas if {e₁,e₂,…} are merely linearly independent, then you have to know _all_ of them before you can determine any component of v's representation. Any feature you don't know about can affect all the ones you do. So, how about this for a more precise pair of definitions in computing: Two features are _independent_ if feature Bar doesn't affect the *legal* settings of Foo. For example, But they're only _orthogonal_ if feature Bar doesn't even affect the *desirable* setting of Foo: a user who's only read about feature Foo and doesn't even know Bar exists should still be able to set Foo appropriately for their needs, and when someone comes along and sets Bar, the Foo setting is still sensible. Compiler optimisation settings are often independent but not orthogonal. Particularly the ones that trade space for time, like loop unrolling or function inlining. You can turn on either or both, or adjust each one's aggressiveness, but you have a finite space budget and must trade it off between the various space-consuming options. The more you unroll, the less you can afford to inline, and vice versa. But in 'grep', matching options like -i and output options like -3 *are* orthogonal. There's a right answer to whether I want 'grep foo' to match FOO as well, which doesn't at all depend on how I want to display the results.