[{"id":1,"title":"Home row anchors","keys":"fj","difficulty":1,"tags":["home-row","beginner"]},{"id":2,"title":"Home row inner","keys":"fjdk","difficulty":1,"tags":["home-row","beginner"]},{"id":3,"title":"Home row full","keys":"fjdkslar;","difficulty":1,"tags":["home-row"]},{"id":4,"title":"Add e and i","keys":"fjdksla;ei","difficulty":1,"tags":["foundation"]},{"id":5,"title":"Add t and n","keys":"fjdksla;eitn","difficulty":1,"tags":["foundation"]},{"id":6,"title":"Add o and h","keys":"fjdksla;eitnoh","difficulty":2,"tags":["foundation"]},{"id":7,"title":"Add r and u","keys":"fjdksla;eitnohru","difficulty":2,"tags":["foundation"]},{"id":8,"title":"Top-row left","keys":"qwertasdfgzxcvb","difficulty":2,"tags":["top-row"]},{"id":9,"title":"Top-row right","keys":"yuiopjklhnm","difficulty":2,"tags":["top-row"]},{"id":10,"title":"Numbers row","keys":"1234567890","difficulty":2,"tags":["numbers"]},{"id":11,"title":"Punctuation: comma + period","keys":",.","difficulty":2,"tags":["punctuation"]},{"id":12,"title":"Punctuation: apostrophe + dash","keys":"'-","difficulty":2,"tags":["punctuation"]},{"id":13,"title":"Symbols: question + exclamation","keys":"?!","difficulty":2,"tags":["punctuation"]},{"id":14,"title":"Symbols: quotes + colon","keys":"\":;","difficulty":3,"tags":["punctuation"]},{"id":15,"title":"Capital letters","keys":"ABCDEFGHIJKLMNOPQRSTUVWXYZ","difficulty":3,"tags":["capitals"]},{"id":16,"title":"Common bigrams: th, he, in","keys":"thein","difficulty":3,"tags":["bigrams"]},{"id":17,"title":"Common bigrams: er, an, re","keys":"eranre","difficulty":3,"tags":["bigrams"]},{"id":18,"title":"Hard pairs: ed, st, nt","keys":"edstnt","difficulty":3,"tags":["bigrams"]},{"id":19,"title":"Hard pairs: ck, gh, qu","keys":"ckghqu","difficulty":3,"tags":["bigrams"]},{"id":20,"title":"Adaptive review","keys":null,"adaptive":true,"difficulty":3,"tags":["review","adaptive"]},{"id":21,"title":"Speed builder: short words","keys":null,"source":"short","difficulty":3,"tags":["speed"]},{"id":22,"title":"Speed builder: long words","keys":null,"source":"long","difficulty":3,"tags":["speed"]},{"id":23,"title":"Mixed punctuation","keys":null,"source":"punctuation","difficulty":3,"tags":["punctuation"]},{"id":24,"title":"Mixed numbers + letters","keys":null,"source":"numbers","difficulty":3,"tags":["numbers"]},{"id":25,"title":"Sentence starts: capital + period","source":"literal","difficulty":3,"tags":["capitals"],"text":"The quick brown fox. She sells seashells. He runs every morning. We eat at noon. They went home. It rained again. You can do it. The end."},{"id":26,"title":"Title case","source":"literal","difficulty":3,"tags":["capitals"],"text":"The Great Gatsby. Pride and Prejudice. To Kill a Mockingbird. The Catcher in the Rye. Of Mice and Men. The Old Man and the Sea."},{"id":27,"title":"All-caps acronyms","source":"literal","difficulty":4,"tags":["capitals","acronyms"],"text":"NASA HTTP HTTPS HTML CSS NATO FBI CIA WHO UN EU UK US USA URL JSON XML CSV PDF PNG JPEG GIF SVG API SDK CPU GPU RAM SSD TLS VPN"},{"id":28,"title":"Proper nouns","source":"literal","difficulty":3,"tags":["capitals"],"text":"Paris London Tokyo Berlin Madrid Rome Cairo Dubai Sydney Boston Chicago Miami Denver Austin Seattle Portland Atlanta Vancouver Toronto Montreal"},{"id":29,"title":"Mixed-case sentences","source":"literal","difficulty":4,"tags":["capitals"],"text":"The CEO of Apple announced the iPhone in 2007. NASA sent a probe to Mars. The UN held a session in Geneva last March."},{"id":30,"title":"Names with apostrophes","source":"literal","difficulty":4,"tags":["capitals","punctuation"],"text":"O'Brien D'Angelo M'Kenna O'Reilly D'Souza St. John St. James O'Connor St. Louis St. Paul O'Donnell O'Sullivan"},{"id":31,"title":"Hyphenated names + words","source":"literal","difficulty":4,"tags":["capitals","punctuation"],"text":"well-known self-aware first-class father-in-law twenty-one mid-century state-of-the-art Smith-Jones Garcia-Lopez Wilson-Park"},{"id":32,"title":"Caps speed run","source":"literal","difficulty":4,"tags":["capitals","speed"],"text":"The Great Library of Alexandria. The Roman Empire fell in 476 AD. Shakespeare wrote in London. Einstein worked in Princeton."},{"id":33,"title":"Top-row digits","keys":"1234567890","difficulty":3,"tags":["numbers"]},{"id":34,"title":"Round numbers","source":"literal","difficulty":3,"tags":["numbers"],"text":"10 100 1000 10000 100000 1000000 25 50 75 200 500 750 1500 2500 5000 7500 10500 99 999 9999"},{"id":35,"title":"Decimals","source":"literal","difficulty":3,"tags":["numbers"],"text":"3.14 2.71 1.41 1.62 0.5 0.25 0.125 99.9 100.01 365.25 9.81 6.022 1.618 2.99 4.50 7.25 12.345 0.001 99.99 1234.56"},{"id":36,"title":"Percentages","source":"literal","difficulty":3,"tags":["numbers","punctuation"],"text":"10% 25% 50% 75% 99.9% 100% 0.1% 12.5% 33.3% 66.7% 1% 5% 80% 95%"},{"id":37,"title":"Currency","source":"literal","difficulty":3,"tags":["numbers","symbols"],"text":"$10 $100 $1,000 $25.99 $1.50 $0.99 €50 €100 £75 ¥1000 $1,234.56 $9.99 $19.95 $49.00 $1,000,000"},{"id":38,"title":"Bracket pairs","source":"literal","difficulty":4,"tags":["symbols","brackets"],"text":"() [] {} (a) [b] {c} (a,b) [a,b] {a:b} ((x)) [[y]] {{z}} (a (b)) [a [b]] {a {b}} (1,2,3) [1,2,3] {1:a, 2:b}"},{"id":39,"title":"Math operators","source":"literal","difficulty":4,"tags":["symbols","math"],"text":"1 + 2 = 3   5 - 3 = 2   4 * 2 = 8   10 / 2 = 5   x = 1   y != 2   a < b   c <= d   e >= f   g == h   i % 3   j ** 2"},{"id":40,"title":"Logic operators","source":"literal","difficulty":4,"tags":["symbols","programming"],"text":"a && b   c || d   !e   f === g   h !== i   j & k   l | m   n ^ o   p << q   r >> s   t ?? u   v ?. w"},{"id":41,"title":"Phone numbers + IDs","source":"literal","difficulty":4,"tags":["numbers","punctuation"],"text":"555-1234   (212) 555-0100   +1-415-555-0193   867-5309   ID-2024-001   ZIP 90210   ext. 4567   #A123   v1.2.3"},{"id":42,"title":"Dates + times","source":"literal","difficulty":4,"tags":["numbers","punctuation"],"text":"01/15/2024   2024-03-21   12:30 PM   9:00 AM   23:59   Q1 2025   Jan 1, 2024   Mar 15, 2025   FY2024   week 42"},{"id":43,"title":"Units + measurements","source":"literal","difficulty":4,"tags":["numbers","symbols"],"text":"10 ft   25 m   100 km   5 lb   2.5 kg   72°F   22°C   140 mph   60 fps   16:9   3840x2160   1920x1080"},{"id":44,"title":"Symbol gauntlet","source":"literal","difficulty":5,"tags":["symbols","punctuation"],"text":"@user   #hashtag   $var   %20   &amp;   *asterisk*   ~tilde~   `code`   |pipe|   \\backslash\\   /forward/   _underscore_"},{"id":45,"title":"JavaScript: declarations","source":"literal","difficulty":4,"tags":["code","javascript"],"text":"const name = \"value\";\nlet count = 0;\nvar legacy = true;\nconst items = [1, 2, 3];\nlet user = { name: \"Alice\", age: 30 };\nconst fn = () => 42;"},{"id":46,"title":"JavaScript: arrow functions","source":"literal","difficulty":4,"tags":["code","javascript"],"text":"const add = (a, b) => a + b;\nconst double = x => x * 2;\nconst greet = (name) => `Hello, ${name}!`;\nconst pick = ({ id }) => id;\nconst rest = (...args) => args;"},{"id":47,"title":"JavaScript: control flow","source":"literal","difficulty":4,"tags":["code","javascript"],"text":"if (x > 0) { return x; } else { return -x; }\nfor (let i = 0; i < 10; i++) { console.log(i); }\nwhile (running) { tick(); }\nswitch (k) { case 1: break; default: throw e; }"},{"id":48,"title":"Python: list comprehensions","source":"literal","difficulty":4,"tags":["code","python"],"text":"squares = [x**2 for x in range(10)]\nevens = [n for n in nums if n % 2 == 0]\npairs = [(a, b) for a in xs for b in ys]\nresult = {k: v for k, v in items}"},{"id":49,"title":"Python: def + decorators","source":"literal","difficulty":4,"tags":["code","python"],"text":"@property\ndef name(self):\n    return self._name\n\n@dataclass\nclass Point:\n    x: float\n    y: float\n\n@cached_property\ndef total(self):\n    return sum(self.items)"},{"id":50,"title":"Python: imports + main","source":"literal","difficulty":4,"tags":["code","python"],"text":"import os\nimport sys\nfrom pathlib import Path\nfrom typing import Optional, List\n\nif __name__ == \"__main__\":\n    main()"},{"id":51,"title":"HTML: structural tags","source":"literal","difficulty":4,"tags":["code","html"],"text":"<header>...</header>\n<nav><ul><li><a href=\"/\">Home</a></li></ul></nav>\n<main>\n  <article>\n    <h1>Title</h1>\n    <p>Body.</p>\n  </article>\n</main>\n<footer>...</footer>"},{"id":52,"title":"CSS: selectors + properties","source":"literal","difficulty":4,"tags":["code","css"],"text":".btn { padding: 1rem; color: var(--fg); }\n.card:hover { transform: translateY(-2px); }\n#main > .row { display: flex; gap: 1rem; }\n@media (min-width: 768px) { .grid { columns: 3; } }"},{"id":53,"title":"SQL queries","source":"literal","difficulty":4,"tags":["code","sql"],"text":"SELECT id, name FROM users WHERE active = 1;\nINSERT INTO logs (event, ts) VALUES ('start', NOW());\nUPDATE orders SET status = 'shipped' WHERE id = 42;\nDELETE FROM cache WHERE expires < NOW();"},{"id":54,"title":"Bash one-liners","source":"literal","difficulty":5,"tags":["code","shell"],"text":"find . -name '*.log' -mtime +7 -delete\ngrep -rn 'TODO' src/ | head -20\nfor f in *.txt; do mv \"$f\" \"${f%.txt}.md\"; done\ncurl -sL example.com | jq '.items[]'"},{"id":55,"title":"Regex patterns","source":"literal","difficulty":5,"tags":["code","regex"],"text":"/^[a-z]+$/   /\\d{3}-\\d{4}/   /(\\w+)@(\\w+\\.\\w+)/   /^https?:\\/\\//   /\\b\\w{4,}\\b/   /[A-Z][a-z]+/g   /\\s{2,}/   /[^\\w\\s]/"},{"id":56,"title":"Markdown + YAML","source":"literal","difficulty":4,"tags":["code","markdown"],"text":"# Title\n## Section\n- item one\n- item two\n[link](https://example.com)\n`code`\n**bold** *italic*\n\n---\nname: Alice\nage: 30\nroles:\n  - admin\n  - user"},{"id":57,"title":"Austen -- Pride and Prejudice","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families."},{"id":58,"title":"Twain -- Huckleberry Finn","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"You don't know about me without you have read a book by the name of The Adventures of Tom Sawyer; but that ain't no matter. That book was made by Mr. Mark Twain, and he told the truth, mainly. There was things which he stretched, but mainly he told the truth."},{"id":59,"title":"Melville -- Moby-Dick","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Call me Ishmael. Some years ago--never mind how long precisely--having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world."},{"id":60,"title":"Dickens -- A Tale of Two Cities","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness."},{"id":61,"title":"Shelley -- Frankenstein","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I am by birth a Genevese, and my family is one of the most distinguished of that republic. My ancestors had been for many years counsellors and syndics, and my father had filled several public situations with honour and reputation."},{"id":62,"title":"Stoker -- Dracula","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Left Munich at 8:35 P. M., on 1st May, arriving at Vienna early next morning; should have arrived at 6:46, but train was an hour late. Buda-Pesth seems a wonderful place, from the glimpse which I got of it from the train and the little I could walk through the streets."},{"id":63,"title":"Wilde -- Dorian Gray","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The studio was filled with the rich odour of roses, and when the light summer wind stirred amidst the trees of the garden, there came through the open door the heavy scent of the lilac, or the more delicate perfume of the pink-flowering thorn."},{"id":64,"title":"Carroll -- Alice's Adventures","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, 'and what is the use of a book,' thought Alice 'without pictures or conversation?'"},{"id":65,"title":"Wells -- The Time Machine","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The Time Traveller (for so it will be convenient to speak of him) was expounding a recondite matter to us. His grey eyes shone and twinkled, and his usually pale face was flushed and animated. The fire burned brightly, and the soft radiance of the incandescent lights in the lilies of silver caught the bubbles."},{"id":66,"title":"Whitman -- Leaves of Grass","source":"literal","difficulty":4,"tags":["prose","poetry"],"text":"I celebrate myself, and sing myself, and what I assume you shall assume, for every atom belonging to me as good belongs to you. I loafe and invite my soul, I lean and loafe at my ease observing a spear of summer grass."},{"id":67,"title":"Thoreau -- Walden","source":"literal","difficulty":4,"tags":["prose","essay"],"text":"I went to the woods because I wished to live deliberately, to front only the essential facts of life, and see if I could not learn what it had to teach, and not, when I came to die, discover that I had not lived."},{"id":68,"title":"Stevenson -- Treasure Island","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Squire Trelawney, Dr. Livesey, and the rest of these gentlemen having asked me to write down the whole particulars about Treasure Island, from the beginning to the end, keeping nothing back but the bearings of the island, and that only because there is still treasure not yet lifted."},{"id":69,"title":"Doyle -- Sherlock Holmes","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"To Sherlock Holmes she is always THE woman. I have seldom heard him mention her under any other name. In his eyes she eclipses and predominates the whole of her sex. It was not that he felt any emotion akin to love for Irene Adler."},{"id":70,"title":"Conrad -- Heart of Darkness","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"The Nellie, a cruising yawl, swung to her anchor without a flutter of the sails, and was at rest. The flood had made, the wind was nearly calm, and being bound down the river, the only thing for it was to come to and wait for the turn of the tide."},{"id":71,"title":"Poe -- The Raven","source":"literal","difficulty":4,"tags":["prose","poetry"],"text":"Once upon a midnight dreary, while I pondered, weak and weary, over many a quaint and curious volume of forgotten lore -- while I nodded, nearly napping, suddenly there came a tapping, as of some one gently rapping, rapping at my chamber door."},{"id":72,"title":"Frost -- The Road Not Taken","source":"literal","difficulty":3,"tags":["prose","poetry"],"text":"Two roads diverged in a yellow wood, and sorry I could not travel both and be one traveler, long I stood and looked down one as far as I could to where it bent in the undergrowth."},{"id":73,"title":"Legal: contract boilerplate","source":"literal","difficulty":5,"tags":["specialized","legal"],"text":"WHEREAS, the Parties wish to enter into this Agreement; NOW, THEREFORE, in consideration of the mutual covenants set forth herein, the Parties agree as follows: 1. Term. This Agreement shall commence on the Effective Date and continue until terminated. 2. Confidentiality."},{"id":74,"title":"Medical Latin","source":"literal","difficulty":5,"tags":["specialized","medical"],"text":"in vitro   in vivo   ad libitum   per os   stat   q.i.d.   t.i.d.   b.i.d.   p.r.n.   ad nauseam   bona fide   carpe diem   primum non nocere   sine qua non   pro forma   id est   exempli gratia"},{"id":75,"title":"Scientific notation","source":"literal","difficulty":4,"tags":["specialized","science"],"text":"6.022 × 10^23   3.0 × 10^8 m/s   1.6 × 10^-19 C   9.81 m/s²   273.15 K   π = 3.14159   e = 2.71828   φ = 1.61803   √2 ≈ 1.41421   c² = a² + b²"},{"id":76,"title":"Finance: ledgers","source":"literal","difficulty":5,"tags":["specialized","finance"],"text":"Q1 Revenue: $1,234,567.89  COGS: $876,543.21  Gross Margin: 28.9%  OpEx: $234,567.00  EBITDA: $123,456.78  Cash: $5,432,109.87  AR: $345,678.90  AP: $234,567.89  YoY: +12.5%"},{"id":77,"title":"Journalism: AP style","source":"literal","difficulty":4,"tags":["specialized","writing"],"text":"WASHINGTON -- President signed legislation Tuesday extending federal funding through Sept. 30. The bill, which passed 82-15 in the Senate, allocates $1.2 trillion across defense, infrastructure, and social programs. \"This is a victory for working families,\" the president said."},{"id":78,"title":"Screenplay format","source":"literal","difficulty":5,"tags":["specialized","writing"],"text":"INT. COFFEE SHOP -- DAY\n\nALICE sits across from BOB. The morning rush hums around them.\n\nALICE\n(leaning forward)\nWe both know how this ends.\n\nBOB\nDo we?\n\nALICE\n(beat)\nYes.\n\nFADE OUT."},{"id":79,"title":"Chess notation","source":"literal","difficulty":5,"tags":["specialized","chess"],"text":"1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3 O-O 9. h3 Nb8 10. d4 Nbd7 11. Nbd2 Bb7 12. Bc2 Re8 13. Nf1 Bf8 14. Ng3"},{"id":80,"title":"URLs + email + slugs","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"https://example.com/path?q=1&r=2#section   user@example.com   contact+tag@host.co.uk   /api/v2/users/42   guerillatype.com/practice/?mode=quote   ssh://git@github.com:user/repo.git"},{"id":81,"title":"F key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"f f f f f f f ff fff ffff fffff f f f ff fff ffff f f f ff fff f ff fff f f ffff f f f f"},{"id":82,"title":"J key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"j j j j j j j jj jjj jjjj jjjjj j j j jj jjj jjjj j j j jj jjj j jj jjj j j jjjj j j j j"},{"id":83,"title":"F + J alternation","source":"literal","difficulty":1,"tags":["foundation","alternation"],"text":"fj fj fj jf jf jf fjfj jfjf fj jf fjj jff fj jf fjfj jfjf fjjf jffj fj jf"},{"id":84,"title":"D key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"d d d d dd ddd dddd dd ddd dddd d d d ddd dd dddd ddd dd d d dddd dd ddd d d d"},{"id":85,"title":"K key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"k k k k kk kkk kkkk kk kkk kkkk k k k kkk kk kkkk kkk kk k k kkkk kk kkk k k k"},{"id":86,"title":"D + K alternation","source":"literal","difficulty":1,"tags":["foundation","alternation"],"text":"dk dk kd kd dkdk kdkd dk kd dkk dkk kdd dk kd dkkd kddk dk kd dkdk kdkd"},{"id":87,"title":"S key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"s s s s ss sss ssss ss sss s s ss sss ssss sss s s s ss sss s s s ss sss"},{"id":88,"title":"L key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"l l l l ll lll llll ll lll l l ll lll llll lll l l l ll lll l l l ll lll"},{"id":89,"title":"S + L alternation","source":"literal","difficulty":1,"tags":["foundation","alternation"],"text":"sl sl ls ls slsl lsls sl ls sll sll lss sl ls slls lssl sl ls slsl lsls"},{"id":90,"title":"A key drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"a a a a aa aaa aaaa aa aaa a a aa aaa aaaa aaa a a a aa aaa a a a aa aaa"},{"id":91,"title":"Semicolon drill","source":"literal","difficulty":1,"tags":["foundation","single-key"],"text":"; ; ; ; ;; ;;; ;;;; ;; ;;; ; ; ;; ;;; ;;;; ;;; ; ; ; ;; ;;; ; ; ; ;; ;;;"},{"id":92,"title":"Home row words: short","source":"literal","difficulty":2,"tags":["home-row","words"],"text":"as ad lad sad fad jak ask all ass dad lass salad flask alas asks asks dads lads sad sad alas"},{"id":93,"title":"G key drill","source":"literal","difficulty":2,"tags":["foundation","single-key"],"text":"g g g g gg ggg fg gf jg gj gas gag get gel gel egg log dog log fog jog gas hag rag"},{"id":94,"title":"H key drill","source":"literal","difficulty":2,"tags":["foundation","single-key"],"text":"h h h h hh hhh jh hj fh hf has hat had has had ash ah hat hash hush hush hash"},{"id":95,"title":"Bigram th drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"th th th the the the that this then them they thus thigh thirty thorn theme theirs thaw"},{"id":96,"title":"Bigram he drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"he he he her here heat held help herd hero hint help hen hen henna heel heir hedge"},{"id":97,"title":"Bigram in drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"in in in into ink inch inn inset infer index infix init pink sink rink twin tin link mink"},{"id":98,"title":"Bigram er drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"er er er over ever very deer beer peer leer steer veer cheer queer hover lover river ranger"},{"id":99,"title":"Bigram an drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"an an an and any band hand land sand stand canyon candy fancy ancient and panda banana"},{"id":100,"title":"Bigram nd drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"nd nd nd and end band bend mind bound found round sound mound ground hand sand stand"},{"id":101,"title":"Bigram ed drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"ed ed ed bed red led fed wed shed sled bled tied died lied based raced typed jumped walked"},{"id":102,"title":"Bigram on drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"on on on once only upon onto ongoing canyon python eon iron lemon onion melon"},{"id":103,"title":"Bigram or drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"or or or for nor more lord cord ford ward word horde force forty forge born torn"},{"id":104,"title":"Bigram st drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"st st st last fast cast east best rest test stop step stay still story strict strict"},{"id":105,"title":"Bigram nt drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"nt nt nt ant want went hint sent tent dent tint pant rent vent print plant grant grunt"},{"id":106,"title":"Bigram at drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"at at at cat hat bat fat mat pat rat sat vat that what flat slat chat brat splat"},{"id":107,"title":"Bigram en drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"en en en hen ten when then often given seven eleven golden hidden dozen happen open"},{"id":108,"title":"Bigram is drill","source":"literal","difficulty":2,"tags":["bigrams"],"text":"is is is his this hiss kiss miss bliss list mist fist gist crisp wrist twist resist"},{"id":109,"title":"Trigram tion drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"tion action nation motion option station fiction notion potion lotion cation function junction"},{"id":110,"title":"Trigram ing drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"ing ring sing king ling bring sting going coming fading making racing typing playing"},{"id":111,"title":"Trigram ent drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"ent went sent rent dent tent bent pent vent silent absent recent intent talent agent"},{"id":112,"title":"Trigram ist drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"ist mist list fist gist twist hoist resist exist insist artist florist tourist"},{"id":113,"title":"Trigram for drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"for fore form fort forge forty force forth before forge effort comfort report afford"},{"id":114,"title":"Trigram his drill","source":"literal","difficulty":3,"tags":["trigrams"],"text":"his this miss hiss bliss whisk whisper history history history his his this this this"},{"id":115,"title":"2-letter words sprint","source":"literal","difficulty":2,"tags":["speed","short"],"text":"an as at be by do go he if in is it me my no of on or so to up us we"},{"id":116,"title":"3-letter words sprint","source":"literal","difficulty":2,"tags":["speed","short"],"text":"the and for but you all can did had her his how its new now one our out put say see"},{"id":117,"title":"4-letter words sprint","source":"literal","difficulty":2,"tags":["speed","short"],"text":"this that with have from they were said what your when been time only know like upon them"},{"id":118,"title":"5-letter words sprint","source":"literal","difficulty":3,"tags":["speed"],"text":"their there about which would these other could after first these where think being could right those years world"},{"id":119,"title":"Long words sprint","source":"literal","difficulty":4,"tags":["speed","long"],"text":"necessary government different important especially community something government necessary remember experience opportunity"},{"id":120,"title":"Pangram drill","source":"literal","difficulty":3,"tags":["pangram"],"text":"The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. Sphinx of black quartz, judge my vow. How vexingly quick daft zebras jump."},{"id":121,"title":"TypeScript: types + interfaces","source":"literal","difficulty":4,"tags":["code","typescript"],"text":"interface User { id: number; name: string; email?: string; }\ntype Status = \"idle\" | \"loading\" | \"error\";\nconst greet = (u: User): string => `Hi, ${u.name}`;\nfunction map<T, U>(arr: T[], fn: (x: T) => U): U[] { return arr.map(fn); }"},{"id":122,"title":"TypeScript: generics + utility types","source":"literal","difficulty":5,"tags":["code","typescript"],"text":"type Partial<T> = { [P in keyof T]?: T[P] };\ntype Readonly<T> = { readonly [P in keyof T]: T[P] };\nconst freeze = <T>(o: T): Readonly<T> => Object.freeze(o);\ntype Awaited<T> = T extends Promise<infer U> ? U : T;"},{"id":123,"title":"Rust: ownership + borrowing","source":"literal","difficulty":5,"tags":["code","rust"],"text":"let s1 = String::from(\"hello\");\nlet s2 = &s1;\nfn takes(s: &str) -> usize { s.len() }\nlet v: Vec<i32> = vec![1, 2, 3];\nfor x in &v { println!(\"{}\", x); }"},{"id":124,"title":"Rust: structs + impl","source":"literal","difficulty":5,"tags":["code","rust"],"text":"struct Point { x: f64, y: f64 }\nimpl Point {\n    fn new(x: f64, y: f64) -> Self { Self { x, y } }\n    fn distance(&self, other: &Point) -> f64 {\n        ((self.x - other.x).powi(2) + (self.y - other.y).powi(2)).sqrt()\n    }\n}"},{"id":125,"title":"Go: interfaces + goroutines","source":"literal","difficulty":4,"tags":["code","go"],"text":"type Reader interface { Read(p []byte) (n int, err error) }\nfunc main() {\n    ch := make(chan int)\n    go func() { ch <- 42 }()\n    fmt.Println(<-ch)\n}"},{"id":126,"title":"Java: classes + lambdas","source":"literal","difficulty":4,"tags":["code","java"],"text":"public class User {\n    private final String name;\n    public User(String name) { this.name = name; }\n    public String greet() { return \"Hi, \" + this.name; }\n}\nList<Integer> doubled = nums.stream().map(n -> n * 2).collect(Collectors.toList());"},{"id":127,"title":"C: pointers + arrays","source":"literal","difficulty":5,"tags":["code","c"],"text":"int main(int argc, char *argv[]) {\n    int arr[5] = {1, 2, 3, 4, 5};\n    int *p = arr;\n    for (int i = 0; i < 5; i++) {\n        printf(\"%d\\n\", *(p + i));\n    }\n    return 0;\n}"},{"id":128,"title":"C++: templates + STL","source":"literal","difficulty":5,"tags":["code","cpp"],"text":"#include <vector>\n#include <algorithm>\ntemplate <typename T>\nT sum(const std::vector<T>& v) {\n    return std::accumulate(v.begin(), v.end(), T{});\n}\nstd::sort(v.begin(), v.end());"},{"id":129,"title":"Ruby: blocks + classes","source":"literal","difficulty":4,"tags":["code","ruby"],"text":"class User\n  attr_accessor :name, :email\n  def initialize(name, email)\n    @name = name\n    @email = email\n  end\nend\n[1, 2, 3].map { |n| n * 2 }\nnums.each do |n|\n  puts n\nend"},{"id":130,"title":"Swift: optionals + closures","source":"literal","difficulty":4,"tags":["code","swift"],"text":"var name: String? = \"Alice\"\nif let unwrapped = name {\n    print(\"Hi, \\(unwrapped)\")\n}\nlet add: (Int, Int) -> Int = { a, b in a + b }\nlet doubled = nums.map { $0 * 2 }"},{"id":131,"title":"Kotlin: data classes + null safety","source":"literal","difficulty":4,"tags":["code","kotlin"],"text":"data class User(val name: String, val email: String?)\nval u = User(\"Alice\", null)\nval len = u.email?.length ?: 0\nfun greet(u: User?) = u?.let { \"Hi, ${it.name}\" } ?: \"No user\""},{"id":132,"title":"PHP: arrays + functions","source":"literal","difficulty":4,"tags":["code","php"],"text":"<?php\nfunction greet(string $name): string {\n    return \"Hello, $name!\";\n}\n$users = ['Alice', 'Bob', 'Charlie'];\nforeach ($users as $user) {\n    echo greet($user) . PHP_EOL;\n}"},{"id":133,"title":"Lua: tables + iteration","source":"literal","difficulty":4,"tags":["code","lua"],"text":"local t = { name = \"Alice\", age = 30 }\nfor k, v in pairs(t) do\n    print(k, v)\nend\nlocal function add(a, b)\n    return a + b\nend\nlocal sum = add(2, 3)"},{"id":134,"title":"Elixir: pattern matching","source":"literal","difficulty":5,"tags":["code","elixir"],"text":"defmodule Math do\n  def fib(0), do: 0\n  def fib(1), do: 1\n  def fib(n), do: fib(n - 1) + fib(n - 2)\nend\n[h | t] = [1, 2, 3]\n%{name: name} = %{name: \"Alice\", age: 30}"},{"id":135,"title":"Haskell: types + functions","source":"literal","difficulty":5,"tags":["code","haskell"],"text":"factorial :: Integer -> Integer\nfactorial 0 = 1\nfactorial n = n * factorial (n - 1)\n\ndouble :: [Int] -> [Int]\ndouble = map (* 2)\n\nmain :: IO ()\nmain = mapM_ print [1..10]"},{"id":136,"title":"Git commands","source":"literal","difficulty":3,"tags":["code","cli"],"text":"git status\ngit add .\ngit commit -m \"feat: add login flow\"\ngit push origin main\ngit checkout -b feature/auth\ngit rebase -i HEAD~3\ngit log --oneline --graph --all"},{"id":137,"title":"Docker + Kubernetes","source":"literal","difficulty":4,"tags":["code","devops"],"text":"FROM node:20-alpine\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci --omit=dev\nCOPY . .\nEXPOSE 3000\nCMD [\"node\", \"server.js\"]\n\nkubectl get pods -n production\nkubectl logs -f deployment/api"},{"id":138,"title":"JSON shapes","source":"literal","difficulty":3,"tags":["code","data"],"text":"{\n  \"id\": 42,\n  \"name\": \"Alice\",\n  \"email\": \"alice@example.com\",\n  \"roles\": [\"admin\", \"editor\"],\n  \"settings\": {\n    \"theme\": \"dark\",\n    \"notifications\": true\n  }\n}"},{"id":139,"title":"Tailwind class strings","source":"literal","difficulty":4,"tags":["code","css"],"text":"flex items-center justify-between gap-4 p-6 bg-white dark:bg-slate-900 rounded-lg shadow-md hover:shadow-lg transition-all duration-200 text-slate-800 dark:text-slate-100"},{"id":140,"title":"React: components + hooks","source":"literal","difficulty":4,"tags":["code","react"],"text":"function Counter() {\n  const [count, setCount] = useState(0);\n  useEffect(() => {\n    document.title = `Count: ${count}`;\n  }, [count]);\n  return <button onClick={() => setCount(c => c + 1)}>{count}</button>;\n}"},{"id":141,"title":"Tolstoy -- Anna Karenina","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"All happy families are alike; each unhappy family is unhappy in its own way. Everything was in confusion in the Oblonskys' house. The wife had discovered that the husband was carrying on an intrigue with a French girl, who had been a governess in their family."},{"id":142,"title":"Dostoevsky -- Crime and Punishment","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"On an exceptionally hot evening early in July a young man came out of the garret in which he lodged in S. Place and walked slowly, as though in hesitation, towards K. bridge. He had successfully avoided meeting his landlady on the staircase."},{"id":143,"title":"Hugo -- Les Misérables","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"In 1815, M. Charles-Francois-Bienvenu Myriel was Bishop of D-- He was an old man of about seventy-five years of age; he had occupied the see of D-- since 1806. He had a clear voice, and listened with the kindly air of a good man."},{"id":144,"title":"Eliot -- Middlemarch","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Miss Brooke had that kind of beauty which seems to be thrown into relief by poor dress. Her hand and wrist were so finely formed that she could wear sleeves not less bare of style than those in which the Blessed Virgin appeared to Italian painters."},{"id":145,"title":"Hawthorne -- The Scarlet Letter","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"A throng of bearded men, in sad-coloured garments and grey steeple-crowned hats, intermixed with women, some wearing hoods, and others bareheaded, was assembled in front of a wooden edifice, the door of which was heavily timbered with oak, and studded with iron spikes."},{"id":146,"title":"James -- Portrait of a Lady","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Under certain circumstances there are few hours in life more agreeable than the hour dedicated to the ceremony known as afternoon tea. There are circumstances in which, whether you partake of the tea or not -- some people of course never do -- the situation is in itself delightful."},{"id":147,"title":"Wharton -- Age of Innocence","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"On a January evening of the early seventies, Christine Nilsson was singing in Faust at the Academy of Music in New York. Though there was already talk of the erection, in remote metropolitan distances 'above the Forties,' of a new Opera House."},{"id":148,"title":"Cather -- My Ántonia","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I first heard of Ántonia on what seemed to me an interminable journey across the great midland plain of North America. I was ten years old then; I had lost both my father and mother within a year, and my Virginia relatives were sending me out to my grandparents."},{"id":149,"title":"Crane -- Red Badge of Courage","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The cold passed reluctantly from the earth, and the retiring fogs revealed an army stretched out on the hills, resting. As the landscape changed from brown to green, the army awakened, and began to tremble with eagerness at the noise of rumours."},{"id":150,"title":"Conrad -- Lord Jim","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"He was an inch, perhaps two, under six feet, powerfully built, and he advanced straight at you with a slight stoop of the shoulders, head forward, and a fixed from-under stare which made you think of a charging bull."},{"id":151,"title":"Forster -- Howards End","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"One may as well begin with Helen's letters to her sister. Howards End, Tuesday. Dearest Meg, It isn't going to be what we expected. It is old and little, and altogether delightful -- red brick. We can scarcely pack in as it is, and the dear knows what will happen when Paul (the younger son) arrives tomorrow."},{"id":152,"title":"Joyce -- Dubliners","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"There was no hope for him this time: it was the third stroke. Night after night I had passed the house (it was vacation time) and studied the lighted square of window: and night after night I had found it lighted in the same way, faintly and evenly."},{"id":153,"title":"Lawrence -- Sons and Lovers","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"The Bottoms succeeded to Hell Row. Hell Row was a block of thatched, bulging cottages that stood by the brookside on Greenhill Lane. There lived the colliers who worked in the little gin-pits two fields away."},{"id":154,"title":"Hemingway -- short paragraph","source":"literal","difficulty":3,"tags":["prose","literature"],"text":"He was an old man who fished alone in a skiff in the Gulf Stream and he had gone eighty-four days now without taking a fish. In the first forty days a boy had been with him. But after forty days without a fish the boy's parents had told him that the old man was now definitely and finally salao, which is the worst form of unlucky."},{"id":155,"title":"Wilde -- The Importance of Being Earnest","source":"literal","difficulty":4,"tags":["prose","drama"],"text":"ALGERNON. Did you hear what I was playing, Lane?\nLANE. I didn't think it polite to listen, sir.\nALGERNON. I'm sorry for that, for your sake. I don't play accurately -- any one can play accurately -- but I play with wonderful expression."},{"id":156,"title":"Shakespeare -- Sonnet 18","source":"literal","difficulty":4,"tags":["poetry","sonnet"],"text":"Shall I compare thee to a summer's day?\nThou art more lovely and more temperate:\nRough winds do shake the darling buds of May,\nAnd summer's lease hath all too short a date."},{"id":157,"title":"Frost -- Stopping by Woods","source":"literal","difficulty":3,"tags":["poetry"],"text":"Whose woods these are I think I know.\nHis house is in the village though;\nHe will not see me stopping here\nTo watch his woods fill up with snow."},{"id":158,"title":"Dickinson -- Hope","source":"literal","difficulty":3,"tags":["poetry"],"text":"Hope is the thing with feathers\nThat perches in the soul,\nAnd sings the tune without the words,\nAnd never stops at all."},{"id":159,"title":"Whitman -- Song of Myself","source":"literal","difficulty":4,"tags":["poetry"],"text":"I celebrate myself, and sing myself,\nAnd what I assume you shall assume,\nFor every atom belonging to me as good belongs to you."},{"id":160,"title":"Kipling -- If—","source":"literal","difficulty":4,"tags":["poetry"],"text":"If you can keep your head when all about you\nAre losing theirs and blaming it on you,\nIf you can trust yourself when all men doubt you,\nBut make allowance for their doubting too."},{"id":161,"title":"Lincoln -- Gettysburg Address (opening)","source":"literal","difficulty":4,"tags":["speech","history"],"text":"Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal."},{"id":162,"title":"Lincoln -- Gettysburg Address (closing)","source":"literal","difficulty":4,"tags":["speech","history"],"text":"It is rather for us to be here dedicated to the great task remaining before us -- that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion -- that government of the people, by the people, for the people, shall not perish from the earth."},{"id":163,"title":"Patrick Henry -- Liberty or Death","source":"literal","difficulty":4,"tags":["speech","history"],"text":"Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery? Forbid it, Almighty God! I know not what course others may take; but as for me, give me liberty or give me death!"},{"id":164,"title":"FDR -- Day of Infamy","source":"literal","difficulty":4,"tags":["speech","history"],"text":"Yesterday, December 7th, 1941 -- a date which will live in infamy -- the United States of America was suddenly and deliberately attacked by naval and air forces of the Empire of Japan."},{"id":165,"title":"JFK -- Inaugural","source":"literal","difficulty":4,"tags":["speech","history"],"text":"And so, my fellow Americans: ask not what your country can do for you -- ask what you can do for your country. My fellow citizens of the world: ask not what America will do for you, but what together we can do for the freedom of man."},{"id":166,"title":"Sojourner Truth -- Ain't I a Woman?","source":"literal","difficulty":4,"tags":["speech","history"],"text":"I have plowed and planted, and gathered into barns, and no man could head me! And ain't I a woman? I could work as much and eat as much as a man -- when I could get it -- and bear the lash as well! And ain't I a woman?"},{"id":167,"title":"Roosevelt -- The Man in the Arena","source":"literal","difficulty":5,"tags":["speech","history"],"text":"It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood."},{"id":168,"title":"Chief Joseph -- Surrender","source":"literal","difficulty":4,"tags":["speech","history"],"text":"I am tired of fighting. Our chiefs are killed. The old men are all dead. It is cold and we have no blankets. The little children are freezing to death. Hear me, my chiefs! I am tired; my heart is sick and sad. From where the sun now stands, I will fight no more forever."},{"id":169,"title":"Pericles -- Funeral Oration","source":"literal","difficulty":5,"tags":["speech","history"],"text":"For we are lovers of the beautiful, yet simple in our tastes, and we cultivate the mind without loss of manliness. Wealth we employ, not for talk and ostentation, but when there is a real use for it. To avow poverty with us is no disgrace; the true disgrace is in doing nothing to avoid it."},{"id":170,"title":"Frederick Douglass -- Fourth of July","source":"literal","difficulty":5,"tags":["speech","history"],"text":"What, to the American slave, is your 4th of July? I answer; a day that reveals to him, more than all other days in the year, the gross injustice and cruelty to which he is the constant victim. To him, your celebration is a sham; your boasted liberty, an unholy license."},{"id":171,"title":"Academic citation (APA)","source":"literal","difficulty":4,"tags":["specialized","writing"],"text":"Smith, J. A. (2023). The architecture of memory. Journal of Cognitive Science, 47(3), 215-238. https://doi.org/10.1234/jcs.2023.47.3.215\n\nDoe, R. M., & Lee, K. (2021). Foundations of typing instruction. Annual Review of Pedagogy, 12, 45-78."},{"id":172,"title":"Code review comments","source":"literal","difficulty":4,"tags":["specialized","writing"],"text":"// TODO(@alice): Refactor to use the new auth context.\n// FIXME: This breaks when the user has no profile yet.\n// NOTE: We can't use Promise.all here because the API is rate-limited.\n// HACK: Workaround for the legacy XHR retry behavior; see issue #4521."},{"id":173,"title":"Recipe: ingredient list","source":"literal","difficulty":3,"tags":["specialized","domestic"],"text":"2 cups all-purpose flour\n1 1/2 tsp baking powder\n1/2 tsp salt\n1/4 cup butter, softened\n3/4 cup sugar\n2 large eggs\n1 tsp vanilla extract\n1/2 cup whole milk\nPreheat oven to 350°F. Mix dry, cream wet, fold together."},{"id":174,"title":"Email composition","source":"literal","difficulty":3,"tags":["specialized","writing"],"text":"Subject: Following up on Tuesday's meeting\n\nHi Alex,\n\nThanks for taking the time on Tuesday. I wanted to circle back on the two action items we discussed: the Q3 forecast and the new vendor agreement. Could you send the latest spreadsheet by Friday?\n\nBest,\nJordan"},{"id":175,"title":"Stage directions (Shakespeare)","source":"literal","difficulty":4,"tags":["specialized","drama"],"text":"[Enter HAMLET, reading.]\n[Aside.] To be, or not to be, that is the question.\n[Exit, pursued by a bear.]\n[A trumpet sounds. Enter the King, the Queen, and their Train.]\n[She drinks.] Now to my poison, traitor!"},{"id":176,"title":"Music notation (text)","source":"literal","difficulty":5,"tags":["specialized","music"],"text":"C major: C D E F G A B C\nA minor: A B C D E F G A\nKey of D: D E F# G A B C# D\nIntervals: P1 m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8\nC7 = C E G Bb   Dm7 = D F A C   G7 = G B D F"},{"id":177,"title":"Periodic table snippet","source":"literal","difficulty":4,"tags":["specialized","science"],"text":"H Hydrogen 1.008   He Helium 4.003   Li Lithium 6.94   C Carbon 12.011   N Nitrogen 14.007   O Oxygen 15.999   Na Sodium 22.99   Cl Chlorine 35.45   Fe Iron 55.85   Au Gold 196.97"},{"id":178,"title":"Time zone references","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"UTC   GMT   EST UTC-5   PST UTC-8   CET UTC+1   IST UTC+5:30   JST UTC+9   AEST UTC+10\n2024-03-15T14:30:00Z   2024-03-15 09:30 EST   1710512400 (epoch)"},{"id":179,"title":"Common abbreviations","source":"literal","difficulty":3,"tags":["specialized"],"text":"i.e. e.g. etc. et al. cf. viz. vs. ca. ibid. q.v. n.b. p.s. r.s.v.p. asap fyi tbd tba aka diy faq"},{"id":180,"title":"Foreign loan phrases","source":"literal","difficulty":4,"tags":["specialized","language"],"text":"déjà vu   per se   bona fide   ad hoc   in situ   carpe diem   et cetera   coup d'état   tête-à-tête   joie de vivre   noblesse oblige   c'est la vie"},{"id":181,"title":"Left index reach: f r v g t b","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"fr fv fg fb fr fv ft rb tg vb fr ft fv fb gr bg tr vt fr fv fr fb fv fg ft"},{"id":182,"title":"Right index reach: j u m h y n","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"ju jm jh jn jy ju jh ju my hn yn jm jy ju jh jn ju jh ju my jn jh jy"},{"id":183,"title":"Left middle reach: d e c","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"de dc ed ec de cd dc ed de cd ec de cd ed de ec dc ed cd dc de ec ce"},{"id":184,"title":"Right middle reach: k i comma","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"ki k, ik ,k ki k, ki ,k ik k, ki ,k ki ,i k,k iki k,k ,ki ki"},{"id":185,"title":"Left ring reach: s w x","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"sw sx ws xs sw xs sx ws xw sw sx xs ws sw xs sw ws xw sw sx ws xs"},{"id":186,"title":"Right ring reach: l o period","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"lo l. ol .l lo l. lo .l ol l. lo .l lo .l l.l olo lo. .lo lo"},{"id":187,"title":"Left pinky reach: a q z","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":"aq az qa za aq za az qa zq aq az za qa aq az aq qa zq aq az qa za"},{"id":188,"title":"Right pinky reach: ; p slash","source":"literal","difficulty":2,"tags":["foundation","reach"],"text":";p ;/ p; /; ;p /; ;/ p; /p ;p ;/ /; p; ;p /; ;p p; /p ;p ;/ p; /;"},{"id":189,"title":"Index column workout","source":"literal","difficulty":3,"tags":["foundation","drill"],"text":"front truth fight birth might fruit night brunt right thorn tribe vault hunt bring hurt verb juicy hover"},{"id":190,"title":"Middle column workout","source":"literal","difficulty":3,"tags":["foundation","drill"],"text":"decide cement cycle decide cake kick coke kid deck idle docked iced eked desk dock kid kick eked"},{"id":191,"title":"Pinky column workout","source":"literal","difficulty":3,"tags":["foundation","drill"],"text":"quiz pizza zealous plaza queue quartz square plaque liquid quick quaint zigzag azalea quill zoo zone"},{"id":192,"title":"b vs d","source":"literal","difficulty":2,"tags":["confusable"],"text":"bad bad bed bed bid bid bod bod bud bud daub daub debt debt debtor debt bed bid bad bud"},{"id":193,"title":"p vs q","source":"literal","difficulty":3,"tags":["confusable"],"text":"pq pq qp qp pop pop quip quip quip pup pup quip pip pip pq qp pq quip pup quaff"},{"id":194,"title":"u vs n","source":"literal","difficulty":2,"tags":["confusable"],"text":"un nu un nu undo undo nun nun nun nun under under unique nun unfair unique nudge nuance"},{"id":195,"title":"m vs n","source":"literal","difficulty":2,"tags":["confusable"],"text":"mn nm man nan men nen mom non mum nun mom non mind mine nine mine mind moon noon"},{"id":196,"title":"i vs l","source":"literal","difficulty":2,"tags":["confusable"],"text":"il li ill lil lily lily ill ill lily lily lily lily lily ill ill lily ill lily"},{"id":197,"title":"o vs 0","source":"literal","difficulty":2,"tags":["confusable","numbers"],"text":"o0 0o oo 00 o0 0o 100 200 300 zoo too 100 1000 odo 100 zoo 200 odo too"},{"id":198,"title":"1 vs l vs I","source":"literal","difficulty":2,"tags":["confusable","numbers"],"text":"1l1 lIl 1lI 11l 1l1 lI1 1lI Il1 11I l1l I1l 1II 1ll lll 111 III 1lI"},{"id":199,"title":"Top-25 English words","source":"literal","difficulty":2,"tags":["frequency"],"text":"the be to of and a in that have I it for not on with he as you do at this but his by from they we"},{"id":200,"title":"Words 26-50","source":"literal","difficulty":2,"tags":["frequency"],"text":"say her she or an will my one all would there their what so up out if about who get which go me when make"},{"id":201,"title":"Words 51-100","source":"literal","difficulty":3,"tags":["frequency"],"text":"can like time no just him know take people into year your good some could them see other than then now look only come its over think also back after use two how our work first well way even new want because any these give day most us"},{"id":202,"title":"Word ladders: short to long","source":"literal","difficulty":3,"tags":["progression"],"text":"a an and band brand strand stranded a be bed beds breads breads bread bread breadcrumb a in win wine wines vines"},{"id":203,"title":"Function-word sentences","source":"literal","difficulty":3,"tags":["sentence"],"text":"It is what it is. Be what you are. Take it or leave it. Do as you please. Have it your way. We will see. So it goes. As you wish. Time will tell. So be it."},{"id":204,"title":"Bigram ou drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ou ou ou out our hour soup loud round count sound bound found ground proud cloud about"},{"id":205,"title":"Bigram al drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"al al al all also halt small fall ball call hall mall pal medal brutal final hospital metal"},{"id":206,"title":"Bigram el drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"el el el feel heel keel peel reel sell tell cell well bell hell shell smell spell elbow"},{"id":207,"title":"Bigram il drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"il il il bill fill hill kill mill pill till will spill drill thrill quill chill skill"},{"id":208,"title":"Bigram ar drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ar ar ar are art arc bar car ear far jar war star scar car park hard yard guard sharp"},{"id":209,"title":"Bigram ck drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ck ck ck back pack rack sack tack lack jack stuck truck buck duck luck quick stick stick"},{"id":210,"title":"Bigram ll drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ll ll ll all bell call doll fall hall ill jolly kill mall null pull roll sell tall well will"},{"id":211,"title":"Bigram ss drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ss ss ss boss class glass grass lass mass moss pass loss less mess miss kiss bliss bless"},{"id":212,"title":"Bigram ff drill","source":"literal","difficulty":3,"tags":["bigrams"],"text":"ff ff ff cliff stiff puff buff cuff huff luff muff stuff bluff fluff sniff staff jeff"},{"id":213,"title":"Comma rhythm","source":"literal","difficulty":3,"tags":["punctuation","sentence"],"text":"Yes, of course, you may. No, thank you, not today. Indeed, I would, if I could. Well, perhaps, but only briefly. Eventually, naturally, things settle."},{"id":214,"title":"Period ending sentences","source":"literal","difficulty":3,"tags":["punctuation","sentence"],"text":"She ran. He stopped. They watched. The clock ticked. Rain fell. Birds sang. Doors closed. Lights flickered. Time passed. Silence held."},{"id":215,"title":"Quotation marks","source":"literal","difficulty":4,"tags":["punctuation","quotes"],"text":"\"Hello,\" she said. \"Are you ready?\" \"Yes,\" he replied. \"Then let's go.\" \"After you.\" \"No, after you.\" \"I insist.\" \"Very well.\""},{"id":216,"title":"Semicolon + colon","source":"literal","difficulty":4,"tags":["punctuation"],"text":"She had three goals: to learn, to teach, to lead. The day was warm; the wind, gentle. He paused; then continued. Three things matter: time, focus, and rest."},{"id":217,"title":"Em-dashes + parentheses","source":"literal","difficulty":4,"tags":["punctuation"],"text":"The result -- and this surprised everyone -- was unanimous. The book (a slim volume) sat on the shelf. He arrived (late, as always) and sat in the back row."},{"id":218,"title":"Apostrophes: contractions","source":"literal","difficulty":3,"tags":["punctuation"],"text":"don't can't won't shouldn't wouldn't couldn't isn't aren't wasn't weren't I'll you'll he'll we'll they'll I've you've we've they've"},{"id":219,"title":"Apostrophes: possessives","source":"literal","difficulty":3,"tags":["punctuation"],"text":"Alice's book the dog's bowl the children's toys the women's room James's chair the cat's eye the boys' team the teachers' lounge"},{"id":220,"title":"Hyphens + ranges","source":"literal","difficulty":3,"tags":["punctuation"],"text":"well-known self-aware twenty-one mid-century ages 5-12 pages 100-150 the 1960s-1970s east-west north-south two-thirds three-quarters"},{"id":221,"title":"Counting 1-50","source":"literal","difficulty":2,"tags":["numbers"],"text":"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50"},{"id":222,"title":"Even / odd / primes","source":"literal","difficulty":3,"tags":["numbers"],"text":"2 4 6 8 10 12 14 16 18 20 1 3 5 7 9 11 13 15 17 19 21 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73"},{"id":223,"title":"Fibonacci","source":"literal","difficulty":3,"tags":["numbers"],"text":"1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025"},{"id":224,"title":"Powers of 2","source":"literal","difficulty":3,"tags":["numbers"],"text":"1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576"},{"id":225,"title":"Pi to 50 digits","source":"literal","difficulty":4,"tags":["numbers"],"text":"3.14159265358979323846264338327950288419716939937510"},{"id":226,"title":"e to 50 digits","source":"literal","difficulty":4,"tags":["numbers"],"text":"2.71828182845904523536028747135266249775724709369995"},{"id":227,"title":"Phone numbers (US)","source":"literal","difficulty":3,"tags":["numbers","punctuation"],"text":"(212) 555-0100   (415) 555-0193   (650) 555-0142   (310) 555-0167   1-800-555-0100   +1-202-555-0185   555-1234   867-5309"},{"id":228,"title":"ISBNs + IDs","source":"literal","difficulty":4,"tags":["numbers"],"text":"ISBN 978-0-13-468599-1   ISBN 0-7432-7356-7   ID-2024-09-001   SKU-78451-A   PR#42184   v3.21.7-rc.2   #c0ffee01"},{"id":229,"title":"Dates many formats","source":"literal","difficulty":3,"tags":["numbers","punctuation"],"text":"2024-03-15   03/15/2024   15-Mar-2024   March 15, 2024   15 March 2024   2024年3月15日   FY24 Q1   Week 11"},{"id":230,"title":"Time + duration","source":"literal","difficulty":3,"tags":["numbers","punctuation"],"text":"9:00 AM   12:30 PM   5:45 PM   23:59:59   00:00:01   1h 30m   2h 15m 30s   PT2H30M   42 ms   3.5 s"},{"id":231,"title":"Bash: scripting basics","source":"literal","difficulty":4,"tags":["code","shell"],"text":"#!/usr/bin/env bash\nset -euo pipefail\n\nfor f in *.log; do\n    if [[ -f \"$f\" ]]; then\n        wc -l \"$f\"\n    fi\ndone\n\necho \"Done at $(date +%F)\""},{"id":232,"title":"Python: comprehensions advanced","source":"literal","difficulty":4,"tags":["code","python"],"text":"matrix = [[i * j for j in range(5)] for i in range(5)]\nflat = [x for row in matrix for x in row]\nseen = {tuple(sorted(d.items())) for d in dicts}\nresult = {k: [v for v in vals if v > 0] for k, vals in groups.items()}"},{"id":233,"title":"Python: async/await","source":"literal","difficulty":5,"tags":["code","python"],"text":"import asyncio\n\nasync def fetch(url: str) -> str:\n    async with httpx.AsyncClient() as client:\n        r = await client.get(url)\n        return r.text\n\nasync def main():\n    results = await asyncio.gather(*(fetch(u) for u in urls))\n    return results"},{"id":234,"title":"JavaScript: async/await","source":"literal","difficulty":4,"tags":["code","javascript"],"text":"async function fetchUser(id) {\n  try {\n    const response = await fetch(`/api/users/${id}`);\n    if (!response.ok) throw new Error('not found');\n    return await response.json();\n  } catch (err) {\n    console.error('fetch failed', err);\n    throw err;\n  }\n}"},{"id":235,"title":"JavaScript: array methods","source":"literal","difficulty":4,"tags":["code","javascript"],"text":"const total = items.reduce((sum, i) => sum + i.price, 0);\nconst names = users.map(u => u.name).filter(Boolean);\nconst byId = Object.fromEntries(rows.map(r => [r.id, r]));\nconst grouped = list.reduce((acc, x) => ((acc[x.k] ??= []).push(x), acc), {});"},{"id":236,"title":"SQL: joins + group by","source":"literal","difficulty":5,"tags":["code","sql"],"text":"SELECT u.id, u.name, COUNT(o.id) AS order_count, SUM(o.total) AS revenue\nFROM users u\nLEFT JOIN orders o ON o.user_id = u.id AND o.status = 'paid'\nWHERE u.created_at >= '2024-01-01'\nGROUP BY u.id, u.name\nHAVING COUNT(o.id) > 0\nORDER BY revenue DESC\nLIMIT 50;"},{"id":237,"title":"SQL: window functions","source":"literal","difficulty":5,"tags":["code","sql"],"text":"SELECT id, customer_id, amount,\n  RANK() OVER (PARTITION BY customer_id ORDER BY amount DESC) AS rank,\n  SUM(amount) OVER (PARTITION BY customer_id) AS customer_total,\n  amount - LAG(amount) OVER (ORDER BY id) AS delta\nFROM orders;"},{"id":238,"title":"Vim commands","source":"literal","difficulty":4,"tags":["code","editor"],"text":":w   :q   :wq   :q!   /pattern   ?pattern   n   N   dd   yy   p   P   u   Ctrl-r   gg   G   :set nu   :%s/old/new/g   ci\"   da(   gqap   zz"},{"id":239,"title":"Regex character classes","source":"literal","difficulty":5,"tags":["code","regex"],"text":"\\d{3}-\\d{4}   [a-zA-Z0-9_]+   [^aeiou]   (?:foo|bar)   (?P<name>\\w+)   ^\\s+|\\s+$   \\b\\w+\\b   (?<=@)\\w+   (?!\\d)\\w+   [\\p{L}\\p{N}]+"},{"id":240,"title":"GraphQL query","source":"literal","difficulty":4,"tags":["code","data"],"text":"query GetUser($id: ID!) {\n  user(id: $id) {\n    id\n    name\n    email\n    posts(first: 10) {\n      edges {\n        node { id title createdAt }\n      }\n    }\n  }\n}"},{"id":241,"title":"YAML config","source":"literal","difficulty":3,"tags":["code","data"],"text":"version: \"3.9\"\nservices:\n  app:\n    image: node:20-alpine\n    ports:\n      - \"3000:3000\"\n    environment:\n      NODE_ENV: production\n      DATABASE_URL: postgres://db:5432/app\n    depends_on:\n      - db"},{"id":242,"title":"TOML + INI","source":"literal","difficulty":3,"tags":["code","data"],"text":"[package]\nname = \"my-crate\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1\", features = [\"derive\"] }\ntokio = { version = \"1\", features = [\"full\"] }"},{"id":243,"title":"Makefile","source":"literal","difficulty":4,"tags":["code","build"],"text":".PHONY: build test clean\n\nbuild:\n\tnpm run build\n\ntest:\n\tnpm test -- --watch=false\n\nclean:\n\trm -rf dist/ node_modules/\n\ndeploy: build test\n\trsync -av dist/ user@host:/var/www/"},{"id":244,"title":"PowerShell pipeline","source":"literal","difficulty":4,"tags":["code","shell"],"text":"Get-Process | Where-Object { $_.CPU -gt 100 } | Sort-Object CPU -Descending | Select-Object -First 10 Name, CPU, WorkingSet\nGet-ChildItem -Recurse -Include *.log | Remove-Item -WhatIf"},{"id":245,"title":"Network commands","source":"literal","difficulty":4,"tags":["code","cli"],"text":"ssh user@host.example.com -p 2222\nscp -r ./build/ user@host:/var/www/\nrsync -avz --delete src/ host:/dest/\ncurl -fsSL https://example.com -o file.html\nwget -q --show-progress https://example.com/file.zip\nnetstat -tulpn | grep LISTEN"},{"id":246,"title":"CSS Grid + Flexbox","source":"literal","difficulty":4,"tags":["code","css"],"text":".grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }\n.flex { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: var(--gap); }"},{"id":247,"title":"TypeScript: discriminated unions","source":"literal","difficulty":5,"tags":["code","typescript"],"text":"type Result<T> =\n  | { kind: \"ok\"; value: T }\n  | { kind: \"err\"; error: string };\n\nfunction unwrap<T>(r: Result<T>): T {\n  if (r.kind === \"ok\") return r.value;\n  throw new Error(r.error);\n}"},{"id":248,"title":"Hawthorne -- The House of the Seven Gables","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Halfway down a by-street of one of our New England towns stands a rusty wooden house, with seven acutely peaked gables, facing towards various points of the compass, and a huge, clustered chimney in the midst."},{"id":249,"title":"Stevenson -- Kidnapped","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I will begin the story of my adventures with a certain morning early in the month of June, the year of grace 1751, when I took the key for the last time out of the door of my father's house."},{"id":250,"title":"Dickens -- Oliver Twist","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Among other public buildings in a certain town which for many reasons it will be prudent to refrain from mentioning, and to which I will assign no fictitious name, there is one anciently common to most towns, great or small: to wit, a workhouse."},{"id":251,"title":"Austen -- Sense and Sensibility","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The family of Dashwood had long been settled in Sussex. Their estate was large, and their residence was at Norland Park, in the centre of their property, where, for many generations, they had lived in so respectable a manner as to engage the general good opinion of their surrounding acquaintance."},{"id":252,"title":"Bronte -- Jane Eyre","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"There was no possibility of taking a walk that day. We had been wandering, indeed, in the leafless shrubbery an hour in the morning; but since dinner the cold winter wind had brought with it clouds so sombre, and a rain so penetrating, that further out-door exercise was now out of the question."},{"id":253,"title":"Bronte -- Wuthering Heights","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"1801. -- I have just returned from a visit to my landlord -- the solitary neighbour that I shall be troubled with. This is certainly a beautiful country! In all England, I do not believe that I could have fixed on a situation so completely removed from the stir of society."},{"id":254,"title":"Dumas -- The Count of Monte Cristo","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"On the 24th of February, 1815, the look-out at Notre-Dame de la Garde signalled the three-master, the Pharaon, from Smyrna, Trieste, and Naples. As usual, a pilot put off immediately, and rounding the Château d'If, got on board the vessel between Cape Morgion and Rion Island."},{"id":255,"title":"Verne -- 20,000 Leagues","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The year 1866 was signalised by a remarkable incident, a mysterious and inexplicable phenomenon, which doubtless no one has yet forgotten. Not to mention rumors which agitated the maritime population, and excited the public mind, even in the interior of continents, seafaring men were particularly excited."},{"id":256,"title":"Defoe -- Robinson Crusoe","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I was born in the year 1632, in the city of York, of a good family, though not of that country, my father being a foreigner of Bremen, who settled first at Hull. He got a good estate by merchandise, and leaving off his trade, lived afterwards at York."},{"id":257,"title":"Swift -- Gulliver's Travels","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"My father had a small estate in Nottinghamshire; I was the third of five sons. He sent me to Emanuel College in Cambridge at fourteen years old, where I resided three years, and applied myself close to my studies."},{"id":258,"title":"Stoker -- Dracula (later)","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"When it grew dark there seemed to be some excitement amongst the passengers, and they kept speaking to him, one after the other, as though urging him to further speed. He lashed the horses unmercifully with his long whip, and with wild cries of encouragement urged them on to further exertions."},{"id":259,"title":"Verne -- Around the World in 80 Days","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Mr. Phileas Fogg lived, in 1872, at No. 7, Saville Row, Burlington Gardens, the house in which Sheridan died in 1816. He was one of the most noticeable members of the Reform Club, though he seemed always to avoid attracting attention."},{"id":260,"title":"Lincoln -- Second Inaugural","source":"literal","difficulty":5,"tags":["speech","history"],"text":"With malice toward none, with charity for all, with firmness in the right as God gives us to see the right, let us strive on to finish the work we are in, to bind up the nation's wounds, to care for him who shall have borne the battle and for his widow and his orphan."},{"id":261,"title":"Roosevelt -- Four Freedoms","source":"literal","difficulty":4,"tags":["speech","history"],"text":"We look forward to a world founded upon four essential human freedoms. The first is freedom of speech and expression. The second is freedom of every person to worship in his own way. The third is freedom from want. The fourth is freedom from fear."},{"id":262,"title":"Eisenhower -- Military-Industrial Complex","source":"literal","difficulty":5,"tags":["speech","history"],"text":"In the councils of government, we must guard against the acquisition of unwarranted influence, whether sought or unsought, by the military-industrial complex. The potential for the disastrous rise of misplaced power exists and will persist."},{"id":263,"title":"Kennedy -- Moon Speech","source":"literal","difficulty":4,"tags":["speech","history"],"text":"We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills."},{"id":264,"title":"Anthony -- Women's Right to Vote","source":"literal","difficulty":5,"tags":["speech","history"],"text":"Friends and fellow citizens: I stand before you tonight under indictment for the alleged crime of having voted at the last presidential election, without having a lawful right to vote. It shall be my work this evening to prove to you that in thus voting, I not only committed no crime, but, instead, simply exercised my citizen's rights."},{"id":265,"title":"Stanton -- Declaration of Sentiments","source":"literal","difficulty":5,"tags":["speech","history"],"text":"We hold these truths to be self-evident: that all men and women are created equal; that they are endowed by their Creator with certain inalienable rights; that among these are life, liberty, and the pursuit of happiness."},{"id":266,"title":"Washington -- Farewell Address (excerpt)","source":"literal","difficulty":5,"tags":["speech","history"],"text":"Observe good faith and justice towards all nations. Cultivate peace and harmony with all. Religion and morality enjoin this conduct; and can it be that good policy does not equally enjoin it? It will be worthy of a free, enlightened, and at no distant period, a great nation."},{"id":267,"title":"Pankhurst -- Freedom or Death (excerpt)","source":"literal","difficulty":5,"tags":["speech","history"],"text":"I do not come here as an advocate, because whatever position the suffrage movement may occupy in the United States of America, in England it has passed beyond the realm of advocacy and it has entered into the sphere of practical politics."},{"id":268,"title":"Bryan -- Cross of Gold","source":"literal","difficulty":5,"tags":["speech","history"],"text":"You shall not press down upon the brow of labor this crown of thorns. You shall not crucify mankind upon a cross of gold. The most sublime cause that ever interested any human being, including the cause of liberty, is the cause of humanity."},{"id":269,"title":"Chief Seattle (attributed)","source":"literal","difficulty":5,"tags":["speech","history"],"text":"How can you buy or sell the sky? The land? The idea is strange to us. If we do not own the freshness of the air and the sparkle of the water, how can you buy them from us? Every part of this earth is sacred to my people."},{"id":270,"title":"Booker T. Washington -- Atlanta Compromise","source":"literal","difficulty":5,"tags":["speech","history"],"text":"To those of my race who depend on bettering their condition in a foreign land or who underestimate the importance of cultivating friendly relations with the Southern white man, I would say: 'Cast down your bucket where you are.' Cast it down in making friends in every manly way of the people of all races by whom we are surrounded."},{"id":271,"title":"Short narrative paragraph","source":"literal","difficulty":3,"tags":["sentence"],"text":"She walked to the window and looked out. The street was empty. A single light flickered at the corner. She closed the curtain and turned back to the room. The kettle whistled. She made tea."},{"id":272,"title":"Description rhythm","source":"literal","difficulty":3,"tags":["sentence"],"text":"The kitchen was small but warm: a round table, two chairs, a stove, a single window over the sink. Outside, snow drifted past the glass. Inside, the radio played a quiet song. Coffee was brewing."},{"id":273,"title":"Dialogue rhythm","source":"literal","difficulty":4,"tags":["sentence"],"text":"\"Where have you been?\" she asked. \"Out,\" he said. \"Out where?\" \"Just out.\" She set down the cup. \"You said you'd be back by six.\" \"I lost track.\" \"Of time?\" \"Of everything.\""},{"id":274,"title":"Lists in prose","source":"literal","difficulty":3,"tags":["sentence"],"text":"Pack the essentials: a notebook, two pens, a phone charger, a map, a small flashlight, a snack, a bottle of water, and one good book. Forget the rest."},{"id":275,"title":"Compound + complex sentences","source":"literal","difficulty":4,"tags":["sentence"],"text":"Although the path was steep, she pressed on, knowing the view from the top was worth every step; and when she finally reached it, she paused, breathing hard, and felt the wind tug gently at her sleeves."},{"id":276,"title":"Legal: opinion text","source":"literal","difficulty":5,"tags":["specialized","legal"],"text":"We hold that the petitioner's claim, while ably argued, fails to satisfy the standards articulated in our prior decisions. The record before us provides no basis to conclude that the lower court's findings were clearly erroneous. The judgment is therefore affirmed."},{"id":277,"title":"Scientific abstract","source":"literal","difficulty":5,"tags":["specialized","science"],"text":"We report the synthesis and characterization of a novel polymer that exhibits self-healing behavior under ambient conditions. NMR and IR spectroscopy confirm the proposed structure. The polymer recovers 92% of its tensile strength within 24 hours of mechanical damage."},{"id":278,"title":"Newswire lede","source":"literal","difficulty":4,"tags":["specialized","journalism"],"text":"WASHINGTON (Reuters) -- Federal regulators on Tuesday approved a new rule requiring large banks to maintain higher capital reserves, a long-anticipated change that industry executives had warned could constrain lending to small businesses and consumers."},{"id":279,"title":"Sports recap paragraph","source":"literal","difficulty":4,"tags":["specialized","journalism"],"text":"Down by two with thirty seconds left, the visitors found their rhythm. A pull-up jumper from the wing tied it. A defensive stop, a quick outlet, and a corner three with two seconds on the clock. The buzzer sounded. The bench cleared."},{"id":280,"title":"Recipe procedural prose","source":"literal","difficulty":3,"tags":["specialized","domestic"],"text":"Heat the oil in a wide pan over medium heat. Add the onion and cook, stirring occasionally, until softened, about five minutes. Stir in the garlic and cook for one minute more. Add the tomatoes, season with salt, and simmer until thickened, fifteen to twenty minutes."},{"id":281,"title":"Common Spanish phrases","source":"literal","difficulty":4,"tags":["foreign","language"],"text":"Hola, ¿cómo estás? Muy bien, gracias. ¿Y tú? Por favor, ¿dónde está la estación? La cuenta, por favor. Buenos días. Buenas tardes. Buenas noches. Hasta luego."},{"id":282,"title":"Common French phrases","source":"literal","difficulty":4,"tags":["foreign","language"],"text":"Bonjour, ça va? Très bien, merci. Et vous? S'il vous plaît, où est la gare? L'addition, s'il vous plaît. Pardon. Excusez-moi. Au revoir. À bientôt. Je ne comprends pas."},{"id":283,"title":"Common German phrases","source":"literal","difficulty":4,"tags":["foreign","language"],"text":"Guten Tag. Wie geht es Ihnen? Sehr gut, danke. Und Ihnen? Bitte, wo ist der Bahnhof? Die Rechnung, bitte. Entschuldigung. Auf Wiedersehen. Tschüss. Ich verstehe nicht."},{"id":284,"title":"Common Italian phrases","source":"literal","difficulty":4,"tags":["foreign","language"],"text":"Ciao. Come stai? Molto bene, grazie. E tu? Per favore, dov'è la stazione? Il conto, per favore. Mi scusi. Arrivederci. A presto. Non capisco. Mi chiamo Marco."},{"id":285,"title":"Greek alphabet (transliterated)","source":"literal","difficulty":4,"tags":["foreign","language"],"text":"alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu nu xi omicron pi rho sigma tau upsilon phi chi psi omega"},{"id":286,"title":"Shelley -- Ozymandias","source":"literal","difficulty":4,"tags":["poetry","sonnet"],"text":"I met a traveller from an antique land,\nWho said -- \"Two vast and trunkless legs of stone\nStand in the desert. . . . Near them, on the sand,\nHalf sunk a shattered visage lies, whose frown,\nAnd wrinkled lip, and sneer of cold command,\nTell that its sculptor well those passions read."},{"id":287,"title":"Keats -- Bright Star","source":"literal","difficulty":4,"tags":["poetry","sonnet"],"text":"Bright star, would I were stedfast as thou art --\nNot in lone splendour hung aloft the night\nAnd watching, with eternal lids apart,\nLike nature's patient, sleepless Eremite,\nThe moving waters at their priestlike task\nOf pure ablution round earth's human shores."},{"id":288,"title":"Yeats -- Innisfree","source":"literal","difficulty":4,"tags":["poetry"],"text":"I will arise and go now, and go to Innisfree,\nAnd a small cabin build there, of clay and wattles made;\nNine bean-rows will I have there, a hive for the honey-bee,\nAnd live alone in the bee-loud glade."},{"id":289,"title":"Henley -- Invictus","source":"literal","difficulty":4,"tags":["poetry"],"text":"Out of the night that covers me,\nBlack as the pit from pole to pole,\nI thank whatever gods may be\nFor my unconquerable soul."},{"id":290,"title":"Frost -- Fire and Ice","source":"literal","difficulty":3,"tags":["poetry","short"],"text":"Some say the world will end in fire,\nSome say in ice.\nFrom what I've tasted of desire\nI hold with those who favor fire."},{"id":291,"title":"Endurance: Austen opening","source":"literal","difficulty":4,"tags":["endurance","prose"],"text":"It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is considered the rightful property of some one or other of their daughters."},{"id":292,"title":"Endurance: Twain opening","source":"literal","difficulty":4,"tags":["endurance","prose"],"text":"You don't know about me without you have read a book by the name of The Adventures of Tom Sawyer; but that ain't no matter. That book was made by Mr. Mark Twain, and he told the truth, mainly. There was things which he stretched, but mainly he told the truth. That is nothing. I never seen anybody but lied, one time or another, without it was Aunt Polly, or the widow."},{"id":293,"title":"Endurance: Dickens opening","source":"literal","difficulty":5,"tags":["endurance","prose"],"text":"It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair."},{"id":294,"title":"Endurance: Sagan Pale Blue Dot","source":"literal","difficulty":4,"tags":["endurance","essay"],"text":"Look again at that dot. That's here. That's home. That's us. On it everyone you love, everyone you know, everyone you ever heard of, every human being who ever was, lived out their lives. The aggregate of our joy and suffering, thousands of confident religions, ideologies, and economic doctrines, every hunter and forager, every hero and coward, lived there -- on a mote of dust suspended in a sunbeam."},{"id":295,"title":"Endurance: tech writing","source":"literal","difficulty":5,"tags":["endurance","tech"],"text":"Caching is hard because invalidation is hard. The simplest cache reads from a key and writes back when the key is missed; correctness depends on every writer telling the cache what changed, in what order, with what timestamp. In a distributed system, none of those guarantees exist by default, so most caches accept stale reads as a price for surviving partitions."},{"id":296,"title":"Resume bullet points","source":"literal","difficulty":3,"tags":["professional"],"text":"Led a team of 6 engineers to ship the v2 dashboard on time and under budget.\nReduced API latency by 42% through indexing and query optimization.\nMentored 4 junior developers across two product teams.\nSpoke at three industry conferences on observability practices."},{"id":297,"title":"Cover letter rhythm","source":"literal","difficulty":4,"tags":["professional"],"text":"Dear Hiring Manager,\n\nI am writing to apply for the Senior Engineer position posted on your careers page. With seven years of experience building distributed systems and a record of mentoring growing teams, I believe I would bring meaningful value to your platform group.\n\nThank you for your consideration.\n\nSincerely,"},{"id":298,"title":"Meeting notes format","source":"literal","difficulty":3,"tags":["professional"],"text":"Meeting: Q3 Planning\nDate: 2024-08-12\nAttendees: A. Chen, B. Patel, C. Hughes, D. Park\n\nDecisions:\n- Defer the Phoenix migration to Q4.\n- Hire two additional SREs by end of October.\n\nAction items:\n- A. Chen: draft hiring plan by Aug 19.\n- B. Patel: write Phoenix risk memo by Aug 16."},{"id":299,"title":"Slack-style updates","source":"literal","difficulty":3,"tags":["professional","casual"],"text":":wave: morning team! quick standup:\n- yesterday: shipped the auth refactor (PR #4521 merged)\n- today: starting the rate-limit work\n- blockers: none\n\n:eyes: please review #4528 when you get a chance, no rush"},{"id":300,"title":"Status report paragraph","source":"literal","difficulty":4,"tags":["professional"],"text":"This week, the team completed the migration of the events pipeline to the new schema, ran the full backfill across two years of historical data, and shipped the public-facing changelog. Next week, focus shifts to the API consolidation and the deprecation of the legacy webhook endpoint."},{"id":301,"title":"Letter A — anchor, words, sentences","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"a a a aa aaa as ad an at all also area apple arrow ant ask away again. An ant ate an apple. All animals are awake at dawn."},{"id":302,"title":"Letter B","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"b b b bb bb back bad bag bay be bed bee best big bit blue book both bring. Bob baked bread by the bay. Big blue books."},{"id":303,"title":"Letter C","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"c c c cc cc cab cake call can car cat city clap clean cold come cup. Cats catch quick crickets. Carl can cook."},{"id":304,"title":"Letter D","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"d d d dd dd dad day deep desk did do dog door down draw dream dry. Dad dug deep in the dirt. Dogs dance daily."},{"id":305,"title":"Letter E","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"e e e ee ee each early easy eat egg end ever every eye eyelash. Every evening Emma ate eggs. The eagle eats early."},{"id":306,"title":"Letter F","source":"literal","difficulty":1,"tags":["alphabet","intro"],"text":"f f f ff ff face fact fall far feel few field find fine fire first. Fast foxes find food. Five fish flap fins."},{"id":307,"title":"Letter G","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"g g g gg gg game garden gate get gift give glad go gold good great. Gary grew good grapes. Green grass grows fast."},{"id":308,"title":"Letter H","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"h h h hh hh half hand hard has have he head heat help here hill hot. Helen had a hot hat. Happy horses head home."},{"id":309,"title":"Letter I","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"i i i ii ii ice idea if image in inch into iron is it item. Ivan imagines icy islands. Inside is ink in jars."},{"id":310,"title":"Letter J","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"j j j jj jj jam jar jaw jet job join joy judge juice July just. Jack juggles jars of jam. Jenna jumps to join."},{"id":311,"title":"Letter K","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"k k k kk kk keep key kick kid kind king kiss kitchen kite knee know. Kim's kind kitten knows. Kevin kicks the key."},{"id":312,"title":"Letter L","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"l l l ll ll lake last late laugh lay leaf learn left letter life. Leah likes long letters. Little lambs lie low."},{"id":313,"title":"Letter M","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"m m m mm mm made make man many map may me mean meet mile mind. Mom met many men. Maria made marvelous music."},{"id":314,"title":"Letter N","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"n n n nn nn name near need never new next night no none not now. Nine new names. Nathan never knows nighttime nonsense."},{"id":315,"title":"Letter O","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"o o o oo oo oak ocean of off old on once one only open or order. One owl on an oak. Olive opened orange boxes."},{"id":316,"title":"Letter P","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"p p p pp pp page pair park part pass paw pay people place plan play. Peter picked pretty plums. People plant peas."},{"id":317,"title":"Letter Q (always with U)","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"q q q qu qu quack quail quart queen quench quest quick quiet quill quit quote. Queens quote quaint quick questions."},{"id":318,"title":"Letter R","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"r r r rr rr rabbit rain raise read ready real red rest right river rock. Red rabbits run. Roger reads rare books."},{"id":319,"title":"Letter S","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"s s s ss ss safe said same saw say school sea see send she sit sky. Sally sits silently. Six small ships sail south."},{"id":320,"title":"Letter T","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"t t t tt tt take talk tall ten that the their then there they thing think. Tom takes tea today. The trees touch the tower."},{"id":321,"title":"Letter U","source":"literal","difficulty":2,"tags":["alphabet","intro"],"text":"u u u uu uu under understand unit until up upon us use used useful usual. Unique umbrellas under uneven trees. Use it up."},{"id":322,"title":"Letter V","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"v v v vv vv valley value vast verb very view village visit voice vote. Vera visited various villages. Velvet vines vault."},{"id":323,"title":"Letter W","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"w w w ww ww wait wake walk want warm was watch water way we wear week. We walk west when warm. William watches the water."},{"id":324,"title":"Letter X","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"x x x xx xx ax box exam exit fix fox mix six wax tax index axiom oxygen. Six fox cubs box. Examine the exit, exit the exam."},{"id":325,"title":"Letter Y","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"y y y yy yy yard year yellow yes yesterday yet you young your. Yellow yarn, yawning youngsters. Your year is yours yearly."},{"id":326,"title":"Letter Z","source":"literal","difficulty":3,"tags":["alphabet","intro"],"text":"z z z zz zz zeal zebra zen zero zest zigzag zinc zone zoo zoom buzz fuzzy. Zac saw zebras at the zoo. Zebras zigzag in zones."},{"id":327,"title":"Number 1","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"1 1 1 11 11 111 1 + 1 = 2. There is 1 way. 1 of 100. Page 1. Section 1. Item 1. 1st place. 1, 11, 111, 1111, 11111."},{"id":328,"title":"Number 2","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"2 2 2 22 22 222 2 + 2 = 4. The 2 of us. 2 by 2. Day 2. Floor 2. Volume 2. 2nd attempt. 2, 22, 222, 2222."},{"id":329,"title":"Number 3","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"3 3 3 33 33 333 3 + 3 = 6. The big 3. Choose 3. Top 3. Round 3. Class 3. 3rd time. 3, 33, 333, 3333."},{"id":330,"title":"Number 4","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"4 4 4 44 44 444 4 + 4 = 8. Phase 4. Quarter 4. Lane 4. Group 4. Year 4. 4th edition. 4, 44, 444, 4444."},{"id":331,"title":"Number 5","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"5 5 5 55 55 555 5 + 5 = 10. High 5. 5 stars. Friday at 5. Part 5. Stage 5. 5th street. 5, 55, 555, 5555."},{"id":332,"title":"Number 6","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"6 6 6 66 66 666 6 + 6 = 12. 6 of one. Six-pack. Box 6. Volume 6. Tier 6. 6th sense. 6, 66, 666, 6666."},{"id":333,"title":"Number 7","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"7 7 7 77 77 777 7 + 7 = 14. The lucky 7. 7 days. Aisle 7. Step 7. Boeing 777. 7th heaven. 7, 77, 777, 7777."},{"id":334,"title":"Number 8","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"8 8 8 88 88 888 8 + 8 = 16. Figure 8. 8 hours. Track 8. Section 8. Episode 8. 8th wonder. 8, 88, 888, 8888."},{"id":335,"title":"Number 9","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"9 9 9 99 99 999 9 + 9 = 18. The big 9. 9 lives. Floor 9. Round 9. Top 9. 9th symphony. 9, 99, 999, 9999."},{"id":336,"title":"Number 0","source":"literal","difficulty":2,"tags":["numbers","intro"],"text":"0 0 0 00 00 000 10 - 10 = 0. From 0 to 100. 0 calories. Code 0. Zero. Year 0. 0, 00, 000, 0000, 00000."},{"id":337,"title":"Greetings","source":"literal","difficulty":2,"tags":["everyday","phrases"],"text":"Hello. Hi there. Good morning. Good afternoon. Good evening. How are you? How's it going? Nice to meet you. Welcome back. Long time no see. Hey, what's up?"},{"id":338,"title":"Farewells","source":"literal","difficulty":2,"tags":["everyday","phrases"],"text":"Goodbye. Bye. See you later. See you tomorrow. Take care. Have a good one. Catch you later. Talk soon. Farewell. Until next time. Drive safe. Good night."},{"id":339,"title":"Polite questions","source":"literal","difficulty":2,"tags":["everyday","phrases"],"text":"Could you help me, please? May I ask a question? Would you mind if I sit here? Excuse me, do you have a minute? Is this seat taken? Where is the restroom?"},{"id":340,"title":"Apologies + thanks","source":"literal","difficulty":2,"tags":["everyday","phrases"],"text":"I'm sorry. My apologies. I apologize. Pardon me. Thanks a lot. Thank you so much. Much appreciated. I really appreciate it. No worries. You're welcome."},{"id":341,"title":"Restaurant phrases","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"Table for two, please. We'd like to order. May I see the menu? What do you recommend? I'll have the special. Could we get the check? Keep the change. Thank you, that was delicious."},{"id":342,"title":"Travel phrases","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"Where is the train station? How much does it cost? When is the next bus? I'd like a one-way ticket. Is there a hotel nearby? Can you call a taxi? I lost my luggage."},{"id":343,"title":"Weather + time","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"It's a beautiful day. Looks like rain. The forecast says snow. What time is it? It's half past three. Quarter to five. The meeting is at ten o'clock sharp."},{"id":344,"title":"Directions","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"Go straight ahead. Turn left at the corner. Take the second right. Cross the bridge. The bank is on your left. Two blocks down. You can't miss it."},{"id":345,"title":"Phone + chat","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"Hello, this is Alex speaking. May I take a message? Could you call back later? I'll be right with you. Sorry, I missed your call. Talk to you soon. Got it, thanks."},{"id":346,"title":"Workplace small talk","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"How was your weekend? Any plans for tonight? Did you catch the game? How's the family? Looking forward to the holiday. Crazy week, isn't it? Have a good one."},{"id":347,"title":"Shopping + transactions","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"How much is this? Do you take credit cards? Can I pay in cash? Is there a discount? Where is the fitting room? I'd like to return this. Could I get a receipt?"},{"id":348,"title":"Agreement + disagreement","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"I agree completely. That's a good point. Exactly. I see what you mean. I'm not so sure. I beg to differ. With all due respect. On the contrary. That makes sense to me."},{"id":349,"title":"Compliments + reactions","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"Well done. Nicely put. That's amazing. You did a great job. I'm impressed. That's incredible. Wow, I had no idea. Good for you. Way to go. Keep it up."},{"id":350,"title":"Sympathy + encouragement","source":"literal","difficulty":3,"tags":["everyday","phrases"],"text":"I'm so sorry to hear that. That must be hard. Take all the time you need. Hang in there. You've got this. I'm here for you. Things will get better. One step at a time."},{"id":351,"title":"Email openers","source":"literal","difficulty":3,"tags":["professional","phrases"],"text":"Hope you're doing well. Thanks for your email. Following up on our conversation. Just a quick note. Per our discussion. I wanted to circle back. As discussed earlier. Hope this finds you well."},{"id":352,"title":"Email closers","source":"literal","difficulty":3,"tags":["professional","phrases"],"text":"Best regards. Kind regards. Sincerely. All the best. Cheers. Looking forward to hearing from you. Please let me know if you have questions. Thanks again for your time. Talk soon."},{"id":353,"title":"Meeting phrases","source":"literal","difficulty":4,"tags":["professional","phrases"],"text":"Let's get started. Can everyone hear me? I'll keep this brief. Any questions so far? Let's table that for now. We're running short on time. Action items, please. Let's reconvene tomorrow."},{"id":354,"title":"Decision-making","source":"literal","difficulty":4,"tags":["professional","phrases"],"text":"On balance, I think we should proceed. Given the trade-offs, the better path is option B. That said, I'm open to other ideas. Let's revisit this next quarter. The data points to a clear winner."},{"id":355,"title":"Negotiation phrases","source":"literal","difficulty":4,"tags":["professional","phrases"],"text":"What's the best you can do? Is there any flexibility on the price? We were thinking of something closer to ten thousand. Can we meet in the middle? Let me see what I can do. Deal."},{"id":356,"title":"Customer service","source":"literal","difficulty":3,"tags":["professional","phrases"],"text":"How may I help you today? I'm sorry for the inconvenience. Let me look into that for you. I'll connect you with someone who can help. Is there anything else I can do? Thank you for your patience."},{"id":357,"title":"Top words 1–50","source":"literal","difficulty":2,"tags":["frequency","words"],"text":"the be to of and a in that have I it for not on with he as you do at this but his by from they we say her she or an will my one all would there their what so up out if about who get"},{"id":358,"title":"Top words 51–100","source":"literal","difficulty":3,"tags":["frequency","words"],"text":"which go me when make can like time no just him know take people into year your good some could them see other than then now look only come its over think also back after use two how our work first well way"},{"id":359,"title":"Top words 101–150","source":"literal","difficulty":3,"tags":["frequency","words"],"text":"even new want because any these give day most us is are was were been being have has had do does did will would shall should may might must can could go went gone make made take took taken come came"},{"id":360,"title":"Top words 151–200","source":"literal","difficulty":3,"tags":["frequency","words"],"text":"very through where same against between long both end few until still while open close right left find found give gave seem felt feel feeling try kept old early important next public start last became hand small case place leave point change put"},{"id":361,"title":"Top words 201–250","source":"literal","difficulty":3,"tags":["frequency","words"],"text":"tell ask need become large mean keep let begin help talk turn start hold show high tell big great long little own under last end follow stop create speak read allow add spend grow open walk win offer remember love consider appear"},{"id":362,"title":"Top words 251–300","source":"literal","difficulty":3,"tags":["frequency","words"],"text":"buy wait serve die send expect build stay fall cut reach kill remain suggest raise pass sell require report decide pull return explain hope develop carry break receive agree support pay exist meet continue set learn change lead understand watch follow"},{"id":363,"title":"Common verbs","source":"literal","difficulty":3,"tags":["frequency","verbs"],"text":"be have do say go can get make know will think take see come could want look use find give tell work may should call try ask need feel become leave put mean keep let begin seem help talk turn start"},{"id":364,"title":"Common nouns","source":"literal","difficulty":3,"tags":["frequency","nouns"],"text":"time year people way day man thing woman life child world school state family student group country problem hand part place case week company system program question work government number night point home water room mother area money story"},{"id":365,"title":"Common adjectives","source":"literal","difficulty":3,"tags":["frequency","adjectives"],"text":"good new first last long great little own other old right big high different small large next early young important few public bad same able true clear strong human red ready low better recent early best young white black hot wide"},{"id":366,"title":"Common adverbs","source":"literal","difficulty":3,"tags":["frequency","adverbs"],"text":"very really often always never almost together perhaps probably exactly especially mostly hardly nearly hopefully suddenly slowly quickly carefully easily clearly definitely fairly finally generally usually quite simply quietly directly literally normally fortunately certainly likely possibly indeed"},{"id":367,"title":"Days, months, seasons","source":"literal","difficulty":2,"tags":["calendar","words"],"text":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday January February March April May June July August September October November December spring summer autumn winter weekday weekend morning afternoon evening night"},{"id":368,"title":"Numbers in words","source":"literal","difficulty":3,"tags":["numbers","words"],"text":"zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty thirty forty fifty sixty seventy eighty ninety hundred thousand million billion"},{"id":369,"title":"Colors","source":"literal","difficulty":2,"tags":["everyday","words"],"text":"red orange yellow green blue purple pink black white gray brown gold silver beige cream maroon scarlet crimson magenta turquoise indigo violet teal olive lime cyan navy ivory amber bronze rose lilac mint coral"},{"id":370,"title":"Body parts","source":"literal","difficulty":2,"tags":["everyday","words"],"text":"head face eye ear nose mouth lip tongue tooth chin neck shoulder arm elbow wrist hand finger thumb chest back stomach hip leg knee ankle foot toe heart lung skin hair brain bone muscle blood"},{"id":371,"title":"Family + relationships","source":"literal","difficulty":2,"tags":["everyday","words"],"text":"father mother son daughter brother sister uncle aunt cousin grandfather grandmother grandson granddaughter nephew niece husband wife partner spouse friend acquaintance colleague neighbor classmate roommate boss employee mentor student"},{"id":372,"title":"Foods + drinks","source":"literal","difficulty":2,"tags":["everyday","words"],"text":"bread butter cheese egg milk yogurt rice pasta noodle soup salad sandwich pizza burger fries chicken beef pork fish shrimp tomato potato carrot lettuce onion garlic apple banana orange berry grape coffee tea water juice wine beer"},{"id":373,"title":"Office + tech terms","source":"literal","difficulty":3,"tags":["professional","words"],"text":"computer laptop monitor keyboard mouse desk chair printer phone email file folder document report meeting deadline project task milestone budget revenue profit invoice contract proposal feedback review approval calendar schedule workflow dashboard server cloud database network"},{"id":374,"title":"Places + buildings","source":"literal","difficulty":3,"tags":["everyday","words"],"text":"city town village street avenue boulevard square park bridge airport station harbor library museum theater stadium school university hospital pharmacy market store mall restaurant cafe bakery bank post office police fire station church temple mosque court"},{"id":375,"title":"Travel essentials","source":"literal","difficulty":3,"tags":["everyday","words"],"text":"passport visa ticket boarding pass luggage suitcase backpack carry-on hotel hostel reservation booking itinerary departure arrival gate terminal customs immigration currency exchange map guidebook souvenir tour guide tourist traveler journey vacation holiday trip"},{"id":376,"title":"Emotions + feelings","source":"literal","difficulty":3,"tags":["everyday","words"],"text":"happy sad angry surprised excited bored tired calm anxious nervous afraid confused proud ashamed jealous grateful confident hopeful curious lonely loved heartbroken thrilled disappointed relieved overwhelmed annoyed embarrassed frustrated content peaceful joyful melancholy enthusiastic"},{"id":377,"title":"Scala: case classes + pattern match","source":"literal","difficulty":5,"tags":["code","scala"],"text":"case class User(name: String, age: Int)\nval u = User(\"Alice\", 30)\nu match {\n  case User(n, a) if a >= 18 => println(s\"$n is an adult\")\n  case User(n, _)            => println(s\"$n is a minor\")\n}"},{"id":378,"title":"Clojure: functions + maps","source":"literal","difficulty":5,"tags":["code","clojure"],"text":"(defn greet [name]\n  (str \"Hello, \" name \"!\"))\n\n(def users {:alice {:age 30} :bob {:age 25}})\n\n(->> users\n     (filter (fn [[_ u]] (> (:age u) 27)))\n     (map first))"},{"id":379,"title":"OCaml: ADTs + recursion","source":"literal","difficulty":5,"tags":["code","ocaml"],"text":"type tree =\n  | Leaf\n  | Node of int * tree * tree\n\nlet rec depth = function\n  | Leaf -> 0\n  | Node (_, l, r) -> 1 + max (depth l) (depth r)"},{"id":380,"title":"F#: pipelines + records","source":"literal","difficulty":5,"tags":["code","fsharp"],"text":"type User = { Name: string; Age: int }\n\nlet users = [ { Name = \"Alice\"; Age = 30 }; { Name = \"Bob\"; Age = 17 } ]\n\nusers\n|> List.filter (fun u -> u.Age >= 18)\n|> List.map (fun u -> u.Name)"},{"id":381,"title":"Dart: classes + null safety","source":"literal","difficulty":4,"tags":["code","dart"],"text":"class User {\n  final String name;\n  final String? email;\n  User(this.name, [this.email]);\n  String greet() => 'Hi, $name (${email ?? \"no email\"})';\n}\n\nfinal users = <User>[User('Alice'), User('Bob', 'b@example.com')];"},{"id":382,"title":"Julia: arrays + functions","source":"literal","difficulty":4,"tags":["code","julia"],"text":"function fib(n::Int)\n    n <= 1 && return n\n    return fib(n - 1) + fib(n - 2)\nend\n\nA = [i*j for i in 1:5, j in 1:5]\nresult = sum(A, dims=1)"},{"id":383,"title":"R: data frames + ggplot","source":"literal","difficulty":4,"tags":["code","r"],"text":"library(dplyr)\nlibrary(ggplot2)\n\nmtcars %>%\n  filter(cyl >= 6) %>%\n  group_by(cyl) %>%\n  summarise(mpg_mean = mean(mpg)) %>%\n  ggplot(aes(x = factor(cyl), y = mpg_mean)) +\n  geom_col()"},{"id":384,"title":"Erlang: actors + receive","source":"literal","difficulty":5,"tags":["code","erlang"],"text":"-module(counter).\n-export([start/0, loop/1]).\n\nstart() -> spawn(?MODULE, loop, [0]).\n\nloop(N) ->\n    receive\n        {inc, From} -> From ! ok, loop(N + 1);\n        {get, From} -> From ! N, loop(N)\n    end."},{"id":385,"title":"Solidity: smart contract","source":"literal","difficulty":5,"tags":["code","solidity"],"text":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Counter {\n    uint256 public count;\n\n    function increment() public {\n        count += 1;\n    }\n\n    function get() public view returns (uint256) {\n        return count;\n    }\n}"},{"id":386,"title":"Vue 3 single-file component","source":"literal","difficulty":4,"tags":["code","vue"],"text":"<template>\n  <button @click=\"count++\">{{ count }} clicks</button>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nconst count = ref(0)\n</script>\n\n<style scoped>\nbutton { padding: 0.5rem 1rem; }\n</style>"},{"id":387,"title":"Angular component","source":"literal","difficulty":4,"tags":["code","angular"],"text":"@Component({\n  selector: 'app-counter',\n  template: `\n    <button (click)=\"increment()\">{{ count }}</button>\n  `\n})\nexport class CounterComponent {\n  count = 0;\n  increment() { this.count++; }\n}"},{"id":388,"title":"Svelte component","source":"literal","difficulty":4,"tags":["code","svelte"],"text":"<script>\n  let count = 0;\n  $: doubled = count * 2;\n  function increment() { count += 1; }\n</script>\n\n<button on:click={increment}>{count} (x2 = {doubled})</button>"},{"id":389,"title":"Express middleware","source":"literal","difficulty":4,"tags":["code","node"],"text":"import express from 'express';\nconst app = express();\n\napp.use(express.json());\n\napp.get('/users/:id', async (req, res) => {\n  const user = await db.users.findById(req.params.id);\n  if (!user) return res.status(404).json({ error: 'not found' });\n  res.json(user);\n});"},{"id":390,"title":"Django view + URL","source":"literal","difficulty":4,"tags":["code","django"],"text":"from django.http import JsonResponse\nfrom django.urls import path\nfrom .models import User\n\ndef user_detail(request, pk):\n    user = User.objects.get(pk=pk)\n    return JsonResponse({'id': user.id, 'name': user.name})\n\nurlpatterns = [path('users/<int:pk>/', user_detail)]"},{"id":391,"title":"Rails controller","source":"literal","difficulty":4,"tags":["code","rails"],"text":"class UsersController < ApplicationController\n  before_action :authenticate_user!\n\n  def index\n    @users = User.active.includes(:profile)\n    render json: @users\n  end\n\n  def create\n    @user = User.new(user_params)\n    @user.save ? render(json: @user) : render(json: @user.errors, status: 422)\n  end\nend"},{"id":392,"title":"Phoenix LiveView","source":"literal","difficulty":5,"tags":["code","elixir"],"text":"defmodule MyAppWeb.CounterLive do\n  use MyAppWeb, :live_view\n\n  def mount(_params, _session, socket) do\n    {:ok, assign(socket, count: 0)}\n  end\n\n  def handle_event(\"inc\", _, socket) do\n    {:noreply, update(socket, :count, &(&1 + 1))}\n  end\nend"},{"id":393,"title":"Terraform resource","source":"literal","difficulty":4,"tags":["code","devops"],"text":"resource \"aws_s3_bucket\" \"static\" {\n  bucket = \"my-app-static-${var.env}\"\n  tags = {\n    Environment = var.env\n    ManagedBy   = \"terraform\"\n  }\n}\n\noutput \"bucket_arn\" {\n  value = aws_s3_bucket.static.arn\n}"},{"id":394,"title":"Ansible playbook","source":"literal","difficulty":4,"tags":["code","devops"],"text":"- hosts: web\n  become: yes\n  tasks:\n    - name: Install nginx\n      apt:\n        name: nginx\n        state: present\n    - name: Start service\n      service:\n        name: nginx\n        state: started\n        enabled: yes"},{"id":395,"title":"Helm chart values","source":"literal","difficulty":4,"tags":["code","devops"],"text":"replicaCount: 3\nimage:\n  repository: nginx\n  tag: \"1.25\"\n  pullPolicy: IfNotPresent\nresources:\n  limits:\n    cpu: 500m\n    memory: 512Mi\n  requests:\n    cpu: 100m\n    memory: 128Mi"},{"id":396,"title":"sed + awk one-liners","source":"literal","difficulty":5,"tags":["code","cli"],"text":"sed -i.bak 's/foo/bar/g' *.txt\nsed -n '10,20p' file.log\nawk '{print $1, $NF}' data.txt\nawk -F, 'NR>1 && $3>100 {sum+=$3} END {print sum}' rows.csv\nawk '/error/ {count++} END {print count}' app.log"},{"id":397,"title":"jq pipeline","source":"literal","difficulty":4,"tags":["code","cli"],"text":"curl -s api/users.json | jq '.[] | select(.active) | {id, name, email}'\njq '.items | group_by(.category) | map({category: .[0].category, count: length})' data.json\njq -r '.users[] | [.id, .name] | @tsv' export.json"},{"id":398,"title":"tmux + screen commands","source":"literal","difficulty":4,"tags":["code","cli"],"text":"tmux new -s work\ntmux attach -t work\nCtrl-b c     (new window)\nCtrl-b ,     (rename window)\nCtrl-b %     (split vertical)\nCtrl-b \"     (split horizontal)\nCtrl-b d     (detach)\ntmux ls"},{"id":399,"title":"ripgrep + fd + fzf","source":"literal","difficulty":4,"tags":["code","cli"],"text":"rg --type js 'TODO\\(.*\\):'\nrg -l 'deprecated' --hidden --glob '!node_modules/'\nfd -e py 'test_' tests/\nfd --changed-within 24h\nrg --files | fzf --preview 'bat --color=always {}'"},{"id":400,"title":"MongoDB queries","source":"literal","difficulty":4,"tags":["code","database"],"text":"db.users.find({ age: { $gte: 18 } }).limit(10).sort({ name: 1 })\ndb.orders.aggregate([\n  { $match: { status: 'paid' } },\n  { $group: { _id: '$customer_id', total: { $sum: '$amount' } } },\n  { $sort: { total: -1 } }\n])"},{"id":401,"title":"Redis commands","source":"literal","difficulty":3,"tags":["code","database"],"text":"SET user:42 \"alice\" EX 3600\nGET user:42\nINCR counter\nLPUSH queue \"job1\" \"job2\"\nBRPOP queue 30\nHSET session:abc user_id 42 created 1710512400\nZADD leaderboard 1500 alice 1450 bob\nZREVRANGE leaderboard 0 9 WITHSCORES"},{"id":402,"title":"Hardy -- Tess of the d'Urbervilles","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"On an evening in the latter part of May a middle-aged man was walking homeward from Shaston to the village of Marlott, in the adjoining Vale of Blakemore, or Blackmoor. The pair of legs that carried him were rickety, and there was a bias in his gait."},{"id":403,"title":"Eliot -- Silas Marner","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"In the days when the spinning-wheels hummed busily in the farmhouses, there might be seen, in districts far away among the lanes, certain pallid undersized men, who, by the side of the brawny country-folk, looked like the remnants of a disinherited race."},{"id":404,"title":"Cather -- O Pioneers!","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"One January day, thirty years ago, the little town of Hanover, anchored on a windy Nebraska tableland, was trying not to be blown away. A mist of fine snowflakes was curling and eddying about the cluster of low drab buildings huddled on the gray prairie."},{"id":405,"title":"Wharton -- Ethan Frome","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I had the story, bit by bit, from various people, and, as generally happens in such cases, each time it was a different story. If you know Starkfield, Massachusetts, you know the post-office. If you know the post-office you must have seen Ethan Frome drive up to it."},{"id":406,"title":"James -- Daisy Miller","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"At the little town of Vevey, in Switzerland, there is a particularly comfortable hotel. There are, indeed, many hotels; for the entertainment of tourists is the business of the place, which, as many travellers will remember, is seated upon the edge of a remarkably blue lake."},{"id":407,"title":"London -- Call of the Wild","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Buck did not read the newspapers, or he would have known that trouble was brewing, not alone for himself, but for every tide-water dog, strong of muscle and with warm, long hair, from Puget Sound to San Diego."},{"id":408,"title":"London -- White Fang","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"Dark spruce forest frowned on either side the frozen waterway. The trees had been stripped by a recent wind of their white covering of frost, and they seemed to lean towards each other, black and ominous, in the fading light."},{"id":409,"title":"Sinclair -- The Jungle","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"It was four o'clock when the ceremony was over and the carriages began to arrive. There had been a crowd following all the way, owing to the exuberance of Marija Berczynskas. The occasion rested heavily upon Marija's broad shoulders."},{"id":410,"title":"Conrad -- The Secret Agent","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Mr Verloc, going out in the morning, left his shop nominally in charge of his brother-in-law. It could be done, because there was very little business at any time, and practically none at all before the evening."},{"id":411,"title":"Joyce -- Portrait of the Artist","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Once upon a time and a very good time it was there was a moocow coming down along the road and this moocow that was coming down along the road met a nicens little boy named baby tuckoo."},{"id":412,"title":"Gaskell -- North and South","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"'Edith!' said Margaret, gently, 'Edith!' But, as Margaret half suspected, Edith had fallen asleep. She lay curled up on the sofa in the back drawing-room in Harley Street, looking very lovely in her white muslin and blue ribbons."},{"id":413,"title":"Trollope -- Barchester Towers","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"In the latter days of July in the year 185--, a most important question was for ten days hourly asked in the cathedral city of Barchester, and answered every hour in various ways. Who was to be the new bishop?"},{"id":414,"title":"Hugo -- The Hunchback","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"Three hundred and forty-eight years, six months, and nineteen days ago to-day, the Parisians awoke to the sound of all the bells in the triple circuit of the city, the university, and the town ringing a full peal."},{"id":415,"title":"Verne -- Mysterious Island","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"\"Are we rising again?\" \"No. On the contrary.\" \"Are we descending?\" \"Worse than that, captain! we are falling!\" \"For Heaven's sake heave out the ballast!\" \"There! the last sack is empty!\""},{"id":416,"title":"Stevenson -- Treasure Island chapter","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I remember him as if it were yesterday, as he came plodding to the inn door, his sea-chest following behind him in a hand-barrow -- a tall, strong, heavy, nut-brown man, his tarry pigtail falling over the shoulder of his soiled blue coat."},{"id":417,"title":"Twain -- Connecticut Yankee","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"I am an American. I was born and reared in Hartford, in the State of Connecticut -- anyway, just over the river, in the country. So I am a Yankee of the Yankees -- and practical; yes, and nearly barren of sentiment, I suppose -- or poetry, in other words."},{"id":418,"title":"Wells -- The Invisible Man","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"The stranger came early in February, one wintry day, through a biting wind and a driving snow, the last snowfall of the year, over the down, walking from Bramblehurst railway station, and carrying a little black portmanteau in his thickly gloved hand."},{"id":419,"title":"Doyle -- A Study in Scarlet","source":"literal","difficulty":4,"tags":["prose","literature"],"text":"In the year 1878 I took my degree of Doctor of Medicine of the University of London, and proceeded to Netley to go through the course prescribed for surgeons in the army. Having completed my studies there, I was duly attached to the Fifth Northumberland Fusiliers as Assistant Surgeon."},{"id":420,"title":"James -- Turn of the Screw","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"The story had held us, round the fire, sufficiently breathless, but except the obvious remark that it was gruesome, as, on Christmas Eve in an old house, a strange tale should essentially be, I remember no comment uttered till somebody happened to say that it was the only case he had met in which such a visitation had fallen on a child."},{"id":421,"title":"Lovecraft -- Call of Cthulhu","source":"literal","difficulty":5,"tags":["prose","literature"],"text":"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far."},{"id":422,"title":"Declaration of Independence (preamble)","source":"literal","difficulty":5,"tags":["history","document"],"text":"We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness."},{"id":423,"title":"Declaration of Independence (closing)","source":"literal","difficulty":5,"tags":["history","document"],"text":"And for the support of this Declaration, with a firm reliance on the protection of divine Providence, we mutually pledge to each other our Lives, our Fortunes and our sacred Honor."},{"id":424,"title":"U.S. Constitution Preamble","source":"literal","difficulty":5,"tags":["history","document"],"text":"We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America."},{"id":425,"title":"First Amendment","source":"literal","difficulty":5,"tags":["history","document"],"text":"Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the Government for a redress of grievances."},{"id":426,"title":"Bill of Rights II–IV","source":"literal","difficulty":5,"tags":["history","document"],"text":"A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed. No Soldier shall, in time of peace be quartered in any house, without the consent of the Owner. The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated."},{"id":427,"title":"Magna Carta clause 39","source":"literal","difficulty":5,"tags":["history","document"],"text":"No free man shall be seized or imprisoned, or stripped of his rights or possessions, or outlawed or exiled, or deprived of his standing in any other way, nor will we proceed with force against him, or send others to do so, except by the lawful judgement of his equals or by the law of the land."},{"id":428,"title":"Federalist No. 1 opening","source":"literal","difficulty":5,"tags":["history","document"],"text":"After an unequivocal experience of the inefficacy of the subsisting federal government, you are called upon to deliberate on a new Constitution for the United States of America. The subject speaks its own importance; comprehending in its consequences nothing less than the existence of the UNION."},{"id":429,"title":"Federalist No. 10 (faction)","source":"literal","difficulty":5,"tags":["history","document"],"text":"Among the numerous advantages promised by a well-constructed Union, none deserves to be more accurately developed than its tendency to break and control the violence of faction. The friend of popular governments never finds himself so much alarmed for their character."},{"id":430,"title":"Mayflower Compact","source":"literal","difficulty":5,"tags":["history","document"],"text":"We whose names are underwritten do, by these presents, solemnly and mutually in the presence of God and one another, covenant and combine ourselves together into a civil body politic, for our better ordering and preservation, and furtherance of the ends aforesaid."},{"id":431,"title":"Emancipation Proclamation excerpt","source":"literal","difficulty":5,"tags":["history","document"],"text":"That on the first day of January, in the year of our Lord one thousand eight hundred and sixty-three, all persons held as slaves within any State or designated part of a State the people whereof shall then be in rebellion against the United States, shall be then, thenceforward, and forever free."},{"id":432,"title":"Universal Declaration of Human Rights I","source":"literal","difficulty":5,"tags":["history","document"],"text":"All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood."},{"id":433,"title":"Universal Declaration Article 19","source":"literal","difficulty":5,"tags":["history","document"],"text":"Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers."},{"id":434,"title":"Treaty of Westphalia (paraphrase)","source":"literal","difficulty":5,"tags":["history","document"],"text":"The respective contracting parties shall be obliged to defend and protect all and every article of this peace against any one, without distinction of religion; and if it happens that any point shall be violated, the offended shall before all things exhort the offender not to come to any hostility."},{"id":435,"title":"U.N. Charter Preamble","source":"literal","difficulty":5,"tags":["history","document"],"text":"We the peoples of the United Nations determined to save succeeding generations from the scourge of war, which twice in our lifetime has brought untold sorrow to mankind, and to reaffirm faith in fundamental human rights, in the dignity and worth of the human person."},{"id":436,"title":"Geneva Convention (Common Article 3)","source":"literal","difficulty":5,"tags":["history","document"],"text":"Persons taking no active part in the hostilities, including members of armed forces who have laid down their arms and those placed hors de combat by sickness, wounds, detention, or any other cause, shall in all circumstances be treated humanely."},{"id":437,"title":"Wordsworth -- Daffodils","source":"literal","difficulty":4,"tags":["poetry"],"text":"I wandered lonely as a cloud\nThat floats on high o'er vales and hills,\nWhen all at once I saw a crowd,\nA host, of golden daffodils;\nBeside the lake, beneath the trees,\nFluttering and dancing in the breeze."},{"id":438,"title":"Tennyson -- The Eagle","source":"literal","difficulty":3,"tags":["poetry","short"],"text":"He clasps the crag with crooked hands;\nClose to the sun in lonely lands,\nRing'd with the azure world, he stands.\n\nThe wrinkled sea beneath him crawls;\nHe watches from his mountain walls,\nAnd like a thunderbolt he falls."},{"id":439,"title":"Frost -- Birches","source":"literal","difficulty":4,"tags":["poetry"],"text":"When I see birches bend to left and right\nAcross the lines of straighter darker trees,\nI like to think some boy's been swinging them.\nBut swinging doesn't bend them down to stay\nAs ice-storms do."},{"id":440,"title":"Yeats -- The Second Coming","source":"literal","difficulty":4,"tags":["poetry"],"text":"Turning and turning in the widening gyre\nThe falcon cannot hear the falconer;\nThings fall apart; the centre cannot hold;\nMere anarchy is loosed upon the world."},{"id":441,"title":"Hopkins -- Pied Beauty","source":"literal","difficulty":4,"tags":["poetry"],"text":"Glory be to God for dappled things --\nFor skies of couple-colour as a brinded cow;\n   For rose-moles all in stipple upon trout that swim;\nFresh-firecoal chestnut-falls; finches' wings;\n   Landscape plotted and pieced -- fold, fallow, and plough."},{"id":442,"title":"Dickinson -- Because I could not stop for Death","source":"literal","difficulty":4,"tags":["poetry"],"text":"Because I could not stop for Death --\nHe kindly stopped for me --\nThe Carriage held but just Ourselves --\nAnd Immortality."},{"id":443,"title":"Whitman -- I Hear America Singing","source":"literal","difficulty":4,"tags":["poetry"],"text":"I hear America singing, the varied carols I hear,\nThose of mechanics, each one singing his as it should be blithe and strong,\nThe carpenter singing his as he measures his plank or beam,\nThe mason singing his as he makes ready for work, or leaves off work."},{"id":444,"title":"Sandburg -- Fog","source":"literal","difficulty":3,"tags":["poetry","short"],"text":"The fog comes\non little cat feet.\n\nIt sits looking\nover harbor and city\non silent haunches\nand then moves on."},{"id":445,"title":"Williams -- The Red Wheelbarrow","source":"literal","difficulty":3,"tags":["poetry","short"],"text":"so much depends\nupon\n\na red wheel\nbarrow\n\nglazed with rain\nwater\n\nbeside the white\nchickens"},{"id":446,"title":"Pound -- In a Station of the Metro","source":"literal","difficulty":3,"tags":["poetry","short"],"text":"The apparition of these faces in the crowd;\nPetals on a wet, black bough."},{"id":447,"title":"Lincoln -- House Divided","source":"literal","difficulty":5,"tags":["speech","history"],"text":"A house divided against itself cannot stand. I believe this government cannot endure permanently half slave and half free. I do not expect the Union to be dissolved -- I do not expect the house to fall -- but I do expect it will cease to be divided."},{"id":448,"title":"Frederick Douglass -- What is the Fourth","source":"literal","difficulty":5,"tags":["speech","history"],"text":"What, to the American slave, is your 4th of July? I answer; a day that reveals to him, more than all other days in the year, the gross injustice and cruelty to which he is the constant victim. To him, your celebration is a sham."},{"id":449,"title":"Theodore Roosevelt -- Strenuous Life","source":"literal","difficulty":5,"tags":["speech","history"],"text":"I wish to preach, not the doctrine of ignoble ease, but the doctrine of the strenuous life, the life of toil and effort, of labor and strife; to preach that highest form of success which comes, not to the man who desires mere easy peace, but to the man who does not shrink from danger."},{"id":450,"title":"Churchill -- Finest Hour","source":"literal","difficulty":5,"tags":["speech","history"],"text":"Let us therefore brace ourselves to our duties, and so bear ourselves that, if the British Empire and its Commonwealth last for a thousand years, men will still say, 'This was their finest hour.'"},{"id":451,"title":"Churchill -- Beaches","source":"literal","difficulty":5,"tags":["speech","history"],"text":"We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender."},{"id":452,"title":"FDR -- First Inaugural","source":"literal","difficulty":4,"tags":["speech","history"],"text":"So, first of all, let me assert my firm belief that the only thing we have to fear is fear itself -- nameless, unreasoning, unjustified terror which paralyzes needed efforts to convert retreat into advance."},{"id":453,"title":"JFK -- Berlin Wall","source":"literal","difficulty":4,"tags":["speech","history"],"text":"Two thousand years ago, the proudest boast was civis Romanus sum. Today, in the world of freedom, the proudest boast is Ich bin ein Berliner. All free men, wherever they may live, are citizens of Berlin."},{"id":454,"title":"Reagan -- Tear Down This Wall","source":"literal","difficulty":4,"tags":["speech","history"],"text":"General Secretary Gorbachev, if you seek peace, if you seek prosperity for the Soviet Union and Eastern Europe, if you seek liberalization, come here to this gate. Mr. Gorbachev, open this gate. Mr. Gorbachev, tear down this wall."},{"id":455,"title":"Mandela -- Inaugural","source":"literal","difficulty":4,"tags":["speech","history"],"text":"We dedicate this day to all the heroes and heroines in this country and the rest of the world who sacrificed in many ways and surrendered their lives so that we could be free. Their dreams have become reality. Freedom is their reward."},{"id":456,"title":"Havel -- Power of the Powerless","source":"literal","difficulty":5,"tags":["speech","history"],"text":"The post-totalitarian system touches people at every step, but it does so with its ideological gloves on. This is why life in the system is so thoroughly permeated with hypocrisy and lies: government by bureaucracy is called popular government."},{"id":457,"title":"Citation: MLA","source":"literal","difficulty":4,"tags":["specialized","writing"],"text":"Smith, John A. \"The Architecture of Memory.\" Journal of Cognitive Science, vol. 47, no. 3, 2023, pp. 215-238.\n\nDoe, Roberta M., and Kenji Lee. \"Foundations of Typing Instruction.\" Annual Review of Pedagogy, vol. 12, 2021, pp. 45-78."},{"id":458,"title":"Citation: Chicago","source":"literal","difficulty":4,"tags":["specialized","writing"],"text":"Smith, John A. \"The Architecture of Memory.\" Journal of Cognitive Science 47, no. 3 (2023): 215-238.\n\nDoe, Roberta M., and Kenji Lee. Foundations of Typing Instruction. New York: Routledge, 2021."},{"id":459,"title":"API documentation block","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"/**\n * Returns a paginated list of users.\n * @param {Object} opts\n * @param {number} opts.page  Page number, 1-indexed\n * @param {number} opts.limit Maximum results per page (default 20)\n * @returns {Promise<{users: User[], total: number}>}\n * @throws {AuthError} when the caller is unauthenticated\n */"},{"id":460,"title":"OpenAPI / Swagger spec","source":"literal","difficulty":5,"tags":["specialized","tech"],"text":"paths:\n  /users/{id}:\n    get:\n      summary: Get user by ID\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: integer\n      responses:\n        '200':\n          description: User found\n        '404':\n          description: User not found"},{"id":461,"title":"HTTP request + response","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"GET /api/users/42 HTTP/1.1\nHost: example.com\nAccept: application/json\nAuthorization: Bearer eyJhbGc...\n\nHTTP/1.1 200 OK\nContent-Type: application/json\nCache-Control: no-cache\n\n{\"id\": 42, \"name\": \"Alice\"}"},{"id":462,"title":"Stack trace","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"Traceback (most recent call last):\n  File \"app.py\", line 42, in main\n    result = process(items)\n  File \"app.py\", line 23, in process\n    return [transform(i) for i in items]\n  File \"app.py\", line 11, in transform\n    return item['value'] * 2\nKeyError: 'value'"},{"id":463,"title":"Error message + log line","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"[2024-08-12T14:30:22.451Z] ERROR  api.users  failed to load user: connection timed out (id=42, retries=3)\n[2024-08-12T14:30:22.512Z] WARN   api.users  fallback to cache (stale=true, age_s=420)\n[2024-08-12T14:30:22.520Z] INFO   api.users  request completed in 167ms"},{"id":464,"title":"Email signature block","source":"literal","difficulty":3,"tags":["professional"],"text":"Best regards,\n\nAlex Chen\nSenior Engineer | Platform Team\nExample Corp\n555-123-4567 | alex.chen@example.com\nlinkedin.com/in/alexchen | example.com\n\nThis email is intended only for the named recipient."},{"id":465,"title":"Markdown table","source":"literal","difficulty":3,"tags":["specialized","writing"],"text":"| Region   | Q1     | Q2     | Q3     | Q4     |\n|----------|--------|--------|--------|--------|\n| North    | 1,234  | 1,489  | 1,567  | 1,720  |\n| South    | 987    | 1,012  | 1,103  | 1,256  |\n| East     | 1,567  | 1,634  | 1,789  | 1,890  |\n| West     | 2,103  | 2,267  | 2,345  | 2,401  |"},{"id":466,"title":"Pull request description","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"## Summary\nAdds rate limiting to the public API and emits a 429 response when the per-IP budget is exceeded.\n\n## Changes\n- Add `rateLimit` middleware backed by Redis\n- Document the 429 path in `docs/api.md`\n\n## Test plan\n- [x] unit tests for the limiter\n- [x] integration test that exercises the 429 path"},{"id":467,"title":"Database schema (SQL DDL)","source":"literal","difficulty":5,"tags":["specialized","database"],"text":"CREATE TABLE users (\n    id          BIGSERIAL PRIMARY KEY,\n    email       VARCHAR(320) UNIQUE NOT NULL,\n    name        VARCHAR(120) NOT NULL,\n    created_at  TIMESTAMPTZ NOT NULL DEFAULT now(),\n    updated_at  TIMESTAMPTZ NOT NULL DEFAULT now(),\n    is_active   BOOLEAN NOT NULL DEFAULT true\n);\n\nCREATE INDEX users_email_idx ON users(LOWER(email));"},{"id":468,"title":"JSON Schema","source":"literal","difficulty":5,"tags":["specialized","data"],"text":"{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\":    { \"type\": \"integer\", \"minimum\": 1 },\n    \"email\": { \"type\": \"string\", \"format\": \"email\" },\n    \"age\":   { \"type\": \"integer\", \"minimum\": 0, \"maximum\": 150 }\n  },\n  \"required\": [\"id\", \"email\"]\n}"},{"id":469,"title":"GitHub Actions workflow","source":"literal","difficulty":4,"tags":["specialized","devops"],"text":"name: CI\non:\n  push: { branches: [main] }\n  pull_request:\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with: { node-version: 20 }\n      - run: npm ci\n      - run: npm test"},{"id":470,"title":"Cron expressions","source":"literal","difficulty":4,"tags":["specialized","devops"],"text":"0 * * * *           every hour at :00\n*/15 * * * *        every 15 minutes\n0 9 * * 1-5         9am Monday through Friday\n0 0 1 * *           midnight on the first of the month\n30 4 * * 0          4:30am every Sunday\n0 0 1 1 *           midnight, January 1"},{"id":471,"title":"Diff format (unified)","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"diff --git a/src/main.js b/src/main.js\nindex 4242424..1234567 100644\n--- a/src/main.js\n+++ b/src/main.js\n@@ -10,7 +10,8 @@ function process(items) {\n-  return items.map(transform);\n+  if (!items?.length) return [];\n+  return items.filter(Boolean).map(transform);\n }"},{"id":472,"title":"AWS CLI commands","source":"literal","difficulty":4,"tags":["specialized","devops"],"text":"aws s3 cp ./build/ s3://my-bucket/ --recursive --acl public-read\naws ec2 describe-instances --filters 'Name=tag:env,Values=prod'\naws lambda invoke --function-name my-fn --payload '{\"key\":\"value\"}' out.json\naws logs tail /aws/lambda/my-fn --follow"},{"id":473,"title":"kubectl commands","source":"literal","difficulty":4,"tags":["specialized","devops"],"text":"kubectl get pods -n production -o wide\nkubectl describe deployment api\nkubectl logs -f -l app=api --tail=100\nkubectl exec -it api-7d5f-abc -- /bin/sh\nkubectl rollout restart deployment/api\nkubectl scale deployment api --replicas=5"},{"id":474,"title":"ENV file","source":"literal","difficulty":3,"tags":["specialized","tech"],"text":"NODE_ENV=production\nPORT=3000\nDATABASE_URL=postgres://user:pass@host:5432/dbname\nREDIS_URL=redis://localhost:6379/0\nSESSION_SECRET=replace-me-in-production\nLOG_LEVEL=info\nFEATURE_BETA_DASHBOARD=false"},{"id":475,"title":".gitignore patterns","source":"literal","difficulty":3,"tags":["specialized","tech"],"text":"node_modules/\ndist/\nbuild/\n*.log\n.env\n.env.local\n.DS_Store\n*.swp\n*.bak\ncoverage/\n.idea/\n.vscode/\n!.vscode/settings.json\n*.sqlite\n.cache/"},{"id":476,"title":"package.json scripts","source":"literal","difficulty":4,"tags":["specialized","tech"],"text":"\"scripts\": {\n  \"dev\": \"vite\",\n  \"build\": \"tsc && vite build\",\n  \"preview\": \"vite preview\",\n  \"test\": \"vitest run\",\n  \"test:watch\": \"vitest\",\n  \"lint\": \"eslint src --max-warnings 0\",\n  \"typecheck\": \"tsc --noEmit\"\n}"},{"id":477,"title":"Quote within quote","source":"literal","difficulty":4,"tags":["punctuation","quotes"],"text":"She said, \"He told me, 'I will be there by noon,' but he never showed.\" The witness recalled, \"The defendant shouted, 'Stop!' before the door closed.\" \"Did you hear,\" he asked, \"that she said 'no'?\""},{"id":478,"title":"Nested parentheses","source":"literal","difficulty":4,"tags":["punctuation"],"text":"The result (which surprised everyone (especially the team lead (a notoriously careful planner))) was reversed at the next review. The expression evaluates ((a + b) * (c - d)) before applying the modulo."},{"id":479,"title":"Em-dash vs en-dash","source":"literal","difficulty":4,"tags":["punctuation"],"text":"Pages 100-150 are missing -- check with the librarian. The 1939-1945 conflict -- the deadliest in human history -- reshaped the modern world. The New York-London flight takes seven hours; the Tokyo-Sydney leg adds nine more."},{"id":480,"title":"Ellipsis usage","source":"literal","difficulty":4,"tags":["punctuation"],"text":"He paused... then continued. The list went on -- chairs, tables, lamps... and so on. She trailed off. \"Well, I... I don't know what to say.\" The original passage read: \"All men ... are created equal.\""},{"id":481,"title":"Hyphenated compound modifiers","source":"literal","difficulty":4,"tags":["punctuation"],"text":"a well-known author. a state-of-the-art facility. a long-term plan. a high-quality product. a face-to-face meeting. a 24-hour service. a much-needed reform. a self-aware character. a custom-built engine."},{"id":482,"title":"Dialogue tags","source":"literal","difficulty":4,"tags":["punctuation","fiction"],"text":"\"I won't go,\" she said quietly. \"You have to,\" he replied. \"Why?\" \"Because no one else can.\" She turned away. \"Then I'm sorry,\" she whispered, \"but the answer is no.\" \"It's never just no,\" he said. \"It's always something more.\""},{"id":483,"title":"Question + exclamation mix","source":"literal","difficulty":4,"tags":["punctuation"],"text":"Did you really say that?! What were you thinking?! Wait -- where are you going? Stop! Come back! Are you serious? Are you kidding me?! Yes! Of course! Why not?! Tell me!"},{"id":484,"title":"Comma splices fixed","source":"literal","difficulty":4,"tags":["punctuation"],"text":"She arrived early; the others were still asleep. The rain stopped, and the sun came out. He paused, then continued. The road was long; the journey, longer. She tried, but the door was locked."},{"id":485,"title":"Oxford comma + lists","source":"literal","difficulty":3,"tags":["punctuation"],"text":"We bought apples, oranges, and bananas. The team includes engineers, designers, and product managers. For breakfast: eggs, toast, bacon, and coffee. Pack a notebook, two pens, a phone charger, and your passport."},{"id":486,"title":"Block quotation","source":"literal","difficulty":4,"tags":["punctuation","writing"],"text":"As Smith argues:\n\n   The most overlooked aspect of language acquisition is the role of repetition. Without exposure to a pattern dozens of times across varied contexts, the learner's brain has no reason to consolidate it.\n\nThis observation aligns with our findings."},{"id":487,"title":"Mixed terminal punctuation","source":"literal","difficulty":4,"tags":["punctuation"],"text":"He said -- and I quote -- \"Don't ever do that again.\" She asked, \"Why not?\" Because, he said, \"some doors should stay closed.\" Could she try anyway? Of course. Would she? Probably not."},{"id":488,"title":"Slash usage (and/or, dates, fractions)","source":"literal","difficulty":3,"tags":["punctuation"],"text":"and/or   he/she/they   the report's pros/cons   1/2 cup   3/4 mile   on or before 12/31/2024   the 2023/2024 school year   N/A   AC/DC   24/7   read/write access   true/false toggle"},{"id":489,"title":"Brackets for editorial insertion","source":"literal","difficulty":5,"tags":["punctuation","editing"],"text":"The witness recalled, \"He [the defendant] approached the bench and [allegedly] threatened the judge.\" Source [unverified] reports that the deal closed Tuesday. \"It [the proposal] needs more work,\" she said."},{"id":490,"title":"Symbols in prose","source":"literal","difficulty":4,"tags":["punctuation","symbols"],"text":"@mentions everywhere. #trending now. The R&D budget is tight. AT&T announced earnings. Section 230. Article 19(3). Use & sparingly in formal writing. The CEO/CFO meeting is at 3. Email me at name@example.com."},{"id":491,"title":"Mastery: full alphabet sentence","source":"literal","difficulty":4,"tags":["mastery","pangram"],"text":"The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How quickly daft jumping zebras vex! Sphinx of black quartz, judge my vow. The five boxing wizards jump quickly."},{"id":492,"title":"Mastery: numbers + letters mixed","source":"literal","difficulty":5,"tags":["mastery"],"text":"On 2024-03-15 at 14:30, Order #A12-3456 (worth $2,499.99) shipped from Warehouse 7B to ZIP 90210. Tracking: 1Z999AA10123456784. ETA: 2-3 business days. Contact 1-800-555-0100 with questions."},{"id":493,"title":"Mastery: code + prose hybrid","source":"literal","difficulty":5,"tags":["mastery"],"text":"The function `processOrder(items, customer)` returns a `Promise<Receipt>` after validating each item against the inventory. Failure paths: empty items (throws `EmptyOrder`), unknown SKU (throws `UnknownItem`), insufficient stock (returns `Receipt{ status: \"backorder\" }`)."},{"id":494,"title":"Mastery: punctuation gauntlet","source":"literal","difficulty":5,"tags":["mastery","punctuation"],"text":"She paused -- and this surprised everyone -- before saying, \"I won't.\" \"Won't what?\" he asked. \"Won't go; won't speak; won't pretend any longer.\" The room (silent until that moment) erupted: questions, accusations, denials."},{"id":495,"title":"Mastery: long-form paragraph (Sagan)","source":"literal","difficulty":5,"tags":["mastery","endurance"],"text":"We are like butterflies who flutter for a day and think it is forever. From this distant vantage point, the Earth might not seem of any particular interest. But for us, it's different. Consider again that dot. That's here. That's home. That's us. Every joy and suffering, every confident religion, every economic doctrine, lived there."},{"id":496,"title":"Mastery: long-form paragraph (Twain)","source":"literal","difficulty":5,"tags":["mastery","endurance"],"text":"There is no character, howsoever good and fine, but it can be destroyed by ridicule, howsoever poor and witless. Observe the ass, for instance: his character is about perfect, he is the choicest spirit among all the humbler animals, yet see what ridicule has brought him to."},{"id":497,"title":"Mastery: technical paragraph","source":"literal","difficulty":5,"tags":["mastery","tech"],"text":"The compiler performs three distinct passes over the abstract syntax tree: first, it resolves names and reports unresolved identifiers; second, it infers and checks types, propagating constraints upward through expressions; third, it lowers the typed tree into an intermediate representation suitable for optimization and code generation."},{"id":498,"title":"Mastery: speech excerpt (Lincoln)","source":"literal","difficulty":5,"tags":["mastery","speech"],"text":"We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this. But, in a larger sense, we cannot dedicate -- we cannot consecrate -- we cannot hallow -- this ground."},{"id":499,"title":"Mastery: speed final (mixed)","source":"literal","difficulty":5,"tags":["mastery","speed"],"text":"The 27 students arrived at 9:00 AM on Monday, March 4th, carrying laptops, notebooks, and coffee mugs (most labeled with names like \"Property of Alex\" or \"#1 Engineer\"). The instructor, Dr. Chen, opened with: \"Welcome -- now let's begin the real work.\""},{"id":500,"title":"Mastery: graduation passage","source":"literal","difficulty":5,"tags":["mastery","endurance"],"text":"Whoever you are, no matter how lonely, the world offers itself to your imagination, calls to you like the wild geese, harsh and exciting -- over and over announcing your place in the family of things. Type carefully. Type gladly. The keyboard is a small world, and you have made it your own."}]
