[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-dc6c8924ef957432-zig-bans-ai-prs-to-bet-on-contributors-not-code-summary":3,"summaries-facets-categories":102,"summary-related-dc6c8924ef957432-zig-bans-ai-prs-to-bet-on-contributors-not-code-summary":3671},{"id":4,"title":5,"ai":6,"body":13,"categories":44,"created_at":46,"date_modified":46,"description":39,"extension":47,"faq":46,"featured":48,"kicker_label":46,"meta":49,"navigation":85,"path":86,"published_at":46,"question":46,"scraped_at":87,"seo":88,"sitemap":89,"source_id":90,"source_name":91,"source_type":92,"source_url":93,"stem":94,"tags":95,"thumbnail_url":46,"tldr":99,"tweet":46,"unknown_tags":100,"__hash__":101},"summaries\u002Fsummaries\u002Fdc6c8924ef957432-zig-bans-ai-prs-to-bet-on-contributors-not-code-summary.md","Zig Bans AI PRs to Bet on Contributors, Not Code",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",4777,1746,17998,0.0018059,{"type":14,"value":15,"toc":38},"minimark",[16,21,25,28,32,35],[17,18,20],"h2",{"id":19},"treat-contributors-as-long-term-investments","Treat Contributors as Long-Term Investments",[22,23,24],"p",{},"Successful open-source projects like Zig drown in PRs but prioritize growing new contributors over cherry-picking perfect code. Zig's core team reviews even imperfect first PRs to build confident, prolific contributors—each one an 'investment' that pays off over time. This 'contributor poker' mindset means betting on the person, not the PR contents, much like poker where you play the opponent over the cards. Evidence: Zig's strict policy bans LLMs entirely for issues, PRs, and comments, encouraging native-language posts with human translation.",[22,26,27],{},"Contrast with Bun, Zig's most prominent project, acquired by Anthropic in December 2025. Bun's Zig fork added parallel semantic analysis and multiple codegen units to LLVM backend, yielding 4x faster compiles (see diff: oven-sh\u002Fzig upgrade-0.15.2…upgrade-0.15.2-fast). Bun won't upstream due to Zig's ban, as LLM assistance dominates their workflow.",[17,29,31],{"id":30},"llm-assistance-wastes-maintainer-time","LLM Assistance Wastes Maintainer Time",[22,33,34],{},"Reviewing LLM-generated PRs yields zero return on investment for maintainers. A perfect AI-written PR doesn't teach the submitter Zig's nuances, so the review effort doesn't create a skilled future contributor. Instead, maintainers could prompt their own LLM to solve the issue faster. Loris Cro (Zig Software Foundation VP of Community) argues this in 'Contributor Poker and Zig's AI Ban': helping imperfect human PRs maximizes ROI by expanding the trusted contributor pool, while AI PRs just demand review without upside.",[22,36,37],{},"Trade-off: Strict bans deter quick wins (e.g., Bun's 4x perf) but sustain a human-driven community. Bun's heavy AI use highlights the fork risk—projects split when policies clash with AI workflows.",{"title":39,"searchDepth":40,"depth":40,"links":41},"",2,[42,43],{"id":19,"depth":40,"text":20},{"id":30,"depth":40,"text":31},[45],"Software Engineering",null,"md",false,{"content_references":50,"triage":80},[51,56,59,64,67,70,73,77],{"type":52,"title":53,"url":54,"context":55},"tool","Zig","https:\u002F\u002Fziglang.org\u002F","mentioned",{"type":52,"title":57,"url":58,"context":55},"Bun","https:\u002F\u002Fbun.com\u002F",{"type":60,"title":61,"url":62,"context":63},"other","Zig Code of Conduct","https:\u002F\u002Fziglang.org\u002Fcode-of-conduct\u002F","cited",{"type":60,"title":65,"url":66,"context":55},"Bun Joins Anthropic","https:\u002F\u002Fbun.com\u002Fblog\u002Fbun-joins-anthropic",{"type":60,"title":68,"url":69,"context":63},"Bun Compile Perf Tweet","https:\u002F\u002Fx.com\u002Fbunjavascript\u002Fstatus\u002F2048427636414923250",{"type":60,"title":71,"url":72,"context":63},"Bun Zig Fork Diff","https:\u002F\u002Fgithub.com\u002Foven-sh\u002Fzig\u002Fcompare\u002Fupgrade-0.15.2…upgrade-0.15.2-fast",{"type":60,"title":74,"author":75,"url":76,"context":63},"Contributor Poker and Zig's AI Ban","Loris Cro","https:\u002F\u002Fkristoff.it\u002Fblog\u002Fcontributor_poker_and_ai\u002F",{"type":60,"title":78,"url":79,"context":55},"Lobste.rs Thread","https:\u002F\u002Flobste.rs\u002Fs\u002Fifcyr1\u002Fcontributor_poker_zig_s_ai_ban",{"relevance":81,"novelty":82,"quality":81,"actionability":82,"composite":83,"reasoning":84},4,3,3.6,"Category: Business & SaaS. The article discusses a unique approach to managing contributions in open-source projects, emphasizing the long-term investment in human contributors over AI-generated code, which addresses a specific pain point of balancing AI use with community growth. It provides insights into the trade-offs of banning AI contributions, but lacks detailed actionable steps for implementation.",true,"\u002Fsummaries\u002Fdc6c8924ef957432-zig-bans-ai-prs-to-bet-on-contributors-not-code-summary","2026-05-03 17:01:57",{"title":5,"description":39},{"loc":86},"dc6c8924ef957432","Simon Willison's Weblog","article","https:\u002F\u002Fsimonwillison.net\u002F2026\u002FApr\u002F30\u002Fzig-anti-ai\u002F#atom-everything","summaries\u002Fdc6c8924ef957432-zig-bans-ai-prs-to-bet-on-contributors-not-code-summary",[96,97,98],"open-source","ai-assisted-programming","ai-ethics","Zig rejects LLM-generated contributions to invest review time in mentoring new contributors into long-term project assets, treating PRs as 'contributor poker' where you bet on the person over perfect code.",[97,98],"vBD-mBPHX9EUH3l2HC9OlHb-m0qpQFMNOJ5z8rCsHSw",[103,106,109,112,115,118,120,122,124,126,128,130,133,135,137,139,141,143,145,147,149,151,154,157,159,161,163,165,167,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787,789,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425,3427,3429,3431,3433,3435,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553,3555,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669],{"categories":104},[105],"Developer Productivity",{"categories":107},[108],"Business & SaaS",{"categories":110},[111],"AI & LLMs",{"categories":113},[114],"AI Automation",{"categories":116},[117],"Product Strategy",{"categories":119},[111],{"categories":121},[105],{"categories":123},[108],{"categories":125},[],{"categories":127},[111],{"categories":129},[],{"categories":131},[132],"AI News & Trends",{"categories":134},[114],{"categories":136},[132],{"categories":138},[114],{"categories":140},[114],{"categories":142},[111],{"categories":144},[111],{"categories":146},[132],{"categories":148},[111],{"categories":150},[],{"categories":152},[153],"Design & Frontend",{"categories":155},[156],"Data Science & Visualization",{"categories":158},[132],{"categories":160},[],{"categories":162},[45],{"categories":164},[111],{"categories":166},[114],{"categories":168},[169],"Marketing & Growth",{"categories":171},[111],{"categories":173},[114],{"categories":175},[],{"categories":177},[],{"categories":179},[153],{"categories":181},[114],{"categories":183},[105],{"categories":185},[153],{"categories":187},[111],{"categories":189},[114],{"categories":191},[132],{"categories":193},[],{"categories":195},[],{"categories":197},[114],{"categories":199},[45],{"categories":201},[],{"categories":203},[108],{"categories":205},[],{"categories":207},[],{"categories":209},[114],{"categories":211},[114],{"categories":213},[111],{"categories":215},[],{"categories":217},[45],{"categories":219},[],{"categories":221},[],{"categories":223},[],{"categories":225},[111],{"categories":227},[169],{"categories":229},[153],{"categories":231},[153],{"categories":233},[111],{"categories":235},[114],{"categories":237},[111],{"categories":239},[111],{"categories":241},[114],{"categories":243},[114],{"categories":245},[156],{"categories":247},[132],{"categories":249},[114],{"categories":251},[169],{"categories":253},[114],{"categories":255},[117],{"categories":257},[],{"categories":259},[114],{"categories":261},[],{"categories":263},[114],{"categories":265},[45],{"categories":267},[153],{"categories":269},[111],{"categories":271},[],{"categories":273},[],{"categories":275},[114],{"categories":277},[],{"categories":279},[111],{"categories":281},[],{"categories":283},[105],{"categories":285},[45],{"categories":287},[108],{"categories":289},[132],{"categories":291},[111],{"categories":293},[],{"categories":295},[111],{"categories":297},[],{"categories":299},[45],{"categories":301},[156],{"categories":303},[],{"categories":305},[111],{"categories":307},[153],{"categories":309},[],{"categories":311},[153],{"categories":313},[114],{"categories":315},[],{"categories":317},[114],{"categories":319},[132],{"categories":321},[111],{"categories":323},[],{"categories":325},[114],{"categories":327},[111],{"categories":329},[117],{"categories":331},[],{"categories":333},[111],{"categories":335},[114],{"categories":337},[114],{"categories":339},[],{"categories":341},[156],{"categories":343},[111],{"categories":345},[],{"categories":347},[105],{"categories":349},[108],{"categories":351},[111],{"categories":353},[114],{"categories":355},[45],{"categories":357},[111],{"categories":359},[],{"categories":361},[],{"categories":363},[111],{"categories":365},[],{"categories":367},[153],{"categories":369},[],{"categories":371},[111],{"categories":373},[],{"categories":375},[114],{"categories":377},[111],{"categories":379},[153],{"categories":381},[],{"categories":383},[111],{"categories":385},[111],{"categories":387},[108],{"categories":389},[114],{"categories":391},[111],{"categories":393},[153],{"categories":395},[114],{"categories":397},[],{"categories":399},[],{"categories":401},[132],{"categories":403},[],{"categories":405},[111],{"categories":407},[108,169],{"categories":409},[],{"categories":411},[111],{"categories":413},[],{"categories":415},[],{"categories":417},[111],{"categories":419},[],{"categories":421},[111],{"categories":423},[424],"DevOps & Cloud",{"categories":426},[],{"categories":428},[132],{"categories":430},[153],{"categories":432},[],{"categories":434},[132],{"categories":436},[132],{"categories":438},[111],{"categories":440},[169],{"categories":442},[],{"categories":444},[108],{"categories":446},[],{"categories":448},[111,424],{"categories":450},[111],{"categories":452},[111],{"categories":454},[114],{"categories":456},[111,45],{"categories":458},[156],{"categories":460},[111],{"categories":462},[169],{"categories":464},[114],{"categories":466},[114],{"categories":468},[],{"categories":470},[114],{"categories":472},[111,108],{"categories":474},[],{"categories":476},[153],{"categories":478},[153],{"categories":480},[],{"categories":482},[],{"categories":484},[132],{"categories":486},[],{"categories":488},[105],{"categories":490},[45],{"categories":492},[111],{"categories":494},[153],{"categories":496},[114],{"categories":498},[45],{"categories":500},[132],{"categories":502},[153],{"categories":504},[],{"categories":506},[111],{"categories":508},[111],{"categories":510},[111],{"categories":512},[132],{"categories":514},[105],{"categories":516},[111],{"categories":518},[114],{"categories":520},[424],{"categories":522},[153],{"categories":524},[114],{"categories":526},[],{"categories":528},[],{"categories":530},[153],{"categories":532},[132],{"categories":534},[156],{"categories":536},[],{"categories":538},[111],{"categories":540},[111],{"categories":542},[108],{"categories":544},[111],{"categories":546},[111],{"categories":548},[132],{"categories":550},[],{"categories":552},[114],{"categories":554},[45],{"categories":556},[],{"categories":558},[111],{"categories":560},[111],{"categories":562},[114],{"categories":564},[],{"categories":566},[],{"categories":568},[111],{"categories":570},[],{"categories":572},[108],{"categories":574},[114],{"categories":576},[],{"categories":578},[105],{"categories":580},[111],{"categories":582},[108],{"categories":584},[132],{"categories":586},[],{"categories":588},[],{"categories":590},[],{"categories":592},[132],{"categories":594},[132],{"categories":596},[],{"categories":598},[],{"categories":600},[108],{"categories":602},[],{"categories":604},[],{"categories":606},[105],{"categories":608},[],{"categories":610},[169],{"categories":612},[114],{"categories":614},[108],{"categories":616},[114],{"categories":618},[],{"categories":620},[117],{"categories":622},[153],{"categories":624},[45],{"categories":626},[111],{"categories":628},[114],{"categories":630},[108],{"categories":632},[111],{"categories":634},[],{"categories":636},[],{"categories":638},[45],{"categories":640},[156],{"categories":642},[117],{"categories":644},[114],{"categories":646},[111],{"categories":648},[],{"categories":650},[424],{"categories":652},[],{"categories":654},[114],{"categories":656},[],{"categories":658},[],{"categories":660},[111],{"categories":662},[153],{"categories":664},[169],{"categories":666},[114],{"categories":668},[],{"categories":670},[105],{"categories":672},[],{"categories":674},[132],{"categories":676},[111,424],{"categories":678},[132],{"categories":680},[111],{"categories":682},[108],{"categories":684},[111],{"categories":686},[],{"categories":688},[108],{"categories":690},[],{"categories":692},[45],{"categories":694},[153],{"categories":696},[132],{"categories":698},[156],{"categories":700},[105],{"categories":702},[111],{"categories":704},[45],{"categories":706},[],{"categories":708},[],{"categories":710},[117],{"categories":712},[],{"categories":714},[111],{"categories":716},[],{"categories":718},[153],{"categories":720},[153],{"categories":722},[153],{"categories":724},[],{"categories":726},[],{"categories":728},[132],{"categories":730},[114],{"categories":732},[111],{"categories":734},[111],{"categories":736},[111],{"categories":738},[108],{"categories":740},[111],{"categories":742},[],{"categories":744},[45],{"categories":746},[45],{"categories":748},[108],{"categories":750},[],{"categories":752},[111],{"categories":754},[111],{"categories":756},[108],{"categories":758},[132],{"categories":760},[169],{"categories":762},[114],{"categories":764},[],{"categories":766},[153],{"categories":768},[],{"categories":770},[111],{"categories":772},[],{"categories":774},[108],{"categories":776},[114],{"categories":778},[],{"categories":780},[424],{"categories":782},[156],{"categories":784},[45],{"categories":786},[169],{"categories":788},[45],{"categories":790},[114],{"categories":792},[],{"categories":794},[],{"categories":796},[114],{"categories":798},[105],{"categories":800},[114],{"categories":802},[117],{"categories":804},[108],{"categories":806},[],{"categories":808},[111],{"categories":810},[117],{"categories":812},[111],{"categories":814},[111],{"categories":816},[169],{"categories":818},[153],{"categories":820},[114],{"categories":822},[],{"categories":824},[],{"categories":826},[424],{"categories":828},[45],{"categories":830},[],{"categories":832},[114],{"categories":834},[111],{"categories":836},[153,111],{"categories":838},[105],{"categories":840},[],{"categories":842},[111],{"categories":844},[105],{"categories":846},[153],{"categories":848},[114],{"categories":850},[45],{"categories":852},[],{"categories":854},[111],{"categories":856},[],{"categories":858},[105],{"categories":860},[],{"categories":862},[114],{"categories":864},[117],{"categories":866},[111],{"categories":868},[111],{"categories":870},[153],{"categories":872},[114],{"categories":874},[424],{"categories":876},[153],{"categories":878},[114],{"categories":880},[111],{"categories":882},[111],{"categories":884},[111],{"categories":886},[132],{"categories":888},[],{"categories":890},[117],{"categories":892},[114],{"categories":894},[153],{"categories":896},[114],{"categories":898},[45],{"categories":900},[153],{"categories":902},[114],{"categories":904},[132],{"categories":906},[],{"categories":908},[111],{"categories":910},[153],{"categories":912},[111],{"categories":914},[105],{"categories":916},[132],{"categories":918},[111],{"categories":920},[169],{"categories":922},[111],{"categories":924},[111],{"categories":926},[114],{"categories":928},[114],{"categories":930},[111],{"categories":932},[114],{"categories":934},[153],{"categories":936},[111],{"categories":938},[],{"categories":940},[],{"categories":942},[45],{"categories":944},[],{"categories":946},[105],{"categories":948},[424],{"categories":950},[],{"categories":952},[105],{"categories":954},[108],{"categories":956},[169],{"categories":958},[],{"categories":960},[108],{"categories":962},[],{"categories":964},[],{"categories":966},[],{"categories":968},[],{"categories":970},[],{"categories":972},[111],{"categories":974},[114],{"categories":976},[424],{"categories":978},[105],{"categories":980},[111],{"categories":982},[45],{"categories":984},[117],{"categories":986},[111],{"categories":988},[169],{"categories":990},[111],{"categories":992},[111],{"categories":994},[111],{"categories":996},[111,105],{"categories":998},[45],{"categories":1000},[45],{"categories":1002},[153],{"categories":1004},[111],{"categories":1006},[],{"categories":1008},[],{"categories":1010},[],{"categories":1012},[45],{"categories":1014},[156],{"categories":1016},[132],{"categories":1018},[153],{"categories":1020},[],{"categories":1022},[111],{"categories":1024},[111],{"categories":1026},[],{"categories":1028},[],{"categories":1030},[114],{"categories":1032},[111],{"categories":1034},[108],{"categories":1036},[],{"categories":1038},[105],{"categories":1040},[111],{"categories":1042},[105],{"categories":1044},[111],{"categories":1046},[45],{"categories":1048},[169],{"categories":1050},[111,153],{"categories":1052},[132],{"categories":1054},[153],{"categories":1056},[],{"categories":1058},[424],{"categories":1060},[153],{"categories":1062},[114],{"categories":1064},[],{"categories":1066},[],{"categories":1068},[],{"categories":1070},[],{"categories":1072},[45],{"categories":1074},[114],{"categories":1076},[114],{"categories":1078},[111],{"categories":1080},[111],{"categories":1082},[],{"categories":1084},[153],{"categories":1086},[],{"categories":1088},[],{"categories":1090},[114],{"categories":1092},[],{"categories":1094},[],{"categories":1096},[169],{"categories":1098},[169],{"categories":1100},[114],{"categories":1102},[],{"categories":1104},[111],{"categories":1106},[111],{"categories":1108},[45],{"categories":1110},[153],{"categories":1112},[153],{"categories":1114},[114],{"categories":1116},[105],{"categories":1118},[111],{"categories":1120},[153],{"categories":1122},[153],{"categories":1124},[114],{"categories":1126},[114],{"categories":1128},[111],{"categories":1130},[],{"categories":1132},[],{"categories":1134},[111],{"categories":1136},[114],{"categories":1138},[132],{"categories":1140},[45],{"categories":1142},[105],{"categories":1144},[111],{"categories":1146},[],{"categories":1148},[114],{"categories":1150},[114],{"categories":1152},[],{"categories":1154},[105],{"categories":1156},[111],{"categories":1158},[105],{"categories":1160},[105],{"categories":1162},[],{"categories":1164},[],{"categories":1166},[114],{"categories":1168},[114],{"categories":1170},[111],{"categories":1172},[111],{"categories":1174},[132],{"categories":1176},[156],{"categories":1178},[117],{"categories":1180},[132],{"categories":1182},[153],{"categories":1184},[],{"categories":1186},[132],{"categories":1188},[],{"categories":1190},[],{"categories":1192},[],{"categories":1194},[],{"categories":1196},[45],{"categories":1198},[156],{"categories":1200},[],{"categories":1202},[111],{"categories":1204},[111],{"categories":1206},[156],{"categories":1208},[45],{"categories":1210},[],{"categories":1212},[],{"categories":1214},[114],{"categories":1216},[132],{"categories":1218},[132],{"categories":1220},[114],{"categories":1222},[105],{"categories":1224},[111,424],{"categories":1226},[],{"categories":1228},[153],{"categories":1230},[105],{"categories":1232},[114],{"categories":1234},[153],{"categories":1236},[],{"categories":1238},[114],{"categories":1240},[114],{"categories":1242},[111],{"categories":1244},[169],{"categories":1246},[45],{"categories":1248},[153],{"categories":1250},[],{"categories":1252},[114],{"categories":1254},[111],{"categories":1256},[114],{"categories":1258},[114],{"categories":1260},[114],{"categories":1262},[169],{"categories":1264},[114],{"categories":1266},[111],{"categories":1268},[],{"categories":1270},[169],{"categories":1272},[132],{"categories":1274},[114],{"categories":1276},[],{"categories":1278},[],{"categories":1280},[111],{"categories":1282},[114],{"categories":1284},[132],{"categories":1286},[114],{"categories":1288},[],{"categories":1290},[],{"categories":1292},[],{"categories":1294},[114],{"categories":1296},[],{"categories":1298},[],{"categories":1300},[156],{"categories":1302},[111],{"categories":1304},[156],{"categories":1306},[132],{"categories":1308},[111],{"categories":1310},[111],{"categories":1312},[114],{"categories":1314},[111],{"categories":1316},[],{"categories":1318},[],{"categories":1320},[424],{"categories":1322},[],{"categories":1324},[],{"categories":1326},[105],{"categories":1328},[],{"categories":1330},[],{"categories":1332},[],{"categories":1334},[],{"categories":1336},[45],{"categories":1338},[132],{"categories":1340},[169],{"categories":1342},[108],{"categories":1344},[111],{"categories":1346},[111],{"categories":1348},[108],{"categories":1350},[],{"categories":1352},[153],{"categories":1354},[114],{"categories":1356},[108],{"categories":1358},[111],{"categories":1360},[111],{"categories":1362},[105],{"categories":1364},[],{"categories":1366},[105],{"categories":1368},[111],{"categories":1370},[169],{"categories":1372},[114],{"categories":1374},[132],{"categories":1376},[108],{"categories":1378},[111],{"categories":1380},[114],{"categories":1382},[],{"categories":1384},[111],{"categories":1386},[105],{"categories":1388},[111],{"categories":1390},[],{"categories":1392},[132],{"categories":1394},[111],{"categories":1396},[],{"categories":1398},[108],{"categories":1400},[111],{"categories":1402},[],{"categories":1404},[],{"categories":1406},[],{"categories":1408},[111],{"categories":1410},[],{"categories":1412},[424],{"categories":1414},[111],{"categories":1416},[],{"categories":1418},[111],{"categories":1420},[111],{"categories":1422},[111],{"categories":1424},[111,424],{"categories":1426},[111],{"categories":1428},[111],{"categories":1430},[153],{"categories":1432},[114],{"categories":1434},[],{"categories":1436},[114],{"categories":1438},[111],{"categories":1440},[111],{"categories":1442},[111],{"categories":1444},[105],{"categories":1446},[105],{"categories":1448},[45],{"categories":1450},[153],{"categories":1452},[114],{"categories":1454},[],{"categories":1456},[111],{"categories":1458},[132],{"categories":1460},[111],{"categories":1462},[108],{"categories":1464},[],{"categories":1466},[424],{"categories":1468},[153],{"categories":1470},[153],{"categories":1472},[114],{"categories":1474},[132],{"categories":1476},[114],{"categories":1478},[111],{"categories":1480},[],{"categories":1482},[111],{"categories":1484},[],{"categories":1486},[],{"categories":1488},[111],{"categories":1490},[111],{"categories":1492},[111],{"categories":1494},[114],{"categories":1496},[111],{"categories":1498},[],{"categories":1500},[156],{"categories":1502},[114],{"categories":1504},[],{"categories":1506},[111],{"categories":1508},[132],{"categories":1510},[],{"categories":1512},[153],{"categories":1514},[424],{"categories":1516},[132],{"categories":1518},[45],{"categories":1520},[45],{"categories":1522},[132],{"categories":1524},[132],{"categories":1526},[424],{"categories":1528},[],{"categories":1530},[132],{"categories":1532},[111],{"categories":1534},[105],{"categories":1536},[132],{"categories":1538},[],{"categories":1540},[156],{"categories":1542},[132],{"categories":1544},[45],{"categories":1546},[132],{"categories":1548},[424],{"categories":1550},[111],{"categories":1552},[111],{"categories":1554},[],{"categories":1556},[108],{"categories":1558},[],{"categories":1560},[],{"categories":1562},[111],{"categories":1564},[111],{"categories":1566},[111],{"categories":1568},[111],{"categories":1570},[],{"categories":1572},[156],{"categories":1574},[105],{"categories":1576},[],{"categories":1578},[111],{"categories":1580},[111],{"categories":1582},[424],{"categories":1584},[424],{"categories":1586},[],{"categories":1588},[114],{"categories":1590},[132],{"categories":1592},[132],{"categories":1594},[111],{"categories":1596},[114],{"categories":1598},[],{"categories":1600},[153],{"categories":1602},[111],{"categories":1604},[111],{"categories":1606},[],{"categories":1608},[],{"categories":1610},[424],{"categories":1612},[111],{"categories":1614},[45],{"categories":1616},[108],{"categories":1618},[111],{"categories":1620},[],{"categories":1622},[114],{"categories":1624},[105],{"categories":1626},[105],{"categories":1628},[],{"categories":1630},[111],{"categories":1632},[153],{"categories":1634},[114],{"categories":1636},[],{"categories":1638},[111],{"categories":1640},[111],{"categories":1642},[114],{"categories":1644},[],{"categories":1646},[114],{"categories":1648},[45],{"categories":1650},[],{"categories":1652},[111],{"categories":1654},[],{"categories":1656},[111],{"categories":1658},[],{"categories":1660},[111],{"categories":1662},[111],{"categories":1664},[],{"categories":1666},[111],{"categories":1668},[132],{"categories":1670},[111],{"categories":1672},[111],{"categories":1674},[105],{"categories":1676},[111],{"categories":1678},[132],{"categories":1680},[114],{"categories":1682},[],{"categories":1684},[111],{"categories":1686},[169],{"categories":1688},[],{"categories":1690},[],{"categories":1692},[],{"categories":1694},[105],{"categories":1696},[132],{"categories":1698},[114],{"categories":1700},[111],{"categories":1702},[153],{"categories":1704},[114],{"categories":1706},[],{"categories":1708},[114],{"categories":1710},[],{"categories":1712},[111],{"categories":1714},[114],{"categories":1716},[111],{"categories":1718},[],{"categories":1720},[111],{"categories":1722},[111],{"categories":1724},[132],{"categories":1726},[153],{"categories":1728},[114],{"categories":1730},[153],{"categories":1732},[108],{"categories":1734},[],{"categories":1736},[],{"categories":1738},[111],{"categories":1740},[105],{"categories":1742},[132],{"categories":1744},[],{"categories":1746},[],{"categories":1748},[45],{"categories":1750},[153],{"categories":1752},[],{"categories":1754},[111],{"categories":1756},[],{"categories":1758},[169],{"categories":1760},[111],{"categories":1762},[424],{"categories":1764},[45],{"categories":1766},[],{"categories":1768},[114],{"categories":1770},[111],{"categories":1772},[114],{"categories":1774},[114],{"categories":1776},[111],{"categories":1778},[],{"categories":1780},[105],{"categories":1782},[111],{"categories":1784},[108],{"categories":1786},[45],{"categories":1788},[153],{"categories":1790},[],{"categories":1792},[],{"categories":1794},[],{"categories":1796},[114],{"categories":1798},[153],{"categories":1800},[132],{"categories":1802},[111],{"categories":1804},[132],{"categories":1806},[153],{"categories":1808},[],{"categories":1810},[153],{"categories":1812},[132],{"categories":1814},[108],{"categories":1816},[111],{"categories":1818},[132],{"categories":1820},[169],{"categories":1822},[],{"categories":1824},[],{"categories":1826},[156],{"categories":1828},[111,45],{"categories":1830},[132],{"categories":1832},[111],{"categories":1834},[114],{"categories":1836},[114],{"categories":1838},[111],{"categories":1840},[],{"categories":1842},[45],{"categories":1844},[111],{"categories":1846},[156],{"categories":1848},[114],{"categories":1850},[169],{"categories":1852},[424],{"categories":1854},[],{"categories":1856},[105],{"categories":1858},[114],{"categories":1860},[114],{"categories":1862},[45],{"categories":1864},[111],{"categories":1866},[111],{"categories":1868},[],{"categories":1870},[],{"categories":1872},[],{"categories":1874},[424],{"categories":1876},[132],{"categories":1878},[111],{"categories":1880},[111],{"categories":1882},[111],{"categories":1884},[],{"categories":1886},[156],{"categories":1888},[108],{"categories":1890},[],{"categories":1892},[114],{"categories":1894},[424],{"categories":1896},[],{"categories":1898},[153],{"categories":1900},[153],{"categories":1902},[],{"categories":1904},[45],{"categories":1906},[153],{"categories":1908},[111],{"categories":1910},[],{"categories":1912},[132],{"categories":1914},[111],{"categories":1916},[153],{"categories":1918},[114],{"categories":1920},[132],{"categories":1922},[],{"categories":1924},[114],{"categories":1926},[153],{"categories":1928},[111],{"categories":1930},[],{"categories":1932},[111],{"categories":1934},[111],{"categories":1936},[424],{"categories":1938},[132],{"categories":1940},[156],{"categories":1942},[156],{"categories":1944},[],{"categories":1946},[],{"categories":1948},[],{"categories":1950},[114],{"categories":1952},[45],{"categories":1954},[45],{"categories":1956},[],{"categories":1958},[],{"categories":1960},[111],{"categories":1962},[],{"categories":1964},[114],{"categories":1966},[111],{"categories":1968},[],{"categories":1970},[111],{"categories":1972},[108],{"categories":1974},[111],{"categories":1976},[169],{"categories":1978},[114],{"categories":1980},[111],{"categories":1982},[45],{"categories":1984},[132],{"categories":1986},[114],{"categories":1988},[],{"categories":1990},[132],{"categories":1992},[114],{"categories":1994},[114],{"categories":1996},[],{"categories":1998},[108],{"categories":2000},[114],{"categories":2002},[],{"categories":2004},[111],{"categories":2006},[105],{"categories":2008},[132],{"categories":2010},[424],{"categories":2012},[114],{"categories":2014},[114],{"categories":2016},[105],{"categories":2018},[111],{"categories":2020},[],{"categories":2022},[],{"categories":2024},[153],{"categories":2026},[111,108],{"categories":2028},[],{"categories":2030},[105],{"categories":2032},[156],{"categories":2034},[111],{"categories":2036},[45],{"categories":2038},[111],{"categories":2040},[114],{"categories":2042},[111],{"categories":2044},[111],{"categories":2046},[132],{"categories":2048},[114],{"categories":2050},[],{"categories":2052},[],{"categories":2054},[114],{"categories":2056},[111],{"categories":2058},[424],{"categories":2060},[],{"categories":2062},[111],{"categories":2064},[114],{"categories":2066},[],{"categories":2068},[111],{"categories":2070},[169],{"categories":2072},[156],{"categories":2074},[114],{"categories":2076},[111],{"categories":2078},[424],{"categories":2080},[],{"categories":2082},[111],{"categories":2084},[169],{"categories":2086},[153],{"categories":2088},[111],{"categories":2090},[],{"categories":2092},[169],{"categories":2094},[132],{"categories":2096},[111],{"categories":2098},[111],{"categories":2100},[105],{"categories":2102},[],{"categories":2104},[],{"categories":2106},[153],{"categories":2108},[111],{"categories":2110},[156],{"categories":2112},[169],{"categories":2114},[169],{"categories":2116},[132],{"categories":2118},[],{"categories":2120},[],{"categories":2122},[111],{"categories":2124},[],{"categories":2126},[111,45],{"categories":2128},[132],{"categories":2130},[114],{"categories":2132},[45],{"categories":2134},[111],{"categories":2136},[105],{"categories":2138},[],{"categories":2140},[],{"categories":2142},[105],{"categories":2144},[169],{"categories":2146},[111],{"categories":2148},[],{"categories":2150},[153,111],{"categories":2152},[424],{"categories":2154},[105],{"categories":2156},[],{"categories":2158},[108],{"categories":2160},[108],{"categories":2162},[111],{"categories":2164},[45],{"categories":2166},[114],{"categories":2168},[132],{"categories":2170},[169],{"categories":2172},[153],{"categories":2174},[111],{"categories":2176},[111],{"categories":2178},[111],{"categories":2180},[105],{"categories":2182},[111],{"categories":2184},[114],{"categories":2186},[132],{"categories":2188},[],{"categories":2190},[],{"categories":2192},[156],{"categories":2194},[45],{"categories":2196},[111],{"categories":2198},[153],{"categories":2200},[156],{"categories":2202},[111],{"categories":2204},[111],{"categories":2206},[114],{"categories":2208},[114],{"categories":2210},[111,108],{"categories":2212},[],{"categories":2214},[153],{"categories":2216},[],{"categories":2218},[111],{"categories":2220},[132],{"categories":2222},[105],{"categories":2224},[105],{"categories":2226},[114],{"categories":2228},[111],{"categories":2230},[108],{"categories":2232},[45],{"categories":2234},[169],{"categories":2236},[],{"categories":2238},[132],{"categories":2240},[111],{"categories":2242},[111],{"categories":2244},[132],{"categories":2246},[45],{"categories":2248},[111],{"categories":2250},[114],{"categories":2252},[132],{"categories":2254},[111],{"categories":2256},[153],{"categories":2258},[111],{"categories":2260},[111],{"categories":2262},[424],{"categories":2264},[117],{"categories":2266},[114],{"categories":2268},[111],{"categories":2270},[132],{"categories":2272},[114],{"categories":2274},[169],{"categories":2276},[111],{"categories":2278},[],{"categories":2280},[111],{"categories":2282},[],{"categories":2284},[],{"categories":2286},[],{"categories":2288},[108],{"categories":2290},[111],{"categories":2292},[114],{"categories":2294},[132],{"categories":2296},[132],{"categories":2298},[132],{"categories":2300},[132],{"categories":2302},[],{"categories":2304},[105],{"categories":2306},[114],{"categories":2308},[132],{"categories":2310},[105],{"categories":2312},[114],{"categories":2314},[111],{"categories":2316},[111,114],{"categories":2318},[114],{"categories":2320},[424],{"categories":2322},[132],{"categories":2324},[132],{"categories":2326},[114],{"categories":2328},[111],{"categories":2330},[],{"categories":2332},[132],{"categories":2334},[169],{"categories":2336},[105],{"categories":2338},[111],{"categories":2340},[111],{"categories":2342},[],{"categories":2344},[45],{"categories":2346},[],{"categories":2348},[105],{"categories":2350},[114],{"categories":2352},[132],{"categories":2354},[111],{"categories":2356},[132],{"categories":2358},[105],{"categories":2360},[132],{"categories":2362},[132],{"categories":2364},[],{"categories":2366},[108],{"categories":2368},[114],{"categories":2370},[132],{"categories":2372},[132],{"categories":2374},[132],{"categories":2376},[132],{"categories":2378},[132],{"categories":2380},[132],{"categories":2382},[132],{"categories":2384},[132],{"categories":2386},[132],{"categories":2388},[132],{"categories":2390},[156],{"categories":2392},[105],{"categories":2394},[111],{"categories":2396},[111],{"categories":2398},[],{"categories":2400},[111,105],{"categories":2402},[],{"categories":2404},[114],{"categories":2406},[132],{"categories":2408},[114],{"categories":2410},[111],{"categories":2412},[111],{"categories":2414},[111],{"categories":2416},[111],{"categories":2418},[111],{"categories":2420},[114],{"categories":2422},[108],{"categories":2424},[153],{"categories":2426},[132],{"categories":2428},[111],{"categories":2430},[],{"categories":2432},[],{"categories":2434},[114],{"categories":2436},[153],{"categories":2438},[111],{"categories":2440},[],{"categories":2442},[],{"categories":2444},[169],{"categories":2446},[111],{"categories":2448},[],{"categories":2450},[],{"categories":2452},[105],{"categories":2454},[108],{"categories":2456},[111],{"categories":2458},[108],{"categories":2460},[153],{"categories":2462},[],{"categories":2464},[132],{"categories":2466},[],{"categories":2468},[153],{"categories":2470},[111],{"categories":2472},[169],{"categories":2474},[],{"categories":2476},[169],{"categories":2478},[],{"categories":2480},[],{"categories":2482},[114],{"categories":2484},[],{"categories":2486},[108],{"categories":2488},[105],{"categories":2490},[153],{"categories":2492},[45],{"categories":2494},[],{"categories":2496},[],{"categories":2498},[111],{"categories":2500},[105],{"categories":2502},[169],{"categories":2504},[],{"categories":2506},[114],{"categories":2508},[114],{"categories":2510},[132],{"categories":2512},[111],{"categories":2514},[114],{"categories":2516},[111],{"categories":2518},[114],{"categories":2520},[111],{"categories":2522},[117],{"categories":2524},[132],{"categories":2526},[],{"categories":2528},[169],{"categories":2530},[45],{"categories":2532},[114],{"categories":2534},[],{"categories":2536},[111],{"categories":2538},[114],{"categories":2540},[108],{"categories":2542},[105],{"categories":2544},[111],{"categories":2546},[153],{"categories":2548},[45],{"categories":2550},[45],{"categories":2552},[111],{"categories":2554},[156],{"categories":2556},[111],{"categories":2558},[114],{"categories":2560},[108],{"categories":2562},[114],{"categories":2564},[111],{"categories":2566},[111],{"categories":2568},[114],{"categories":2570},[132],{"categories":2572},[],{"categories":2574},[105],{"categories":2576},[111],{"categories":2578},[114],{"categories":2580},[111],{"categories":2582},[111],{"categories":2584},[],{"categories":2586},[153],{"categories":2588},[108],{"categories":2590},[132],{"categories":2592},[111],{"categories":2594},[111],{"categories":2596},[153],{"categories":2598},[169],{"categories":2600},[156],{"categories":2602},[111],{"categories":2604},[132],{"categories":2606},[111],{"categories":2608},[114],{"categories":2610},[424],{"categories":2612},[111],{"categories":2614},[114],{"categories":2616},[156],{"categories":2618},[],{"categories":2620},[114],{"categories":2622},[45],{"categories":2624},[153],{"categories":2626},[111],{"categories":2628},[105],{"categories":2630},[108],{"categories":2632},[45],{"categories":2634},[],{"categories":2636},[114],{"categories":2638},[111],{"categories":2640},[],{"categories":2642},[132],{"categories":2644},[],{"categories":2646},[132],{"categories":2648},[111],{"categories":2650},[114],{"categories":2652},[114],{"categories":2654},[114],{"categories":2656},[],{"categories":2658},[],{"categories":2660},[111],{"categories":2662},[111],{"categories":2664},[],{"categories":2666},[153],{"categories":2668},[114],{"categories":2670},[169],{"categories":2672},[105],{"categories":2674},[],{"categories":2676},[],{"categories":2678},[132],{"categories":2680},[45],{"categories":2682},[111],{"categories":2684},[111],{"categories":2686},[111],{"categories":2688},[45],{"categories":2690},[132],{"categories":2692},[153],{"categories":2694},[111],{"categories":2696},[111],{"categories":2698},[111],{"categories":2700},[132],{"categories":2702},[111],{"categories":2704},[132],{"categories":2706},[114],{"categories":2708},[114],{"categories":2710},[45],{"categories":2712},[114],{"categories":2714},[111],{"categories":2716},[45],{"categories":2718},[153],{"categories":2720},[],{"categories":2722},[114],{"categories":2724},[],{"categories":2726},[],{"categories":2728},[108],{"categories":2730},[111],{"categories":2732},[114],{"categories":2734},[105],{"categories":2736},[114],{"categories":2738},[169],{"categories":2740},[],{"categories":2742},[114],{"categories":2744},[],{"categories":2746},[105],{"categories":2748},[114],{"categories":2750},[],{"categories":2752},[114],{"categories":2754},[111],{"categories":2756},[132],{"categories":2758},[111],{"categories":2760},[114],{"categories":2762},[132],{"categories":2764},[114],{"categories":2766},[45],{"categories":2768},[153],{"categories":2770},[105],{"categories":2772},[],{"categories":2774},[114],{"categories":2776},[153],{"categories":2778},[132],{"categories":2780},[111],{"categories":2782},[153],{"categories":2784},[105],{"categories":2786},[],{"categories":2788},[114],{"categories":2790},[114],{"categories":2792},[111],{"categories":2794},[],{"categories":2796},[114],{"categories":2798},[117],{"categories":2800},[132],{"categories":2802},[114],{"categories":2804},[108],{"categories":2806},[],{"categories":2808},[111],{"categories":2810},[117],{"categories":2812},[111],{"categories":2814},[114],{"categories":2816},[132],{"categories":2818},[105],{"categories":2820},[424],{"categories":2822},[111],{"categories":2824},[111],{"categories":2826},[111],{"categories":2828},[132],{"categories":2830},[108],{"categories":2832},[111],{"categories":2834},[153],{"categories":2836},[132],{"categories":2838},[424],{"categories":2840},[111],{"categories":2842},[],{"categories":2844},[],{"categories":2846},[424],{"categories":2848},[156],{"categories":2850},[114],{"categories":2852},[114],{"categories":2854},[132],{"categories":2856},[111],{"categories":2858},[105],{"categories":2860},[153],{"categories":2862},[114],{"categories":2864},[111],{"categories":2866},[169],{"categories":2868},[111],{"categories":2870},[114],{"categories":2872},[],{"categories":2874},[111],{"categories":2876},[111],{"categories":2878},[132],{"categories":2880},[105],{"categories":2882},[],{"categories":2884},[111],{"categories":2886},[111],{"categories":2888},[45],{"categories":2890},[153],{"categories":2892},[111,114],{"categories":2894},[169,108],{"categories":2896},[111],{"categories":2898},[],{"categories":2900},[114],{"categories":2902},[],{"categories":2904},[45],{"categories":2906},[111],{"categories":2908},[132],{"categories":2910},[],{"categories":2912},[114],{"categories":2914},[],{"categories":2916},[114],{"categories":2918},[105],{"categories":2920},[114],{"categories":2922},[111],{"categories":2924},[424],{"categories":2926},[169],{"categories":2928},[108],{"categories":2930},[108],{"categories":2932},[105],{"categories":2934},[105],{"categories":2936},[111],{"categories":2938},[114],{"categories":2940},[111],{"categories":2942},[111],{"categories":2944},[105],{"categories":2946},[111],{"categories":2948},[169],{"categories":2950},[132],{"categories":2952},[111],{"categories":2954},[114],{"categories":2956},[111],{"categories":2958},[],{"categories":2960},[45],{"categories":2962},[],{"categories":2964},[114],{"categories":2966},[105],{"categories":2968},[],{"categories":2970},[424],{"categories":2972},[111],{"categories":2974},[],{"categories":2976},[132],{"categories":2978},[114],{"categories":2980},[45],{"categories":2982},[111],{"categories":2984},[114],{"categories":2986},[45],{"categories":2988},[114],{"categories":2990},[132],{"categories":2992},[105],{"categories":2994},[132],{"categories":2996},[45],{"categories":2998},[111],{"categories":3000},[153],{"categories":3002},[111],{"categories":3004},[111],{"categories":3006},[111],{"categories":3008},[111],{"categories":3010},[114],{"categories":3012},[111],{"categories":3014},[114],{"categories":3016},[111],{"categories":3018},[105],{"categories":3020},[111],{"categories":3022},[114],{"categories":3024},[153],{"categories":3026},[105],{"categories":3028},[114],{"categories":3030},[153],{"categories":3032},[],{"categories":3034},[111],{"categories":3036},[111],{"categories":3038},[45],{"categories":3040},[],{"categories":3042},[114],{"categories":3044},[169],{"categories":3046},[111],{"categories":3048},[132],{"categories":3050},[169],{"categories":3052},[114],{"categories":3054},[108],{"categories":3056},[108],{"categories":3058},[111],{"categories":3060},[105],{"categories":3062},[],{"categories":3064},[111],{"categories":3066},[],{"categories":3068},[105],{"categories":3070},[111],{"categories":3072},[114],{"categories":3074},[114],{"categories":3076},[],{"categories":3078},[45],{"categories":3080},[45],{"categories":3082},[169],{"categories":3084},[153],{"categories":3086},[],{"categories":3088},[111],{"categories":3090},[105],{"categories":3092},[111],{"categories":3094},[45],{"categories":3096},[105],{"categories":3098},[132],{"categories":3100},[132],{"categories":3102},[],{"categories":3104},[132],{"categories":3106},[114],{"categories":3108},[153],{"categories":3110},[156],{"categories":3112},[111],{"categories":3114},[],{"categories":3116},[132],{"categories":3118},[45],{"categories":3120},[108],{"categories":3122},[111],{"categories":3124},[105],{"categories":3126},[424],{"categories":3128},[105],{"categories":3130},[],{"categories":3132},[],{"categories":3134},[132],{"categories":3136},[],{"categories":3138},[114],{"categories":3140},[114],{"categories":3142},[114],{"categories":3144},[],{"categories":3146},[111],{"categories":3148},[],{"categories":3150},[132],{"categories":3152},[105],{"categories":3154},[153],{"categories":3156},[111],{"categories":3158},[132],{"categories":3160},[132],{"categories":3162},[],{"categories":3164},[132],{"categories":3166},[105],{"categories":3168},[111],{"categories":3170},[],{"categories":3172},[114],{"categories":3174},[114],{"categories":3176},[105],{"categories":3178},[],{"categories":3180},[],{"categories":3182},[],{"categories":3184},[153],{"categories":3186},[114],{"categories":3188},[111],{"categories":3190},[],{"categories":3192},[],{"categories":3194},[],{"categories":3196},[153],{"categories":3198},[],{"categories":3200},[105],{"categories":3202},[],{"categories":3204},[],{"categories":3206},[153],{"categories":3208},[111],{"categories":3210},[132],{"categories":3212},[],{"categories":3214},[169],{"categories":3216},[132],{"categories":3218},[169],{"categories":3220},[111],{"categories":3222},[],{"categories":3224},[],{"categories":3226},[114],{"categories":3228},[],{"categories":3230},[],{"categories":3232},[114],{"categories":3234},[111],{"categories":3236},[],{"categories":3238},[114],{"categories":3240},[132],{"categories":3242},[169],{"categories":3244},[156],{"categories":3246},[114],{"categories":3248},[114],{"categories":3250},[],{"categories":3252},[],{"categories":3254},[],{"categories":3256},[132],{"categories":3258},[],{"categories":3260},[],{"categories":3262},[153],{"categories":3264},[105],{"categories":3266},[],{"categories":3268},[108],{"categories":3270},[169],{"categories":3272},[111],{"categories":3274},[45],{"categories":3276},[105],{"categories":3278},[156],{"categories":3280},[108],{"categories":3282},[45],{"categories":3284},[],{"categories":3286},[],{"categories":3288},[114],{"categories":3290},[105],{"categories":3292},[153],{"categories":3294},[105],{"categories":3296},[114],{"categories":3298},[424],{"categories":3300},[114],{"categories":3302},[],{"categories":3304},[111],{"categories":3306},[132],{"categories":3308},[45],{"categories":3310},[],{"categories":3312},[153],{"categories":3314},[132],{"categories":3316},[105],{"categories":3318},[114],{"categories":3320},[111],{"categories":3322},[108],{"categories":3324},[114,424],{"categories":3326},[114],{"categories":3328},[45],{"categories":3330},[111],{"categories":3332},[156],{"categories":3334},[169],{"categories":3336},[114],{"categories":3338},[],{"categories":3340},[114],{"categories":3342},[111],{"categories":3344},[108],{"categories":3346},[],{"categories":3348},[],{"categories":3350},[111],{"categories":3352},[156],{"categories":3354},[111],{"categories":3356},[],{"categories":3358},[132],{"categories":3360},[],{"categories":3362},[132],{"categories":3364},[45],{"categories":3366},[114],{"categories":3368},[111],{"categories":3370},[169],{"categories":3372},[45],{"categories":3374},[],{"categories":3376},[132],{"categories":3378},[111],{"categories":3380},[],{"categories":3382},[111],{"categories":3384},[114],{"categories":3386},[111],{"categories":3388},[114],{"categories":3390},[111],{"categories":3392},[111],{"categories":3394},[111],{"categories":3396},[111],{"categories":3398},[108],{"categories":3400},[],{"categories":3402},[117],{"categories":3404},[132],{"categories":3406},[111],{"categories":3408},[],{"categories":3410},[45],{"categories":3412},[111],{"categories":3414},[111],{"categories":3416},[114],{"categories":3418},[132],{"categories":3420},[111],{"categories":3422},[111],{"categories":3424},[108],{"categories":3426},[114],{"categories":3428},[153],{"categories":3430},[],{"categories":3432},[156],{"categories":3434},[111],{"categories":3436},[],{"categories":3438},[132],{"categories":3440},[169],{"categories":3442},[],{"categories":3444},[],{"categories":3446},[132],{"categories":3448},[132],{"categories":3450},[169],{"categories":3452},[105],{"categories":3454},[114],{"categories":3456},[114],{"categories":3458},[111],{"categories":3460},[108],{"categories":3462},[],{"categories":3464},[],{"categories":3466},[132],{"categories":3468},[156],{"categories":3470},[45],{"categories":3472},[114],{"categories":3474},[153],{"categories":3476},[156],{"categories":3478},[156],{"categories":3480},[],{"categories":3482},[132],{"categories":3484},[111],{"categories":3486},[111],{"categories":3488},[45],{"categories":3490},[],{"categories":3492},[132],{"categories":3494},[132],{"categories":3496},[132],{"categories":3498},[],{"categories":3500},[114],{"categories":3502},[111],{"categories":3504},[],{"categories":3506},[105],{"categories":3508},[108],{"categories":3510},[],{"categories":3512},[111],{"categories":3514},[111],{"categories":3516},[],{"categories":3518},[45],{"categories":3520},[],{"categories":3522},[],{"categories":3524},[],{"categories":3526},[],{"categories":3528},[111],{"categories":3530},[132],{"categories":3532},[],{"categories":3534},[],{"categories":3536},[111],{"categories":3538},[111],{"categories":3540},[111],{"categories":3542},[156],{"categories":3544},[111],{"categories":3546},[156],{"categories":3548},[],{"categories":3550},[156],{"categories":3552},[156],{"categories":3554},[424],{"categories":3556},[114],{"categories":3558},[45],{"categories":3560},[],{"categories":3562},[],{"categories":3564},[156],{"categories":3566},[45],{"categories":3568},[45],{"categories":3570},[45],{"categories":3572},[],{"categories":3574},[105],{"categories":3576},[45],{"categories":3578},[45],{"categories":3580},[105],{"categories":3582},[45],{"categories":3584},[108],{"categories":3586},[45],{"categories":3588},[45],{"categories":3590},[45],{"categories":3592},[156],{"categories":3594},[132],{"categories":3596},[132],{"categories":3598},[111],{"categories":3600},[45],{"categories":3602},[156],{"categories":3604},[424],{"categories":3606},[156],{"categories":3608},[156],{"categories":3610},[156],{"categories":3612},[],{"categories":3614},[108],{"categories":3616},[],{"categories":3618},[424],{"categories":3620},[45],{"categories":3622},[45],{"categories":3624},[45],{"categories":3626},[114],{"categories":3628},[132,108],{"categories":3630},[156],{"categories":3632},[],{"categories":3634},[],{"categories":3636},[156],{"categories":3638},[],{"categories":3640},[156],{"categories":3642},[132],{"categories":3644},[114],{"categories":3646},[],{"categories":3648},[45],{"categories":3650},[111],{"categories":3652},[153],{"categories":3654},[],{"categories":3656},[111],{"categories":3658},[],{"categories":3660},[132],{"categories":3662},[105],{"categories":3664},[156],{"categories":3666},[],{"categories":3668},[45],{"categories":3670},[132],[3672,3757,3866,3924],{"id":3673,"title":3674,"ai":3675,"body":3680,"categories":3724,"created_at":46,"date_modified":46,"description":39,"extension":47,"faq":46,"featured":48,"kicker_label":46,"meta":3725,"navigation":85,"path":3745,"published_at":46,"question":46,"scraped_at":3746,"seo":3747,"sitemap":3748,"source_id":3749,"source_name":91,"source_type":92,"source_url":3750,"stem":3751,"tags":3752,"thumbnail_url":46,"tldr":3754,"tweet":46,"unknown_tags":3755,"__hash__":3756},"summaries\u002Fsummaries\u002Fe48f2d4acf4592df-datasette-ditches-csrf-tokens-for-sec-fetch-site-h-summary.md","Datasette Ditches CSRF Tokens for Sec-Fetch-Site Headers",{"provider":7,"model":8,"input_tokens":3676,"output_tokens":3677,"processing_time_ms":3678,"cost_usd":3679},4411,2260,13425,0.00150535,{"type":14,"value":3681,"toc":3719},[3682,3686,3698,3702,3712,3716],[17,3683,3685],{"id":3684},"token-based-csrf-drawbacks-and-replacement-rationale","Token-Based CSRF Drawbacks and Replacement Rationale",[22,3687,3688,3689,3693,3694,3697],{},"Token-based CSRF protection in Datasette relied on the asgi-csrf library, requiring manual insertion of ",[3690,3691,3692],"code",{},"{% csrf_token %}"," tags across all forms and explicit disabling via a ",[3690,3695,3696],{},"skip_csrf"," plugin hook for external API calls. This scattered complexity made maintenance painful, especially for browser-external integrations. The shift draws from Filippo Valsorda's August 2025 research essay and its Go 1.25 implementation, which leverages the Sec-Fetch-Site browser header to detect cross-site requests more reliably without tokens.",[17,3699,3701],{"id":3700},"key-code-and-documentation-changes","Key Code and Documentation Changes",[22,3703,3704,3705,3707,3708,3711],{},"Landed in PR #2689, the update introduces new ASGI middleware that enforces Sec-Fetch-Site validation, directly inspired by the referenced Go changes. All ",[3690,3706,3692],{}," instances are excised from templates, the ",[3690,3709,3710],{},"skip_csrf(datasette, scope)"," hook is removed entirely (including its docs and tests), and CSRF documentation is overhauled to explain header-based mechanics. The upgrade guide explicitly flags this breaking change, ensuring plugin authors adapt without the old hook. Claude Code generated the 10-commit implementation under tight human guidance and GPT-5.4 review, with the author hand-writing the PR description for conciseness and accuracy.",[17,3713,3715],{"id":3714},"practical-outcomes-for-datasette-users","Practical Outcomes for Datasette Users",[22,3717,3718],{},"Forms now work token-free, reducing template boilerplate and errors. APIs no longer need CSRF exemptions, streamlining cross-origin handling. This aligns Datasette with modern browser security signals, trading token overhead for header scrutiny—effective against CSRF while easing developer experience in Python\u002FASGI apps.",{"title":39,"searchDepth":40,"depth":40,"links":3720},[3721,3722,3723],{"id":3684,"depth":40,"text":3685},{"id":3700,"depth":40,"text":3701},{"id":3714,"depth":40,"text":3715},[45],{"content_references":3726,"triage":3742},[3727,3731,3735,3738],{"type":52,"title":3728,"author":3729,"url":3730,"context":55},"asgi-csrf","Simon Willison","https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fasgi-csrf",{"type":60,"title":3732,"author":3733,"url":3734,"context":63},"CSRF research essay","Filippo Valsorda","https:\u002F\u002Fwords.filippo.io\u002Fcsrf\u002F",{"type":60,"title":3736,"url":3737,"context":63},"Go 1.25 net\u002Fhttp package changes","https:\u002F\u002Ftip.golang.org\u002Fdoc\u002Fgo1.25#nethttppkgnethttp",{"type":60,"title":3739,"url":3740,"context":3741},"datasette PR #2689","https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fdatasette\u002Fpull\u002F2689","recommended",{"relevance":82,"novelty":82,"quality":81,"actionability":82,"composite":3743,"reasoning":3744},3.25,"Category: Software Engineering. The article discusses a specific change in the Datasette framework that simplifies CSRF protection, which is relevant to software engineers working with web applications. It provides insights into the rationale behind the change and its implications for developers, but lacks detailed actionable steps for implementation.","\u002Fsummaries\u002Fe48f2d4acf4592df-datasette-ditches-csrf-tokens-for-sec-fetch-site-h-summary","2026-04-15 15:39:45",{"title":3674,"description":39},{"loc":3745},"e48f2d4acf4592df","https:\u002F\u002Fsimonwillison.net\u002F2026\u002FApr\u002F14\u002Freplace-token-based-csrf\u002F#atom-everything","summaries\u002Fe48f2d4acf4592df-datasette-ditches-csrf-tokens-for-sec-fetch-site-h-summary",[3753,96,97],"python","Datasette replaces cumbersome token-based CSRF with Sec-Fetch-Site header checks—inspired by Go 1.25—eliminating form tokens and API exemptions for simpler security.",[97],"Ti1ah3Eg96VZH3FQnuDvLQ3bvNPXg9AciOPTNKT-V2g",{"id":3758,"title":3759,"ai":3760,"body":3765,"categories":3840,"created_at":46,"date_modified":46,"description":39,"extension":47,"faq":46,"featured":48,"kicker_label":46,"meta":3841,"navigation":85,"path":3852,"published_at":3853,"question":46,"scraped_at":3854,"seo":3855,"sitemap":3856,"source_id":3857,"source_name":3858,"source_type":92,"source_url":3859,"stem":3860,"tags":3861,"thumbnail_url":46,"tldr":3863,"tweet":46,"unknown_tags":3864,"__hash__":3865},"summaries\u002Fsummaries\u002Fda5bfb294446c261-rust-cuda-kernels-via-direct-ptx-compilation-summary.md","Rust CUDA Kernels via Direct PTX Compilation",{"provider":7,"model":8,"input_tokens":3761,"output_tokens":3762,"processing_time_ms":3763,"cost_usd":3764},9427,1814,17557,0.00276975,{"type":14,"value":3766,"toc":3835},[3767,3771,3792,3799,3802,3806,3809,3812,3815,3819,3822,3832],[17,3768,3770],{"id":3769},"native-cuda-model-in-safe-rust-without-c-or-dsls","Native CUDA Model in Safe Rust Without C++ or DSLs",[22,3772,3773,3774,3778,3779,3783,3784],{},"cuda-oxide targets CUDA's SIMT execution model natively in Rust, closer to C++ ",[3775,3776,3777],"strong",{},"global"," functions than generic Rust async code. Mark kernels with #",[3780,3781,3782],"span",{},"kernel"," proc macro, which namespaces them as cuda_oxide_kernel_",[3785,3786,3787,3788],"hash",{},"_",[3789,3790,3791],"name",{},"; only these compile to PTX via custom rustc backend, while host code uses standard LLVM. This single-source approach in one .rs file produces host binary + target\u002Fdebug\u002Fvecadd.ptx from cargo oxide build. Device libs compile lazily from .rlib Stable MIR metadata, avoiding upfront compilation of unused code.",[22,3793,3794,3795],{},"Supports match\u002Fif let, generics like fn scale\u003CT: Copy>, intrinsics (shfl_sync, ballot_sync), and thread::index_1d() for unique hardware indices. DisjointSlice",[3796,3797,3798],"t",{}," ensures race-free mutable outputs—get_mut(idx) requires ThreadIndex (opaque usize from threadIdx\u002FblockIdx\u002FblockDim), preventing unsafe shared writes. Host launches use CudaContext, DeviceBuffer, and cuda_launch! macro with LaunchConfig::for_num_elems(1024) auto-sizing grids\u002Fblocks.",[22,3800,3801],{},"Disables rustc JumpThreading on device code to preserve bar.sync convergence—duplication breaks GPU barrier semantics. Marks syncs convergent in LLVM IR to block optimizer reordering.",[17,3803,3805],{"id":3804},"pure-rust-pipeline-except-one-external-tool","Pure-Rust Pipeline Except One External Tool",[22,3807,3808],{},"Intercepts rustc at CodegenBackend::codegen_crate() using rustc_public (Stable MIR) for version-proof internals. Pipeline: Rust → rustc frontend → Stable MIR → dialect-mir (Rust MIR semantics: places\u002Fprojections\u002Frvalues\u002Fterminators) → mem2reg → dialect-llvm → textual .ll → llc (LLVM 21+ NVPTX) → .ptx.",[22,3810,3811],{},"Uses Pliron (Rust-native MLIR-like IR) for dialects: dialect-mir, dialect-llvm (.ll export), dialect-nvvm (NVIDIA intrinsics like thread indexing\u002Fbarriers\u002FTMA). Entire stack builds with cargo—no C++\u002FCMake\u002Ftablegen. Observe full trace: cargo oxide pipeline vecadd prints MIR through PTX.",[22,3813,3814],{},"Complements rust-cuda (Rust ergonomics\u002Fasync on GPU) by focusing on CUDA-native model. vecadd example adds 1024 f32s on GPU, verifies on host: cargo oxide run vecadd outputs ✓ SUCCESS: All 1024 elements correct!",[17,3816,3818],{"id":3817},"linux-only-setup-with-pinned-nightly-and-llvm-21","Linux-Only Setup with Pinned Nightly and LLVM 21",[22,3820,3821],{},"Requires Ubuntu 24.04, Rust nightly-2026-04-03 (rustup toolchain install nightly-2026-04-03; add rust-src\u002Frustc-dev), LLVM 21+ NVPTX (sudo apt install llvm-21; llc-21 --version | grep nvptx), Clang 21 (sudo apt install clang-21 for bindgen\u002Fcuda.h). Pin llc: export CUDA_OXIDE_LLC=\u002Fusr\u002Fbin\u002Fllc-21.",[22,3823,3824,3825,3831],{},"Clone repo or cargo install --git ",[3826,3827,3828],"a",{"href":3828,"rel":3829},"https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fcuda-oxide.git",[3830],"nofollow"," cargo-oxide. cargo oxide doctor checks deps. Debug: cargo oxide debug vecadd --tui with cuda-gdb on target\u002Fdebug\u002Fvecadd + .ptx.",[22,3833,3834],{},"Next: generics (cargo oxide run generic), host closures (cuda_launch_async! with .await\u002F.sync()), async_mlp, gemm_sol (cta_group::2, index_2d(stride), unsafe for &mut T). Docs: nvlabs.github.io\u002Fcuda-oxide.",{"title":39,"searchDepth":40,"depth":40,"links":3836},[3837,3838,3839],{"id":3769,"depth":40,"text":3770},{"id":3804,"depth":40,"text":3805},{"id":3817,"depth":40,"text":3818},[45],{"content_references":3842,"triage":3849},[3843,3846],{"type":52,"title":3844,"url":3845,"context":55},"cuda-oxide","https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fcuda-oxide",{"type":52,"title":3847,"url":3848,"context":55},"Pliron","https:\u002F\u002Fgithub.com\u002Fvaivaswatha\u002Fpliron",{"relevance":82,"novelty":82,"quality":81,"actionability":40,"composite":3850,"reasoning":3851},3.05,"Category: Software Engineering. The article discusses a new Rust-to-CUDA compilation method, which is relevant to software engineering but lacks direct applicability for building AI-powered products. While it presents some novel insights into GPU kernel development, it does not provide actionable steps or frameworks that the target audience can implement immediately.","\u002Fsummaries\u002Fda5bfb294446c261-rust-cuda-kernels-via-direct-ptx-compilation-summary","2026-05-10 06:01:13","2026-05-10 15:26:51",{"title":3759,"description":39},{"loc":3852},"da5bfb294446c261","MarkTechPost","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F05\u002F09\u002Fnvidia-ai-just-released-cuda-oxide-an-experimental-rust-to-cuda-compiler-backend-that-compiles-simt-gpu-kernels-directly-to-ptx\u002F","summaries\u002Fda5bfb294446c261-rust-cuda-kernels-via-direct-ptx-compilation-summary",[3862,96],"coding","cuda-oxide lets you write safe Rust SIMT GPU kernels that compile directly to PTX using a custom rustc backend, skipping C++ or DSLs—host\u002Fdevice in one .rs file, with cargo oxide build producing binary + .ptx.",[],"qMaVXANNhQRZRdddd8rExsSTPNNbNg4e1fVzT0fOhxE",{"id":3867,"title":3868,"ai":3869,"body":3874,"categories":3902,"created_at":46,"date_modified":46,"description":39,"extension":47,"faq":46,"featured":48,"kicker_label":46,"meta":3903,"navigation":85,"path":3911,"published_at":3912,"question":46,"scraped_at":3913,"seo":3914,"sitemap":3915,"source_id":3916,"source_name":3917,"source_type":92,"source_url":3918,"stem":3919,"tags":3920,"thumbnail_url":46,"tldr":3921,"tweet":46,"unknown_tags":3922,"__hash__":3923},"summaries\u002Fsummaries\u002Ff817b802265235ad-north-korea-hit-axios-npm-maintainer-exposing-100m-summary.md","North Korea Hit Axios NPM Maintainer, Exposing 100M Downloads",{"provider":7,"model":8,"input_tokens":3870,"output_tokens":3871,"processing_time_ms":3872,"cost_usd":3873},3899,1572,23422,0.00154315,{"type":14,"value":3875,"toc":3897},[3876,3880,3883,3887,3890,3894],[17,3877,3879],{"id":3878},"dependency-compromise-bypasses-target-defenses","Dependency Compromise Bypasses Target Defenses",[22,3881,3882],{},"North Korean actors (tracked as UNC1069) didn't infiltrate OpenAI systems. Instead, they targeted Jason Saayman, maintainer of the Axios npm package with over 100 million weekly downloads across most software build pipelines. A fake job offer via Microsoft Teams on March 31, 2026, led to compromise. Axios powers apps like ChatGPT Desktop, so updating the app pulled in malicious code. Lesson: Audit dependencies rigorously—treat open-source maintainers as your perimeter. Use tools like npm audit, lockfiles, and sigstore for signing to verify package integrity before installs.",[17,3884,3886],{"id":3885},"social-engineering-trumps-technical-exploits","Social Engineering Trumps Technical Exploits",[22,3888,3889],{},"Attack started with a seemingly legitimate Microsoft Teams outreach, buried in OpenAI coverage. Maintainers like Saayman face constant recruitment; hackers exploit this with tailored lures. Defend by: (1) Verify unsolicited contacts via official channels, (2) Use multi-factor auth and hardware keys for repos, (3) Rotate secrets post-contact. Impact: One compromised maintainer poisons millions of environments, amplifying reach far beyond single apps.",[17,3891,3893],{"id":3892},"media-hype-misses-supply-chain-reality","Media Hype Misses Supply Chain Reality",[22,3895,3896],{},"Outlets framed as 'OpenAI breach,' downplaying the dependency angle in paragraph four or less. True exposure: 100 million environments. Builders must prioritize supply chain security—scan pipelines with Dependabot or Snyk, prefer vendored critical deps, and monitor maintainer activity. Trade-off: Full isolation slows dev velocity, but partial (e.g., air-gapped builds for prod) prevents catastrophic updates like Sunday morning app notifications.",{"title":39,"searchDepth":40,"depth":40,"links":3898},[3899,3900,3901],{"id":3878,"depth":40,"text":3879},{"id":3885,"depth":40,"text":3886},{"id":3892,"depth":40,"text":3893},[45],{"content_references":3904,"triage":3907},[3905],{"type":52,"title":3906,"context":55},"Axios",{"relevance":3908,"novelty":81,"quality":81,"actionability":81,"composite":3909,"reasoning":3910},5,4.35,"Category: AI & LLMs. The article discusses a significant security breach related to an npm package that affects AI applications, emphasizing the importance of dependency management and supply chain security, which is crucial for product builders. It provides actionable advice on auditing dependencies and securing maintainers, making it highly relevant and practical for the target audience.","\u002Fsummaries\u002Ff817b802265235ad-north-korea-hit-axios-npm-maintainer-exposing-100m-summary","2026-05-04 14:47:50","2026-05-04 16:13:16",{"title":3868,"description":39},{"loc":3911},"f817b802265235ad","Level Up Coding","https:\u002F\u002Flevelup.gitconnected.com\u002Fi-clicked-an-app-update-on-sunday-morning-it-came-from-north-korea-8b1d97a10387?source=rss----5517fd7b58a6---4","summaries\u002Ff817b802265235ad-north-korea-hit-axios-npm-maintainer-exposing-100m-summary",[96,3862],"OpenAI detected NK hackers, but they compromised Axios (100M weekly downloads) via fake job offer to maintainer Jason Saayman on Microsoft Teams—not OpenAI directly.",[],"Lsb2GRO9gS8keB1oz_oYt5jqvnSADQKkSgnlMpuuEIo",{"id":3925,"title":3926,"ai":3927,"body":3932,"categories":3966,"created_at":46,"date_modified":46,"description":39,"extension":47,"faq":46,"featured":48,"kicker_label":46,"meta":3967,"navigation":85,"path":3980,"published_at":3981,"question":46,"scraped_at":3982,"seo":3983,"sitemap":3984,"source_id":3985,"source_name":3986,"source_type":92,"source_url":3987,"stem":3988,"tags":3989,"thumbnail_url":46,"tldr":3992,"tweet":3993,"unknown_tags":3994,"__hash__":3995},"summaries\u002Fsummaries\u002F950818195207908c-zig-rejects-bun-s-fork-over-llm-policy-and-flawed--summary.md","Zig Rejects Bun's Fork Over LLM Policy and Flawed Speed Hack",{"provider":7,"model":8,"input_tokens":3928,"output_tokens":3929,"processing_time_ms":3930,"cost_usd":3931},7558,1728,26570,0.00235295,{"type":14,"value":3933,"toc":3961},[3934,3938,3941,3944,3948,3951,3954,3958],[17,3935,3937],{"id":3936},"buns-fork-accelerates-builds-but-introduces-risks","Bun's Fork Accelerates Builds but Introduces Risks",[22,3939,3940],{},"Bun forked Zig to enable parallel semantic analysis, achieving up to 4x faster debug builds and boosting internal development velocity, as shown in parallel build examples. This change, generated via LLM (likely Claude), cannot be upstreamed due to Zig's strict no-LLM policy in its code of conduct, which bans AI-authored code, issues, PRs, and even comments—including translations. Enforcement is challenging: tools like tab autocomplete might qualify as LLM use, while obvious LLM slop (e.g., 10k unworking lines) is detectable, but subtle integration isn't. Bun has no plans to upstream, sparking debates on whether Zig will \"get left behind\" without AI velocity.",[22,3942,3943],{},"Zig's decade-long development (since 2015-2016) remains pre-1.0 with breaking minor releases, yet delivers polished features like async\u002Fawait after years of refinement. The author values this deliberate pace over rushed LLM outputs, noting Bun's fork skips Zig's rewritten type resolution semantics, leading to order-dependent, non-deterministic compilation errors (e.g., random nonsense failures 30% of the time). No speedup justifies such instability for serious developers—rerolling builds isn't viable beyond extreme cases like 1-hour compiles.",[17,3945,3947],{"id":3946},"zigs-superior-path-custom-backend-trumps-parallel-hacks","Zig's Superior Path: Custom Backend Trumps Parallel Hacks",[22,3949,3950],{},"Zig's response clarifies AI is irrelevant; the fork's changes aren't desirable upstream because they hack around unsolved design problems. Instead, Zig has a mostly working parallel analysis internally but focuses on the real bottleneck: LLVM. Their experimental custom backend, combined with incremental builds (already on macOS\u002FLinux), delivers orders-of-magnitude faster compilation—from 40 seconds to 0.5 seconds—without regressions or flashiness. This well-thought approach avoids myopic optimizations, ensuring deterministic, reliable outputs that serve users long-term.",[22,3952,3953],{},"Good engineering demands care over headlines: Bun's LLM spike proved a point but missed deeper issues already in progress. Collaborating with Zig's team or researching existing work could have aligned efforts, rather than forking an MIT-licensed project amid hype.",[17,3955,3957],{"id":3956},"open-source-tensions-mit-forks-corporate-ai-and-culture-clash","Open-Source Tensions: MIT Forks, Corporate AI, and Culture Clash",[22,3959,3960],{},"MIT licensing invites forks like Bun's (backed by Anthropic's infinite tokens), but feels \"greasy\" when corporations diverge from indie efforts—Zig's creator Andrew Lorimer funds it meagerly (e.g., $150\u002Fmonth donations). Critics rage at Zig's no-LLM stance as anti-velocity, ignoring 10 years of wisdom yielding a \"pragmatic C.\" The author dislikes Anthropic's adversarial vibe (e.g., hyping dangerous models like Claude Mythos while profiting) and questions if permissive licenses will deter creators amid AI slop. Zig fosters a no-AI contributor culture, which is valid despite Twitter backlash—rushing via English prompts risks unmaintainable code, while slow craftsmanship builds enduring languages.",{"title":39,"searchDepth":40,"depth":40,"links":3962},[3963,3964,3965],{"id":3936,"depth":40,"text":3937},{"id":3946,"depth":40,"text":3947},{"id":3956,"depth":40,"text":3957},[45],{"content_references":3968,"triage":3978},[3969,3972,3975],{"type":60,"title":3970,"url":3971,"context":63},"Bun's Zig fork announcement","https:\u002F\u002Fx.com\u002Fbunjavascript\u002Fstatus\u002F2048428104893542781",{"type":60,"title":3973,"url":3974,"context":63},"Bun's Zig fork got 4x faster compilation times","https:\u002F\u002Fziggit.dev\u002Ft\u002Fbun-s-zig-fork-got-4x-faster-compilation-times\u002F15183\u002F19",{"type":52,"title":3976,"url":3977,"context":55},"Code Rabbit","https:\u002F\u002Ftrm.sh\u002Fcoderabbit",{"relevance":82,"novelty":82,"quality":81,"actionability":40,"composite":3850,"reasoning":3979},"Category: AI & LLMs. The article discusses the implications of using LLMs in software engineering, specifically in the context of build speed and code quality, which is relevant to the audience. However, it primarily focuses on a debate rather than providing actionable insights or frameworks that the audience can implement.","\u002Fsummaries\u002F950818195207908c-zig-rejects-bun-s-fork-over-llm-policy-and-flawed-summary","2026-05-08 13:00:03","2026-05-09 15:17:23",{"title":3926,"description":39},{"loc":3980},"a3bf2a892678ef3e","The PrimeTime","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=1zBrQFpbK1U","summaries\u002F950818195207908c-zig-rejects-bun-s-fork-over-llm-policy-and-flawed--summary",[96,3990,3991],"software-engineering","ai-llms","Bun's Zig fork uses LLM for 4x faster debug builds via parallel analysis, but Zig rejects it for non-determinism risks and upstream incompatibility; Zig prioritizes careful engineering with LLVM bypass for true 40s-to-0.5s speedups.","Primeagen reacts to [Bun's tweet](https:\u002F\u002Fx.com\u002Fbunjavascript\u002Fstatus\u002F2048428104893542781) announcing a Zig fork with 4x faster debug builds, blocked from upstreaming by Zig's strict no-LLM policy, then yaps on dev velocity, enforcement challenges, and AI's role in OSS futures.",[3990,3991],"3JhmuDtkHZVLxxnBP4owO2ZyVvwR0JgI7lE08FfTFiA"]