[
  {
    "bookTitle": "The C Programming Language",
    "authors": "Brian W. Kernighan and Dennis M. Ritchie",
    "homepage": "https://en.wikipedia.org/wiki/The_C_Programming_Language",
    "year": 1978,
    "publisher": "Prentice Hall",
    "languagesUsed": "c",
    "pages": 288
  },
  {
    "bookTitle": "Code Complete",
    "authors": "Steve McConnell",
    "homepage": "https://www.stevemcconnell.com/cc.htm",
    "year": 1993,
    "publisher": "Microsoft Press",
    "pages": 960
  },
  {
    "bookTitle": "Design Patterns: Elements of Reusable Object-Oriented Software",
    "authors": "Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides",
    "homepage": "https://en.wikipedia.org/wiki/Design_Patterns",
    "year": 1994,
    "publisher": "Addison-Wesley",
    "languagesUsed": "cpp smalltalk",
    "pages": 395
  },
  {
    "bookTitle": "Clean Code: A Handbook of Agile Software Craftsmanship",
    "authors": "Robert C. Martin",
    "homepage": "https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882",
    "year": 2008,
    "publisher": "Prentice Hall",
    "languagesUsed": "java",
    "pages": 464
  },
  {
    "bookTitle": "The Art of Computer Programming",
    "authors": "Donald E. Knuth",
    "homepage": "https://www-cs-faculty.stanford.edu/~knuth/taocp.html",
    "year": 1968,
    "publisher": "Addison-Wesley",
    "pages": 3168
  },
  {
    "bookTitle": "Introduction to the Theory of Computation",
    "authors": "Michael Sipser",
    "homepage": "https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X",
    "year": 1996,
    "publisher": "Cengage Learning",
    "pages": 504
  },
  {
    "bookTitle": "The Pragmatic Programmer: Your Journey to Mastery",
    "authors": "Andrew Hunt and David Thomas",
    "homepage": "https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/",
    "year": 1999,
    "publisher": "Addison-Wesley",
    "pages": 352
  },
  {
    "bookTitle": "Version Control with Git",
    "authors": "Prem Kumar Ponuthorai and Jon Loeliger",
    "homepage": "https://www.oreilly.com/library/view/version-control-with/9781492091189/",
    "year": 2009,
    "publisher": "O'Reilly Media",
    "pages": 546
  },
  {
    "bookTitle": "Structure and Interpretation of Computer Programs",
    "authors": "Harold Abelson and Gerald Jay Sussman and Julie Sussman",
    "pdf": "https://web.mit.edu/6.001/6.037/sicp.pdf",
    "year": 1985,
    "publisher": "MIT Press",
    "languagesUsed": "scheme lisp",
    "pages": 657
  },
  {
    "bookTitle": "Refactoring: Improving the Design of Existing Code",
    "authors": "Martin Fowler",
    "homepage": "https://martinfowler.com/books/refactoring.html",
    "year": 1999,
    "publisher": "Addison-Wesley",
    "languagesUsed": "java",
    "pages": 448
  },
  {
    "bookTitle": "Effective Java",
    "authors": "Joshua Bloch",
    "homepage": "https://www.oreilly.com/library/view/effective-java-3rd/9780134686097/",
    "year": 2001,
    "publisher": "Addison-Wesley",
    "languagesUsed": "java",
    "pages": 416
  },
  {
    "bookTitle": "Programming Pearls",
    "authors": "Jon Bentley",
    "homepage": "https://en.wikipedia.org/wiki/Programming_Pearls",
    "year": 1986,
    "publisher": "Addison-Wesley",
    "pages": 256
  },
  {
    "bookTitle": "Cracking the Coding Interview",
    "authors": "Gayle Laakmann McDowell",
    "homepage": "https://www.crackingthecodinginterview.com/",
    "year": 2008,
    "publisher": "CareerCup",
    "languagesUsed": "java cpp",
    "pages": 708
  },
  {
    "bookTitle": "Introduction to Algorithms",
    "authors": "Thomas H. Cormen and Charles E. Leiserson and Ronald L. Rivest and Clifford Stein",
    "homepage": "https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/",
    "year": 1990,
    "publisher": "MIT Press",
    "pages": 1312
  },
  {
    "bookTitle": "Head First Design Patterns",
    "authors": "Eric Freeman and Elisabeth Robson and Bert Bates and Kathy Sierra",
    "homepage": "https://www.oreilly.com/library/view/head-first-design/0596007124/",
    "year": 2004,
    "publisher": "O'Reilly Media",
    "languagesUsed": "java",
    "pages": 694
  },
  {
    "bookTitle": "You Don't Know JS",
    "authors": "Kyle Simpson",
    "source": "https://github.com/getify/You-Dont-Know-JS",
    "year": 2015,
    "publisher": "O'Reilly Media",
    "languagesUsed": "javascript",
    "pages": 1128
  },
  {
    "bookTitle": "The Reasoned Schemer",
    "authors": "Daniel P. Friedman and William E. Byrd and Oleg Kiselyov and Jason Hemann",
    "homepage": "https://mitpress.mit.edu/9780262535519/the-reasoned-schemer/",
    "year": 2018,
    "publisher": "MIT Press",
    "languagesUsed": "scheme",
    "pages": 208
  },
  {
    "bookTitle": "The Clean Coder: A Code of Conduct for Professional Programmers",
    "authors": "Robert C. Martin",
    "homepage": "https://www.oreilly.com/library/view/clean-coder-the/9780132542913/",
    "year": 2011,
    "publisher": "Pearson",
    "pages": 256
  },
  {
    "bookTitle": "Designing Data-Intensive Applications",
    "authors": "Martin Kleppmann",
    "homepage": "https://dataintensive.net/",
    "year": 2017,
    "publisher": "O'Reilly Media",
    "pages": 616
  },
  {
    "bookTitle": "Python Crash Course",
    "authors": "Eric Matthes",
    "homepage": "https://nostarch.com/python-crash-course-3rd-edition",
    "year": 2015,
    "publisher": "No Starch Press",
    "languagesUsed": "python",
    "pages": 560
  },
  {
    "bookTitle": "Eloquent JavaScript",
    "authors": "Marijn Haverbeke",
    "pdf": "https://eloquentjavascript.net/Eloquent_JavaScript.pdf",
    "homepage": "https://eloquentjavascript.net/",
    "year": 2011,
    "publisher": "No Starch Press",
    "languagesUsed": "javascript",
    "pages": 472
  },
  {
    "bookTitle": "The Mythical Man-Month",
    "authors": "Frederick P. Brooks Jr.",
    "homepage": "https://en.wikipedia.org/wiki/The_Mythical_Man-Month",
    "year": 1975,
    "publisher": "Addison-Wesley",
    "pages": 336
  },
  {
    "bookTitle": "Code: The Hidden Language of Computer Hardware and Software",
    "authors": "Charles Petzold",
    "homepage": "https://www.charlespetzold.com/code/",
    "year": 1999,
    "publisher": "Microsoft Press",
    "pages": 400
  },
  {
    "bookTitle": "Grokking Algorithms",
    "authors": "Aditya Bhargava",
    "homepage": "https://www.manning.com/books/grokking-algorithms",
    "year": 2016,
    "publisher": "Manning Publications",
    "languagesUsed": "python",
    "pages": 256
  },
  {
    "bookTitle": "Domain-Driven Design: Tackling Complexity in the Heart of Software",
    "authors": "Eric Evans",
    "homepage": "https://www.oreilly.com/library/view/domain-driven-design-tackling/0321125215/",
    "year": 2003,
    "publisher": "Addison-Wesley",
    "pages": 560
  },
  {
    "bookTitle": "The Phoenix Project",
    "authors": "Gene Kim and Kevin Behr and George Spafford",
    "homepage": "https://itrevolution.com/book/the-phoenix-project/",
    "year": 2013,
    "publisher": "IT Revolution Press",
    "pages": 382
  },
  {
    "bookTitle": "Coders at Work",
    "authors": "Peter Seibel",
    "homepage": "https://codersatwork.com/",
    "year": 2009,
    "publisher": "Apress",
    "pages": 632
  },
  {
    "bookTitle": "Patterns of Enterprise Application Architecture",
    "authors": "Martin Fowler",
    "homepage": "https://martinfowler.com/books/eaa.html",
    "year": 2002,
    "publisher": "Addison-Wesley",
    "pages": 560
  },
  {
    "bookTitle": "Working Effectively with Legacy Code",
    "authors": "Michael Feathers",
    "homepage": "https://www.oreilly.com/library/view/working-effectively-with/0131177052/",
    "year": 2004,
    "publisher": "Prentice Hall",
    "pages": 456
  },
  {
    "bookTitle": "The Passionate Programmer",
    "authors": "Chad Fowler",
    "homepage": "https://pragprog.com/titles/cfcar2/the-passionate-programmer-2nd-edition/",
    "year": 2009,
    "publisher": "Pragmatic Bookshelf",
    "pages": 232
  },
  {
    "bookTitle": "Soft Skills: The Software Developer's Life Manual",
    "authors": "John Sonmez",
    "homepage": "https://www.amazon.com/Soft-Skills-software-developers-manual/dp/1617292397",
    "year": 2014,
    "publisher": "Manning Publications",
    "pages": 504
  },
  {
    "bookTitle": "The DevOps Handbook",
    "authors": "Gene Kim and Jez Humble and Patrick Debois and John Willis",
    "homepage": "https://itrevolution.com/book/the-devops-handbook/",
    "year": 2016,
    "publisher": "IT Revolution Press",
    "pages": 480
  },
  {
    "bookTitle": "The Pattern On The Stone",
    "authors": "Daniel Hillis",
    "homepage": "https://www.basicbooks.com/titles/w-daniel-hillis/the-pattern-on-the-stone/9780465066933/",
    "year": 2015,
    "publisher": "Basic Books",
    "pages": 191
  },
  {
    "bookTitle": "The Definitive ANTLR 4 Reference",
    "authors": "Terence Parr",
    "homepage": "https://pragprog.com/titles/tpantlr2/the-definitive-antlr-4-reference/",
    "year": 2012,
    "publisher": "Pragmatic Bookshelf",
    "languagesUsed": "antlr",
    "pages": 328
  },
  {
    "bookTitle": "Mastering Regular Expressions",
    "authors": "Jeffrey E. F. Friedl",
    "homepage": "https://www.oreilly.com/library/view/mastering-regular-expressions/0596528124/",
    "year": 2006,
    "publisher": "O'Reilly Media",
    "pages": 542
  },
  {
    "bookTitle": "The Art of Doing Science and Engineering: Learning to Learn",
    "authors": "Richard W. Hamming",
    "homepage": "https://press.stripe.com/the-art-of-doing-science-and-engineering",
    "year": 1997,
    "publisher": "CRC Press",
    "pages": 376
  },
  {
    "bookTitle": "Pharo by Example 9",
    "authors": "Stéphane Ducasse and Gordana Rakic and Sebastian Kaplar and Quentin Ducasse",
    "pdf": "http://books.pharo.org/pharo-by-example9/pdf/2022-03-26-index.pdf",
    "source": "https://github.com/SquareBracketAssociates/PharoByExample9/",
    "homepage": "https://books.pharo.org/pharo-by-example9/",
    "year": 2021,
    "publisher": "Keepers of the lighthouse",
    "languagesUsed": "pharo",
    "pages": 318
  },
  {
    "bookTitle": "Beautiful Code",
    "authors": "Andy Oram and Greg Wilson",
    "homepage": "https://www.oreilly.com/library/view/beautiful-code/9780596510046/",
    "year": 2007,
    "publisher": "O'Reilly Media",
    "pages": 592
  },
  {
    "bookTitle": "Beautiful Racket",
    "authors": "Matthias Felleisen and Robby Findler and Matthew Flatt",
    "source": "https://github.com/mbutterick/beautiful-racket",
    "homepage": "https://beautifulracket.com/",
    "year": 2015,
    "publisher": "MIT Press",
    "pages": 288
  },
  {
    "bookTitle": "The Go Programming Language",
    "authors": "Alan A. A. Donovan and Brian W. Kernighan",
    "homepage": "https://www.gopl.io/",
    "year": 2015,
    "publisher": "Addison-Wesley",
    "languagesUsed": "go",
    "pages": 400
  },
  {
    "bookTitle": "The Rust Programming Language",
    "authors": "Steve Klabnik and Carol Nichols",
    "source": "https://github.com/rust-lang/book",
    "homepage": "https://nostarch.com/rust-programming-language-2nd-edition",
    "year": 2018,
    "publisher": "No Starch Press",
    "languagesUsed": "rust",
    "pages": 552
  },
  {
    "bookTitle": "Learn You a Haskell for Great Good!",
    "authors": "Miran Lipovača",
    "source": "https://github.com/learnyouahaskell/learnyouahaskell.github.io",
    "homepage": "http://learnyouahaskell.com/",
    "year": 2011,
    "publisher": "No Starch Press",
    "languagesUsed": "haskell",
    "pages": 400
  },
  {
    "bookTitle": "Paradigms of Artificial Intelligence Programming",
    "authors": "Peter Norvig",
    "source": "https://github.com/norvig/paip-lisp",
    "year": 1992,
    "publisher": "Morgan Kaufmann",
    "languagesUsed": "lisp",
    "pages": 368
  },
  {
    "bookTitle": "Modern Operating Systems",
    "authors": "Andrew S. Tanenbaum and Herbert Bos",
    "homepage": "https://www.pearson.com/en-us/subject-catalog/p/modern-operating-systems/P200000003295/9780137618880",
    "year": 2014,
    "publisher": "Pearson",
    "pages": 960
  },
  {
    "bookTitle": "Let Over Lambda",
    "authors": "Doug Hoyte",
    "source": "https://github.com/thephoeron/let-over-lambda/blob/master/let-over-lambda.lisp",
    "homepage": "https://mitpress.mit.edu/9780262082638/let-over-lambda/",
    "year": 2008,
    "publisher": "MIT Press",
    "languagesUsed": "lisp",
    "pages": 376
  },
  {
    "bookTitle": "The TeXbook",
    "authors": "Donald E. Knuth",
    "pdf": "https://visualmatheditor.equatheque.net/doc/texbook.pdf",
    "year": 1986,
    "publisher": "Addison-Wesley",
    "pages": 640
  },
  {
    "bookTitle": "Essentials of Compilation",
    "authors": "Jeremy G. Siek",
    "source": "https://github.com/IUCompilerCourse/Essentials-of-Compilation",
    "year": 2015,
    "languagesUsed": "racket python x86-assembly"
  },
  {
    "bookTitle": "Clojure for the Brave and True",
    "authors": "Daniel Higginbotham",
    "homepage": "https://www.braveclojure.com/",
    "year": 2015,
    "publisher": "No Starch Press",
    "languagesUsed": "clojure",
    "pages": 328
  },
  {
    "bookTitle": "Programming in Scala",
    "authors": "Martin Odersky and Lex Spoon and Bill Venners and Frank Sommers",
    "homepage": "https://www.artima.com/shop/programming_in_scala",
    "year": 2016,
    "publisher": "Artima Press",
    "languagesUsed": "scala",
    "pages": 667
  },
  {
    "bookTitle": "Elixir in Action",
    "authors": "Saša Jurić",
    "homepage": "https://www.manning.com/books/elixir-in-action-second-edition",
    "year": 2015,
    "publisher": "Manning Publications",
    "languagesUsed": "elixir",
    "pages": 384
  },
  {
    "bookTitle": "The Little Schemer",
    "authors": "Daniel P. Friedman and Matthias Felleisen",
    "homepage": "https://mitpress.mit.edu/9780262560993/the-little-schemer/",
    "year": 1995,
    "publisher": "MIT Press",
    "languagesUsed": "scheme",
    "pages": 216
  },
  {
    "bookTitle": "Practical Common Lisp",
    "authors": "Peter Seibel",
    "homepage": "https://www.gigamonkeys.com/book/",
    "year": 2005,
    "publisher": "Apress",
    "languagesUsed": "lisp",
    "pages": 504
  },
  {
    "bookTitle": "Recursive Programming Techniques",
    "authors": "William H. Burge",
    "year": 1975,
    "publisher": "Addison-Wesley",
    "pages": 300
  },
  {
    "bookTitle": "Real World Haskell",
    "authors": "Bryan O'Sullivan and Don Stewart and John Goerzen",
    "homepage": "http://book.realworldhaskell.org/",
    "year": 2008,
    "publisher": "O'Reilly Media",
    "languagesUsed": "haskell",
    "pages": 714
  },
  {
    "bookTitle": "Effective Python",
    "authors": "Brett Slatkin",
    "homepage": "https://effectivepython.com/",
    "year": 2015,
    "publisher": "Addison-Wesley",
    "languagesUsed": "python",
    "pages": 256
  },
  {
    "bookTitle": "JavaScript: The Good Parts",
    "authors": "Douglas Crockford",
    "homepage": "https://www.oreilly.com/library/view/javascript-the-good/9780596517748/",
    "year": 2008,
    "publisher": "O'Reilly Media",
    "languagesUsed": "javascript",
    "pages": 176
  },
  {
    "bookTitle": "Eloquent Ruby",
    "authors": "Russ Olsen",
    "homepage": "http://eloquentruby.com/",
    "year": 2011,
    "publisher": "Addison-Wesley",
    "languagesUsed": "ruby",
    "pages": 448
  },
  {
    "bookTitle": "Groovy in Action",
    "authors": "Dierk König and Paul King and Guillaume Laforge and Cédric Champeau and Hamlet D'Arcy",
    "homepage": "https://www.manning.com/books/groovy-in-action-second-edition",
    "year": 2015,
    "publisher": "Manning Publications",
    "languagesUsed": "groovy",
    "pages": 912
  },
  {
    "bookTitle": "Prolog Programming for Artificial Intelligence",
    "authors": "Ivan Bratko",
    "homepage": "https://www.amazon.com/Programming-Artificial-Intelligence-International-Computer/dp/0321417461",
    "year": 2000,
    "publisher": "Addison-Wesley",
    "languagesUsed": "prolog",
    "pages": 704
  },
  {
    "bookTitle": "Programming Elixir ≥ 1.6",
    "authors": "Dave Thomas",
    "homepage": "https://pragprog.com/titles/elixir16/programming-elixir-1-6/",
    "year": 2018,
    "publisher": "Pragmatic Bookshelf",
    "languagesUsed": "elixir",
    "pages": 398
  },
  {
    "bookTitle": "Erlang Programming",
    "authors": "Francesco Cesarini and Simon Thompson",
    "homepage": "https://www.oreilly.com/library/view/erlang-programming/9780596803940/",
    "year": 2009,
    "publisher": "O'Reilly Media",
    "languagesUsed": "erlang",
    "pages": 498
  },
  {
    "bookTitle": "Haskell Programming from First Principles",
    "authors": "Christopher Allen and Julie Moronuki",
    "homepage": "https://haskellbook.com/",
    "year": 2016,
    "publisher": "Gumroad",
    "languagesUsed": "haskell",
    "pages": 889
  },
  {
    "bookTitle": "Crafting Interpreters",
    "authors": "Robert Nystrom",
    "source": "https://github.com/munificent/craftinginterpreters",
    "homepage": "https://craftinginterpreters.com/",
    "year": 2021,
    "languagesUsed": "java",
    "pages": 600
  },
  {
    "bookTitle": "Janet for Mortals",
    "authors": "Ian Henry",
    "homepage": "https://janet.guide/",
    "year": 2023,
    "languagesUsed": "janet"
  },
  {
    "bookTitle": "Homotopy Type Theory",
    "authors": "Mike Shulman and Andrej Bauer",
    "pdf": "https://hott.github.io/book/hott-online-15-ge428abf.pdf",
    "source": "https://github.com/HoTT/book",
    "homepage": "https://homotopytypetheory.org/book/",
    "year": 2012,
    "publisher": "Princeton University Press",
    "pages": 400
  },
  {
    "bookTitle": "Thinking Forth",
    "authors": "Leo Brodie",
    "pdf": "https://www.forth.com/wp-content/uploads/2018/11/thinking-forth-color.pdf",
    "source": "https://github.com/forthy42/thinking-forth",
    "homepage": "https://thinkingforth.sourceforge.io/",
    "year": 2001,
    "publisher": "MIT Press",
    "languagesUsed": "forth",
    "pages": 160
  },
  {
    "bookTitle": "The Art of Unix Programming",
    "authors": "Eric S. Raymond",
    "homepage": "http://www.catb.org/esr/writings/taoup/",
    "year": 2003,
    "publisher": "Addison-Wesley",
    "languagesUsed": "unix",
    "pages": 352
  },
  {
    "bookTitle": "Writing A Compiler In Go",
    "authors": "Thorsten Ball",
    "homepage": "https://compilerbook.com/",
    "year": 2018,
    "publisher": "No Starch Press",
    "languagesUsed": "go",
    "pages": 288
  },
  {
    "bookTitle": "The Cathedral and the Bazaar",
    "authors": "Eric S. Raymond",
    "homepage": "https://www.oreilly.com/library/view/the-cathedral/0596001088/",
    "year": 2001,
    "publisher": "O'Reilly Media",
    "pages": 352
  },
  {
    "bookTitle": "Why's (Poignant) Guide to Ruby",
    "authors": "Why the Lucky Stiff",
    "source": "https://github.com/mislav/poignant-guide",
    "homepage": "https://poignant.guide/",
    "year": 2000,
    "publisher": "Penguin Books",
    "languagesUsed": "ruby",
    "pages": 128
  },
  {
    "bookTitle": "Programming TypeScript",
    "authors": "Boris Cherny",
    "homepage": "https://www.oreilly.com/library/view/programming-typescript/9781492037644/",
    "year": 2019,
    "publisher": "O'Reilly Media",
    "languagesUsed": "typescript",
    "pages": 324
  },
  {
    "bookTitle": "Practical Vim",
    "authors": "Drew Neil",
    "homepage": "https://pragprog.com/titles/dnvim2/practical-vim-second-edition/",
    "year": 2012,
    "publisher": "Pragmatic Bookshelf",
    "languagesUsed": "vim",
    "pages": 320
  },
  {
    "bookTitle": "Programming Collective Intelligence",
    "authors": "Toby Segaran",
    "homepage": "https://www.oreilly.com/library/view/programming-collective/9780596529321/",
    "year": 2007,
    "publisher": "O'Reilly Media",
    "languagesUsed": "python",
    "pages": 256
  },
  {
    "bookTitle": "The Fun of Programming",
    "authors": "Jeremy Gibbons and Oege de Moor",
    "pdf": "http://conal.net/papers/functional-images/fop-conal.pdf",
    "year": 2003,
    "publisher": "Red Globe Press",
    "languagesUsed": "haskell",
    "pages": 277
  },
  {
    "bookTitle": "Compilers: Principles, Techniques, and Tools",
    "authors": "Alfred V. Aho and Monica S. Lam and Ravi Sethi and Jeffrey D. Ullman",
    "pdf": "https://github.com/qshadun/books/blob/master/Compilers%20Principles%20Techniques%20and%20Tools%20(2nd%20Edition)%20.pdf",
    "year": 1986,
    "publisher": "Pearson Education",
    "pages": 1040
  },
  {
    "bookTitle": "Types and Programming Languages",
    "authors": "Benjamin C. Pierce",
    "pdf": "https://github.com/MPRI/M2-4-2/blob/master/Types%20and%20Programming%20Languages.pdf",
    "homepage": "https://www.cis.upenn.edu/~bcpierce/tapl/",
    "year": 2002,
    "publisher": "MIT Press",
    "pages": 648
  },
  {
    "bookTitle": "Engineering a Compiler",
    "authors": "Keith D. Cooper and Linda Torczon",
    "pdf": "https://github.com/lighthousand/books/blob/master/Engineering%20A%20Compiler%202nd%20Edition%20by%20Cooper%20and%20Torczon.pdf",
    "year": 2011,
    "publisher": "Morgan Kaufmann",
    "pages": 824
  }
]