41554 blogs · [ { "id": "01a08779-9f1c-72eb-99b7-eba4cb74f9f0", "title": "I'm back, after nine years!", "url": "https://franklinchen.com/blog/2025/10/27/im-back-after-nine-years/", "published_at": "2025-10-27T14:30:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cb84eb62", "title": "The powerful e5 Pawn break against the Benoni: using it as White, neutralizing it as Black", "url": "https://franklinchen.com/blog/2016/07/29/the-powerful-e5-pawn-break-against-the-benoni-using-it-as-white-neutralizing-it-as-black/", "published_at": "2016-07-29T11:50:37+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cc110275", "title": "On finally achieving the US National Master chess title at age 45: part 1", "url": "https://franklinchen.com/blog/2016/01/22/on-finally-achieving-the-us-national-master-chess-title-at-age-45-part-1/", "published_at": "2016-01-23T01:49:11+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cc3f0632", "title": "How the X-Files reminded me of the meaning of Martin Luther King Jr.", "url": "https://franklinchen.com/blog/2016/01/18/how-the-x-files-reminded-me-of-the-meaning-of-martin-luther-king-jr/", "published_at": "2016-01-19T03:07:06+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cca8d690", "title": "If you were this old man playing chess against a young boy, what would you have done?", "url": "https://franklinchen.com/blog/2016/01/09/if-you-were-this-old-man-playing-chess-against-a-young-boy-what-would-you-have-done/", "published_at": "2016-01-09T17:08:32+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ccce57dc", "title": "Accidentally discovering and performing some music by Brazilian composer Ernesto Nazareth: Coração que Sente", "url": "https://franklinchen.com/blog/2015/12/29/accidentally-discovering-and-performing-some-music-by-brazilian-composer-ernesto-nazareth-cora%25C3%25A7%25C3%25A3o-que-sente/", "published_at": "2015-12-30T04:05:10+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ccf36677", "title": "24 days of Hackage, 2015: day 24: conclusion and thanks", "url": "https://franklinchen.com/blog/2015/12/24/24-days-of-hackage-2015-day-24-conclusion-and-thanks/", "published_at": "2015-12-24T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cd40962d", "title": "24 days of Hackage, 2015: day 23: Liquid Haskell: refinement types for the real world", "url": "https://franklinchen.com/blog/2015/12/23/24-days-of-hackage-2015-day-23-liquid-haskell-refinement-types-for-the-real-world/", "published_at": "2015-12-23T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cddd63f4", "title": "24 days of Hackage, 2015: day 22: Shake: the dynamic build system", "url": "https://franklinchen.com/blog/2015/12/22/24-days-of-hackage-2015-day-22-shake-the-dynamic-build-system/", "published_at": "2015-12-22T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ce4aa675", "title": "24 days of Hackage, 2015: day 21: hood, GHood, Hoed: observation oriented debugging in Haskell", "url": "https://franklinchen.com/blog/2015/12/21/24-days-of-hackage-2015-day-21-hood-ghood-hoed-observation-oriented-debugging-in-haskell/", "published_at": "2015-12-21T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ce7e516e", "title": "24 days of Hackage, 2015: day 20: dimensional: type-checked computation on physical quantities with units", "url": "https://franklinchen.com/blog/2015/12/20/24-days-of-hackage-2015-day-20-dimensional-type-checked-computation-on-physical-quantities-with-units/", "published_at": "2015-12-20T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4cf73368d", "title": "24 days of Hackage, 2015: day 19: ghc-core-html, list-fusion-probe; checking GHC's fusion rewrite rules for erasing intermediate data from existence", "url": "https://franklinchen.com/blog/2015/12/19/24-days-of-hackage-2015-day-19-ghc-core-html-list-fusion-probe-checking-ghcs-fusion-rewrite-rules-for-erasing-intermediate-data-from-existence/", "published_at": "2015-12-19T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d037e53c", "title": "24 days of Hackage, 2015: day 18: vector, vector-algorithms: unleash your inner C programmer!", "url": "https://franklinchen.com/blog/2015/12/18/24-days-of-hackage-2015-day-18-vector-vector-algorithms-unleash-your-inner-c-programmer/", "published_at": "2015-12-18T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d0b3deb3", "title": "24 days of Hackage, 2015: day 17: ansi-wl-pprint: avoiding string hacking", "url": "https://franklinchen.com/blog/2015/12/17/24-days-of-hackage-2015-day-17-ansi-wl-pprint-avoiding-string-hacking/", "published_at": "2015-12-17T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d174f3a0", "title": "24 days of Hackage, 2015: day 16: safe; what is safety anyway?", "url": "https://franklinchen.com/blog/2015/12/16/24-days-of-hackage-2015-day-16-safe-what-is-safety-anyway/", "published_at": "2015-12-16T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d1905ee2", "title": "24 days of Hackage, 2015: day 15: IOSpec: testing IO; and some QuickCheck tricks", "url": "https://franklinchen.com/blog/2015/12/15/24-days-of-hackage-2015-day-15-iospec-testing-io-and-some-quickcheck-tricks/", "published_at": "2015-12-15T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d211ec67", "title": "24 days of Hackage, 2015: day 14: Earley: a promising newer parser library for Haskell", "url": "https://franklinchen.com/blog/2015/12/14/24-days-of-hackage-2015-day-14-earley-a-promising-newer-parser-library-for-haskell/", "published_at": "2015-12-14T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d2af9129", "title": "24 days of Hackage, 2015: day 13: hint: runtime eval for Haskell", "url": "https://franklinchen.com/blog/2015/12/13/24-days-of-hackage-2015-day-13-hint-runtime-eval-for-haskell/", "published_at": "2015-12-13T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d2b86ed3", "title": "24 days of Hackage, 2015: day 12: json-autotype: inferring types from data", "url": "https://franklinchen.com/blog/2015/12/12/24-days-of-hackage-2015-day-12-json-autotype-inferring-types-from-data/", "published_at": "2015-12-12T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d2d89c3c", "title": "24 days of Hackage, 2015: day 11: monad-loops: avoiding writing recursive functions by refactoring", "url": "https://franklinchen.com/blog/2015/12/11/24-days-of-hackage-2015-day-11-monad-loops-avoiding-writing-recursive-functions-by-refactoring/", "published_at": "2015-12-11T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d3ba2a55", "title": "24 days of Hackage, 2015: day 10: s-cargot: using S-expression syntax", "url": "https://franklinchen.com/blog/2015/12/10/24-days-of-hackage-2015-day-10-s-cargot-using-s-expression-syntax/", "published_at": "2015-12-10T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d4971129", "title": "24 days of Hackage, 2015: day 9: Template Haskell goodies: here, interpolate, file-embed", "url": "https://franklinchen.com/blog/2015/12/09/24-days-of-hackage-2015-day-9-template-haskell-goodies-here-interpolate-file-embed/", "published_at": "2015-12-09T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d4bf86af", "title": "24 days of Hackage, 2015: day 8: multiset; I wish this were in the standard containers package", "url": "https://franklinchen.com/blog/2015/12/08/24-days-of-hackage-2015-day-8-multiset-i-wish-this-were-in-the-standard-containers-package/", "published_at": "2015-12-08T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d595e564", "title": "24 days of Hackage, 2015: day 7: semigroups; NonEmpty list and a case study of types and tests", "url": "https://franklinchen.com/blog/2015/12/07/24-days-of-hackage-2015-day-7-semigroups-nonempty-list-and-a-case-study-of-types-and-tests/", "published_at": "2015-12-07T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d5e6f0bd", "title": "24 days of Hackage, 2015: day 6: finding utilities with Hoogle and Hayoo: MissingH, extra", "url": "https://franklinchen.com/blog/2015/12/06/24-days-of-hackage-2015-day-6-finding-utilities-with-hoogle-and-hayoo-missingh-extra/", "published_at": "2015-12-06T13:00:00+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d6d1e671", "title": "24 days of Hackage, 2015: day 5: should-not-typecheck: making Haskell sort of dynamically typed with deferred type errors", "url": "https://franklinchen.com/blog/2015/12/05/24-days-of-hackage-2015-day-5-should-not-typecheck-making-haskell-sort-of-dynamically-typed-with-deferred-type-errors/", "published_at": "2015-12-05T13:20:32+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d790781e", "title": "24 days of Hackage, 2015: day 4: wreq: Web client programming; with notes on lens and operator syntax", "url": "https://franklinchen.com/blog/2015/12/04/24-days-of-hackage-2015-day-4-wreq-web-client-programming-with-notes-on-lens-and-operator-syntax/", "published_at": "2015-12-04T22:05:23+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d7b49bc8", "title": "24 days of Hackage, 2015: day 3: HSpec; the importance of testing", "url": "https://franklinchen.com/blog/2015/12/03/24-days-of-hackage-2015-day-3-hspec-the-importance-of-testing/", "published_at": "2015-12-03T12:55:59+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d85739ed", "title": "24 days of Hackage, 2015: day 2: Regexes with pcre-heavy; standalone Haskell scripts using Stack", "url": "https://franklinchen.com/blog/2015/12/02/24-days-of-hackage-2015-day-2-regexes-with-pcre-heavy-standalone-haskell-scripts-using-stack/", "published_at": "2015-12-02T12:50:12+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d8fd5d23", "title": "Haskell tidbits: 24 days of Hackage, 2015: day 1: Introduction and Stack", "url": "https://franklinchen.com/blog/2015/11/30/haskell-tidbits-24-days-of-hackage-2015-day-1-introduction-and-stack/", "published_at": "2015-11-30T21:20:11+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4d94a95e1", "title": "Clever chess tactics that were not what they seemed", "url": "https://franklinchen.com/blog/2015/11/30/clever-chess-tactics-that-were-not-what-they-seemed/", "published_at": "2015-11-30T07:25:52+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4da134068", "title": "Report on my talk \"A gentle conceptual introduction to functional programming\"", "url": "https://franklinchen.com/blog/2015/10/07/report-on-my-talk-a-gentle-conceptual-introduction-to-functional-programming/", "published_at": "2015-10-08T03:25:12+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4da14aa02", "title": "Thoughts on learning that I have eaten English muffins wrong all my life", "url": "https://franklinchen.com/blog/2015/06/28/thoughts-on-learning-that-i-have-eaten-english-muffins-wrong-all-my-life/", "published_at": "2015-06-28T22:25:34+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4da8e3fcb", "title": "The importance of stalemate in chess: how chess is completely different from life", "url": "https://franklinchen.com/blog/2015/06/16/the-importance-of-stalemate-in-chess-how-chess-is-completely-different-from-life/", "published_at": "2015-06-17T02:16:19+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4db2cea40", "title": "Aegis and Cook: what happens when an open source developer dies?", "url": "https://franklinchen.com/blog/2015/06/16/aegis-and-cook-what-happens-when-an-open-source-developer-dies/", "published_at": "2015-06-17T01:37:39+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dbcbd5eb", "title": "How learning about the Magna Carta in high school changed my life", "url": "https://franklinchen.com/blog/2015/06/13/how-learning-about-the-magna-carta-in-high-school-changed-my-life/", "published_at": "2015-06-13T19:35:30+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dca097a0", "title": "How Ornette Coleman changed my life", "url": "https://franklinchen.com/blog/2015/06/12/how-ornette-coleman-changed-my-life/", "published_at": "2015-06-13T03:59:40+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dcc3d6b1", "title": "What unexpected life lessons have you learned from your father?", "url": "https://franklinchen.com/blog/2015/06/11/what-unexpected-life-lessons-have-you-learned-from-your-father/", "published_at": "2015-06-12T02:15:56+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dd504607", "title": "Revisiting Bach's Air on G String, from a singing and dancing viewpoint", "url": "https://franklinchen.com/blog/2015/06/10/revisiting-bachs-air-on-g-string-from-a-singing-and-dancing-viewpoint/", "published_at": "2015-06-11T03:46:26+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dd6e0428", "title": "Why I have never considered using a treadmill desk", "url": "https://franklinchen.com/blog/2015/06/10/why-i-have-never-considered-using-a-treadmill-desk/", "published_at": "2015-06-11T01:34:04+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dd775272", "title": "The many faces of \"Stella by Starlight\"", "url": "https://franklinchen.com/blog/2015/06/01/the-many-faces-of-stella-by-starlight/", "published_at": "2015-06-01T05:08:23+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ddbae704", "title": "Yes, I want my writing to be dated!", "url": "https://franklinchen.com/blog/2015/05/31/yes-i-want-my-writing-to-be-dated/", "published_at": "2015-06-01T02:55:05+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4de5d8b06", "title": "Why I switched from Octopress 2 to Hugo", "url": "https://franklinchen.com/blog/2015/05/31/why-i-switched-from-octopress-2-to-hugo/", "published_at": "2015-05-31T16:26:32+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4df25e67a", "title": "When did the United States stop being violently anti-Catholic?", "url": "https://franklinchen.com/blog/2015/05/24/when-did-the-united-states-stop-being-violently-anti-catholic/", "published_at": "2015-05-25T03:10:50+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dfc4ada0", "title": "What happens when you donate your used clothing?", "url": "https://franklinchen.com/blog/2015/05/22/what-happens-when-you-donate-your-used-clothing/", "published_at": "2015-05-23T02:39:14+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4dfe200e5", "title": "Discovering the Eolina, a beautiful musical instrument", "url": "https://franklinchen.com/blog/2015/02/18/discovering-the-eolina-a-beautiful-musical-instrument/", "published_at": "2015-02-19T00:56:18+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e05ac6af", "title": "How I forgot to meditate after sixty days in a row of remembering and what that means", "url": "https://franklinchen.com/blog/2015/01/24/how-i-forgot-to-meditate-after-sixty-days-in-a-row-of-remembering-and-what-that-means/", "published_at": "2015-01-24T18:58:29+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e0c47abf", "title": "For Martin Luther King, Jr. Day: some black American voices that spoke to me recently", "url": "https://franklinchen.com/blog/2015/01/19/for-martin-luther-king-jr-day-some-black-american-voices-that-spoke-to-me-recently/", "published_at": "2015-01-20T01:58:34+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e0f2e18f", "title": "Why I stopped saying something is easy or something is hard", "url": "https://franklinchen.com/blog/2014/12/23/why-i-stopped-saying-something-is-easy-or-something-is-hard/", "published_at": "2014-12-24T03:19:38+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e176a632", "title": "How to think about Rust ownership versus C++ unique_ptr", "url": "https://franklinchen.com/blog/2014/12/21/how-to-think-about-rust-ownership-versus-c-plus-plus-unique-ptr/", "published_at": "2014-12-21T19:31:36+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e1c6fefd", "title": "Remembering over 20 years of reading Dr. Dobb's Journal even till today", "url": "https://franklinchen.com/blog/2014/12/16/remembering-over-20-years-of-reading-dr-dobbs-journal-even-till-today/", "published_at": "2014-12-17T03:23:42+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e2819f84", "title": "Thoughts on giving up an old project to make room for the new", "url": "https://franklinchen.com/blog/2014/12/15/thoughts-on-giving-up-an-old-project-to-make-room-for-the-new/", "published_at": "2014-12-16T01:10:34+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e299c7a0", "title": "Thoughts on Cuba while watching Cuban musicians performing the 1947 bolero \"La gloria eres tú\"", "url": "https://franklinchen.com/blog/2014/12/13/thoughts-on-cuba-while-watching-cuban-musicians-performing-the-1947-bolero-la-gloria-eres-tu/", "published_at": "2014-12-14T02:01:47+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e366aa36", "title": "A Reminder About The Strengths And Limitations Of Chess Engines", "url": "https://franklinchen.com/blog/2014/12/11/chess-improver-a-reminder-about-the-strengths-and-limitations-of-chess-engines/", "published_at": "2014-12-11T05:00:45+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e3feab87", "title": "Why we decided to compile our own family cookbook", "url": "https://franklinchen.com/blog/2014/12/07/why-we-decided-to-compile-our-own-family-cookbook/", "published_at": "2014-12-08T00:46:48+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e4fb70ef", "title": "Methodically Building An Endgame Fortress", "url": "https://franklinchen.com/blog/2014/12/04/chess-improver-methodically-building-an-endgame-fortress/", "published_at": "2014-12-04T05:00:41+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e52f0824", "title": "Report on my final day of Stoic Week 2014: the view from above", "url": "https://franklinchen.com/blog/2014/11/30/report-on-my-final-day-of-stoic-week-2014/", "published_at": "2014-12-01T03:16:07+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e5f886f4", "title": "Report on my sixth day of Stoic Week 2014: preparing for adversity", "url": "https://franklinchen.com/blog/2014/11/29/report-on-my-sixth-day-of-stoic-week-2014/", "published_at": "2014-11-29T23:37:25+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e67309f2", "title": "Report on my fifth day of Stoic Week 2014: action and the reserve clause", "url": "https://franklinchen.com/blog/2014/11/28/report-on-my-fifth-day-of-stoic-week-2014/", "published_at": "2014-11-29T04:20:43+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e72a05fc", "title": "Report on my fourth day of Stoic Week 2014: virtue and relationships with others", "url": "https://franklinchen.com/blog/2014/11/27/report-on-my-fourth-day-of-stoic-week-2014/", "published_at": "2014-11-28T02:47:45+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e7667bbe", "title": "Report on my third day of Stoic Week 2014: self-discipline and Stoic simplicity", "url": "https://franklinchen.com/blog/2014/11/27/report-on-my-third-day-of-stoic-week-2014/", "published_at": "2014-11-27T16:03:44+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e83dddde", "title": "Blockading To Defend When Things Get Tough", "url": "https://franklinchen.com/blog/2014/11/27/chess-improver-blockading-to-defend-when-things-get-tough/", "published_at": "2014-11-27T05:00:03+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e8c9e3d6", "title": "Report on my second day of Stoic Week 2014: mindfulness", "url": "https://franklinchen.com/blog/2014/11/25/report-on-my-second-day-of-stoic-week-2014/", "published_at": "2014-11-26T04:50:38+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e93fc89c", "title": "Report on my first day of Stoic Week 2014", "url": "https://franklinchen.com/blog/2014/11/24/report-on-my-first-day-of-stoic-week-2014/", "published_at": "2014-11-25T03:30:51+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4e97524ea", "title": "An American English dialect quiz correctly guessed where I originally grew up in the US", "url": "https://franklinchen.com/blog/2014/11/21/an-american-english-dialect-quiz-correctly-guessed-where-i-originally-grew-up-in-the-us/", "published_at": "2014-11-22T04:32:10+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ea44b87b", "title": "Check out the unsanitized first edition of the Grimms' fairy tales finally translated into English", "url": "https://franklinchen.com/blog/2014/11/20/check-out-the-unsanitized-first-edition-of-the-grimms-fairy-tales-finally-translated-into-english/", "published_at": "2014-11-21T04:11:02+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ea81dc4a", "title": "The Danger Of A King Out Of Play In The Endgame", "url": "https://franklinchen.com/blog/2014/11/20/chess-improver-the-danger-of-a-king-out-of-play-in-the-endgame/", "published_at": "2014-11-20T05:00:31+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ea8eda2c", "title": "World Toilet Day is not just another crappy holiday", "url": "https://franklinchen.com/blog/2014/11/19/world-toilet-day-is-not-just-another-crappy-holiday/", "published_at": "2014-11-20T04:41:34+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4eaa415e7", "title": "On re-experiencing VHS tapes again", "url": "https://franklinchen.com/blog/2014/11/16/on-re-experiencing-vhs-tapes-again/", "published_at": "2014-11-17T02:27:49+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4eac2f2ae", "title": "Ransoms, hypocrisy, and bourgeois virtues", "url": "https://franklinchen.com/blog/2014/11/14/ransoms-hypocrisy-and-bourgeois-virtues/", "published_at": "2014-11-15T03:18:36+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ebb28177", "title": "Anticipating The Endgame As Part Of Understanding The Opening", "url": "https://franklinchen.com/blog/2014/11/13/chess-improver-anticipating-the-endgame-as-part-of-understanding-the-opening/", "published_at": "2014-11-13T05:00:37+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ec2aca6d", "title": "My predictions after Carlsen and Anand are tied after round 4 of the World Chess Championship", "url": "https://franklinchen.com/blog/2014/11/12/my-predictions-after-carlsen-and-anand-are-tied-after-round-4-of-the-world-chess-championship/", "published_at": "2014-11-13T04:01:25+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ec9801cd", "title": "SorryWatch: good and bad apologies", "url": "https://franklinchen.com/blog/2014/11/12/sorrywatch-good-and-bad-apologies/", "published_at": "2014-11-13T03:27:53+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ed3bc3c4", "title": "Happy 10th birthday Firefox! Thoughts on using Firefox, abandoning it, and returning to it again", "url": "https://franklinchen.com/blog/2014/11/10/happy-10th-birthday-firefox/", "published_at": "2014-11-11T01:09:02+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ee25c5b1", "title": "Understand and use motivation contagion: everyone matters", "url": "https://franklinchen.com/blog/2014/11/09/understand-and-use-motivation-contagion/", "published_at": "2014-11-10T01:35:39+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ee3575cd", "title": "Smart versus unpredictable people: whom do you prefer?", "url": "https://franklinchen.com/blog/2014/11/08/smart-versus-unpredictable-people/", "published_at": "2014-11-08T16:10:13+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ee4f0090", "title": "My predictions and hopes for the 2014 Carlsen-Anand world chess championship rematch", "url": "https://franklinchen.com/blog/2014/11/06/my-predictions-and-hopes-for-the-2014-carlsen-anand-world-chess-championship-rematch/", "published_at": "2014-11-07T02:09:54+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4ee528033", "title": "When a computer algebra program gives wrong answers", "url": "https://franklinchen.com/blog/2014/11/06/when-a-computer-algebra-program-gives-wrong-answers/", "published_at": "2014-11-07T01:20:32+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4eee02555", "title": "The Art Of Attacking A Slightly Weakened King Side", "url": "https://franklinchen.com/blog/2014/11/06/chess-improver-the-art-of-attacking-a-slightly-weakened-king-side/", "published_at": "2014-11-06T05:00:43+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4efa7da95", "title": "The single greatest performance of Bach's Goldberg Variations: Pierre Hantaï with rhythmic drive and life", "url": "https://franklinchen.com/blog/2014/11/05/the-single-greatest-performance-of-bachs-goldberg-variations-pierre-hantai/", "published_at": "2014-11-06T03:32:07+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f05c43d2", "title": "Things look different from the perspective of the professional and the spectator", "url": "https://franklinchen.com/blog/2014/11/05/things-look-different-from-the-perspective-of-the-professional-and-the-spectator/", "published_at": "2014-11-06T03:10:35+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f11add2a", "title": "Some good science-based reading for Election Day, whether or not you voted", "url": "https://franklinchen.com/blog/2014/11/04/some-good-science-based-reading-for-election-day/", "published_at": "2014-11-04T20:41:25+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f1a2e689", "title": "Lessons to learn from pianist Dejan Lazić's attempt to remove a critic's bad review", "url": "https://franklinchen.com/blog/2014/11/02/lessons-to-learn-from-pianist-dejan-lazics-attempt-to-remove-a-critics-bad-review/", "published_at": "2014-11-02T22:25:32+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f2809f83", "title": "How I avoid demotivating myself away from voting", "url": "https://franklinchen.com/blog/2014/11/01/how-i-avoid-demotivating-myself-away-from-voting/", "published_at": "2014-11-02T02:11:10+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f320d2c0", "title": "Win ugly or lose pretty: do you agree?", "url": "https://franklinchen.com/blog/2014/10/31/win-ugly-or-lose-pretty-do-you-agree/", "published_at": "2014-11-01T02:53:18+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f3712ba0", "title": "The Chess Improver: The common problem of following a pattern without understanding it", "url": "https://franklinchen.com/blog/2014/10/30/the-chess-improver-the-common-problem-of-following-a-pattern-without-understanding-it/", "published_at": "2014-10-31T00:14:40+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f3963e0c", "title": "The Chess Improver: Learning through comparing similar but different situations", "url": "https://franklinchen.com/blog/2014/10/23/the-chess-improver-learning-through-comparing-similar-but-different-situations/", "published_at": "2014-10-23T11:13:51+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f39d3936", "title": "Climbing the Cathedral of Learning to get to the Harvard Classics", "url": "https://franklinchen.com/blog/2014/10/22/climbing-the-cathedral-of-learning-to-get-to-the-harvard-classics/", "published_at": "2014-10-23T03:12:24+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f426649e", "title": "The Chess Improver: Basic endgames teach how to tie together mathematics and logic", "url": "https://franklinchen.com/blog/2014/10/16/the-chess-improver-basic-endgames-teach-how-to-tie-together-mathematics-and-logic/", "published_at": "2014-10-16T11:10:54+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f51ccb72", "title": "The Chess Improver: The temptation to play safe can prevent improvement", "url": "https://franklinchen.com/blog/2014/10/09/the-chess-improver-the-temptation-to-play-safe-can-prevent-improvement/", "published_at": "2014-10-09T11:02:49+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f5592191", "title": "Pittsburgh Code and Supply: Making music with Overtone in Clojure; Conveying information through sound", "url": "https://franklinchen.com/blog/2014/10/07/pittsburgh-code-and-supply-making-music-with-overtone-in-clojure-conveying-information-through-sound/", "published_at": "2014-10-08T01:10:18+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f5987971", "title": "A pretty exploratory fall hike in Frick Park and Duck Hollow", "url": "https://franklinchen.com/blog/2014/10/05/a-pretty-exploratory-fall-hike-in-frick-park-and-duck-hollow/", "published_at": "2014-10-06T00:25:28+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f627e8fc", "title": "The Chess Improver: Your Pawn is threatened: do you defend, advance, or trade?", "url": "https://franklinchen.com/blog/2014/10/02/the-chess-improver-your-pawn-is-threatened-do-you-defend/", "published_at": "2014-10-02T11:02:40+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f67c5220", "title": "The Chess Improver: Accept the sacrifice if the alternative is to lose anyway", "url": "https://franklinchen.com/blog/2014/09/18/the-chess-improver-accept-the-sacrifice-if-the-alternative-is-to-lose-anyway/", "published_at": "2014-09-18T11:03:23+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f6d4bc39", "title": "Observing Constitution Day with \"The Supreme Court and Privacy: The Fourth Amendment in the Digital Age\"", "url": "https://franklinchen.com/blog/2014/09/17/observing-constitution-day-with-the-supreme-court-and-privacy-the-fourth-amendment-in-the-digital-age/", "published_at": "2014-09-18T01:54:01+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f6d527a4", "title": "The Chess Improver: The difference between a Knight developed at c3 and at d2", "url": "https://franklinchen.com/blog/2014/09/11/the-chess-improver-the-difference-between-a-knight-developed-at-c3-and-at-d2/", "published_at": "2014-09-11T11:10:29+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f7c71e23", "title": "The Chess Improver: Fianchettoing your King's Bishop may weaken your c4-Pawn", "url": "https://franklinchen.com/blog/2014/09/04/the-chess-improver-fianchettoing-your-kings-bishop-may-weaken-your-c4-pawn/", "published_at": "2014-09-04T11:11:17+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f8aa2c8d", "title": "I just saw and heard the most amazing performance of Schumann's Fantasy for piano by Alexandre Moutouzkine", "url": "https://franklinchen.com/blog/2014/08/28/i-just-saw-and-heard-the-most-amazing-performance-of-schumanns-fantasy-for-piano-by-alexandre-moutouzkine/", "published_at": "2014-08-29T03:42:37+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f8e65821", "title": "The Chess Improver: What not to do if you have the isolated Pawn", "url": "https://franklinchen.com/blog/2014/08/28/the-chess-improver-what-not-to-do-if-you-have-the-isolated-pawn/", "published_at": "2014-08-28T11:11:37+00:00" }, { "id": "01a08779-9f1c-72eb-99b7-eba4f9bd44f9", "title": "Discovering the beautiful keyboard playing of Robert Hill by accident on YouTube changed my life", "url": "https://franklinchen.com/blog/2014/08/21/discovering-the-beautiful-keyboard-playing-of-robert-hill-by-accident-on-youtube-changed-my-life/", "published_at": "2014-08-22T02:14:23+00:00" } ] posts Claim your blog
Back to franklinchen.com
Blog · corpus.blog/blogs/franklinchen.com/posts

franklinchen.com

franklinchen.com

2025

2016

2015

2014