Notes from from Butterick's Practical Typography

2026/04/02 23:25

Notes from from Butterick's Practical Typography

RSS: https://news.ycombinator.com/rss

要約

本文

I’ve just refreshed Butterick’s Practical Typography. The first time I read it was a couple of years ago and I’ve surely forgotten a bunch since. Here are a few thoughts I had during this read-through.

Typography is like theater

Butterick cites three principles from The Elements of Typographic Style:

Good typography is measured by how well it reinforces the meaning of the text, not by some abstract scale of merit. Typographic choices that work for one text won’t necessarily work for another. Corollary: good typographers don’t rely on rote solutions. One size never fits all.

For a given text, many typographic solutions would work equally well. Typography is not an algebra problem with one correct answer.

Your ability to produce good typography depends on how well you understand the goals of your text, not on taste or visual training. Corollary: if you misunderstand the goals of your text, good typography becomes purely a matter of luck.

What is good typography?

The three principles read exactly like theater to me. A play is just a way of presenting the script—so is the printed page. Different language, same goals, and the same three principles apply. To paraphrase:

Good acting is measured by how well it reinforces the meaning of the text. A distant, stone-hearted Romeo would just confuse the audience.

For a given play, many acting choices would work equally well. A Romeo who’s impulsive comes across very differently from Romeo who’s both seductive and desperate. Both choices work.

Your ability to make good choices as an actor depends on how well you understand what the playwright meant. Anthony Hopkins famously reads his lines 250 times to understand and internalize every single word.

Things that stood out to me

This blog needs a typographical refresh.

Show, don’t tell. The entire book shows visual examples of good and bad typesetting side by side. When HTML falls short, it uses SVG with fonts rendered as elements to give every reader the same reading experience regardless of their device or installed fonts. That’s a really good use of SVG.

Mac shortcuts for curly quotes:

„” pair is produced with option + [ and option + shift + [.

‚’ pair is produced with option + ] and option + shift + ].

(bonus) • is produced with option + 8.

Optional hyphens are a thing. In HTML, that’s ­ (s for soft, hy for hyphen). The browser only breaks the word there if it needs to.

Letterspacing vs. kerning. Letterspacing adjusts the space between every pair of letters—useful for all caps and small caps, available via CSS letter-spacing. Kerning adjusts only specific pairs built into the font, available via CSS text-rendering: optimizeLegibility.

Butterick choice of capitalizing the links was highly illegible to me. I was briefly confused every time I saw a link in the middle of a sentence. Also, I couldn’t visually scan the page for links the way I normally do. I’d rather use color or underline—which Butterick advises against!

This science paper looks less legible to me after Butterick’s proposed changes—except for the double spaces. I really wish people would stop using double spaces after sentences.

This quote sent me back on a nostalgic path to 2000s, when tables and floating were the two tools we’ve had for positioning elements on websites: For layouts where text needs to be positioned side-by-side or floating at specific locations on the page. If making these is frustrating with the usual layout tools, try using a table.

Your selection of borders can either support your tables or absolutely destroy their legibility. I’ve seen a similar visual in many places and I still love it. A thick border steals attention from the content. A minimal border supports comprehension by separating cells without obstructing the view.

This point is nicely supported with creative typesetting.

Typewriter habits we should let go of in the age of computers.

Butterick on 960 grid-based designs: „if you take ugly shit and align it to a grid—it’s still ugly shit.” This is not how I would phrase it, but I won’t disagree.

A closing word

This is a good impulse to refresh this blog. I’ve meant to do it for a while, but never gotten to it. Luckily this time, I’m equipped with the WordPress site importer I’m building. I’ll clone this site locally, update it with Claude, and then bring back those changes to the live site. We’ll see how that goes!

In any case, go read Practical Typography! Here’s are a few related books I’ve read and valued:

The Elements of Typographic Style by Robert Bringhurst

Elements of Style by Strunk & White

Type Rules! by Ilene Strizver

About Face by David Jury

同じ日のほかのニュース

一覧に戻る →

2026/04/05 4:39

Microsoft は現在、**「Copilot」という名称を冠した主力製品が4つあります。** | # | 製品 | 主な機能 | |---|------|-----------| | 1 | **GitHub Copilot** | Visual Studio Code、GitHub.com、その他の IDE で開発者向けに AI がコード補完を行うサービス。 | | 2 | **Microsoft 365 Copilot** | Word・Excel・PowerPoint・Outlook・Teams 等の Office アプリ内で、メール作成や文書作成、プレゼンテーション制作、データ分析などを支援する統合アシスタント。 | | 3 | **Power Platform Copilot** | Power Apps、Power Automate、Power Virtual Agents の AI 強化機能。自然言語で入力した内容をアプリロジックやフロー、チャットボットへと変換します。 | | 4 | **Dynamics 365 Copilot** | Dynamics 365 スイート全体(営業・顧客サービス・財務・運営など)において、文脈に応じた AI アシスタントが機能を補完します。 | Azure 内の「Copilot」ツール(例:Azure OpenAI Studio など)やその他ニッチな製品もありますが、上記4つが Copilot ブランドを掲げる主要商用製品です。

## Japanese Translation: **要約:** マイクロソフトは、現在「Copilot」という名称を自社エコシステム内の少なくとも75個の異なる製品・サービス・機能に使用しています。著者は、単一の情報源がすべての事例を列挙していないため、製品ページ、ローンチアナウンス、およびマーケティング資料を精査しながらこのリストを作成しました。この「Copilot」は、アプリや組み込みAIヘルパーからキーボードキー、ノートパソコンライン全体、さらには開発者が独自のCopilotを作成できるツールまで多岐にわたり、マイクロソフト製品群内でブランドがどれほど浸透しているかを示しています。読者がこの複雑な環境をナビゲートしやすくするため、各Copilotをカテゴリ別にグループ化し、それらの間のリンクを表示した視覚的マップを作成しました。このインタラクティブ図は、個々の項目をクリックして相互関係を見ることができるため、マイクロソフトの戦略を明確にし、企業や開発者にとって統合機会を浮き彫りにする可能性があります。

2026/04/04 19:26

**「極めてシンプルな自己蒸留でコード生成性能を向上させる」**

## Japanese Translation: (欠落していた詳細を追加したもの)** Self‑distillation(SSD)は、外部検証や強化学習を用いずに、自身のサンプリング出力で微調整することでLLMのコード生成精度を向上させる軽量手法です。Qwen3‑30B‑Instruct に適用すると、SSDは LiveCodeBench v6 の pass@1 を 42.4 % から 55.3 % に引き上げ、特に難易度の高いコーディングタスクで最大の改善を示しました。Qwen と Llama モデル(サイズ 4B、8B、30B)のインストラクションスタイルとシンキングスタイル両方で同様の向上が観測されました。技術は温度0.9で解答をサンプリングし、最初の512トークンで切り捨てた後、そのサンプルに対して標準的な教師付き微調整を行います。SSD の効果は、文脈依存でトークン分布を再構築することで、精度と探索性の矛盾を解決できる点に起因します。高い精度が必要な際には注意喚起トレイルを抑制し、探索中には多様性を保持します。コストのかからないポストトレーニング拡張として、RLや人間による検証を回避できるSSDは、他のLLMがコード生成性能を向上させ、ソフトウェア開発ツールや教育への広範な展開を促進する魅力的な選択肢となります。

2026/04/04 23:53

**Show HN: TurboQuant‑WASM ― ブラウザ上で動く Google のベクトル量子化**

## Japanese Translation: (以下は日本語訳です) ## Summary この記事では、**botirk38/turboquant** の新しい実験的 WebAssembly ビルドを発表しています。これは npm パッケージ `turboquant-wasm` として配布されます。このビルドは Zig 0.15.2 と Bun ツールチェーンのおかげで、Web ブラウザと Node.js の両方で動作します。WASM バイナリは緩和された SIMD 命令セット(`@mulAdd FMA → f32x4.relaxed_madd`)を使用し、ベクトル化された QJL 符号のパッキング/アンパックとスケーリングを実現します。簡易 TypeScript API(`TurboQuant.init()`、`encode()`、`decode()`、`dot()`)により、開発者は高次元ベクトルを圧縮しつつ内積精度を保持できます;出力は金額値テストで検証され、オリジナルの Zig 参照と完全に一致します。 主な技術的詳細: - **実行環境要件**:Chrome 114+、Firefox 128+、Safari 18+;Node.js 20+。 - **圧縮性能**:1024 次元ベクトルで約 4.5 ビット/次元(約 6 倍圧縮)。 - **ドット積精度**:`dot()` はデコードせずにドット積を計算し、単位ベクトルで dim = 128 の場合、平均絶対誤差 < 1.0。 リリースは Google Research の TurboQuant 論文(ICLR 2026)を基盤としており、botirk38/turboquant のオリジナル Zig 実装に感謝しています。将来のアップデートではブラウザ/Node.js サポートの拡大や、より高い次元での圧縮率・誤差メトリックの改善が期待されます。Web とサーバー環境で効率的かつ忠実なベクトル圧縮を可能にすることで、`turboquant-wasm` は開発者が帯域幅とストレージ負荷を削減しながら計算精度を維持できるよう支援します。