eleven / ocho Public

web: a near-400 quote library, shipped server-side and cached locally (#835)

* web: assemble the boot cover in stages, each earning its dwell

The local message store (#457) made most boots near-instant, which turned
the boot cover's quote into a flash yanked away mid-fade. The cover now
assembles in stages, each opening only if the app is STILL loading when the
previous one has had its look: a bare spinner; at 500ms the brand fades in
(350ms); after a 500ms beat, a quote; after its fade (2200ms) + 1000ms read,
the smoke and lights. Entering a stage commits the cover to staying up long
enough for that stage to be seen (the new pure coverWait helper, Node-tested)
— a boot that finishes mid-assembly freezes it where it stands and pays only
the dwell owed, and only a boot that reached the full scene earns the punch
to eleven (which now also waits out the smoke's own fade-in). Rolling quotes
keep their existing per-card read guarantee (MIN_READ = fade + 1000ms).

finishBootScene is now truly idempotent — repeat hideLoading calls (the
cached-paint path calls it twice) report the remaining hold instead of 0, so
a second caller can't cut the first one's dwell short. Reduced motion gets
the same stages as snaps instead of fades, drawn as the one considered still.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* web: a near-400 quote library, shipped server-side and cached locally

The boot deck grows from 45 embedded quotes to 387 in /static/quotes.json
(32KB in the binary via the existing web/static embed) — more communication
firsts, letters, proverbs from around the world, film lines, and
loading-appropriate wisdom, misattributions hedged. The embedded 45 stay as
the starter deck (first boot, offline); the full library is fetched in the
background and cached in localStorage, so every boot after the first holds
the whole deck synchronously — the quote stage never waits on the network.
The persisted shuffle order already reshuffles when the library size changes,
so the 45→387 upgrade is seamless, and no quote repeats until all 387 played.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell c602b1a986cd21a007a8c54985b54be465798e7f parent 3118479
4 files changed, +466 −4
  • changelog/2026-07-13-quote-library.md +4 −0
  • test/bootscene.test.mjs +25 −1
  • web/static/bootscene.js +48 −3
  • web/static/quotes.json +389 −0
diff --git a/changelog/2026-07-13-quote-library.md b/changelog/2026-07-13-quote-library.md
new file mode 100644
index 0000000..e211266
--- /dev/null
+++ b/changelog/2026-07-13-quote-library.md
@@ -0,0 +1,4 @@
+🤖 The loading screen's quote collection grew from 45 to nearly 400 — more
+letters, first messages, proverbs from around the world, and lines worth the
+wait. You still never see the same quote twice until the whole library has
+played.
diff --git a/test/bootscene.test.mjs b/test/bootscene.test.mjs
index e36c6fc..7b6d56d 100644
--- a/test/bootscene.test.mjs
+++ b/test/bootscene.test.mjs
@@ -1,7 +1,8 @@
// Tests for the boot scene's pure timing/geometry (the light's band math, the
// quote fade envelope, the staged cover's dwell guarantees). node test/bootscene.test.mjs
import assert from "node:assert/strict";
-import { BANDS, bandLight, quoteOpacity, finishWait, coverWait } from "../web/static/bootscene.js";
+import { readFileSync } from "node:fs";
+import { BANDS, bandLight, quoteOpacity, finishWait, coverWait, validQuoteLib } from "../web/static/bootscene.js";
let failures = 0;
async function test(name, fn) {
@@ -106,4 +107,27 @@ test("staged cover: an entered quote gets its fade plus a read, subsuming the br
assert.equal(coverWait(null, 0), 3200, "the quote's guarantee stands on its own");
});
+test("validQuoteLib accepts only a real library", () => {
+ const good = Array.from({ length: 25 }, (_, i) => [`quote ${i}`, `who ${i}`]);
+ assert.ok(validQuoteLib(good));
+ assert.ok(!validQuoteLib(null), "null");
+ assert.ok(!validQuoteLib("[]"), "a string");
+ assert.ok(!validQuoteLib([]), "empty");
+ assert.ok(!validQuoteLib(good.slice(0, 10)), "too small to be the library");
+ assert.ok(!validQuoteLib(Array.from({ length: 25 }, () => ["text only"])), "pairs missing an attribution");
+ assert.ok(!validQuoteLib(Array.from({ length: 25 }, () => ["", "who"])), "empty quote text");
+});
+
+test("the shipped library is valid, generous, and deduped", () => {
+ const lib = JSON.parse(readFileSync(new URL("../web/static/quotes.json", import.meta.url), "utf8"));
+ assert.ok(validQuoteLib(lib), "shape: an array of [text, attribution] pairs");
+ assert.ok(lib.length >= 300, `to-a-human enormous: only ${lib.length} quotes`);
+ const texts = new Set(lib.map((q) => q[0]));
+ assert.equal(texts.size, lib.length, "no duplicate quote texts");
+ for (const [text, attr] of lib) {
+ assert.ok(text.length <= 240, `fits the card: "${text.slice(0, 50)}…" is ${text.length} chars`);
+ assert.ok(attr.length <= 120, `attribution fits: "${attr.slice(0, 50)}…"`);
+ }
+});
+
process.exit(failures ? 1 : 0);
diff --git a/web/static/bootscene.js b/web/static/bootscene.js
index 61c2609..e5c9a44 100644
--- a/web/static/bootscene.js
+++ b/web/static/bootscene.js
@@ -89,6 +89,12 @@ export function coverWait(brandAgeMs, quoteAgeMs) {
// Something to actually read while the green drifts. The deck order and a
// pointer persist in localStorage, so a member never meets the same quote
// twice until the whole library has played.
+//
+// This embedded deck is only the STARTER — enough for the very first boot and
+// for offline. The full library ships as /static/quotes.json (small on disk,
+// enormous to a human) and is cached in localStorage, so every boot after the
+// first holds the whole deck synchronously: the quote stage can't wait on a
+// fetch.
const QUOTES = [
["From each according to his ability, to each according to his needs.", "Karl Marx"],
["These go to eleven.", "Nigel Tufnel — This Is Spinal Tap"],
@@ -137,6 +143,43 @@ const QUOTES = [
["Good night, and good luck.", "Edward R. Murrow"],
];
+// A fetched or cached library is adopted only if it really is one: a
+// non-trivial array of [text, attribution] string pairs.
+export function validQuoteLib(lib) {
+ return (
+ Array.isArray(lib) &&
+ lib.length >= 20 &&
+ lib.every((q) => Array.isArray(q) && typeof q[0] === "string" && q[0].length > 0 && typeof q[1] === "string")
+ );
+}
+
+let LIB = QUOTES; // the deck in play — upgraded to the full library below
+const LIB_KEY = "lchat_boot_quote_lib";
+let libLoadStarted = false;
+function loadQuoteLib() {
+ if (libLoadStarted) return;
+ libLoadStarted = true;
+ try {
+ const cached = JSON.parse(localStorage.getItem(LIB_KEY) || "null");
+ if (validQuoteLib(cached)) LIB = cached;
+ } catch {}
+ // Refresh in the background whenever the shipped file changed. Adopting it
+ // mid-boot just reshuffles the deck on the next deal (nextQuote sees the
+ // length change) — only ever the first boot, before the cache exists.
+ fetch("/static/quotes.json")
+ .then((r) => (r.ok ? r.json() : null))
+ .then((lib) => {
+ if (!validQuoteLib(lib)) return;
+ const s = JSON.stringify(lib);
+ if (s === JSON.stringify(LIB)) return;
+ try {
+ localStorage.setItem(LIB_KEY, s);
+ } catch {}
+ LIB = lib;
+ })
+ .catch(() => {});
+}
+
const QUOTES_KEY = "lchat_boot_quotes";
// Deal the next quote: a persisted shuffled order + pointer, reshuffled when
// the library exhausts (or when it grows — a stale order is just reshuffled).
@@ -145,15 +188,15 @@ function nextQuote() {
try {
state = JSON.parse(localStorage.getItem(QUOTES_KEY) || "null");
} catch {}
- if (!state || !Array.isArray(state.order) || state.order.length !== QUOTES.length || state.i >= state.order.length) {
- const order = QUOTES.map((_, i) => i);
+ if (!state || !Array.isArray(state.order) || state.order.length !== LIB.length || state.i >= state.order.length) {
+ const order = LIB.map((_, i) => i);
for (let i = order.length - 1; i > 0; i--) {
const j = (Math.random() * (i + 1)) | 0;
[order[i], order[j]] = [order[j], order[i]];
}
state = { order, i: 0 };
}
- const q = QUOTES[state.order[state.i]] || QUOTES[0];
+ const q = LIB[state.order[state.i]] || LIB[0];
state.i++;
try {
localStorage.setItem(QUOTES_KEY, JSON.stringify(state));
@@ -310,6 +353,7 @@ function poseBootCover() {
session = localStorage.getItem("lchat_session");
} catch {}
if (!session) return;
+ loadQuoteLib(); // the full deck, from cache now and the server in the background
const reduced = matchMedia("(prefers-reduced-motion: reduce)").matches;
chrome = { t0: performance.now(), brandAt: null, qStart: null, quote: null, phase: "climb", els: coverEls(), reduced, fade: 0, raf: 0 };
poseBranding(cover);
@@ -340,6 +384,7 @@ export function startBootScene() {
: { comp: "source-over", neutral: [74, 74, 80], neutralA: 0.34, leds: LEDS_LIGHT, glowA: 0.34, spillA: 0.26, mote: [12, 12, 16], moteDark: true };
poseBranding(cover); // no-op when the chrome stage already did it
+ loadQuoteLib(); // ditto — poseBootCover normally beat us to it
const shapes = Array.from({ length: 6 }, () => makePuffShape(256));
const sprites = shapes.map((s) => ({ neutral: tinted(s, room.neutral), lit: room.leds.map((c) => tinted(s, c)) }));
diff --git a/web/static/quotes.json b/web/static/quotes.json
new file mode 100644
index 0000000..2067b8a
--- /dev/null
+++ b/web/static/quotes.json
@@ -0,0 +1,389 @@
+[
+["From each according to his ability, to each according to his needs.", "Karl Marx"],
+["These go to eleven.", "Nigel Tufnel — This Is Spinal Tap"],
+["It's such a fine line between stupid and clever.", "David St. Hubbins — This Is Spinal Tap"],
+["Have a good time, all the time.", "Viv Savage — This Is Spinal Tap"],
+["How much more black could this be? And the answer is none. None more black.", "Nigel Tufnel — This Is Spinal Tap"],
+["You can't really dust for vomit.", "Nigel Tufnel — This Is Spinal Tap"],
+["I believe virtually everything I read.", "David St. Hubbins — This Is Spinal Tap"],
+["Roads? Where we're going, we don't need roads.", "Doc Brown — Back to the Future"],
+["Your future is whatever you make it. So make it a good one.", "Doc Brown — Back to the Future Part III"],
+["If you put your mind to it, you can accomplish anything.", "Marty McFly — Back to the Future"],
+["Great Scott!", "Doc Brown — Back to the Future"],
+["Nobody calls me chicken.", "Marty McFly — Back to the Future"],
+["Be excellent to each other.", "Bill & Ted's Excellent Adventure"],
+["Strange things are afoot at the Circle K.", "Ted — Bill & Ted's Excellent Adventure"],
+["Wherever you go, there you are.", "Buckaroo Banzai"],
+["Only connect!", "E. M. Forster — Howards End"],
+["Mr. Watson — come here — I want to see you.", "Alexander Graham Bell, the first telephone call, 1876"],
+["What hath God wrought", "Samuel Morse, the first telegraph message, 1844"],
+["LO", "The first message on the ARPANET, 1969 — it crashed before the G of LOGIN"],
+["QWERTYUIOP", "Ray Tomlinson, possibly the first email, 1971"],
+["Merry Christmas", "Neil Papworth — the first text message, 1992"],
+["S", "Guglielmo Marconi's first transatlantic radio signal — three dots crossing an ocean, 1901"],
+["Mary had a little lamb.", "Thomas Edison — the first recorded words, 1877"],
+["Hello from the children of planet Earth.", "The Voyager Golden Record, leaving the solar system since 1977"],
+["?", "Victor Hugo's entire telegram to his publisher, 1862. The reply: ! (as the story goes)"],
+["Wait a minute, wait a minute, you ain't heard nothin' yet!", "Al Jolson — the first words in a talking picture, 1927"],
+["We came in peace for all mankind.", "The plaque left on the Moon, July 1969"],
+["That's one small step for man, one giant leap for mankind.", "Neil Armstrong, live to six hundred million people, 1969"],
+["Houston, we've had a problem.", "Jim Lovell — Apollo 13, 1970"],
+["Hello, world.", "Every program's first words, since 1972"],
+["This is London calling.", "The BBC, across the wartime airwaves"],
+["just setting up my twttr", "Jack Dorsey — the first tweet, 2006"],
+["The medium is the message.", "Marshall McLuhan"],
+["What we've got here is failure to communicate.", "Cool Hand Luke"],
+["Help me, Obi-Wan Kenobi. You're my only hope.", "Princess Leia, by hologram — Star Wars"],
+["E.T. phone home.", "E.T."],
+["More than kisses, letters mingle souls; for, thus friends absent speak.", "John Donne"],
+["This is my letter to the world, that never wrote to me.", "Emily Dickinson"],
+["A letter is a joy of Earth — it is denied the Gods.", "Emily Dickinson"],
+["Letter writing is the only device for combining solitude with good company.", "Lord Byron"],
+["To send a letter is a good way to go somewhere without moving anything but your heart.", "Phyllis Theroux"],
+["I have made this letter longer than usual, only because I have not had the leisure to make it shorter.", "Blaise Pascal, 1657"],
+["I didn't attend the funeral, but I sent a nice letter saying I approved of it.", "Mark Twain"],
+["The telephone is a good way to talk to people without having to offer them a drink.", "Fran Lebowitz"],
+["I get mail; therefore I am.", "Scott Adams"],
+["The email of the species is deadlier than the mail.", "Stephen Fry"],
+["Electric communication will never be a substitute for the face of someone who with their soul encourages another person to be brave and true.", "Attributed to Charles Dickens — we're trying anyway"],
+["Like cold water to a weary soul is good news from a distant land.", "The Book of Proverbs"],
+["A cheerful look brings joy to the heart, and good news gives health to the bones.", "The Book of Proverbs"],
+["In the beginning was the Word.", "The Gospel of John"],
+["Either write something worth reading or do something worth writing.", "Benjamin Franklin"],
+["Kind words can be short and easy to speak, but their echoes are truly endless.", "Mother Teresa"],
+["Words should be weighed, not counted.", "Yiddish proverb"],
+["Words are, of course, the most powerful drug used by mankind.", "Rudyard Kipling"],
+["The difference between the right word and the almost right word is the difference between lightning and the lightning bug.", "Mark Twain"],
+["A word after a word after a word is power.", "Margaret Atwood"],
+["The limits of my language mean the limits of my world.", "Ludwig Wittgenstein"],
+["Words can be like X-rays if you use them properly — they'll go through anything.", "Aldous Huxley — Brave New World"],
+["Words are pale shadows of forgotten names. As names have power, words have power.", "Patrick Rothfuss — The Name of the Wind"],
+["Words are events, they do things, change things.", "Ursula K. Le Guin"],
+["What's in a name? That which we call a rose by any other name would smell as sweet.", "Shakespeare — Romeo and Juliet"],
+["Brevity is the soul of wit.", "Shakespeare — Hamlet"],
+["Brevity is the soul of lingerie.", "Dorothy Parker"],
+["We read to know we are not alone.", "William Nicholson — Shadowlands (forever credited to C. S. Lewis)"],
+["Listen to many, speak to a few.", "Shakespeare — Hamlet"],
+["The most important thing in communication is hearing what isn't said.", "Peter Drucker"],
+["The single biggest problem in communication is the illusion that it has taken place.", "Attributed to George Bernard Shaw"],
+["Ar scáth a chéile a mhaireann na daoine — it is in the shelter of each other that the people live.", "Irish proverb"],
+["Giorraíonn beirt bóthar — two people shorten the road.", "Irish proverb"],
+["Friendship is born at that moment when one person says to another: 'What! You too? I thought I was the only one.'", "C. S. Lewis"],
+["A friend may well be reckoned the masterpiece of nature.", "Ralph Waldo Emerson"],
+["The only way to have a friend is to be one.", "Ralph Waldo Emerson"],
+["No man is an island.", "John Donne"],
+["We're all just walking each other home.", "Ram Dass"],
+["Shared joy is a double joy; shared sorrow is half a sorrow.", "Swedish proverb"],
+["If you want to go fast, go alone. If you want to go far, go together.", "Proverb"],
+["Alone we can do so little; together we can do so much.", "Helen Keller"],
+["Each friend represents a world in us, a world possibly not born until they arrive.", "Anaïs Nin"],
+["A single bracelet does not jingle.", "Congolese proverb"],
+["When spider webs unite, they can tie up a lion.", "Ethiopian proverb"],
+["Sticks in a bundle are unbreakable.", "Kenyan proverb"],
+["Many hands make light work.", "Proverb"],
+["It takes a village.", "Proverb"],
+["A friend's eye is a good mirror.", "Irish proverb"],
+["What is a friend? A single soul dwelling in two bodies.", "Attributed to Aristotle"],
+["'Pooh!' he whispered. 'Yes, Piglet?' 'Nothing,' said Piglet, taking Pooh's paw. 'I just wanted to be sure of you.'", "A. A. Milne — The House at Pooh Corner"],
+["You have been my friend. That in itself is a tremendous thing.", "E. B. White — Charlotte's Web"],
+["How lucky I am to have something that makes saying goodbye so hard.", "Winnie-the-Pooh, as the movies tell it"],
+["Louis, I think this is the beginning of a beautiful friendship.", "Casablanca"],
+["There is nothing I would not do for those who are really my friends.", "Jane Austen"],
+["My idea of good company is the company of clever, well-informed people who have a great deal of conversation.", "Jane Austen — Persuasion"],
+["One cannot have too large a party.", "Jane Austen — Emma"],
+["Once you've met someone you never really forget them.", "Zeniba — Spirited Away"],
+["Ohana means family. Family means nobody gets left behind or forgotten.", "Lilo & Stitch"],
+["There are no strangers here; only friends you haven't yet met.", "Attributed to W. B. Yeats"],
+["The most I can do for my friend is simply be his friend.", "Henry David Thoreau"],
+["We must learn to live together as brothers or perish together as fools.", "Martin Luther King Jr."],
+["Darkness cannot drive out darkness: only light can do that.", "Martin Luther King Jr."],
+["Call your mother.", "Everyone's grandmother"],
+["There's no place like home.", "Dorothy — The Wizard of Oz"],
+["Níl aon tinteán mar do thinteán féin — there's no fireside like your own fireside.", "Irish proverb (Dorothy agrees)"],
+["Toto, I've a feeling we're not in Kansas anymore.", "Dorothy — The Wizard of Oz"],
+["Where thou art, that is home.", "Emily Dickinson"],
+["The ache for home lives in all of us.", "Maya Angelou"],
+["Happy families are all alike; every unhappy family is unhappy in its own way.", "Leo Tolstoy — Anna Karenina"],
+["Family is not an important thing. It's everything.", "Michael J. Fox"],
+["In every conceivable manner, the family is link to our past, bridge to our future.", "Alex Haley"],
+["Home is wherever I'm with you.", "Edward Sharpe and the Magnetic Zeros"],
+["There's no place like 127.0.0.1.", "Programmer proverb"],
+["When people talk, listen completely. Most people never listen.", "Ernest Hemingway"],
+["Most people do not listen with the intent to understand; they listen with the intent to reply.", "Stephen R. Covey"],
+["A good conversation is as stimulating as black coffee, and just as hard to sleep after.", "Anne Morrow Lindbergh"],
+["Speak when you are angry and you will make the best speech you will ever regret.", "Ambrose Bierce"],
+["Never miss a good chance to shut up.", "Will Rogers"],
+["I never learned anything while I was talking.", "Larry King"],
+["Drawing on my fine command of the English language, I said nothing.", "Robert Benchley"],
+["Two monologues do not make a dialogue.", "Jeff Daly"],
+["Wise men speak because they have something to say; fools because they have to say something.", "Attributed to Plato"],
+["The art of conversation is the art of hearing as well as of being heard.", "William Hazlitt"],
+["Attention is the rarest and purest form of generosity.", "Simone Weil"],
+["Great minds discuss ideas; average minds discuss events; small minds discuss people.", "Attributed to Eleanor Roosevelt"],
+["No one can make you feel inferior without your consent.", "Eleanor Roosevelt"],
+["Be curious, not judgmental.", "Ted Lasso, quoting Walt Whitman (who never said it)"],
+["Without music, life would be a mistake.", "Friedrich Nietzsche"],
+["Music is the space between the notes.", "Claude Debussy"],
+["It's not the notes you play, it's the notes you don't play.", "Miles Davis"],
+["One good thing about music: when it hits you, you feel no pain.", "Bob Marley"],
+["There is a crack in everything. That's how the light gets in.", "Leonard Cohen"],
+["Honor thy error as a hidden intention.", "Brian Eno — Oblique Strategies"],
+["Repetition is a form of change.", "Brian Eno — Oblique Strategies"],
+["Use an old idea.", "Brian Eno — Oblique Strategies"],
+["Music is a higher revelation than all wisdom and philosophy.", "Ludwig van Beethoven"],
+["Where words fail, music speaks.", "Hans Christian Andersen"],
+["Music expresses that which cannot be put into words and cannot remain silent.", "Victor Hugo"],
+["Writing about music is like dancing about architecture.", "Attributed to practically everyone"],
+["If it's too loud, you're too old.", "Rock proverb"],
+["If music be the food of love, play on.", "Shakespeare — Twelfth Night"],
+["Ah, music. A magic beyond all we do here!", "Albus Dumbledore"],
+["Play it, Sam. Play 'As Time Goes By.'", "Ilsa Lund — Casablanca (the real line)"],
+["Music is the universal language of mankind.", "Henry Wadsworth Longfellow"],
+["After silence, that which comes nearest to expressing the inexpressible is music.", "Aldous Huxley"],
+["Where words leave off, music begins.", "Attributed to Heinrich Heine"],
+["Without deviation from the norm, progress is not possible.", "Frank Zappa"],
+["Jazz is freedom. You think about that.", "Thelonious Monk"],
+["Don't play what's there, play what's not there.", "Miles Davis"],
+["If it sounds good, it is good.", "Duke Ellington"],
+["Country music is three chords and the truth.", "Harlan Howard"],
+["The blues are the roots; everything else is the fruits.", "Willie Dixon"],
+["Music is my religion.", "Jimi Hendrix"],
+["To play a wrong note is insignificant; to play without passion is inexcusable.", "Attributed to Ludwig van Beethoven"],
+["The only truth is music.", "Jack Kerouac"],
+["We are the music makers, and we are the dreamers of dreams.", "Arthur O'Shaughnessy (and Willy Wonka)"],
+["Here comes the sun.", "The Beatles"],
+["All you need is love.", "The Beatles"],
+["The times they are a-changin'.", "Bob Dylan"],
+["What a wonderful world.", "As sung by Louis Armstrong"],
+["Don't stop believin'.", "Journey"],
+["Everything in its right place.", "Radiohead"],
+["The waiting is the hardest part.", "Tom Petty"],
+["Some people believe football is a matter of life and death. I can assure you it is much, much more important than that.", "Bill Shankly"],
+["Float like a butterfly, sting like a bee.", "Muhammad Ali"],
+["Don't count the days; make the days count.", "Muhammad Ali"],
+["It ain't over till it's over.", "Yogi Berra"],
+["You can observe a lot by just watching.", "Yogi Berra"],
+["The future ain't what it used to be.", "Yogi Berra"],
+["When you come to a fork in the road, take it.", "Yogi Berra"],
+["Nobody goes there anymore. It's too crowded.", "Yogi Berra"],
+["You miss 100 percent of the shots you don't take.", "Wayne Gretzky — Michael Scott"],
+["It's not whether you get knocked down, it's whether you get up.", "Vince Lombardi"],
+["Good things come to those who wait.", "Proverb"],
+["A watched pot never boils.", "Proverb"],
+["Nature does not hurry, yet everything is accomplished.", "Attributed to Lao Tzu"],
+["Adopt the pace of nature: her secret is patience.", "Attributed to Ralph Waldo Emerson"],
+["The two most powerful warriors are patience and time.", "Leo Tolstoy"],
+["Rivers know this: there is no hurry. We shall get there some day.", "Winnie-the-Pooh, as commonly quoted"],
+["It does not matter how slowly you go as long as you do not stop.", "Attributed to Confucius"],
+["They also serve who only stand and wait.", "John Milton"],
+["Everything comes to him who hustles while he waits.", "Attributed to Thomas Edison"],
+["Slow and steady wins the race.", "Aesop"],
+["Little by little, the bird builds its nest.", "French proverb"],
+["Sitting quietly, doing nothing, spring comes, and the grass grows by itself.", "Zen saying"],
+["Smile, breathe and go slowly.", "Thich Nhat Hanh"],
+["Before enlightenment, chop wood, carry water. After enlightenment, chop wood, carry water.", "Zen proverb"],
+["When walking, walk. When eating, eat.", "Zen proverb"],
+["You should sit in meditation for twenty minutes a day. Unless you're too busy; then you should sit for an hour.", "Zen saying"],
+["The quieter you become, the more you can hear.", "Ram Dass"],
+["Patience, grasshopper.", "Master Po — Kung Fu"],
+["Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.", "Douglas Hofstadter"],
+["For a moment, nothing happened. Then, after a second or so, nothing continued to happen.", "Douglas Adams"],
+["Time is an illusion. Lunchtime doubly so.", "Douglas Adams"],
+["Don't panic.", "The Hitchhiker's Guide to the Galaxy"],
+["Forty-two.", "Deep Thought, after seven and a half million years — The Hitchhiker's Guide to the Galaxy"],
+["Nothing travels faster than the speed of light, with the possible exception of bad news.", "Douglas Adams"],
+["So long, and thanks for all the fish.", "Douglas Adams"],
+["I love deadlines. I love the whooshing noise they make as they go by.", "Douglas Adams"],
+["This too shall pass.", "Persian adage"],
+["Well begun is half done.", "Aristotle"],
+["Rome wasn't built in a day.", "Proverb"],
+["Even miracles take a little time.", "The Fairy Godmother — Cinderella"],
+["Just keep swimming.", "Dory — Finding Nemo"],
+["I'll be back.", "The Terminator"],
+["Make it so.", "Captain Picard — Star Trek"],
+["Slow is smooth, smooth is fast.", "Military proverb"],
+["The future is already here — it's just not evenly distributed.", "William Gibson"],
+["Any sufficiently advanced technology is indistinguishable from magic.", "Arthur C. Clarke"],
+["Everything should be made as simple as possible, but no simpler.", "Attributed to Albert Einstein"],
+["The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.", "Marcel Proust"],
+["No matter how fast light travels, it finds the darkness has always got there first, and is waiting for it.", "Terry Pratchett"],
+["The best way to predict the future is to invent it.", "Alan Kay"],
+["Technology is anything that wasn't around when you were born.", "Alan Kay"],
+["The computer is a bicycle for the mind.", "Steve Jobs"],
+["Real artists ship.", "Steve Jobs"],
+["Simplicity is the ultimate sophistication.", "Attributed to Leonardo da Vinci"],
+["There is no reason anyone would want a computer in their home.", "Ken Olsen, 1977 — about that…"],
+["I think there is a world market for maybe five computers.", "Attributed to Thomas J. Watson, 1943 — also wrong"],
+["640K ought to be enough for anybody.", "Attributed to Bill Gates, who swears he never said it"],
+["On the Internet, nobody knows you're a dog.", "Peter Steiner — The New Yorker, 1993"],
+["Information wants to be free.", "Stewart Brand"],
+["The street finds its own uses for things.", "William Gibson"],
+["We shape our tools and thereafter our tools shape us.", "John Culkin (usually credited to Marshall McLuhan)"],
+["There are only two hard things in computer science: cache invalidation and naming things.", "Phil Karlton"],
+["It's not a bug, it's a feature.", "Programmer proverb"],
+["Weeks of coding can save you hours of planning.", "Programmer proverb"],
+["We can only see a short distance ahead, but we can see plenty there that needs to be done.", "Alan Turing"],
+["That brain of mine is something more than merely mortal, as time will show.", "Ada Lovelace"],
+["The most dangerous phrase in the language is: we've always done it this way.", "Grace Hopper"],
+["Sometimes it is the people no one imagines anything of who do the things that no one can imagine.", "The Imitation Game"],
+["You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Radio operates exactly the same way — there is no cat.", "Attributed to Albert Einstein"],
+["Nothing in life is to be feared, it is only to be understood.", "Marie Curie"],
+["I have no special talents. I am only passionately curious.", "Albert Einstein"],
+["Play is the highest form of research.", "Attributed to Albert Einstein"],
+["If I have seen further it is by standing on the shoulders of giants.", "Isaac Newton"],
+["The first principle is that you must not fool yourself — and you are the easiest person to fool.", "Richard Feynman"],
+["The most exciting phrase to hear in science is not 'Eureka!' but 'That's funny…'", "Attributed to Isaac Asimov"],
+["Somewhere, something incredible is waiting to be known.", "Attributed to Carl Sagan"],
+["We are a way for the cosmos to know itself.", "Carl Sagan"],
+["Look again at that dot. That's here. That's home. That's us.", "Carl Sagan — Pale Blue Dot"],
+["For small creatures such as we the vastness is bearable only through love.", "Carl Sagan"],
+["We are made of star-stuff.", "Carl Sagan"],
+["Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying.", "Arthur C. Clarke"],
+["The universe is not only queerer than we suppose, but queerer than we can suppose.", "J. B. S. Haldane"],
+["Equipped with his five senses, man explores the universe around him and calls the adventure Science.", "Edwin Hubble"],
+["We are all in the gutter, but some of us are looking at the stars.", "Oscar Wilde"],
+["Keep your eyes on the stars, and your feet on the ground.", "Theodore Roosevelt"],
+["Dwell on the beauty of life. Watch the stars, and see yourself running with them.", "Marcus Aurelius"],
+["Second star to the right, and straight on till morning.", "J. M. Barrie — Peter Pan"],
+["The universe is made of stories, not of atoms.", "Muriel Rukeyser"],
+["I refuse to join any club that would have me as a member.", "Groucho Marx"],
+["Time flies like an arrow; fruit flies like a banana.", "Attributed to Groucho Marx"],
+["Outside of a dog, a book is man's best friend. Inside of a dog it's too dark to read.", "Attributed to Groucho Marx"],
+["I never forget a face, but in your case I'll be glad to make an exception.", "Groucho Marx"],
+["Those are my principles, and if you don't like them… well, I have others.", "Attributed to Groucho Marx"],
+["The reports of my death are greatly exaggerated.", "Mark Twain, more or less"],
+["Never put off till tomorrow what may be done day after tomorrow just as well.", "Mark Twain"],
+["Kindness is the language which the deaf can hear and the blind can see.", "Attributed to Mark Twain"],
+["I can live for two months on a good compliment.", "Mark Twain"],
+["Everybody talks about the weather, but nobody does anything about it.", "Charles Dudley Warner (Twain gets the credit)"],
+["I can resist everything except temptation.", "Oscar Wilde"],
+["The truth is rarely pure and never simple.", "Oscar Wilde"],
+["Always forgive your enemies; nothing annoys them so much.", "Attributed to Oscar Wilde"],
+["I have nothing to declare except my genius.", "Oscar Wilde, at customs (as the story goes)"],
+["Be yourself; everyone else is already taken.", "Attributed to Oscar Wilde"],
+["Analyzing humor is like dissecting a frog. Few people are interested and the frog dies of it.", "E. B. White"],
+["A day without laughter is a day wasted.", "Attributed to Charlie Chaplin"],
+["Everywhere is within walking distance if you have the time.", "Steven Wright"],
+["I'm writing a book. I've got the page numbers done.", "Steven Wright"],
+["I am serious. And don't call me Shirley.", "Airplane!"],
+["Nobody expects the Spanish Inquisition!", "Monty Python"],
+["And now for something completely different.", "Monty Python"],
+["Always look on the bright side of life.", "Monty Python's Life of Brian"],
+["Inconceivable!", "Vizzini — The Princess Bride"],
+["As you wish.", "Westley — The Princess Bride"],
+["Elementary, my dear Watson.", "Sherlock Holmes (who never actually said it)"],
+["You see, but you do not observe.", "Sherlock Holmes"],
+["When you have eliminated the impossible, whatever remains, however improbable, must be the truth.", "Sherlock Holmes"],
+["Good night, and good luck.", "Edward R. Murrow"],
+["May the Force be with you.", "Star Wars"],
+["Do. Or do not. There is no try.", "Yoda"],
+["Here's looking at you, kid.", "Casablanca"],
+["Life moves pretty fast. If you don't stop and look around once in a while, you could miss it.", "Ferris Bueller"],
+["Carpe diem. Seize the day, boys. Make your lives extraordinary.", "Dead Poets Society"],
+["You had me at hello.", "Jerry Maguire"],
+["To infinity and beyond!", "Buzz Lightyear"],
+["Adventure is out there!", "Up"],
+["Hakuna matata.", "The Lion King"],
+["With great power comes great responsibility.", "Uncle Ben — Spider-Man"],
+["I am Groot.", "Groot, who says everything with it"],
+["WILSON!", "Chuck Noland, missing his one contact — Cast Away"],
+["Life is like a box of chocolates. You never know what you're gonna get.", "Forrest Gump"],
+["Live long and prosper.", "Spock"],
+["Highly illogical.", "Spock"],
+["I have no idea where this will lead us, but I have a definite feeling it will be a place both wonderful and strange.", "Agent Dale Cooper — Twin Peaks"],
+["Every day, once a day, give yourself a present.", "Agent Dale Cooper — Twin Peaks"],
+["Fear is the mind-killer.", "Frank Herbert — Dune"],
+["The mystery of life isn't a problem to solve, but a reality to experience.", "Frank Herbert — Dune"],
+["It's a dangerous business, Frodo, going out your door.", "Bilbo Baggins — The Lord of the Rings"],
+["Not all those who wander are lost.", "J. R. R. Tolkien"],
+["All we have to decide is what to do with the time that is given us.", "Gandalf — The Lord of the Rings"],
+["Even the smallest person can change the course of the future.", "Galadriel — The Lord of the Rings"],
+["Begin at the beginning, and go on till you come to the end: then stop.", "Lewis Carroll — Alice in Wonderland"],
+["Why, sometimes I've believed as many as six impossible things before breakfast.", "Lewis Carroll — Through the Looking-Glass"],
+["It's no use going back to yesterday, because I was a different person then.", "Lewis Carroll — Alice in Wonderland"],
+["We're all mad here.", "The Cheshire Cat"],
+["Oh, the places you'll go!", "Dr. Seuss"],
+["A person's a person, no matter how small.", "Dr. Seuss"],
+["Today you are You, that is truer than true. There is no one alive who is Youer than You.", "Dr. Seuss"],
+["Those who don't believe in magic will never find it.", "Roald Dahl"],
+["A little nonsense now and then is relished by the wisest men.", "Willy Wonka"],
+["In every job that must be done, there is an element of fun.", "Mary Poppins"],
+["Tomorrow is always fresh, with no mistakes in it yet.", "L. M. Montgomery — Anne of Green Gables"],
+["A little consideration, a little thought for others, makes all the difference.", "Eeyore — A. A. Milne"],
+["All grown-ups were once children… but only few of them remember it.", "Antoine de Saint-Exupéry — The Little Prince"],
+["It is only with the heart that one can see rightly; what is essential is invisible to the eye.", "The Little Prince"],
+["If you want to build a ship, don't drum up the men to gather wood — teach them to yearn for the vast and endless sea.", "Attributed to Antoine de Saint-Exupéry"],
+["Hope is the thing with feathers.", "Emily Dickinson"],
+["Tread softly because you tread on my dreams.", "W. B. Yeats"],
+["The world is full of magic things, patiently waiting for our senses to grow sharper.", "Attributed to W. B. Yeats"],
+["If we winter this one out, we can summer anywhere.", "Seamus Heaney"],
+["Walk on air against your better judgement.", "Seamus Heaney"],
+["Ever tried. Ever failed. No matter. Try again. Fail again. Fail better.", "Samuel Beckett"],
+["I can't go on. I'll go on.", "Samuel Beckett"],
+["Love loves to love love.", "James Joyce — Ulysses"],
+["A pint of plain is your only man.", "Flann O'Brien"],
+["Two roads diverged in a wood, and I — I took the one less traveled by.", "Robert Frost"],
+["The best way out is always through.", "Robert Frost"],
+["In three words I can sum up everything I've learned about life: it goes on.", "Robert Frost"],
+["Instructions for living a life: Pay attention. Be astonished. Tell about it.", "Mary Oliver"],
+["Tell me, what is it you plan to do with your one wild and precious life?", "Mary Oliver"],
+["Keep some room in your heart for the unimaginable.", "Mary Oliver"],
+["Nobody sees a flower really; it is so small. We haven't time — and to see takes time, like to have a friend takes time.", "Georgia O'Keeffe"],
+["And still, after all this time, the sun never says to the earth, 'You owe me.'", "Attributed to Hafiz"],
+["Let yourself be silently drawn by the strange pull of what you really love.", "Rumi"],
+["What you seek is seeking you.", "Rumi"],
+["Turn your face to the sun and the shadows fall behind you.", "Māori proverb"],
+["However long the night, the dawn will break.", "African proverb"],
+["What's past is prologue.", "Shakespeare — The Tempest"],
+["Love all, trust a few, do wrong to none.", "Shakespeare"],
+["I would always rather be happy than dignified.", "Charlotte Brontë — Jane Eyre"],
+["The unexamined life is not worth living.", "Socrates"],
+["Know thyself.", "Inscribed at the Temple of Delphi"],
+["Wonder is the beginning of wisdom.", "Attributed to Socrates"],
+["The journey of a thousand miles begins with a single step.", "Lao Tzu"],
+["Fall down seven times, stand up eight.", "Japanese proverb"],
+["Even monkeys fall from trees.", "Japanese proverb"],
+["The impediment to action advances action. What stands in the way becomes the way.", "Marcus Aurelius"],
+["Waste no more time arguing about what a good man should be. Be one.", "Marcus Aurelius"],
+["Wherever there is a human being, there is an opportunity for a kindness.", "Seneca"],
+["Begin, be bold, and venture to be wise.", "Horace"],
+["Dum spiro, spero — while I breathe, I hope.", "Cicero"],
+["No act of kindness, no matter how small, is ever wasted.", "Aesop"],
+["Be kind, for everyone you meet is fighting a hard battle.", "Ian Maclaren (often credited to Plato)"],
+["How wonderful it is that nobody need wait a single moment before starting to improve the world.", "Anne Frank"],
+["Try to be a rainbow in someone's cloud.", "Maya Angelou"],
+["I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel.", "Maya Angelou"],
+["A bird doesn't sing because it has an answer, it sings because it has a song.", "Joan Walsh Anglund (often credited to Maya Angelou)"],
+["Do your little bit of good where you are; it's those little bits of good put together that overwhelm the world.", "Desmond Tutu"],
+["The best and most beautiful things in the world cannot be seen or even touched — they must be felt with the heart.", "Helen Keller"],
+["Where there is love there is life.", "Mahatma Gandhi"],
+["Spread love everywhere you go. Let no one ever come to you without leaving happier.", "Mother Teresa"],
+["It always seems impossible until it's done.", "Attributed to Nelson Mandela"],
+["If you're going through hell, keep going.", "Attributed to Winston Churchill"],
+["Everything will be okay in the end. If it's not okay, it's not the end.", "Attributed to John Lennon"],
+["Life is what happens to you while you're busy making other plans.", "John Lennon (after Allen Saunders)"],
+["Whatever you are, be a good one.", "Attributed to Abraham Lincoln"],
+["It is never too late to be what you might have been.", "Attributed to George Eliot"],
+["Not everything that counts can be counted, and not everything that can be counted counts.", "William Bruce Cameron (Einstein gets the credit)"],
+["The best time to plant a tree was twenty years ago. The second best time is now.", "Proverb"],
+["When the wind of change blows, some build walls, others build windmills.", "Chinese proverb"],
+["Enjoy the little things, for one day you may look back and realize they were the big things.", "Robert Brault"],
+["A ship in harbor is safe, but that is not what ships are built for.", "John A. Shedd"],
+["Life shrinks or expands in proportion to one's courage.", "Anaïs Nin"],
+["Happiness is only real when shared.", "Christopher McCandless"],
+["We are what we repeatedly do. Excellence, then, is not an act, but a habit.", "Will Durant, summarising Aristotle"],
+["Comparison is the thief of joy.", "Attributed to Theodore Roosevelt"],
+["Life is really simple, but we insist on making it complicated.", "Attributed to Confucius"],
+["We are what we pretend to be, so we must be careful about what we pretend to be.", "Kurt Vonnegut"],
+["So it goes.", "Kurt Vonnegut — Slaughterhouse-Five"],
+["There's only one rule that I know of: you've got to be kind.", "Kurt Vonnegut"],
+["In the end, we'll all become stories.", "Margaret Atwood"],
+["One who asks a question is a fool for five minutes; one who does not ask remains a fool forever.", "Chinese proverb"],
+["Everyone is sociable until a cow invades his garden.", "Irish proverb"],
+["A good laugh and a long sleep are the two best cures for anything.", "Irish proverb"],
+["May the road rise up to meet you.", "Irish blessing"],
+["May you have warm words on a cold evening.", "Irish blessing"],
+["If you want to lift yourself up, lift up someone else.", "Booker T. Washington"],
+["A guest sees more in an hour than the host in a year.", "Polish proverb"],
+["Coffee and love taste best when hot.", "Ethiopian proverb"]
+]