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

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
H
Heimdal Security Blog
Jina AI
Jina AI
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
S
Securelist
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
博客园 - 叶小钗
J
Java Code Geeks
V
V2EX
博客园 - Franky
Spread Privacy
Spread Privacy
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
NISL@THU
NISL@THU
罗磊的独立博客
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
V
Visual Studio Blog

Unsung

The surprising richness of GarageBand – Unsung “The pipeline of future experts is thinning from both ends.” – Unsung “It took months to find appliances that didn’t need apps to function.” – Unsung Day for night – Unsung “But obviously, that’s just silly stuff.” – Unsung Within or without – Unsung A few interesting modern pixel fonts – Unsung Google Docs shortcut onboarding – Unsung “Why pay for an orchestra when your computer can do it all?” – Unsung Lisa’s copy (and cut, and paste) – Unsung “This is a common tell in web apps, and we did a lot of work to eliminate it.” – Unsung Chrome’s abnormal tab search – Unsung “Some say it sounds like an alto saxophone.” – Unsung Shallow breathing – Unsung “If you just ignore those pesky impossible details, the demo looks deceptively simple.” – Unsung “Accents are an opportunity, not a burden.” – Unsung Less doesn’t need more – Unsung “Easy to use,” the hard parts – Unsung “We accepted this gradual bloat, but that’s not progress.” – Unsung Safari and system design, pt. 1 – Unsung “193 hours of attempts (and practice)” – Unsung Not a radio pharma ad – Unsung “Cryptic mode was born from a hard constraint.” – Unsung Speaking of wiggling the mouse – Unsung “This is where your mouse becomes a cryptographic instrument.” – Unsung Mailbag: Photoshop’s focus post – Unsung Rug pulled – Unsung Save For Web claws – Unsung “Nothing short of a magic trick” – Unsung “They did the bare minimum and moved on.” – Unsung A preview of the future – Unsung Peaked in 2015 – Unsung “There seems to be a file that is just filled with undecipherable Morse.” – Unsung “This was a user-friendly computer.” – Unsung “Watchmaker’s delicate precision and ornate mechanical intent” – Unsung “Traditionally, fonts were just shapes.” – Unsung “Who thinks about a screwdriver?” – Unsung The land where time stood still – Unsung The vision of persistence – Unsung The 1990s called and they want their dialog box back – Unsung “Have you ever been annoyed by your Mac’s media keys?” – Unsung Early names – Unsung Mouse pointer as a mere mortal – Unsung “Examining the changelog in its entirety would be a massive task, given that it was now over 200,000 words long.” – Unsung CleanShot’s onboarding via settings – Unsung The tortoise and the hare live on – Unsung “The Helvetica of music notation” – Unsung Photoshop’s challenges with focus, pt. 2 – Unsung About Unsung: Thanks for your feedback! – Unsung Book review: Shadow of the Colossus (Boss Fight Books) – Unsung UI art from 4096 – Unsung Tactical dark modes – Unsung What deserves a second chance – Unsung “The cheatsheet you won’t need.” – Unsung “That’s how floating point errors and triangle numbers solved a mystery.” – Unsung “Plain text has been around for decades and it’s here to stay.” – Unsung Abort, Retry, No, Thanks – Unsung “The deeper you look, the more it starts to feel like a platform.” – Unsung Out of touch – Unsung Recency bias (non-derogatory) – Unsung “You could key smash, and it would type out the thing.” – Unsung “The fancy software figures it out for you.” – Unsung Got your back, pt. 5 – Unsung If a feature falls in a forest – Unsung “The system is so twisted that even Apple itself begs for these reviews from its own apps.” – Unsung “It can be really disorienting to scroll around a fully monochrome hexdump.” – Unsung Raycast’s confetti cannon – Unsung The edge not taken – Unsung “Area connected to a given node in a multi-dimensional array with some matching attribute” – Unsung “Use links, don’t talk about them.” – Unsung Unsung @ 250: Please send me your feedback! – Unsung Unsung @ 250: Nine design details – Unsung Unsung @ 250: Goals and principles – Unsung “To build a thing that immediately feels like you’ve had it forever is very hard to do.” – Unsung “Should be no trouble at all for a driver to understand.” – Unsung Thoughtful file dropping in Wakamaifondue – Unsung “Rather than trying to fix this mistake, the developers leaned into it hard in the sequel.” – Unsung The beauty and the terror of oddly-specific commands – Unsung “We can have the best of all worlds.” – Unsung In search for a more precise cursor – Unsung “Deere charges six figures for a tractor. But the farmers were still the product.” – Unsung Is this the latest? – Unsung “So I wrote a script that takes monthly screenshots of Google and Apple Maps.” – Unsung Only time will tell – Unsung “Approximately 21 times the estimated age of the universe” – Unsung “We’re trying to copy this old machine, weirdness and all.” – Unsung “Software is a unique art because it is so reactive.” – Unsung Blink comparators in photo editing apps – Unsung “Prototyping turned into an excuse for not thinking” – Unsung “Every step they take, in every single direction, is right on top of a rake.” – Unsung “Subtle line between animations that help and animations that hurt” – Unsung Why do Macs ask you to press random keys when connecting a new keyboard? – Unsung “And if I were to end this story here, this would be a great story.” – Unsung “If you use your computer to do important work, you deserve fast software.” – Unsung “It moved too slowly to be an asteroid.” – Unsung Linear’s clever internal redesign UI – Unsung “I’m hoping that the listeners out there, when they hear it, they’ll feel seen.” – Unsung For your consideration: Tab to fix spelling – Unsung Anachronisms – Unsung Testing tip: Enable the zoom peek gesture – Unsung
“It’s rare that printing nothing at all is the best default behavior.” – Unsung
Marcin Wichary · 2026-06-20 · via Unsung

Aanand Prasad, Ben Firshman, Carl Tashian, and Eva Parish put together Command Line Interface Guidelines for people who write command-line tools.

I like that it harkens and links back to other writing, and is also pragmatic: shares good parameter-parsing libraries, commonly used options, and so on.

Here are some good principles that caught my attention:

Display output on success, but keep it brief. Traditionally, when nothing is wrong, UNIX commands display no output to the user. This makes sense when they’re being used in scripts, but can make commands appear to be hanging or broken when used by humans. For example, cp will not print anything, even if it takes a long time.

It’s rare that printing nothing at all is the best default behavior, but it’s usually best to err on the side of less.

By default, don’t output information that’s only understandable by the creators of the software. If a piece of output serves only to help you (the developer) understand what your software is doing, it almost certainly shouldn’t be displayed to normal users by default—only in verbose mode.

Catch errors and rewrite them for humans. If you’re expecting an error to happen, catch it and rewrite the error message to be useful. Think of it like a conversation, where the user has done something wrong and the program is guiding them in the right direction. Example: “Can’t write to file.txt. You might need to make it writable by running ‘chmod +w file.txt’.”

Signal-to-noise ratio is crucial. The more irrelevant output you produce, the longer it’s going to take the user to figure out what they did wrong. If your program produces multiple errors of the same type, consider grouping them under a single explanatory header instead of printing many similar-looking lines.

Consider where the user will look first. Put the most important information at the end of the output. The eye will be drawn to red text, so use it intentionally and sparingly.

Make it recoverable. If the program fails for some transient reason (e.g. the internet connection went down), you should be able to hit <up> and <enter> and it should pick up from where it left off.

There’s a lot more inside.

(The document is undated, but I believe the effort started in 2020. It seems to still be updated via GitHub, where you can also send in your suggestions.)