[{"data":1,"prerenderedAt":896},["ShallowReactive",2],{"project-46345897":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":26,"sentiment":27,"stance_mix":28,"scored_comments":33,"aspects":34,"strip":45,"post_text":49,"what":50,"said":84,"maker_in_thread":235,"shape":244,"grid":248,"attempts":858,"same_week":859,"maker_shows":37,"maker_hidden":888,"reader_version":889,"card":890},"46345897","Books mentioned on Hacker News in 2025","title","Show HN: Books mentioned on Hacker News in 2025","https:\u002F\u002Fhackernews-readings-613604506318.us-west1.run.app","hackernews-readings-613604506318.us-west1.run.app","seinvak",1766334064,2025,613,212,48,3837,2,"legend","learning_science","book recommendations","web_app",[23,20,24,25],"hacker news books","book mentions","reading list 2025","mixed",-0.208,{"positive":29,"neutral":30,"mixed":31,"critical":32},11,40,8,32,91,{"docs":35,"idea":38,"execution":41,"design":43,"pricing":44},{"positive":36,"critical":37},0,1,{"positive":39,"critical":40},6,7,{"positive":36,"critical":42},22,{"positive":37,"critical":17},{"positive":36,"critical":36},[36,36,46,46,37,37,37,47,36,46,46,36,46,37,36,36,46,37,47,48,37,17,37,46,37,37,37,17,46,46,17,46,46,17,17,46,48,17,17,37],3,5,4,null,{"problem":51,"audience":49,"pricing":57,"motivation":49,"time_to_build":49,"stack":64,"openness":81,"stage":82,"team_size":83},{"value":52,"source":53,"evidence":54},"Shows which books HN commenters mentioned most in 2025","inferred",[55],{"id":56},"post",{"value":58,"source":59,"evidence":60},"Some books carry sponsored affiliate links to cover domain costs","maker",[61],{"id":62,"by":10,"text":63},"46346171","My bad — probably should’ve added a disclaimer :) For what it’s worth, I only added sponsored links to the top ~50 books out of ~10k total. Mostly just trying to cover the cost…",[65,71,77],{"value":66,"source":59,"evidence":67},"Gemini 2.5 Flash API for extraction",[68],{"id":69,"by":10,"text":70},"46346801","> Would love to learn more about how this is built. I remember a similar project from 4 years ago[0] that used a classic BERT model for NER on HN comments Yes, I saw that project…",{"value":72,"source":59,"evidence":73},"OpenLibrary API for book IDs",[74],{"id":75,"by":10,"text":76},"46346676","Thanks! I used OpenLibrary's API to get the book IDs, and then Gemini 3 to generate the Amazon links.",{"value":78,"source":59,"evidence":79},"Gemini 3 for Amazon links",[80],{"id":75,"by":10,"text":76},"unknown","launched","solo",{"praise":85,"objections":109,"requests":167,"questions":200,"alternatives":220},[86,102],{"value":87,"source":88,"evidence":89},"Good list of recommended books and a fun way to explore","commenter",[90,94,98],{"id":91,"by":92,"text":93},"46346284","odie5533","Great books listed here! Added some to my TBR list. Thanks! I'm a little surprised the numbers aren't higher across the board.",{"id":95,"by":96,"text":97},"46348001","bookofjoe","Best HN post of the year. I just surfaced after hours exploring.",{"id":99,"by":100,"text":101},"46351986","kaizenb","This is just great! Thanks for building.",{"value":103,"source":88,"evidence":104},"Nice to see a 2025 reading list represented",[105],{"id":106,"by":107,"text":108},"46347019","bdunks","It was nice seeing my 2025 reading list represented. I started the year reading the first five books of the Foundation Series (book #1 on the list). A must read for anyone who…",[110,137,152],{"value":111,"source":88,"evidence":112},"Disambiguation errors merge different books with similar titles",[113,117,121,125,129,133],{"id":114,"by":115,"text":116},"46346592","omoikane","I see that there is \"The Martian Chronicles\" by Ray Bradbury (33 mentions), and \"The Martian\" by Andy Weir listed much later (11 mentions), but most of mentions for \"The Martian…",{"id":118,"by":119,"text":120},"46346684","yoan9224","Love this. The top programming books being SICP, Clean Code, and Crafting Interpreters feels very on-brand for HN. Surprised by how much fiction shows up though. I'd assumed HN…",{"id":122,"by":123,"text":124},"46347192","notepad0x90","I think some of the book associations are wrong. It shows \"the martian chronicles\" for mentions of andy weir's \"the martian\". Otherwise nice to see so many of the books i read…",{"id":126,"by":127,"text":128},"46347088","card_zero","Some more errors: Revelations of divine love, recorded by Julian, anchoress at Norwich, A.D. 1373 wasn't really mentioned ever. Those mentions are of the book of Revelations in…",{"id":130,"by":131,"text":132},"46346736","cwnyth","There's a mistake with The Rust Programming Language. It counts Programming Rust as the same book.",{"id":134,"by":135,"text":136},"46352028","JDEW","Nice! The entry for Abundance [0] is listed as another book (An Abundance of Katherines [1]) [0] https:\u002F\u002Fwww.goodreads.com\u002Fbook\u002Fshow\u002F176444106-abundance [1]…",{"value":138,"source":88,"evidence":139},"Mentions from quotes and unrelated contexts are counted",[140,144,148],{"id":141,"by":142,"text":143},"46353806","dewey","It looks like it's not handling comments correctly and counts books mentioned in \">\".",{"id":145,"by":146,"text":147},"46349629","muzani","Searching Mein Kampf adds some decent data on what to filter out, or tag differently. A lot of it comes up in discussions on banned books etc.…",{"id":149,"by":150,"text":151},"46366233","GuB-42","How are the data processed? It doesn't look easy. For instance there is \"Foundation\" in the list, a common word, how does the algorithm distinguish between just the word and a…",{"value":153,"source":88,"evidence":154},"Some known book mentions are missing from the list",[155,159,163],{"id":156,"by":157,"text":158},"46347287","lo_zamoyski","The indexing must be flakey. I have mentioned various books multiple times with links to their respective Amazon pages. No mentions of them.",{"id":160,"by":161,"text":162},"46353972","4ggr0","i mentioned 5 books in a comment[0], only 3 where registered by this tool. Wonder why :D [0]https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=44965191",{"id":164,"by":165,"text":166},"46349805","teleforce","Very strange, System Programming in Linux book was mentioned many times in HN before but apparently not in the list, but maybe just not this year [1]. [1] System Programming in…",[168,175,182,193],{"value":169,"source":88,"evidence":170},"CSV export of the book list",[171],{"id":172,"by":173,"text":174},"46347263","krick","CSV export (just the book list) would be welcome.",{"value":176,"source":88,"evidence":177},"Filter out single-mention books or sort by fewer mentions",[178],{"id":179,"by":180,"text":181},"46347593","analogpixel","Would be nice if you could filter out all the only 1 mention books, and then sort by least number of mentions. There seems to be a million 1 mention books, and I can't scroll…",{"value":183,"source":88,"evidence":184},"Add data for 2024 and earlier years",[185,189],{"id":186,"by":187,"text":188},"46346622","furyofantares","You should scrape 2024 also and then 2025 should be sorted by the delta. Otherwise it doesn't have that much to do with 2025 and is largely just books commonly mentioned on HN.…",{"id":190,"by":191,"text":192},"46352416","mkbkn","Can you also make it for 2024 and previous years?",{"value":194,"source":88,"evidence":195},"Per-book URLs for linking",[196],{"id":197,"by":198,"text":199},"46349165","defrost","Good work, thanks for this. It would be useful to be able to get an URL for each scrapped book so that users could link to, say, the entry for A Texbook of Engineering…",[201,213],{"value":202,"source":88,"evidence":203},"How is the extraction done, LLM or traditional NER?",[204,205,209],{"id":118,"by":119,"text":120},{"id":206,"by":207,"text":208},"46346551","hubraumhugo","Would love to learn more about how this is built. I remember a similar project from 4 years ago[0] that used a classic BERT model for NER on HN comments. I assume this one uses a…",{"id":210,"by":211,"text":212},"46350525","novoreorx","Such a great collection! I wonder how it was achieved, definitely not by LLM, was it?",{"value":214,"source":88,"evidence":215},"What is the cutoff date?",[216],{"id":217,"by":218,"text":219},"46346688","Freak_NL","What is the cut off date? It seems to miss the mentions of the late John Varley's books in https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=46269991 six days ago.",[221,228],{"value":222,"source":88,"evidence":223},"hackernewsbooks.com",[224],{"id":225,"by":226,"text":227},"46346471","endlessvoid94","Have you seen https:\u002F\u002Fhackernewsbooks.com ?",{"value":229,"source":88,"evidence":230},"HackerNews Readings (vercel app)",[231],{"id":232,"by":233,"text":234},"46350533","Brajeshwar","There was another one, HackerNews Readings, but seems to be not updated. https:\u002F\u002Fhacker-recommended-books.vercel.app\u002F",{"comments":31,"answered":46,"key":236},[237,240,243],{"id":238,"text":239},"46348147","Thanks for the heads up. Corrected it.",{"id":241,"text":242},"46347084","> I expect two of the listed to have very positive sentiment, and one generally negative in 2025. You are quite correct! Crafting Interpreters actually has the highest average…",{"id":69,"text":70},{"commenters":245,"max_depth":39,"maker_replies":31,"first_comment_mins":246,"lifespan_hours":247},159,13,71,[249,253,256,259,262,265,268,270,274,277,280,283,286,288,292,295,298,301,304,306,309,313,317,319,322,324,326,329,332,335,338,341,342,345,348,351,354,356,359,362,365,367,370,373,376,378,380,383,385,388,391,393,397,400,403,405,408,412,415,417,421,424,426,429,433,435,437,440,443,446,448,452,455,457,460,463,466,469,472,475,478,481,483,485,487,491,494,496,498,500,503,507,510,513,516,520,523,526,530,534,537,539,542,546,551,552,555,558,560,564,567,569,572,575,579,583,587,589,591,593,594,598,601,602,606,608,611,614,617,619,621,623,625,628,630,633,636,638,640,643,645,648,650,652,656,659,663,666,669,671,673,677,681,685,690,694,697,699,703,707,710,712,714,716,718,721,724,728,732,735,737,740,742,746,748,752,756,758,760,764,768,770,774,776,781,783,787,790,794,799,802,804,807,810,811,815,819,823,824,826,830,832,836,840,844,847,849,853],[250,36,36,251,252,36],"46347994","other\u002Fneutral\u002Fnone","yboris",[254,36,36,251,255,36],"46348064","number6",[257,36,36,251,258,36],"46350267","jaggederest",[260,36,36,251,261,36],"46350822","watersb",[263,36,36,251,264,36],"46351579","aspenmayer",[266,36,36,251,267,36],"46350980","zaneyard",[269,36,36,251,258,36],"46351072",[271,36,36,272,273,36],"46362067","commenter\u002Fneutral\u002Fnone","troyvit",[275,36,36,251,276,36],"46350260","smoyer",[278,36,36,251,279,36],"46352023","yuzhun",[281,36,36,251,282,36],"46353591","hermitcrab",[284,36,36,251,285,36],"46354528","parkersweb",[287,36,36,251,252,36],"46359495",[289,37,46,290,291,36],"46346501","project\u002Fneutral\u002Fnone","GenerocUsername",[293,37,36,251,294,36],"46346563","kaangiray26",[296,37,46,290,297,36],"46346698","duckerduck",[299,37,36,272,300,36],"46346751","jama211",[302,37,36,251,303,36],"46350958","amarant",[305,37,36,251,300,36],"46352901",[307,37,46,290,308,36],"46346998","georgefrowny",[310,37,46,311,312,36],"46348011","project\u002Fneutral\u002Fdocs","kenjackson",[314,37,37,315,316,36],"46348026","project\u002Fcritical\u002Fdocs","QuantumNomad_",[238,37,36,318,10,37],"maker\u002Fneutral\u002Fexecution",[320,37,36,251,321,36],"46348320","belter",[186,17,46,323,187,36],"project\u002Fneutral\u002Fidea",[114,46,37,325,115,36],"project\u002Fcritical\u002Fexecution",[327,46,37,325,328,36],"46347268","losvedir",[330,46,36,251,331,36],"46350027","throw0101c",[333,48,46,323,334,36],"46350147","JDye",[336,48,36,272,337,36],"46355170","Aachen",[339,48,36,272,340,36],"46357181","bashkiddie",[122,47,37,325,123,36],[343,47,37,325,344,36],"46347305","Erlangen",[346,47,36,251,347,36],"46348965","johngossman",[349,47,36,251,350,36],"46364169","Try1275",[352,47,36,251,353,36],"46373564","BrandoElFollito",[106,39,47,355,107,36],"project\u002Fpositive\u002Fidea",[357,39,36,251,358,36],"46347603","nottorp",[360,39,36,272,361,36],"46351513","retsibsi",[363,39,36,251,364,36],"46363343","Idesmi",[366,39,36,251,358,36],"46376474",[368,39,36,272,369,36],"46348642","druskacik",[371,39,36,251,372,36],"46348938","ajcp",[374,39,36,272,375,36],"46349116","ruraljuror",[377,39,36,251,372,36],"46356561",[379,39,36,251,282,36],"46353606",[381,39,36,251,382,36],"46355323","vips7L",[384,40,36,251,261,36],"46350838",[386,40,36,251,387,36],"46351972","lencastre",[389,40,36,251,390,36],"46353441","tnolet",[392,31,46,323,119,36],"46355691",[394,31,46,395,396,36],"46356287","project\u002Fmixed\u002Fdesign","skeledrew",[118,398,46,399,119,36],9,"project\u002Fmixed\u002Fexecution",[401,398,36,272,402,36],"46346955","jasonjmcghee",[404,398,36,251,375,36],"46349167",[406,398,36,251,407,36],"46348728","TheAceOfHearts",[409,398,36,410,411,36],"46349919","commenter\u002Fcritical\u002Fnone","threethirtytwo",[413,398,36,410,414,36],"46350398","thefaux",[416,398,36,410,411,36],"46351108",[418,398,36,419,420,36],"46353381","commenter\u002Fpositive\u002Fnone","daemoncoder",[422,398,36,272,423,36],"46353343","47282847",[425,398,36,272,411,36],"46354329",[427,398,36,272,428,36],"46362369","BoiledCabbage",[430,431,37,325,432,36],"46354712",10,"timerol",[197,29,47,434,198,36],"project\u002Fpositive\u002Fdesign",[225,436,46,323,226,36],12,[438,436,46,290,439,36],"46346642","zoklet-enjoyer",[441,436,36,272,442,36],"46347274","Rendello",[444,246,37,325,445,36],"46346475","Cloudly",[447,246,37,325,127,36],"46346933",[449,450,36,251,451,36],"46346311",14,"Insanity",[453,450,36,272,454,36],"46346366","mitthrowaway2",[456,450,36,272,451,36],"46346399",[458,450,36,251,459,36],"46346400","mohamez",[461,450,36,251,462,36],"46346633","dozerly",[464,450,36,251,465,36],"46346417","an0malous",[467,450,36,251,468,36],"46347596","Barrin92",[470,450,36,251,471,36],"46349471","echelon",[473,450,36,251,474,36],"46348145","silexia",[476,450,36,251,477,36],"46352415","RobotToaster",[479,450,36,272,480,36],"46361505","JSR_FDED",[482,450,36,272,477,36],"46362593",[484,450,36,272,423,36],"46353293",[486,450,36,251,471,36],"46349457",[488,450,46,489,490,36],"46354138","project\u002Fneutral\u002Fexecution","Yizahi",[492,450,36,251,493,36],"46346529","tonymet",[495,450,36,251,282,36],"46353641",[497,450,36,251,493,36],"46357248",[499,450,36,251,282,36],"46359067",[501,450,36,251,502,36],"46346779","jeffbee",[504,505,37,325,506,36],"46346557",15,"dgeiser13",[508,505,46,489,509,36],"46346964","thcipriani",[511,505,37,325,512,36],"46347301","giraffe333",[514,505,36,251,515,36],"46351778","jll29",[517,518,46,323,519,36],"46346641",16,"emodendroket",[521,518,36,251,522,36],"46346673","DoctorOW",[524,518,36,251,525,36],"46352075","harshreality",[527,528,47,355,529,36],"46352981",17,"DiskoHexyl",[531,532,46,323,533,36],"46354876",18,"Dowwie",[535,532,47,355,536,36],"46367592","WillAdams",[145,538,46,489,146,36],19,[540,538,36,251,541,36],"46352869","ggm",[543,544,36,251,545,36],"46354036",20,"atlasunshrugged",[547,548,46,549,550,36],"46349685",21,"project\u002Fmixed\u002Fidea","libraryofbabel",[126,42,37,325,127,36],[553,42,36,251,554,36],"46347995","NitpickLawyer",[556,42,36,272,557,36],"46348189","Rebelgecko",[130,559,37,325,131,36],23,[561,562,46,290,563,36],"46346444",24,"joshdavham",[565,562,46,323,566,36],"46346525","mirashii",[241,562,36,568,10,37],"maker\u002Fneutral\u002Fnone",[570,562,37,571,536,36],"46347474","project\u002Fcritical\u002Fidea",[573,562,36,272,574,36],"46349059","groundzeros2015",[576,577,46,489,578,36],"46351962",25,"thoughtpeddler",[580,581,37,571,582,36],"46349889",26,"ilteris",[584,585,36,251,586,36],"46348021",27,"therobots927",[134,588,37,325,135,36],28,[149,590,46,489,150,36],29,[206,592,46,568,207,36],30,[69,592,36,568,10,37],[595,596,37,571,597,36],"46347673",31,"brcmthrowaway",[599,596,36,272,600,36],"46348433","xandrius",[91,32,47,355,92,36],[603,604,36,251,605,36],"46346583",33,"kace91",[607,604,36,251,519,36],"46346650",[609,604,37,571,610,36],"46346658","DashAnimal",[612,604,36,251,613,36],"46347049","BeetleB",[615,604,36,251,616,36],"46347395","GeoAtreides",[618,604,36,251,613,36],"46347407",[620,604,36,251,616,36],"46347583",[622,604,36,272,605,36],"46347565",[624,604,36,272,613,36],"46347880",[626,604,46,323,627,36],"46348072","desmoulins",[629,604,36,272,407,36],"46349371",[631,604,37,571,632,36],"46351475","rramadass",[634,604,36,251,635,36],"46352297","globular-toast",[637,604,36,272,605,36],"46355674",[639,604,36,272,635,36],"46359104",[641,604,36,251,642,36],"46370408","owenversteeg",[164,644,37,325,165,36],34,[646,644,46,489,647,36],"46349846","mvkel",[649,644,46,489,165,36],"46350125",[141,651,37,325,142,36],35,[653,654,36,251,655,36],"46351488",36,"timonoko",[657,654,36,251,658,36],"46352140","datameta",[660,661,46,489,662,36],"46349030",37,"specproc",[664,661,36,272,665,36],"46349599","thrance",[667,668,46,290,282,36],"46353636",38,[217,670,46,489,218,36],39,[672,670,36,568,10,37],"46346927",[674,30,46,675,676,36],"46347464","maker\u002Fneutral\u002Fdesign","recursivedoubts",[678,679,37,325,680,36],"46350882",41,"crobertsbmw",[682,683,46,399,684,36],"46350976",42,"faizmokh",[686,687,47,688,689,36],"46349744",43,"maker\u002Fpositive\u002Fnone","ajju",[691,692,46,489,693,36],"46350554",44,"tramtrist",[695,696,46,399,557,36],"46347092",45,[698,696,37,325,173,36],"46347383",[700,701,46,323,702,36],"46356076",46,"thefringthing",[704,705,36,251,706,36],"46352488",47,"coopykins",[708,15,46,323,709,36],"46346441","babblingfish",[711,15,36,272,493,36],"46346509",[713,15,36,251,474,36],"46348180",[715,15,36,272,515,36],"46351785",[717,15,36,272,490,36],"46354189",[719,15,36,251,720,36],"46359308","lowkey_",[722,723,46,290,303,36],"46350945",49,[725,726,47,355,727,36],"46347860",50,"stevenfoster",[729,730,37,571,731,36],"46346654",51,"samx18",[733,730,36,272,734,36],"46346861","xp84",[736,730,36,272,454,36],"46346896",[738,730,36,251,739,36],"46350618","ffuxlpff",[156,741,37,325,157,36],52,[743,744,46,489,745,36],"46350347",53,"ironmagma",[172,747,46,290,173,36],54,[749,750,46,489,751,36],"46355443",55,"objectdynamics",[753,754,37,325,755,36],"46354291",56,"mcc1ane",[210,757,46,489,211,36],57,[160,759,37,325,161,36],58,[761,762,46,399,763,36],"46347433",59,"jackconsidine",[765,766,46,290,767,36],"46346565",60,"begueradj",[95,769,47,355,96,36],61,[771,772,37,571,773,36],"46352613",62,"throw-12-16",[190,775,46,323,191,36],63,[777,778,36,779,780,36],"46346000",64,"other\u002Fneutral\u002Fpricing","codingdave",[62,778,36,782,10,37],"maker\u002Fneutral\u002Fpricing",[784,778,36,785,786,36],"46346556","commenter\u002Fneutral\u002Fpricing","SquareWheel",[788,778,36,785,789,36],"46350547","mtlynch",[791,778,46,792,793,36],"46347167","project\u002Fmixed\u002Fpricing","whatamidoingyo",[795,796,47,797,798,36],"46346635",65,"project\u002Fpositive\u002Fnone","wellpast",[800,796,36,801,10,37],"46346904","maker\u002Fpositive\u002Fdocs",[99,803,47,797,100,36],66,[805,803,37,806,100,36],"46351990","project\u002Fcritical\u002Fdesign",[808,809,46,318,493,36],"46346518",67,[75,809,36,318,10,37],[812,813,46,399,814,36],"46348141",68,"blintz",[816,817,37,325,818,36],"46352105",69,"frm88",[820,821,46,290,822,36],"46346576",70,"barddoo",[179,247,37,806,180,36],[825,247,47,688,173,36],"46347917",[827,828,37,325,829,36],"46346587",72,"Der_Einzige",[232,831,36,251,233,36],73,[833,834,46,489,835,36],"46350849",74,"TZubiri",[837,838,46,290,839,36],"46346878",75,"stego-tech",[841,842,37,325,843,36],"46347038",76,"WarOnPrivacy",[845,842,36,846,10,37],"46347193","commenter\u002Fneutral\u002Fexecution",[848,842,36,251,843,36],"46349160",[850,851,36,251,852,36],"46350365",77,"why-o-why",[854,855,36,856,857,36],"46347273",78,"other\u002Fneutral\u002Fidea","Cheetah26",[],[860,865,870,874,879,884],{"id":861,"name":862,"points":863,"category":864},"46339600","Jmail",1557,"other",{"id":866,"name":867,"points":868,"category":869},"46378554","textarea",468,"productivity",{"id":871,"name":872,"points":873,"category":869},"46345745","WalletWallet",448,{"id":875,"name":876,"points":877,"category":878},"46377597","Vibium",443,"dev_tools",{"id":880,"name":881,"points":882,"category":883},"46344573","Gaming Couch",437,"games",{"id":885,"name":886,"points":887,"category":878},"46362655","CineCLI",348,false,"v2",{"id":891,"name":5,"line":5,"ai":888,"cat":19,"year":12,"points":13,"comments":14,"rec":26,"s":892,"top":17,"kw":893,"maker":10,"domain":9,"tier":18,"attempts":36,"strip":894,"url":8,"mix":895,"praise":87,"objection":111,"sub":20},46345897,-0.21,[23,20,24,25],"0033111503303100315412131112332332234221",[29,30,31,32],1794036687896]