git » homepage.git » commit 1ad24ef

Repair archived and reading list links

author Alan Dipert
2026-08-13 02:10:22 UTC
committer Alan Dipert
2026-08-13 02:10:22 UTC
parent 26c5989d134af4270e8796918181fe38053e41a6

Repair archived and reading list links

md/Lisp/GherkinHistory.md +3 -3
md/RecoveredTechnicalWriting.md +9 -9
md/TechWorks.md +7 -7
md/WellReadUndergrad.md +19 -19

diff --git a/md/Lisp/GherkinHistory.md b/md/Lisp/GherkinHistory.md
index f2ef53d..ac22cc6 100644
--- a/md/Lisp/GherkinHistory.md
+++ b/md/Lisp/GherkinHistory.md
@@ -16,12 +16,12 @@ In a quest to become a **Real Lisp Hacker**, I bounced around Google search resu
 * [Closure conversion: How to compile lambda,](http://matt.might.net/articles/closure-conversion/) a blog post by [Matt Might](http://matt.might.net/)
 * [Paradigms of Artificial Intelligence (PAIP),](https://amzn.to/3px57ZJ) a book by [Peter Norvig.](https://norvig.com/) This book is now also [freely available](https://github.com/norvig/paip-lisp) online.
 * [(How to Write a (Lisp) Interpreter (in Python))](https://norvig.com/lispy.html), a page by Peter Norvig
-* [Henry Baker's Archive of Research Papers](https://web.archive.org/web/20190927121406/http://home.pipeline.com/~hbaker1/)
+* [Henry Baker's Archive of Research Papers](https://web.archive.org/web/20190927121406id_/http://home.pipeline.com/~hbaker1/)
 
 
 Of the stuff I read, [PAIP](https://amzn.to/3px57ZJ) probably propelled me the furthest along, but I struggled to develop a really solid comprehension of the basic implementation mechanics of things like closures. In retrospect, this is almost surely because I was experimenting in Clojure, but the examples were in [Common Lisp](./CommonLisp.md), a language I didn't know well.
 
-In the fall of 2013, in the month before Clojure/conj, I ran across [awklisp](https://github.com/darius/awklisp) by [Darius Bacon](https://web.archive.org/web/20200216105017/http://wry.me:80/~darius/). I became obsessed with it.
+In the fall of 2013, in the month before Clojure/conj, I ran across [awklisp](https://github.com/darius/awklisp) by [Darius Bacon](https://web.archive.org/web/20200216105017id_/http://wry.me:80/~darius/). I became obsessed with it.
 
 awklisp had a few properties unique among available implementations at the time. I believe this set of properties made it especially compelling to me as a learning aid:
 
@@ -74,7 +74,7 @@ I'm aware of these projects that were inspired by or otherwise related to Gherki
 
 * [timl](https://github.com/tpope/timl) by [Tim Pope](https://tpo.pe/) is an impressive Clojure-like language that *compiles* to VimL. It is a much more sophisticated and comprehensive effort than Gherkin. Tim [was moved](https://twitter.com/tpope/status/1202261256859729920) to create timl after seeing my lightning talk.
 * [Fleck](https://github.com/chr15m/flk) by [Chris McCormick](https://mccormick.cx/) is "a Clojure-like LISP that runs wherever Bash is".
-* Andy Chu [reported on Twitter](https://twitter.com/oilshellblog/status/1327317599558897666) that he used Gherkin at one point [as part of the tests](https://t.co/ud7Uf3bhVf?amp=1) for the parser of his [oil shell](https://www.oilshell.org/).
+* Andy Chu [reported on Twitter](https://twitter.com/oilshellblog/status/1327317599558897666) that he used Gherkin at one point as part of the tests for the parser of his [oil shell](https://www.oilshell.org/).
 
 
 Proper BDFL attire
diff --git a/md/RecoveredTechnicalWriting.md b/md/RecoveredTechnicalWriting.md
index b051802..3c5da9f 100644
--- a/md/RecoveredTechnicalWriting.md
+++ b/md/RecoveredTechnicalWriting.md
@@ -11,7 +11,7 @@ It connects parsing, compilation, evaluation, and the practical appeal of a
 Lisp representation without treating the language as a museum piece.
 
 [Read the recovered nine-page PDF](./RecoveredTechnicalWriting/discover-lisp-in-your-browser.pdf)
-or [view the archived post](https://web.archive.org/web/20130603151958/http://alan.dipert.org/post/7193534410/discover-lisp-in-your-web-browser-with-javascript).
+or [view the archived post](https://web.archive.org/web/20130603151958id_/http://alan.dipert.org/post/7193534410/discover-lisp-in-your-web-browser-with-javascript).
 The PDF is the July 2011 original recovered from an October 2011 Wayback
 capture.
 
@@ -21,16 +21,16 @@ This 2010 note sketches an editor where the underlying program structure is
 primary and text is one view of it. The idea became a thread through several
 later experiments in structural editing.
 
-[Read the archived post](https://web.archive.org/web/20130507052435/http://alan.dipert.org/post/445462664/the-s-expression-editor)
+[Read the archived post](https://web.archive.org/web/20130507052435id_/http://alan.dipert.org/post/445462664/the-s-expression-editor)
 
 ## Structural editing series
 
 These three posts follow the idea from editor mechanics into questions about
 selection, movement, and the representation of code:
 
-- [Structural Editing Redux](https://web.archive.org/web/20130507063732/http://alan.dipert.org/post/17375691572/structural-editing-redux), 2012
-- [Structural Editing Revisited](https://web.archive.org/web/20130603035515/http://alan.dipert.org/post/47444634908/structural-editing-revisited), 2013
-- [Structural Editing Apocrypha](https://web.archive.org/web/20130507050857/http://alan.dipert.org/post/47461498337/structural-editing-apocrypha), 2013
+- [Structural Editing Redux](https://web.archive.org/web/20130507063732id_/http://alan.dipert.org/post/17375691572/structural-editing-redux), 2012
+- [Structural Editing Revisited](https://web.archive.org/web/20130603035515id_/http://alan.dipert.org/post/47444634908/structural-editing-revisited), 2013
+- [Structural Editing Apocrypha](https://web.archive.org/web/20130507050857id_/http://alan.dipert.org/post/47461498337/structural-editing-apocrypha), 2013
 
 ## A Sigh of Datomic
 
@@ -39,7 +39,7 @@ with immutable facts and questions rather than mutable records. The direct
 post URL was not indexed, but the full essay survives in the recovered 2013
 homepage capture.
 
-[Read the archived homepage capture](https://web.archive.org/web/20130422022621/http://alan.dipert.org/)
+[Read the archived homepage capture](https://web.archive.org/web/20130422022621id_/http://alan.dipert.org/)
 
 ## NCSA Mosaic on Github
 
@@ -47,7 +47,7 @@ I wrote this short account in 2010 after moving the old Mosaic source into a
 Git repository. It records why software preservation mattered to me before
 Software Heritage made the same repository part of its public examples.
 
-[Read the archived post](https://web.archive.org/web/20130507053140/http://alan.dipert.org/post/435071716/ncsa-mosaic-on-github)
+[Read the archived post](https://web.archive.org/web/20130507053140id_/http://alan.dipert.org/post/435071716/ncsa-mosaic-on-github)
 
 ## My EngineYard Contest Odyssey
 
@@ -55,7 +55,7 @@ This 2009 technical story follows a programming contest entry from C code to
 EC2 images and a fleet of roughly 70 virtual machines. It is a useful picture
 of cloud experimentation before that workflow became routine.
 
-[Read the archived post](https://web.archive.org/web/20110615073839/http://alan.dipert.org/post/146555473/my-engineyard-contest-odyssey)
+[Read the archived post](https://web.archive.org/web/20110615073839id_/http://alan.dipert.org/post/146555473/my-engineyard-contest-odyssey)
 
 ## Polyglot Folding
 
@@ -63,4 +63,4 @@ This 2009 tutorial compares folds in Ruby, Clojure, and Scala. Some library
 details have aged, but the central comparison between iteration and reducing
 a sequence remains useful.
 
-[Read the archived post](https://web.archive.org/web/20130602154353/http://alan.dipert.org/post/307586762/polyglot-folding-ruby-clojure-scala)
+[Read the archived post](https://web.archive.org/web/20130602154353id_/http://alan.dipert.org/post/307586762/polyglot-folding-ruby-clojure-scala)
diff --git a/md/TechWorks.md b/md/TechWorks.md
index c0bfa37..3c6bc90 100644
--- a/md/TechWorks.md
+++ b/md/TechWorks.md
@@ -35,8 +35,8 @@ The role-labeled software history is in [Open Source](./OpenSource.md). [Copies
 | 2020-04-27 | [ELS](https://www.european-lisp-symposium.org/)                                               | [JACL: A Common Lisp for Developing Single-Page Web Applications](./TechWorks/jacl-demo-els-2020.pdf)                                                                                                                                                                       | Academic Paper | Author             |                            |
 | 2020-01-31 | rstudio::conf                                                                                 | [Integration Testing in Shiny Apps and Modules](./TechWorks/2020-01-28-RStudio-Conf-Integration-Testing-ePoster.pdf)                                                                                                                                                        | Poster         | Presenter          |                            |
 | 2019-12-11 | WWW                                                                                           | [Just Lisp Things](https://tailrecursion.com/jlt/)                                                                                                                                                                                                                          | Blog           | Author             |                            |
-| 2019-11-19 | [OCRUG](https://web.archive.org/web/20220123183238/https://ocrug.org/)                        | [Integrating React.js and Shiny](https://www.meetup.com/OC-RUG/events/265511792/), [code](https://github.com/alandipert/ocrug-2018-11-27)                                                                                                                                   | Presentation   | Presenter          |                            |
-| 2019-11-16 | [OCRUG](https://web.archive.org/web/20220123183238/https://ocrug.org/)                        | [OCRUG interview](./TechWorks/OCRUGInterview.html)                                                                                                                                                                                                                          | Interview      | Interviewee        |                            |
+| 2019-11-19 | [OCRUG](https://web.archive.org/web/20220123183238id_/https://ocrug.org/)                      | [Integrating React.js and Shiny](https://www.meetup.com/OC-RUG/events/265511792/), [code](https://github.com/alandipert/ocrug-2018-11-27)                                                                                                                                   | Presentation   | Presenter          |                            |
+| 2019-11-16 | [OCRUG](https://web.archive.org/web/20220123183238id_/https://ocrug.org/)                      | [OCRUG interview](./TechWorks/OCRUGInterview.html)                                                                                                                                                                                                                          | Interview      | Interviewee        |                            |
 | 2019-11-06 | [BBSW](https://www.bbsw.org/)                                                                  | [Software Engineering with Shiny](./TechWorks/BBSW_2019_program.pdf)                                                                                                                                                                                                        | Presentation   | Presenter          |                            |
 | 2019-01-24 | rstudio::conf                                                                                 | [Integrating React.js and Shiny](https://rstudio.com/resources/rstudioconf-2019/integrating-react-js-and-shiny/)                                                                                                                                                            | Presentation   | Presenter          |                            |
 | 2018-12-17 | [Orange Combinator](https://www.meetup.com/fr-FR/orange-combinator/events/lxvjrpyxqbwb/)      | [Old School FP: A Common Lisp Experience Report](./TechWorks/2018-12-17-CommonLispOrangeCombinator.pdf)                                                                                                                                                                     | Meetup         | Presenter          |                            |
@@ -52,19 +52,19 @@ The role-labeled software history is in [Open Source](./OpenSource.md). [Copies
 | 2015-11-04 | [Øredev](https://archive.oredev.org/2015/2015.html)                                           | [Hoplon: A Simpler Way to Program the Web](https://vimeo.com/144696304)                                                                                                                                                                                                     | Presentation   | Presenter          |                            |
 | 2015-10-02 | [ClojureBridge](https://clojurebridge.org/)                                                   | ClojureBridge Durham                                                                                                                                                                                                                                                        | Workshop       | Teaching assistant | Yoko Harada                |
 | 2015-10-01 | No Starch Press                                                                               | [Clojure for the Brave and True](https://www.braveclojure.com/), [foreword](./TechWorks/ClojureBraveTrueForeword.html)                                                                                                                                                     | Book           | Foreword, technical editor | Daniel Higginbotham |
-| 2015-04-20 | [Clojure/West](https://web.archive.org/web/20150325185906/http://clojurewest.org/)            | [Boot Can Build It](https://www.youtube.com/watch?v=TcnzB2tB-8Q), [slides](./TechWorks/2015-04-20_ClojureWestBoot.pdf)                                                                                                                                                      | Presentation   | Presenter          | Micha Niskin               |
-| 2014-03-24 | [Clojure/West](https://web.archive.org/web/20141115162625/http://www.clojurewest.org/)        | [Web Programming with Hoplon](https://www.youtube.com/watch?v=wVXjExRiFy0)                                                                                                                                                                                                  | Presentation   | Presenter          | Micha Niskin               |
+| 2015-04-20 | [Clojure/West](https://web.archive.org/web/20150325185906id_/http://clojurewest.org/)          | [Boot Can Build It](https://www.youtube.com/watch?v=TcnzB2tB-8Q), [slides](./TechWorks/2015-04-20_ClojureWestBoot.pdf)                                                                                                                                                      | Presentation   | Presenter          | Micha Niskin               |
+| 2014-03-24 | [Clojure/West](https://web.archive.org/web/20141115162625id_/http://www.clojurewest.org/)      | [Web Programming with Hoplon](https://www.youtube.com/watch?v=wVXjExRiFy0)                                                                                                                                                                                                  | Presentation   | Presenter          | Micha Niskin               |
 | 2014-03-18 | [The Cognicast](https://www.cognitect.com/cognicast/)                                         | [Episode 52](https://www.cognitect.com/cognicast/052-alan-dipert)                                                                                                                                                                                                           | Interview      | Interviewee        | Craig Andera               |
 | 2014-02-27 | TriClojure                                                                                     | [Hoplon](https://github.com/alandipert/triclojure-hoplon-deck)                                                                                                                                                                                                               | Presentation   | Presenter          | Micha Niskin               |
-| 2013-11-14 | [Clojure/conj](https://web.archive.org/web/20131010003442/http://clojure-conj.org/)           | [Gherkin, a Lisp 1 in Bash 4](https://www.youtube.com/watch?v=bmHTFo2Rf2w#t=28m55s), [code](https://github.com/alandipert/gherkin)                                                                                                                                          | Lightning talk | Presenter          |                            |
+| 2013-11-14 | [Clojure/conj](https://web.archive.org/web/20131010003442id_/http://clojure-conj.org/)         | [Gherkin, a Lisp 1 in Bash 4](https://www.youtube.com/watch?v=bmHTFo2Rf2w#t=28m55s), [code](https://github.com/alandipert/gherkin)                                                                                                                                          | Lightning talk | Presenter          |                            |
 | 2013-03-18 | Clojure/West                                                                                  | [FRP in ClojureScript with Javelin](http://www.infoq.com/presentations/ClojureScript-Javelin), [slides](./TechWorks/Dipert-FRP_in_ClojureScript_with_Javelin.pdf)                                                                                                           | Presentation   | Presenter          |                            |
 | 2013-01-10 | [TriLUG](https://trilug.org/2012/11/27/jan-10-meeting-raspberry-pi/)                          | [An Introduction to Raspberry Pi](https://www.youtube.com/watch?v=fDjpAHbB-Mg), [slides](./TechWorks/2013-01-10_RaspberryPi.pdf), [BerryCam](https://github.com/alandipert/berrycam)                                                                                         | Presentation   | Presenter          | Pete Soper, Clinton Dreisbach, Peter Reintjes |
-| 2012-11-16 | [Clojure/conj](https://web.archive.org/web/20210919060939/http://2012.clojure-conj.org/)             | [FRP in ClojureScript with Flapjax](https://www.youtube.com/watch?v=xaxF5RDdVRE#t=22m21s), [code](https://github.com/alandipert/flapjax-demo), [demo](http://alandipert.github.io/flapjax-demo/)                                                                         | Lightning talk | Presenter          |                            |
+| 2012-11-16 | [Clojure/conj](https://web.archive.org/web/20210919060939id_/http://2012.clojure-conj.org/)         | [FRP in ClojureScript with Flapjax](https://www.youtube.com/watch?v=xaxF5RDdVRE#t=22m21s), [code](https://github.com/alandipert/flapjax-demo), [demo](http://alandipert.github.io/flapjax-demo/)                                                                         | Lightning talk | Presenter          |                            |
 | 2012-10-06 | BarCamp Rochester 10                                                                          | [Your Own Compiler in 20 Minutes](./TechWorks/decks/barcamp-2012/index.html), [source](https://github.com/alandipert/barcamp2012-jsonscript)                                                                                                                                 | Presentation   | Presenter          |                            |
 | 2012-07-19 | OSCON                                                                                         | [Computing with Clojure](./TechWorks/decks/oscon2012-clojure/index.html), [source](https://github.com/alandipert/oscon2012-clojure)                                                                                                                                          | Workshop       | Trainer            | Clinton Dreisbach          |
 | 2012-07-13 | Pluralsight                                                                                   | [Clojure Fundamentals - Part 1](https://www.pluralsight.com/courses/clojure-fundamentals-part-one)                                                                                                                                                                          | Course         | Trainer            | Craig Andera               |
 | 2012-03-16 | Clojure/West                                                                                  | [Programming with Values in Clojure](https://www.infoq.com/presentations/Programming-with-Values-in-Clojure/), [slides](./TechWorks/Dipert-ProgrammingWithValues.pdf)                                                                                                    | Presentation   | Presenter          |                            |
-| 2011-11-12 | [Clojure/conj](https://web.archive.org/web/20111023154311/http://clojure-conj.org/)           | [Uberlisp, a Lisp for Arduino](https://www.youtube.com/watch?v=tSw3x0rVh88#t=18m30s), [code](https://github.com/alandipert/wombat)                                                                                                                                          | Lightning talk | Presenter          | Jon Distad                 |
+| 2011-11-12 | [Clojure/conj](https://web.archive.org/web/20111023154311id_/http://clojure-conj.org/)         | [Uberlisp, a Lisp for Arduino](https://www.youtube.com/watch?v=tSw3x0rVh88#t=18m30s), [code](https://github.com/alandipert/wombat)                                                                                                                                          | Lightning talk | Presenter          | Jon Distad                 |
 | 2011-08-25 | The Ruby Hoedown V                                                                            | Functional Programming with Ruby                                                                                                                                                                                                                                            | Presentation   | Presenter          |                            |
 | 2009-12-11 | WWW                                                                                           | [Managing Code and Quality with Git and Testing](./TechWorks/decks/gitrubytesting/index.html)                                                                                                                                                                               | Presentation   | Presenter          | Julio Capote                |
 | 2009-09-03 | Rochester Hackers                                                                             | [Scala, a Scalable Language](./TechWorks/2009-09-03-Scala-a-Scalable-Language.pdf)                                                                                                                                                                                          | Presentation   | Presenter          |                            |
diff --git a/md/WellReadUndergrad.md b/md/WellReadUndergrad.md
index fdfe756..0705fb8 100644
--- a/md/WellReadUndergrad.md
+++ b/md/WellReadUndergrad.md
@@ -2,7 +2,7 @@
 - Created Tuesday 17 November 2020
 - Updated Tuesday 7 October 2025
 
-The following is adapted from a Word document titled [What Every Educated Person Should Know about Philosophy](./WellReadUndergrad/phil-lt5.doc). My dad [RandallRDipert](./RandallRDipert.md) created the document in 1998 while he was a philosophy professor at [West Point](https://www.westpoint.edu/). The document was later [available on his web site](https://web.archive.org/web/20000919054115/http://www.neologic.net/rd/courses.htm), where he described it as:
+The following is adapted from a Word document titled [What Every Educated Person Should Know about Philosophy](./WellReadUndergrad/phil-lt5.doc). My dad [RandallRDipert](./RandallRDipert.md) created the document in 1998 while he was a philosophy professor at [West Point](https://www.westpoint.edu/). The document was later [available on his web site](https://web.archive.org/web/20000919054115id_/http://www.neologic.net/rd/courses.htm), where he described it as:
 
 > A list of books and articles, concepts, and quotations which I suggest every college graduate should know; also, extended to a graduate who is a philosophy major. A bit grandiose, overreaching, and pompous—but maybe suggestive of something useful.
 
@@ -34,9 +34,9 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 - [Immanuel Kant](https://en.wikipedia.org/wiki/Immanuel_Kant) — ["Perpetual Peace"](https://en.wikipedia.org/wiki/Perpetual_Peace); ["What Is Enlightenment?"](https://en.wikipedia.org/wiki/What_Is_Enlightenment%3F)
 - [Ralph Waldo Emerson](https://en.wikipedia.org/wiki/Ralph_Waldo_Emerson) — [*Essays: First Series*](https://en.wikipedia.org/wiki/Essays:_First_Series) ("Friendship," "Nature," "Self-Reliance")
 - [Henry David Thoreau](https://en.wikipedia.org/wiki/Henry_David_Thoreau) — <span class="level-one">[*Walden*](https://en.wikipedia.org/wiki/Walden)</span>; <span class="level-one">[*Civil Disobedience*](https://en.wikipedia.org/wiki/Civil_Disobedience_(Thoreau))</span>
-- [Charles Sanders Peirce](https://en.wikipedia.org/wiki/Charles_Sanders_Peirce) — ["The Fixation of Belief"](https://en.wikipedia.org/wiki/The_Fixation_of_Belief); "How to Make Our Ideas Clear"
+- [Charles Sanders Peirce](https://en.wikipedia.org/wiki/Charles_Sanders_Peirce) — ["The Fixation of Belief"](https://en.wikipedia.org/wiki/Charles_Sanders_Peirce); "How to Make Our Ideas Clear"
 - [William Kingdon Clifford](https://en.wikipedia.org/wiki/William_Kingdon_Clifford) — <span class="level-two">["The Ethics of Belief"](https://en.wikipedia.org/wiki/The_Ethics_of_Belief)</span>
-- [William James](https://en.wikipedia.org/wiki/William_James) — <span class="level-two">["The Will to Believe"](https://en.wikipedia.org/wiki/The_Will_to_Believe)</span>; [*Pragmatism*](https://en.wikipedia.org/wiki/Pragmatism_(book)); ["The Moral Equivalent of War"](https://en.wikipedia.org/wiki/The_Moral_Equivalent_of_War); ["The Pragmatic Theory of Truth"](https://plato.stanford.edu/entries/truth-pragmatic/)
+- [William James](https://en.wikipedia.org/wiki/William_James) — <span class="level-two">["The Will to Believe"](https://en.wikipedia.org/wiki/The_Will_to_Believe)</span>; [*Pragmatism*](https://en.wikipedia.org/wiki/Pragmatism); ["The Moral Equivalent of War"](https://en.wikipedia.org/wiki/The_Moral_Equivalent_of_War); ["The Pragmatic Theory of Truth"](https://plato.stanford.edu/entries/truth-pragmatic/)
 - [Sigmund Freud](https://en.wikipedia.org/wiki/Sigmund_Freud) — [*The Interpretation of Dreams*](https://en.wikipedia.org/wiki/The_Interpretation_of_Dreams); [*The Future of an Illusion*](https://en.wikipedia.org/wiki/The_Future_of_an_Illusion); [*Civilization and Its Discontents*](https://en.wikipedia.org/wiki/Civilization_and_Its_Discontents); [*Beyond the Pleasure Principle*](https://en.wikipedia.org/wiki/Beyond_the_Pleasure_Principle)
 - [Bertrand Russell](https://en.wikipedia.org/wiki/Bertrand_Russell) — "A Free Man's Worship"; selections from [*Why I Am Not a Christian*](https://en.wikipedia.org/wiki/Why_I_Am_Not_a_Christian)
 - [Isaiah Berlin](https://en.wikipedia.org/wiki/Isaiah_Berlin) — essays such as ["The Hedgehog and the Fox"](https://en.wikipedia.org/wiki/The_Hedgehog_and_the_Fox) (in *Russian Thinkers*)
@@ -46,7 +46,7 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 
 #### Ancient & Medieval
 
-- [Plato](https://en.wikipedia.org/wiki/Plato) — <span class="level-one">[*Apology*](https://en.wikipedia.org/wiki/Apology_(Plato_dialogue))</span>; [*Crito*](https://en.wikipedia.org/wiki/Crito); [*Phaedo*](https://en.wikipedia.org/wiki/Phaedo); <span class="level-three">[*Republic*](https://en.wikipedia.org/wiki/Republic_(Plato))</span>; [*Symposium*](https://en.wikipedia.org/wiki/Symposium_(Plato)); [*Phaedrus*](https://en.wikipedia.org/wiki/Phaedrus_(dialogue)); [*Meno*](https://en.wikipedia.org/wiki/Meno); for majors: [*Euthyphro*](https://en.wikipedia.org/wiki/Euthyphro); [*Theaetetus*](https://en.wikipedia.org/wiki/Theaetetus_(dialogue))
+- [Plato](https://en.wikipedia.org/wiki/Plato) — <span class="level-one">[*Apology*](https://en.wikipedia.org/wiki/Apology_(Plato))</span>; [*Crito*](https://en.wikipedia.org/wiki/Crito); [*Phaedo*](https://en.wikipedia.org/wiki/Phaedo); <span class="level-three">[*Republic*](https://en.wikipedia.org/wiki/Republic_(Plato))</span>; [*Symposium*](https://en.wikipedia.org/wiki/Symposium_(Plato)); [*Phaedrus*](https://en.wikipedia.org/wiki/Phaedrus_(dialogue)); [*Meno*](https://en.wikipedia.org/wiki/Meno); for majors: [*Euthyphro*](https://en.wikipedia.org/wiki/Euthyphro); [*Theaetetus*](https://en.wikipedia.org/wiki/Theaetetus_(dialogue))
 - [Aristotle](https://en.wikipedia.org/wiki/Aristotle) — <span class="level-three">[*Nicomachean Ethics*](https://en.wikipedia.org/wiki/Nicomachean_Ethics)</span>; <span class="level-two">[*Poetics*](https://en.wikipedia.org/wiki/Poetics_(Aristotle))</span>; key portions of the treatises for majors
 - [Epictetus](https://en.wikipedia.org/wiki/Epictetus) — <span class="level-two">[*Enchiridion*](https://en.wikipedia.org/wiki/Enchiridion_of_Epictetus)</span>
 - [Augustine of Hippo](https://en.wikipedia.org/wiki/Augustine_of_Hippo) — selections on free will and time; portions of [*Confessions*](https://en.wikipedia.org/wiki/Confessions_(Augustine))
@@ -61,7 +61,7 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 - [John Locke](https://en.wikipedia.org/wiki/John_Locke) — [*An Essay Concerning Human Understanding*](https://en.wikipedia.org/wiki/An_Essay_Concerning_Human_Understanding) (portions); <span class="level-two">[*Second Treatise of Government*](https://en.wikipedia.org/wiki/Second_Treatise_of_Government)</span>
 - [Baruch Spinoza](https://en.wikipedia.org/wiki/Baruch_Spinoza) — [*Ethics*](https://en.wikipedia.org/wiki/Ethics_(Spinoza))
 - [Gottfried Wilhelm Leibniz](https://en.wikipedia.org/wiki/Gottfried_Wilhelm_Leibniz) — [*Discourse on Metaphysics*](https://en.wikipedia.org/wiki/Discourse_on_Metaphysics)
-- [George Berkeley](https://en.wikipedia.org/wiki/George_Berkeley) — [*Three Dialogues between Hylas and Philonous*](https://en.wikipedia.org/wiki/Three_Dialogues_between_Hylas_and_Phlonous); [*A Treatise Concerning the Principles of Human Knowledge*](https://en.wikipedia.org/wiki/A_Treatise_Concerning_the_Principles_of_Human_Knowledge)
+- [George Berkeley](https://en.wikipedia.org/wiki/George_Berkeley) — [*Three Dialogues between Hylas and Philonous*](https://en.wikipedia.org/wiki/Three_Dialogues_Between_Hylas_and_Philonous); [*A Treatise Concerning the Principles of Human Knowledge*](https://en.wikipedia.org/wiki/A_Treatise_Concerning_the_Principles_of_Human_Knowledge)
 - [David Hume](https://en.wikipedia.org/wiki/David_Hume) — [*An Enquiry Concerning Human Understanding*](https://en.wikipedia.org/wiki/An_Enquiry_Concerning_Human_Understanding) (parts); <span class="level-two">[*Dialogues Concerning Natural Religion*](https://en.wikipedia.org/wiki/Dialogues_Concerning_Natural_Religion)</span>
 - [Jean-Jacques Rousseau](https://en.wikipedia.org/wiki/Jean-Jacques_Rousseau) — [*The Social Contract*](https://en.wikipedia.org/wiki/The_Social_Contract)
 - [Immanuel Kant](https://en.wikipedia.org/wiki/Immanuel_Kant) — <span class="level-two">[*Groundwork of the Metaphysics of Morals*](https://en.wikipedia.org/wiki/Groundwork_of_the_Metaphysics_of_Morals)</span>; ["Perpetual Peace"](https://en.wikipedia.org/wiki/Perpetual_Peace); ["What Is Enlightenment?"](https://en.wikipedia.org/wiki/What_Is_Enlightenment%3F); <span class="level-two">[*Critique of Pure Reason*](https://en.wikipedia.org/wiki/Critique_of_Pure_Reason)</span> (or [*Prolegomena to Any Future Metaphysics*](https://en.wikipedia.org/wiki/Prolegomena_to_Any_Future_Metaphysics))
@@ -75,19 +75,19 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 #### General Histories
 
 - [Bertrand Russell](https://en.wikipedia.org/wiki/Bertrand_Russell) — [*History of Western Philosophy*](https://en.wikipedia.org/wiki/A_History_of_Western_Philosophy) (opinionated but readable)
-- [Frederick Copleston](https://en.wikipedia.org/wiki/Frederick_Copleston) — multi-volume [*History of Philosophy*](https://en.wikipedia.org/wiki/Copleston%27s_History_of_Philosophy)
+- [Frederick Copleston](https://en.wikipedia.org/wiki/Frederick_Copleston) — multi-volume [*History of Philosophy*](https://en.wikipedia.org/wiki/A_History_of_Philosophy_(Copleston))
 - [W.T. Jones](https://en.wikipedia.org/wiki/William_T._Jones) — multi-volume *History of Western Philosophy*
-- [William Matson](https://en.wikipedia.org/wiki/William_Matson) — [*A New History of Philosophy*](https://archive.org/details/newhistoryofphil0001mats) (lively, two volumes)
+- William Matson — [*A New History of Philosophy*](https://archive.org/details/newhistoryofphil0001mats) (lively, two volumes)
 - [Roger Scruton](https://en.wikipedia.org/wiki/Roger_Scruton) — *A Short History of Modern Philosophy*
-- [D.W. Hamlyn](https://en.wikipedia.org/wiki/D._W._Hamlyn) — *The Penguin History of Philosophy*
+- [D.W. Hamlyn](https://en.wikipedia.org/wiki/David_Hamlyn) — *The Penguin History of Philosophy*
 - [Robert C. Solomon](https://en.wikipedia.org/wiki/Robert_C._Solomon) & Kathleen Higgins — [*A Passion for Wisdom*](https://archive.org/details/passionforwisdom00solo)
 - [Robert C. Solomon](https://en.wikipedia.org/wiki/Robert_C._Solomon) et al. — [*A Short History of Philosophy*](https://archive.org/details/shorthistoryofph00solo)
 - [Anthony Kenny](https://en.wikipedia.org/wiki/Anthony_Kenny) — [*The Oxford History of Western Philosophy*](https://archive.org/details/oxfordhistoryofw0000unse) and *The Oxford Illustrated History of Western Philosophy*
-- [Samuel Enoch Stumpf](https://en.wikipedia.org/wiki/Samuel_Enoch_Stumpf) — [*Socrates to Sartre and Beyond*](https://archive.org/details/socratestosartre0000stum)
+- Samuel Enoch Stumpf — [*Socrates to Sartre and Beyond*](https://archive.org/details/socratestosartre0000stum)
 - [Matthew Stewart](https://en.wikipedia.org/wiki/Matthew_Stewart_(philosopher)) — *The Truth About Everything*
-- [Ben-Ami Sharfstein](https://en.wikipedia.org/wiki/Ben-Ami_Shafstein) — *A Comparative History of World Philosophy*
+- Ben-Ami Sharfstein — *A Comparative History of World Philosophy*
 - [Mary Warnock](https://en.wikipedia.org/wiki/Mary_Warnock) — *Women Philosophers* (anthology)
-- [A.J. Ayer](https://en.wikipedia.org/wiki/A._J._Ayer) & [Jane O'Grady](https://en.wikipedia.org/wiki/Jane_O%27Grady) — *A Dictionary of Philosophical Quotations*
+- [A.J. Ayer](https://en.wikipedia.org/wiki/A._J._Ayer) & Jane O'Grady — *A Dictionary of Philosophical Quotations*
 
 ### Twentieth-Century Themes
 
@@ -99,19 +99,19 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 - [Richard B. Brandt](https://en.wikipedia.org/wiki/Richard_B._Brandt) — <span class="level-two">*Ethical Theory*</span> (or comparable survey of metaethics and normative theory)
 
 #### Existentialism and Continental Thought
-- [William Barrett](https://en.wikipedia.org/wiki/William_Barrett_(author)) — *Irrational Man*
+- [William Barrett](https://en.wikipedia.org/wiki/William_Barrett_(philosopher)) — *Irrational Man*
 - [Robert C. Solomon](https://en.wikipedia.org/wiki/Robert_C._Solomon) — [*The Passions*](https://archive.org/details/passionsphilosop0000solo); *The Existentialists*; [*Continental Philosophy Since 1750*](https://archive.org/details/continentalphilo0000solo)
-- [L. Nathan Oaklander](https://en.wikipedia.org/wiki/L._Nathan_Oaklander) — [*Existentialist Philosophy*](https://archive.org/details/existentialistph0000oakl)
-- [Edmund Husserl](https://en.wikipedia.org/wiki/Edmund_Husserl) — representative phenomenology (e.g., [*Ideas I*](https://en.wikipedia.org/wiki/Ideas:_General_Introduction_to_Pure_Phenomenology))
+- L. Nathan Oaklander — [*Existentialist Philosophy*](https://archive.org/details/existentialistph0000oakl)
+- [Edmund Husserl](https://en.wikipedia.org/wiki/Edmund_Husserl) — representative phenomenology (e.g., *Ideas I*)
 - [Jean-Paul Sartre](https://en.wikipedia.org/wiki/Jean-Paul_Sartre) — selections from [*Existentialism Is a Humanism*](https://en.wikipedia.org/wiki/Existentialism_Is_a_Humanism) and [*Being and Nothingness*](https://en.wikipedia.org/wiki/Being_and_Nothingness)
 - [Martin Heidegger](https://en.wikipedia.org/wiki/Martin_Heidegger) — essays such as "What Is a Thing?"
 - [Michel Foucault](https://en.wikipedia.org/wiki/Michel_Foucault) — [*The Foucault Reader*](https://archive.org/details/foucaultreader0000fouc) (ed. Paul Rabinow)
-- [David H. Richter](https://en.wikipedia.org/wiki/David_H._Richter) (ed.) — <span class="level-two">[*The Critical Tradition*](https://archive.org/details/criticaltraditio0000unse)</span>
+- David H. Richter (ed.) — <span class="level-two">[*The Critical Tradition*](https://archive.org/details/criticaltraditio0000unse)</span>
 
 #### Analytic Philosophy
 - [Gottlob Frege](https://en.wikipedia.org/wiki/Gottlob_Frege) — <span class="level-three">["On Sense and Reference"](https://en.wikipedia.org/wiki/Sense_and_reference), introduction to [*Begriffsschrift*](https://en.wikipedia.org/wiki/Begriffsschrift), "On Concept and Object," "On Function and Concept," "On Russell's Paradox"</span>
 - [Bertrand Russell](https://en.wikipedia.org/wiki/Bertrand_Russell) — ["On Denoting"](https://en.wikipedia.org/wiki/On_Denoting); essays on logical atomism in *Logic and Knowledge*
-- [G.E. Moore](https://en.wikipedia.org/wiki/G._E._Moore) — <span class="level-two">[*Principia Ethica*](https://en.wikipedia.org/wiki/Principia_Ethica)</span> (chapter 1); ["The Refutation of Idealism"](https://en.wikipedia.org/wiki/The_Refutation_of_Idealism)
+- [G.E. Moore](https://en.wikipedia.org/wiki/G._E._Moore) — <span class="level-two">[*Principia Ethica*](https://en.wikipedia.org/wiki/Principia_Ethica)</span> (chapter 1); "The Refutation of Idealism"
 - [A.J. Ayer](https://en.wikipedia.org/wiki/A._J._Ayer) — "The Principle of Verification"; "The Elimination of Metaphysics"
 - [Ludwig Wittgenstein](https://en.wikipedia.org/wiki/Ludwig_Wittgenstein) — [*Tractatus Logico-Philosophicus*](https://en.wikipedia.org/wiki/Tractatus_Logico-Philosophicus); [*Blue and Brown Books*](https://en.wikipedia.org/wiki/The_Blue_and_Brown_Books); [*Zettel*](https://en.wikipedia.org/wiki/Zettel_(Wittgenstein)); [*Philosophical Investigations*](https://en.wikipedia.org/wiki/Philosophical_Investigations); [*On Certainty*](https://en.wikipedia.org/wiki/On_Certainty)
 - [Gilbert Ryle](https://en.wikipedia.org/wiki/Gilbert_Ryle) — ["Descartes' Myth"](https://en.wikipedia.org/wiki/Ghost_in_the_machine#The_Categories_Goof)
@@ -144,16 +144,16 @@ A well-read undergraduate should ideally have read, or at least be somewhat fami
 #### Biographies and Intellectual Portraits
 - [Gay Wilson Allen](https://en.wikipedia.org/wiki/Gay_Wilson_Allen) — [*William James: A Biography*](https://archive.org/details/williamjamesbiog00alle)
 - [Ray Monk](https://en.wikipedia.org/wiki/Ray_Monk) — [*Ludwig Wittgenstein: The Duty of Genius*](https://archive.org/details/ludwigwittgenste00monk); *Bertrand Russell: The Spirit of Solitude*
-- [Paul Levy](https://en.wikipedia.org/wiki/Paul_Levy_(writer)) — *Moore: G.E. Moore and the Cambridge Apostles*
+- Paul Levy — *Moore: G.E. Moore and the Cambridge Apostles*
 - [Ved Mehta](https://en.wikipedia.org/wiki/Ved_Mehta) — *The Fly and the Fly Bottle*
 - [Paul Feyerabend](https://en.wikipedia.org/wiki/Paul_Feyerabend) — [*Killing Time*](https://archive.org/details/killingtimeautob00feye) (autobiography)
 
 #### Logic and Philosophical Reasoning
-- [Nicholas Falletta](https://en.wikipedia.org/wiki/Nicholas_Falletta) — *Paradoxicon*
+- Nicholas Falletta — *Paradoxicon*
 - [Irving Copi](https://en.wikipedia.org/wiki/Irving_Copi) & [Carl Cohen](https://en.wikipedia.org/wiki/Carl_Cohen) — <span class="level-one">[*Introduction to Logic*](https://archive.org/details/introductiontolo0000copi)</span>
 - [Irving Copi](https://en.wikipedia.org/wiki/Irving_Copi) — *Symbolic Logic*
 - [Richard Jeffrey](https://en.wikipedia.org/wiki/Richard_C._Jeffrey) — *Formal Logic*
-- [Harry Gensler](https://en.wikipedia.org/wiki/Harry_Gensler) — [*Symbolic Logic*](https://plato.stanford.edu/entries/logic-classical/)
+- Harry Gensler — [*Symbolic Logic*](https://plato.stanford.edu/entries/logic-classical/)
 - [George Boolos](https://en.wikipedia.org/wiki/George_Boolos) & [Richard Jeffrey](https://en.wikipedia.org/wiki/Richard_C._Jeffrey) — [*Computability and Logic*](https://archive.org/details/computabilitylog0000bool)
 
 #### Philosophy of Religion