[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-a4259ebc33a3cdce-cli-tools-like-vhs-for-reproducible-terminal-demos-summary":3,"summaries-facets-categories":147,"summary-related-a4259ebc33a3cdce-cli-tools-like-vhs-for-reproducible-terminal-demos-summary":3732},{"id":4,"title":5,"ai":6,"body":13,"categories":112,"created_at":114,"date_modified":114,"description":107,"extension":115,"faq":114,"featured":116,"kicker_label":114,"meta":117,"navigation":129,"path":130,"published_at":131,"question":114,"scraped_at":132,"seo":133,"sitemap":134,"source_id":135,"source_name":136,"source_type":137,"source_url":138,"stem":139,"tags":140,"thumbnail_url":114,"tldr":144,"tweet":114,"unknown_tags":145,"__hash__":146},"summaries\u002Fsummaries\u002Fa4259ebc33a3cdce-cli-tools-like-vhs-for-reproducible-terminal-demos-summary.md","CLI Tools Like VHS for Reproducible Terminal Demos",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",3887,1479,23920,0.00149425,{"type":14,"value":15,"toc":106},"minimark",[16,21,30,36,92,99,103],[17,18,20],"h2",{"id":19},"replace-screen-recordings-with-scripted-terminal-demos","Replace Screen Recordings with Scripted Terminal Demos",[22,23,24,25,29],"p",{},"CLI tools cut unnecessary steps in development by managing environments, running scripts, and inspecting systems directly from the terminal. They speed up building, testing, and deploying workflows. VHS stands out for creating high-quality, reproducible demos: write a ",[26,27,28],"code",{},".tape"," script defining keystrokes, delays, and visuals, then output GIFs or MP4s. This ensures consistent timing and framing every time, avoiding the pitfalls of manual screen recording where sync issues ruin demos.",[22,31,32,33,35],{},"Key VHS commands in a ",[26,34,28],{}," file:",[37,38,39,46,52,62,68,74],"ul",{},[40,41,42,45],"li",{},[26,43,44],{},"Output vhs.gif",": Sets GIF as output (or MP4).",[40,47,48,51],{},[26,49,50],{},"Set FontSize 16",": Scales text for readability.",[40,53,54,57,58,61],{},[26,55,56],{},"Set Width 1200"," \u002F ",[26,59,60],{},"Set Height 800",": Frames the window precisely.",[40,63,64,67],{},[26,65,66],{},"Set Padding 20",": Adds clean borders.",[40,69,70,73],{},[26,71,72],{},"Set TypingSpeed 0.1s",": Controls realistic typing pace.",[40,75,76,79,80,83,84,87,88,91],{},[26,77,78],{},"Sleep 1s",": Pauses for effect (e.g., before ",[26,81,82],{},"Type \"fastfetch\""," then ",[26,85,86],{},"Enter",", followed by ",[26,89,90],{},"Sleep 3s"," to show output).",[22,93,94,95,98],{},"Run ",[26,96,97],{},"vhs .tape"," to generate the file. Trade-off: Initial scripting time upfront pays off for reusable demos shared in docs, talks, or tutorials—far more reliable than ad-hoc captures.",[17,100,102],{"id":101},"broader-workflow-gains-from-cli-adoption","Broader Workflow Gains from CLI Adoption",[22,104,105],{},"The article spotlights 12 such tools (VHS as #1), targeting developers seeking automation. They shift focus from manual toil to smarter terminal work, like scripting complex sessions that visual tools can't match. Start with VHS for demos: install via package managers (assumed standard for CLI), test small scripts, then scale to full workflows. Outcome: Faster iteration on shareable content, less frustration with imperfect recordings, and professional-grade outputs ready for blogs or videos.",{"title":107,"searchDepth":108,"depth":108,"links":109},"",2,[110,111],{"id":19,"depth":108,"text":20},{"id":101,"depth":108,"text":102},[113],"Developer Productivity",null,"md",false,{"content_references":118,"triage":123},[119],{"type":120,"title":121,"context":122},"tool","VHS","recommended",{"relevance":124,"novelty":125,"quality":126,"actionability":126,"composite":127,"reasoning":128},5,3,4,4.15,"Category: Software Engineering. The article provides practical insights into using CLI tools like VHS for creating reproducible terminal demos, addressing the audience's need for developer productivity and automation. It includes specific commands and a clear workflow for implementation, making it actionable.",true,"\u002Fsummaries\u002Fa4259ebc33a3cdce-cli-tools-like-vhs-for-reproducible-terminal-demos-summary","2026-05-08 14:51:41","2026-05-09 15:36:35",{"title":5,"description":107},{"loc":130},"a4259ebc33a3cdce","Level Up Coding","article","https:\u002F\u002Flevelup.gitconnected.com\u002F12-cli-tools-to-boost-your-workflow-5e4027e242b6?source=rss----5517fd7b58a6---4","summaries\u002Fa4259ebc33a3cdce-cli-tools-like-vhs-for-reproducible-terminal-demos-summary",[141,142,143],"coding","dev-productivity","software-engineering","Script terminal sessions in VHS .tape files for pixel-perfect GIFs\u002FMP4s with custom fonts, speeds, and padding—instead of unreliable screen recordings.",[142,143],"1VkJ6fbkgoil5dIikClttrqzXyBfVfTxK5K8GXrURjE",[148,150,153,156,159,162,164,166,168,170,172,174,177,179,181,183,185,187,189,191,193,195,198,201,203,205,208,210,212,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,457,459,461,463,465,467,469,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730],{"categories":149},[113],{"categories":151},[152],"Business & SaaS",{"categories":154},[155],"AI & LLMs",{"categories":157},[158],"AI Automation",{"categories":160},[161],"Product Strategy",{"categories":163},[155],{"categories":165},[113],{"categories":167},[152],{"categories":169},[],{"categories":171},[155],{"categories":173},[],{"categories":175},[176],"AI News & Trends",{"categories":178},[158],{"categories":180},[176],{"categories":182},[158],{"categories":184},[158],{"categories":186},[155],{"categories":188},[155],{"categories":190},[176],{"categories":192},[155],{"categories":194},[],{"categories":196},[197],"Design & Frontend",{"categories":199},[200],"Data Science & Visualization",{"categories":202},[176],{"categories":204},[],{"categories":206},[207],"Software Engineering",{"categories":209},[155],{"categories":211},[158],{"categories":213},[214],"Marketing & Growth",{"categories":216},[155],{"categories":218},[158],{"categories":220},[],{"categories":222},[],{"categories":224},[197],{"categories":226},[158],{"categories":228},[113],{"categories":230},[197],{"categories":232},[155],{"categories":234},[158],{"categories":236},[176],{"categories":238},[],{"categories":240},[],{"categories":242},[158],{"categories":244},[207],{"categories":246},[],{"categories":248},[152],{"categories":250},[],{"categories":252},[],{"categories":254},[158],{"categories":256},[158],{"categories":258},[155],{"categories":260},[],{"categories":262},[207],{"categories":264},[],{"categories":266},[],{"categories":268},[],{"categories":270},[155],{"categories":272},[214],{"categories":274},[197],{"categories":276},[197],{"categories":278},[155],{"categories":280},[158],{"categories":282},[155],{"categories":284},[155],{"categories":286},[158],{"categories":288},[158],{"categories":290},[200],{"categories":292},[176],{"categories":294},[158],{"categories":296},[214],{"categories":298},[158],{"categories":300},[161],{"categories":302},[],{"categories":304},[158],{"categories":306},[],{"categories":308},[158],{"categories":310},[207],{"categories":312},[197],{"categories":314},[155],{"categories":316},[],{"categories":318},[],{"categories":320},[158],{"categories":322},[],{"categories":324},[155],{"categories":326},[],{"categories":328},[113],{"categories":330},[207],{"categories":332},[152],{"categories":334},[176],{"categories":336},[155],{"categories":338},[],{"categories":340},[155],{"categories":342},[],{"categories":344},[207],{"categories":346},[200],{"categories":348},[],{"categories":350},[155],{"categories":352},[197],{"categories":354},[],{"categories":356},[197],{"categories":358},[158],{"categories":360},[],{"categories":362},[158],{"categories":364},[176],{"categories":366},[152],{"categories":368},[155],{"categories":370},[],{"categories":372},[158],{"categories":374},[155],{"categories":376},[161],{"categories":378},[],{"categories":380},[155],{"categories":382},[158],{"categories":384},[158],{"categories":386},[],{"categories":388},[200],{"categories":390},[155],{"categories":392},[],{"categories":394},[113],{"categories":396},[152],{"categories":398},[155],{"categories":400},[158],{"categories":402},[207],{"categories":404},[155],{"categories":406},[],{"categories":408},[],{"categories":410},[155],{"categories":412},[],{"categories":414},[197],{"categories":416},[],{"categories":418},[155],{"categories":420},[],{"categories":422},[158],{"categories":424},[155],{"categories":426},[197],{"categories":428},[],{"categories":430},[155],{"categories":432},[155],{"categories":434},[152],{"categories":436},[158],{"categories":438},[155],{"categories":440},[197],{"categories":442},[158],{"categories":444},[],{"categories":446},[],{"categories":448},[176],{"categories":450},[],{"categories":452},[155],{"categories":454},[152,214],{"categories":456},[],{"categories":458},[155],{"categories":460},[],{"categories":462},[],{"categories":464},[155],{"categories":466},[],{"categories":468},[155],{"categories":470},[471],"DevOps & Cloud",{"categories":473},[],{"categories":475},[176],{"categories":477},[197],{"categories":479},[],{"categories":481},[176],{"categories":483},[176],{"categories":485},[155],{"categories":487},[214],{"categories":489},[],{"categories":491},[152],{"categories":493},[],{"categories":495},[155,471],{"categories":497},[155],{"categories":499},[155],{"categories":501},[158],{"categories":503},[155,207],{"categories":505},[200],{"categories":507},[155],{"categories":509},[214],{"categories":511},[158],{"categories":513},[158],{"categories":515},[],{"categories":517},[158],{"categories":519},[155,152],{"categories":521},[],{"categories":523},[197],{"categories":525},[197],{"categories":527},[],{"categories":529},[],{"categories":531},[176],{"categories":533},[],{"categories":535},[113],{"categories":537},[207],{"categories":539},[155],{"categories":541},[197],{"categories":543},[158],{"categories":545},[207],{"categories":547},[176],{"categories":549},[197],{"categories":551},[],{"categories":553},[155],{"categories":555},[155],{"categories":557},[155],{"categories":559},[176],{"categories":561},[113],{"categories":563},[155],{"categories":565},[158],{"categories":567},[471],{"categories":569},[197],{"categories":571},[158],{"categories":573},[],{"categories":575},[],{"categories":577},[197],{"categories":579},[176],{"categories":581},[200],{"categories":583},[],{"categories":585},[155],{"categories":587},[155],{"categories":589},[152],{"categories":591},[155],{"categories":593},[155],{"categories":595},[176],{"categories":597},[],{"categories":599},[158],{"categories":601},[207],{"categories":603},[],{"categories":605},[155],{"categories":607},[155],{"categories":609},[158],{"categories":611},[],{"categories":613},[],{"categories":615},[155],{"categories":617},[],{"categories":619},[152],{"categories":621},[158],{"categories":623},[],{"categories":625},[113],{"categories":627},[155],{"categories":629},[152],{"categories":631},[176],{"categories":633},[],{"categories":635},[],{"categories":637},[],{"categories":639},[176],{"categories":641},[176],{"categories":643},[],{"categories":645},[],{"categories":647},[152],{"categories":649},[],{"categories":651},[],{"categories":653},[113],{"categories":655},[],{"categories":657},[214],{"categories":659},[158],{"categories":661},[152],{"categories":663},[158],{"categories":665},[207],{"categories":667},[],{"categories":669},[161],{"categories":671},[197],{"categories":673},[207],{"categories":675},[155],{"categories":677},[158],{"categories":679},[152],{"categories":681},[155],{"categories":683},[],{"categories":685},[],{"categories":687},[207],{"categories":689},[200],{"categories":691},[161],{"categories":693},[158],{"categories":695},[155],{"categories":697},[],{"categories":699},[471],{"categories":701},[],{"categories":703},[158],{"categories":705},[],{"categories":707},[],{"categories":709},[155],{"categories":711},[197],{"categories":713},[214],{"categories":715},[158],{"categories":717},[],{"categories":719},[113],{"categories":721},[],{"categories":723},[176],{"categories":725},[155,471],{"categories":727},[176],{"categories":729},[155],{"categories":731},[152],{"categories":733},[155],{"categories":735},[],{"categories":737},[152],{"categories":739},[],{"categories":741},[207],{"categories":743},[197],{"categories":745},[176],{"categories":747},[200],{"categories":749},[113],{"categories":751},[155],{"categories":753},[207],{"categories":755},[],{"categories":757},[],{"categories":759},[161],{"categories":761},[],{"categories":763},[155],{"categories":765},[],{"categories":767},[197],{"categories":769},[197],{"categories":771},[197],{"categories":773},[],{"categories":775},[],{"categories":777},[176],{"categories":779},[158],{"categories":781},[155],{"categories":783},[155],{"categories":785},[155],{"categories":787},[152],{"categories":789},[155],{"categories":791},[],{"categories":793},[207],{"categories":795},[207],{"categories":797},[152],{"categories":799},[],{"categories":801},[155],{"categories":803},[155],{"categories":805},[152],{"categories":807},[176],{"categories":809},[214],{"categories":811},[158],{"categories":813},[],{"categories":815},[197],{"categories":817},[],{"categories":819},[155],{"categories":821},[],{"categories":823},[152],{"categories":825},[158],{"categories":827},[],{"categories":829},[471],{"categories":831},[200],{"categories":833},[207],{"categories":835},[214],{"categories":837},[207],{"categories":839},[158],{"categories":841},[],{"categories":843},[],{"categories":845},[158],{"categories":847},[113],{"categories":849},[158],{"categories":851},[161],{"categories":853},[152],{"categories":855},[],{"categories":857},[155],{"categories":859},[161],{"categories":861},[155],{"categories":863},[155],{"categories":865},[214],{"categories":867},[197],{"categories":869},[158],{"categories":871},[],{"categories":873},[],{"categories":875},[471],{"categories":877},[207],{"categories":879},[],{"categories":881},[158],{"categories":883},[155],{"categories":885},[197,155],{"categories":887},[113],{"categories":889},[],{"categories":891},[155],{"categories":893},[113],{"categories":895},[197],{"categories":897},[158],{"categories":899},[207],{"categories":901},[],{"categories":903},[155],{"categories":905},[],{"categories":907},[113],{"categories":909},[],{"categories":911},[158],{"categories":913},[161],{"categories":915},[155],{"categories":917},[155],{"categories":919},[197],{"categories":921},[158],{"categories":923},[471],{"categories":925},[197],{"categories":927},[158],{"categories":929},[155],{"categories":931},[155],{"categories":933},[155],{"categories":935},[176],{"categories":937},[],{"categories":939},[161],{"categories":941},[158],{"categories":943},[197],{"categories":945},[158],{"categories":947},[207],{"categories":949},[197],{"categories":951},[158],{"categories":953},[176],{"categories":955},[],{"categories":957},[155],{"categories":959},[197],{"categories":961},[155],{"categories":963},[113],{"categories":965},[176],{"categories":967},[155],{"categories":969},[214],{"categories":971},[155],{"categories":973},[155],{"categories":975},[158],{"categories":977},[158],{"categories":979},[155],{"categories":981},[158],{"categories":983},[197],{"categories":985},[155],{"categories":987},[],{"categories":989},[],{"categories":991},[207],{"categories":993},[],{"categories":995},[113],{"categories":997},[471],{"categories":999},[],{"categories":1001},[113],{"categories":1003},[152],{"categories":1005},[214],{"categories":1007},[],{"categories":1009},[152],{"categories":1011},[],{"categories":1013},[],{"categories":1015},[],{"categories":1017},[],{"categories":1019},[],{"categories":1021},[155],{"categories":1023},[158],{"categories":1025},[471],{"categories":1027},[113],{"categories":1029},[155],{"categories":1031},[207],{"categories":1033},[161],{"categories":1035},[155],{"categories":1037},[214],{"categories":1039},[155],{"categories":1041},[155],{"categories":1043},[155],{"categories":1045},[155,113],{"categories":1047},[207],{"categories":1049},[207],{"categories":1051},[197],{"categories":1053},[155],{"categories":1055},[],{"categories":1057},[],{"categories":1059},[],{"categories":1061},[207],{"categories":1063},[200],{"categories":1065},[176],{"categories":1067},[197],{"categories":1069},[],{"categories":1071},[155],{"categories":1073},[155],{"categories":1075},[],{"categories":1077},[],{"categories":1079},[158],{"categories":1081},[155],{"categories":1083},[152],{"categories":1085},[],{"categories":1087},[113],{"categories":1089},[155],{"categories":1091},[113],{"categories":1093},[155],{"categories":1095},[207],{"categories":1097},[214],{"categories":1099},[155,197],{"categories":1101},[176],{"categories":1103},[197],{"categories":1105},[],{"categories":1107},[471],{"categories":1109},[197],{"categories":1111},[158],{"categories":1113},[],{"categories":1115},[],{"categories":1117},[],{"categories":1119},[],{"categories":1121},[207],{"categories":1123},[158],{"categories":1125},[158],{"categories":1127},[471],{"categories":1129},[155],{"categories":1131},[155],{"categories":1133},[155],{"categories":1135},[],{"categories":1137},[197],{"categories":1139},[],{"categories":1141},[],{"categories":1143},[158],{"categories":1145},[],{"categories":1147},[],{"categories":1149},[214],{"categories":1151},[214],{"categories":1153},[158],{"categories":1155},[],{"categories":1157},[155],{"categories":1159},[155],{"categories":1161},[207],{"categories":1163},[197],{"categories":1165},[197],{"categories":1167},[158],{"categories":1169},[113],{"categories":1171},[155],{"categories":1173},[197],{"categories":1175},[197],{"categories":1177},[158],{"categories":1179},[158],{"categories":1181},[155],{"categories":1183},[],{"categories":1185},[],{"categories":1187},[155],{"categories":1189},[158],{"categories":1191},[176],{"categories":1193},[207],{"categories":1195},[113],{"categories":1197},[155],{"categories":1199},[],{"categories":1201},[158],{"categories":1203},[158],{"categories":1205},[],{"categories":1207},[113],{"categories":1209},[155],{"categories":1211},[113],{"categories":1213},[113],{"categories":1215},[],{"categories":1217},[],{"categories":1219},[158],{"categories":1221},[158],{"categories":1223},[155],{"categories":1225},[155],{"categories":1227},[176],{"categories":1229},[200],{"categories":1231},[161],{"categories":1233},[176],{"categories":1235},[197],{"categories":1237},[],{"categories":1239},[176],{"categories":1241},[],{"categories":1243},[],{"categories":1245},[],{"categories":1247},[],{"categories":1249},[207],{"categories":1251},[200],{"categories":1253},[],{"categories":1255},[155],{"categories":1257},[155],{"categories":1259},[200],{"categories":1261},[207],{"categories":1263},[],{"categories":1265},[],{"categories":1267},[158],{"categories":1269},[176],{"categories":1271},[176],{"categories":1273},[158],{"categories":1275},[113],{"categories":1277},[155,471],{"categories":1279},[],{"categories":1281},[197],{"categories":1283},[113],{"categories":1285},[158],{"categories":1287},[197],{"categories":1289},[],{"categories":1291},[158],{"categories":1293},[158],{"categories":1295},[155],{"categories":1297},[214],{"categories":1299},[207],{"categories":1301},[197],{"categories":1303},[],{"categories":1305},[158],{"categories":1307},[155],{"categories":1309},[158],{"categories":1311},[158],{"categories":1313},[158],{"categories":1315},[214],{"categories":1317},[158],{"categories":1319},[155],{"categories":1321},[],{"categories":1323},[214],{"categories":1325},[176],{"categories":1327},[158],{"categories":1329},[],{"categories":1331},[],{"categories":1333},[155],{"categories":1335},[158],{"categories":1337},[176],{"categories":1339},[158],{"categories":1341},[],{"categories":1343},[],{"categories":1345},[],{"categories":1347},[158],{"categories":1349},[],{"categories":1351},[],{"categories":1353},[200],{"categories":1355},[155],{"categories":1357},[200],{"categories":1359},[176],{"categories":1361},[155],{"categories":1363},[155],{"categories":1365},[158],{"categories":1367},[155],{"categories":1369},[],{"categories":1371},[],{"categories":1373},[471],{"categories":1375},[],{"categories":1377},[],{"categories":1379},[113],{"categories":1381},[],{"categories":1383},[],{"categories":1385},[],{"categories":1387},[],{"categories":1389},[207],{"categories":1391},[176],{"categories":1393},[214],{"categories":1395},[152],{"categories":1397},[155],{"categories":1399},[155],{"categories":1401},[152],{"categories":1403},[],{"categories":1405},[197],{"categories":1407},[158],{"categories":1409},[152],{"categories":1411},[155],{"categories":1413},[155],{"categories":1415},[113],{"categories":1417},[],{"categories":1419},[113],{"categories":1421},[155],{"categories":1423},[214],{"categories":1425},[158],{"categories":1427},[176],{"categories":1429},[152],{"categories":1431},[155],{"categories":1433},[158],{"categories":1435},[],{"categories":1437},[155],{"categories":1439},[113],{"categories":1441},[155],{"categories":1443},[],{"categories":1445},[176],{"categories":1447},[155],{"categories":1449},[],{"categories":1451},[152],{"categories":1453},[155],{"categories":1455},[],{"categories":1457},[],{"categories":1459},[],{"categories":1461},[155],{"categories":1463},[],{"categories":1465},[471],{"categories":1467},[155],{"categories":1469},[],{"categories":1471},[155],{"categories":1473},[155],{"categories":1475},[155],{"categories":1477},[155,471],{"categories":1479},[155],{"categories":1481},[155],{"categories":1483},[197],{"categories":1485},[158],{"categories":1487},[],{"categories":1489},[158],{"categories":1491},[155],{"categories":1493},[155],{"categories":1495},[155],{"categories":1497},[113],{"categories":1499},[113],{"categories":1501},[207],{"categories":1503},[197],{"categories":1505},[158],{"categories":1507},[],{"categories":1509},[155],{"categories":1511},[176],{"categories":1513},[155],{"categories":1515},[152],{"categories":1517},[],{"categories":1519},[471],{"categories":1521},[197],{"categories":1523},[197],{"categories":1525},[158],{"categories":1527},[176],{"categories":1529},[158],{"categories":1531},[155],{"categories":1533},[],{"categories":1535},[155],{"categories":1537},[],{"categories":1539},[],{"categories":1541},[155],{"categories":1543},[155],{"categories":1545},[155],{"categories":1547},[158],{"categories":1549},[155],{"categories":1551},[],{"categories":1553},[200],{"categories":1555},[158],{"categories":1557},[],{"categories":1559},[],{"categories":1561},[155],{"categories":1563},[176],{"categories":1565},[],{"categories":1567},[197],{"categories":1569},[471],{"categories":1571},[176],{"categories":1573},[207],{"categories":1575},[207],{"categories":1577},[176],{"categories":1579},[176],{"categories":1581},[471],{"categories":1583},[],{"categories":1585},[176],{"categories":1587},[155],{"categories":1589},[113],{"categories":1591},[176],{"categories":1593},[],{"categories":1595},[200],{"categories":1597},[176],{"categories":1599},[207],{"categories":1601},[176],{"categories":1603},[471],{"categories":1605},[155],{"categories":1607},[155],{"categories":1609},[],{"categories":1611},[152],{"categories":1613},[],{"categories":1615},[],{"categories":1617},[155],{"categories":1619},[155],{"categories":1621},[155],{"categories":1623},[155],{"categories":1625},[],{"categories":1627},[200],{"categories":1629},[113],{"categories":1631},[],{"categories":1633},[155],{"categories":1635},[155],{"categories":1637},[471],{"categories":1639},[471],{"categories":1641},[],{"categories":1643},[158],{"categories":1645},[176],{"categories":1647},[176],{"categories":1649},[155],{"categories":1651},[158],{"categories":1653},[],{"categories":1655},[197],{"categories":1657},[155],{"categories":1659},[155],{"categories":1661},[],{"categories":1663},[],{"categories":1665},[471],{"categories":1667},[155],{"categories":1669},[207],{"categories":1671},[152],{"categories":1673},[155],{"categories":1675},[],{"categories":1677},[158],{"categories":1679},[113],{"categories":1681},[113],{"categories":1683},[],{"categories":1685},[155],{"categories":1687},[197],{"categories":1689},[158],{"categories":1691},[],{"categories":1693},[155],{"categories":1695},[155],{"categories":1697},[158],{"categories":1699},[],{"categories":1701},[158],{"categories":1703},[207],{"categories":1705},[],{"categories":1707},[155],{"categories":1709},[],{"categories":1711},[155],{"categories":1713},[],{"categories":1715},[155],{"categories":1717},[155],{"categories":1719},[],{"categories":1721},[155],{"categories":1723},[176],{"categories":1725},[155],{"categories":1727},[155],{"categories":1729},[113],{"categories":1731},[155],{"categories":1733},[176],{"categories":1735},[158],{"categories":1737},[],{"categories":1739},[155],{"categories":1741},[214],{"categories":1743},[],{"categories":1745},[],{"categories":1747},[],{"categories":1749},[113],{"categories":1751},[176],{"categories":1753},[158],{"categories":1755},[155],{"categories":1757},[197],{"categories":1759},[158],{"categories":1761},[],{"categories":1763},[158],{"categories":1765},[],{"categories":1767},[155],{"categories":1769},[158],{"categories":1771},[155],{"categories":1773},[],{"categories":1775},[155],{"categories":1777},[155],{"categories":1779},[176],{"categories":1781},[197],{"categories":1783},[158],{"categories":1785},[197],{"categories":1787},[152],{"categories":1789},[],{"categories":1791},[],{"categories":1793},[155],{"categories":1795},[113],{"categories":1797},[176],{"categories":1799},[],{"categories":1801},[],{"categories":1803},[207],{"categories":1805},[197],{"categories":1807},[],{"categories":1809},[155],{"categories":1811},[],{"categories":1813},[214],{"categories":1815},[155],{"categories":1817},[471],{"categories":1819},[207],{"categories":1821},[],{"categories":1823},[158],{"categories":1825},[155],{"categories":1827},[158],{"categories":1829},[158],{"categories":1831},[155],{"categories":1833},[],{"categories":1835},[113],{"categories":1837},[155],{"categories":1839},[152],{"categories":1841},[207],{"categories":1843},[197],{"categories":1845},[],{"categories":1847},[],{"categories":1849},[],{"categories":1851},[158],{"categories":1853},[197],{"categories":1855},[176],{"categories":1857},[155],{"categories":1859},[176],{"categories":1861},[197],{"categories":1863},[],{"categories":1865},[197],{"categories":1867},[176],{"categories":1869},[152],{"categories":1871},[155],{"categories":1873},[176],{"categories":1875},[214],{"categories":1877},[],{"categories":1879},[],{"categories":1881},[200],{"categories":1883},[155,207],{"categories":1885},[176],{"categories":1887},[155],{"categories":1889},[158],{"categories":1891},[158],{"categories":1893},[155],{"categories":1895},[],{"categories":1897},[207],{"categories":1899},[155],{"categories":1901},[200],{"categories":1903},[158],{"categories":1905},[214],{"categories":1907},[471],{"categories":1909},[],{"categories":1911},[113],{"categories":1913},[158],{"categories":1915},[158],{"categories":1917},[207],{"categories":1919},[155],{"categories":1921},[155],{"categories":1923},[],{"categories":1925},[],{"categories":1927},[],{"categories":1929},[471],{"categories":1931},[176],{"categories":1933},[155],{"categories":1935},[155],{"categories":1937},[155],{"categories":1939},[],{"categories":1941},[200],{"categories":1943},[152],{"categories":1945},[],{"categories":1947},[158],{"categories":1949},[471],{"categories":1951},[],{"categories":1953},[197],{"categories":1955},[197],{"categories":1957},[],{"categories":1959},[207],{"categories":1961},[197],{"categories":1963},[155],{"categories":1965},[],{"categories":1967},[176],{"categories":1969},[155],{"categories":1971},[197],{"categories":1973},[158],{"categories":1975},[176],{"categories":1977},[],{"categories":1979},[158],{"categories":1981},[197],{"categories":1983},[155],{"categories":1985},[],{"categories":1987},[155],{"categories":1989},[155],{"categories":1991},[471],{"categories":1993},[176],{"categories":1995},[200],{"categories":1997},[200],{"categories":1999},[],{"categories":2001},[],{"categories":2003},[],{"categories":2005},[158],{"categories":2007},[207],{"categories":2009},[207],{"categories":2011},[],{"categories":2013},[],{"categories":2015},[155],{"categories":2017},[],{"categories":2019},[158],{"categories":2021},[155],{"categories":2023},[],{"categories":2025},[155],{"categories":2027},[152],{"categories":2029},[155],{"categories":2031},[214],{"categories":2033},[158],{"categories":2035},[155],{"categories":2037},[207],{"categories":2039},[176],{"categories":2041},[158],{"categories":2043},[],{"categories":2045},[176],{"categories":2047},[158],{"categories":2049},[158],{"categories":2051},[],{"categories":2053},[152],{"categories":2055},[158],{"categories":2057},[],{"categories":2059},[155],{"categories":2061},[113],{"categories":2063},[176],{"categories":2065},[471],{"categories":2067},[158],{"categories":2069},[158],{"categories":2071},[113],{"categories":2073},[155],{"categories":2075},[],{"categories":2077},[],{"categories":2079},[197],{"categories":2081},[155,152],{"categories":2083},[],{"categories":2085},[113],{"categories":2087},[200],{"categories":2089},[155],{"categories":2091},[207],{"categories":2093},[155],{"categories":2095},[158],{"categories":2097},[155],{"categories":2099},[155],{"categories":2101},[176],{"categories":2103},[158],{"categories":2105},[],{"categories":2107},[],{"categories":2109},[158],{"categories":2111},[155],{"categories":2113},[471],{"categories":2115},[],{"categories":2117},[155],{"categories":2119},[158],{"categories":2121},[],{"categories":2123},[155],{"categories":2125},[214],{"categories":2127},[200],{"categories":2129},[158],{"categories":2131},[155],{"categories":2133},[471],{"categories":2135},[],{"categories":2137},[155],{"categories":2139},[214],{"categories":2141},[197],{"categories":2143},[155],{"categories":2145},[],{"categories":2147},[214],{"categories":2149},[176],{"categories":2151},[155],{"categories":2153},[155],{"categories":2155},[113],{"categories":2157},[],{"categories":2159},[],{"categories":2161},[197],{"categories":2163},[155],{"categories":2165},[200],{"categories":2167},[214],{"categories":2169},[214],{"categories":2171},[176],{"categories":2173},[],{"categories":2175},[],{"categories":2177},[155],{"categories":2179},[],{"categories":2181},[155,207],{"categories":2183},[176],{"categories":2185},[158],{"categories":2187},[207],{"categories":2189},[155],{"categories":2191},[113],{"categories":2193},[],{"categories":2195},[],{"categories":2197},[113],{"categories":2199},[214],{"categories":2201},[155],{"categories":2203},[],{"categories":2205},[197,155],{"categories":2207},[471],{"categories":2209},[113],{"categories":2211},[],{"categories":2213},[152],{"categories":2215},[152],{"categories":2217},[155],{"categories":2219},[207],{"categories":2221},[158],{"categories":2223},[176],{"categories":2225},[214],{"categories":2227},[197],{"categories":2229},[155],{"categories":2231},[155],{"categories":2233},[155],{"categories":2235},[113],{"categories":2237},[155],{"categories":2239},[158],{"categories":2241},[176],{"categories":2243},[],{"categories":2245},[],{"categories":2247},[200],{"categories":2249},[207],{"categories":2251},[155],{"categories":2253},[197],{"categories":2255},[200],{"categories":2257},[155],{"categories":2259},[155],{"categories":2261},[158],{"categories":2263},[158],{"categories":2265},[155,152],{"categories":2267},[],{"categories":2269},[197],{"categories":2271},[],{"categories":2273},[155],{"categories":2275},[176],{"categories":2277},[113],{"categories":2279},[113],{"categories":2281},[158],{"categories":2283},[155],{"categories":2285},[152],{"categories":2287},[207],{"categories":2289},[214],{"categories":2291},[],{"categories":2293},[176],{"categories":2295},[155],{"categories":2297},[155],{"categories":2299},[176],{"categories":2301},[207],{"categories":2303},[155],{"categories":2305},[158],{"categories":2307},[176],{"categories":2309},[155],{"categories":2311},[197],{"categories":2313},[155],{"categories":2315},[155],{"categories":2317},[471],{"categories":2319},[161],{"categories":2321},[158],{"categories":2323},[155],{"categories":2325},[176],{"categories":2327},[158],{"categories":2329},[214],{"categories":2331},[155],{"categories":2333},[],{"categories":2335},[155],{"categories":2337},[],{"categories":2339},[],{"categories":2341},[],{"categories":2343},[152],{"categories":2345},[155],{"categories":2347},[158],{"categories":2349},[176],{"categories":2351},[176],{"categories":2353},[176],{"categories":2355},[176],{"categories":2357},[],{"categories":2359},[113],{"categories":2361},[158],{"categories":2363},[176],{"categories":2365},[113],{"categories":2367},[158],{"categories":2369},[155],{"categories":2371},[155,158],{"categories":2373},[158],{"categories":2375},[471],{"categories":2377},[176],{"categories":2379},[176],{"categories":2381},[158],{"categories":2383},[155],{"categories":2385},[],{"categories":2387},[176],{"categories":2389},[214],{"categories":2391},[113],{"categories":2393},[155],{"categories":2395},[155],{"categories":2397},[],{"categories":2399},[207],{"categories":2401},[],{"categories":2403},[113],{"categories":2405},[158],{"categories":2407},[176],{"categories":2409},[155],{"categories":2411},[176],{"categories":2413},[113],{"categories":2415},[176],{"categories":2417},[176],{"categories":2419},[],{"categories":2421},[152],{"categories":2423},[158],{"categories":2425},[176],{"categories":2427},[176],{"categories":2429},[176],{"categories":2431},[176],{"categories":2433},[176],{"categories":2435},[176],{"categories":2437},[176],{"categories":2439},[176],{"categories":2441},[176],{"categories":2443},[176],{"categories":2445},[200],{"categories":2447},[113],{"categories":2449},[155],{"categories":2451},[155],{"categories":2453},[],{"categories":2455},[155,113],{"categories":2457},[],{"categories":2459},[158],{"categories":2461},[176],{"categories":2463},[158],{"categories":2465},[155],{"categories":2467},[155],{"categories":2469},[155],{"categories":2471},[155],{"categories":2473},[155],{"categories":2475},[158],{"categories":2477},[152],{"categories":2479},[197],{"categories":2481},[176],{"categories":2483},[155],{"categories":2485},[],{"categories":2487},[],{"categories":2489},[158],{"categories":2491},[197],{"categories":2493},[155],{"categories":2495},[],{"categories":2497},[],{"categories":2499},[214],{"categories":2501},[155],{"categories":2503},[],{"categories":2505},[],{"categories":2507},[113],{"categories":2509},[152],{"categories":2511},[155],{"categories":2513},[152],{"categories":2515},[197],{"categories":2517},[],{"categories":2519},[176],{"categories":2521},[],{"categories":2523},[197],{"categories":2525},[155],{"categories":2527},[214],{"categories":2529},[],{"categories":2531},[214],{"categories":2533},[],{"categories":2535},[],{"categories":2537},[158],{"categories":2539},[],{"categories":2541},[152],{"categories":2543},[113],{"categories":2545},[197],{"categories":2547},[207],{"categories":2549},[],{"categories":2551},[],{"categories":2553},[155],{"categories":2555},[113],{"categories":2557},[214],{"categories":2559},[],{"categories":2561},[158],{"categories":2563},[158],{"categories":2565},[176],{"categories":2567},[155],{"categories":2569},[158],{"categories":2571},[155],{"categories":2573},[158],{"categories":2575},[155],{"categories":2577},[161],{"categories":2579},[176],{"categories":2581},[],{"categories":2583},[214],{"categories":2585},[207],{"categories":2587},[158],{"categories":2589},[],{"categories":2591},[155],{"categories":2593},[158],{"categories":2595},[152],{"categories":2597},[113],{"categories":2599},[155],{"categories":2601},[197],{"categories":2603},[207],{"categories":2605},[207],{"categories":2607},[155],{"categories":2609},[200],{"categories":2611},[155],{"categories":2613},[158],{"categories":2615},[152],{"categories":2617},[158],{"categories":2619},[155],{"categories":2621},[155],{"categories":2623},[158],{"categories":2625},[176],{"categories":2627},[],{"categories":2629},[113],{"categories":2631},[155],{"categories":2633},[158],{"categories":2635},[155],{"categories":2637},[155],{"categories":2639},[],{"categories":2641},[197],{"categories":2643},[152],{"categories":2645},[176],{"categories":2647},[155],{"categories":2649},[155],{"categories":2651},[197],{"categories":2653},[214],{"categories":2655},[200],{"categories":2657},[155],{"categories":2659},[176],{"categories":2661},[155],{"categories":2663},[158],{"categories":2665},[471],{"categories":2667},[155],{"categories":2669},[158],{"categories":2671},[200],{"categories":2673},[],{"categories":2675},[158],{"categories":2677},[207],{"categories":2679},[197],{"categories":2681},[155],{"categories":2683},[113],{"categories":2685},[152],{"categories":2687},[207],{"categories":2689},[],{"categories":2691},[158],{"categories":2693},[155],{"categories":2695},[],{"categories":2697},[176],{"categories":2699},[],{"categories":2701},[176],{"categories":2703},[155],{"categories":2705},[158],{"categories":2707},[158],{"categories":2709},[158],{"categories":2711},[],{"categories":2713},[],{"categories":2715},[155],{"categories":2717},[155],{"categories":2719},[],{"categories":2721},[197],{"categories":2723},[158],{"categories":2725},[214],{"categories":2727},[113],{"categories":2729},[],{"categories":2731},[],{"categories":2733},[176],{"categories":2735},[207],{"categories":2737},[155],{"categories":2739},[155],{"categories":2741},[155],{"categories":2743},[207],{"categories":2745},[176],{"categories":2747},[197],{"categories":2749},[155],{"categories":2751},[155],{"categories":2753},[155],{"categories":2755},[176],{"categories":2757},[155],{"categories":2759},[176],{"categories":2761},[158],{"categories":2763},[158],{"categories":2765},[207],{"categories":2767},[158],{"categories":2769},[155],{"categories":2771},[207],{"categories":2773},[197],{"categories":2775},[],{"categories":2777},[158],{"categories":2779},[],{"categories":2781},[],{"categories":2783},[],{"categories":2785},[152],{"categories":2787},[155],{"categories":2789},[158],{"categories":2791},[113],{"categories":2793},[158],{"categories":2795},[214],{"categories":2797},[],{"categories":2799},[158],{"categories":2801},[],{"categories":2803},[113],{"categories":2805},[158],{"categories":2807},[],{"categories":2809},[158],{"categories":2811},[155],{"categories":2813},[176],{"categories":2815},[155],{"categories":2817},[158],{"categories":2819},[176],{"categories":2821},[158],{"categories":2823},[207],{"categories":2825},[197],{"categories":2827},[113],{"categories":2829},[],{"categories":2831},[158],{"categories":2833},[197],{"categories":2835},[471],{"categories":2837},[176],{"categories":2839},[155],{"categories":2841},[197],{"categories":2843},[113],{"categories":2845},[],{"categories":2847},[158],{"categories":2849},[158],{"categories":2851},[155],{"categories":2853},[],{"categories":2855},[158],{"categories":2857},[161],{"categories":2859},[176],{"categories":2861},[158],{"categories":2863},[152],{"categories":2865},[],{"categories":2867},[155],{"categories":2869},[161],{"categories":2871},[155],{"categories":2873},[158],{"categories":2875},[176],{"categories":2877},[113],{"categories":2879},[471],{"categories":2881},[155],{"categories":2883},[155],{"categories":2885},[155],{"categories":2887},[176],{"categories":2889},[152],{"categories":2891},[155],{"categories":2893},[197],{"categories":2895},[176],{"categories":2897},[471],{"categories":2899},[155],{"categories":2901},[],{"categories":2903},[],{"categories":2905},[471],{"categories":2907},[200],{"categories":2909},[158],{"categories":2911},[158],{"categories":2913},[176],{"categories":2915},[155],{"categories":2917},[113],{"categories":2919},[197],{"categories":2921},[158],{"categories":2923},[155],{"categories":2925},[214],{"categories":2927},[155],{"categories":2929},[158],{"categories":2931},[],{"categories":2933},[155],{"categories":2935},[155],{"categories":2937},[176],{"categories":2939},[113],{"categories":2941},[],{"categories":2943},[155],{"categories":2945},[155],{"categories":2947},[207],{"categories":2949},[197],{"categories":2951},[155,158],{"categories":2953},[214,152],{"categories":2955},[155],{"categories":2957},[],{"categories":2959},[158],{"categories":2961},[],{"categories":2963},[207],{"categories":2965},[155],{"categories":2967},[176],{"categories":2969},[],{"categories":2971},[158],{"categories":2973},[],{"categories":2975},[197],{"categories":2977},[158],{"categories":2979},[113],{"categories":2981},[158],{"categories":2983},[155],{"categories":2985},[471],{"categories":2987},[214],{"categories":2989},[152],{"categories":2991},[152],{"categories":2993},[113],{"categories":2995},[113],{"categories":2997},[155],{"categories":2999},[158],{"categories":3001},[155],{"categories":3003},[155],{"categories":3005},[113],{"categories":3007},[155],{"categories":3009},[214],{"categories":3011},[176],{"categories":3013},[155],{"categories":3015},[158],{"categories":3017},[155],{"categories":3019},[],{"categories":3021},[207],{"categories":3023},[],{"categories":3025},[158],{"categories":3027},[113],{"categories":3029},[],{"categories":3031},[471],{"categories":3033},[155],{"categories":3035},[],{"categories":3037},[176],{"categories":3039},[158],{"categories":3041},[207],{"categories":3043},[155],{"categories":3045},[158],{"categories":3047},[207],{"categories":3049},[158],{"categories":3051},[176],{"categories":3053},[113],{"categories":3055},[176],{"categories":3057},[207],{"categories":3059},[155],{"categories":3061},[197],{"categories":3063},[155],{"categories":3065},[155],{"categories":3067},[155],{"categories":3069},[155],{"categories":3071},[158],{"categories":3073},[155],{"categories":3075},[158],{"categories":3077},[155],{"categories":3079},[113],{"categories":3081},[155],{"categories":3083},[158],{"categories":3085},[197],{"categories":3087},[113],{"categories":3089},[158],{"categories":3091},[197],{"categories":3093},[],{"categories":3095},[155],{"categories":3097},[155],{"categories":3099},[207],{"categories":3101},[],{"categories":3103},[158],{"categories":3105},[214],{"categories":3107},[155],{"categories":3109},[176],{"categories":3111},[214],{"categories":3113},[158],{"categories":3115},[152],{"categories":3117},[152],{"categories":3119},[155],{"categories":3121},[113],{"categories":3123},[],{"categories":3125},[155],{"categories":3127},[],{"categories":3129},[113],{"categories":3131},[155],{"categories":3133},[158],{"categories":3135},[158],{"categories":3137},[],{"categories":3139},[207],{"categories":3141},[207],{"categories":3143},[214],{"categories":3145},[197],{"categories":3147},[],{"categories":3149},[155],{"categories":3151},[113],{"categories":3153},[155],{"categories":3155},[207],{"categories":3157},[113],{"categories":3159},[176],{"categories":3161},[176],{"categories":3163},[],{"categories":3165},[176],{"categories":3167},[158],{"categories":3169},[197],{"categories":3171},[200],{"categories":3173},[155],{"categories":3175},[],{"categories":3177},[176],{"categories":3179},[207],{"categories":3181},[152],{"categories":3183},[155],{"categories":3185},[113],{"categories":3187},[471],{"categories":3189},[113],{"categories":3191},[],{"categories":3193},[],{"categories":3195},[176],{"categories":3197},[],{"categories":3199},[158],{"categories":3201},[158],{"categories":3203},[158],{"categories":3205},[],{"categories":3207},[155],{"categories":3209},[],{"categories":3211},[176],{"categories":3213},[113],{"categories":3215},[197],{"categories":3217},[155],{"categories":3219},[176],{"categories":3221},[176],{"categories":3223},[],{"categories":3225},[176],{"categories":3227},[113],{"categories":3229},[155],{"categories":3231},[],{"categories":3233},[158],{"categories":3235},[158],{"categories":3237},[113],{"categories":3239},[],{"categories":3241},[],{"categories":3243},[],{"categories":3245},[197],{"categories":3247},[158],{"categories":3249},[155],{"categories":3251},[],{"categories":3253},[],{"categories":3255},[],{"categories":3257},[197],{"categories":3259},[],{"categories":3261},[113],{"categories":3263},[],{"categories":3265},[],{"categories":3267},[197],{"categories":3269},[155],{"categories":3271},[176],{"categories":3273},[],{"categories":3275},[214],{"categories":3277},[176],{"categories":3279},[214],{"categories":3281},[155],{"categories":3283},[],{"categories":3285},[],{"categories":3287},[158],{"categories":3289},[],{"categories":3291},[],{"categories":3293},[158],{"categories":3295},[155],{"categories":3297},[],{"categories":3299},[158],{"categories":3301},[176],{"categories":3303},[214],{"categories":3305},[200],{"categories":3307},[158],{"categories":3309},[158],{"categories":3311},[],{"categories":3313},[],{"categories":3315},[],{"categories":3317},[176],{"categories":3319},[],{"categories":3321},[],{"categories":3323},[197],{"categories":3325},[113],{"categories":3327},[],{"categories":3329},[152],{"categories":3331},[214],{"categories":3333},[155],{"categories":3335},[207],{"categories":3337},[113],{"categories":3339},[200],{"categories":3341},[152],{"categories":3343},[207],{"categories":3345},[],{"categories":3347},[],{"categories":3349},[158],{"categories":3351},[113],{"categories":3353},[197],{"categories":3355},[113],{"categories":3357},[158],{"categories":3359},[471],{"categories":3361},[158],{"categories":3363},[],{"categories":3365},[155],{"categories":3367},[176],{"categories":3369},[207],{"categories":3371},[],{"categories":3373},[197],{"categories":3375},[176],{"categories":3377},[113],{"categories":3379},[158],{"categories":3381},[155],{"categories":3383},[152],{"categories":3385},[158,471],{"categories":3387},[158],{"categories":3389},[207],{"categories":3391},[155],{"categories":3393},[200],{"categories":3395},[214],{"categories":3397},[158],{"categories":3399},[],{"categories":3401},[158],{"categories":3403},[155],{"categories":3405},[152],{"categories":3407},[],{"categories":3409},[],{"categories":3411},[155],{"categories":3413},[200],{"categories":3415},[155],{"categories":3417},[],{"categories":3419},[176],{"categories":3421},[],{"categories":3423},[176],{"categories":3425},[207],{"categories":3427},[158],{"categories":3429},[155],{"categories":3431},[214],{"categories":3433},[207],{"categories":3435},[],{"categories":3437},[176],{"categories":3439},[155],{"categories":3441},[],{"categories":3443},[155],{"categories":3445},[158],{"categories":3447},[155],{"categories":3449},[158],{"categories":3451},[155],{"categories":3453},[155],{"categories":3455},[155],{"categories":3457},[155],{"categories":3459},[152],{"categories":3461},[],{"categories":3463},[161],{"categories":3465},[176],{"categories":3467},[155],{"categories":3469},[],{"categories":3471},[207],{"categories":3473},[155],{"categories":3475},[155],{"categories":3477},[158],{"categories":3479},[176],{"categories":3481},[155],{"categories":3483},[155],{"categories":3485},[152],{"categories":3487},[158],{"categories":3489},[197],{"categories":3491},[],{"categories":3493},[200],{"categories":3495},[155],{"categories":3497},[],{"categories":3499},[176],{"categories":3501},[214],{"categories":3503},[],{"categories":3505},[],{"categories":3507},[176],{"categories":3509},[176],{"categories":3511},[214],{"categories":3513},[113],{"categories":3515},[158],{"categories":3517},[158],{"categories":3519},[155],{"categories":3521},[152],{"categories":3523},[],{"categories":3525},[],{"categories":3527},[176],{"categories":3529},[200],{"categories":3531},[207],{"categories":3533},[158],{"categories":3535},[197],{"categories":3537},[200],{"categories":3539},[200],{"categories":3541},[],{"categories":3543},[176],{"categories":3545},[155],{"categories":3547},[155],{"categories":3549},[207],{"categories":3551},[],{"categories":3553},[176],{"categories":3555},[176],{"categories":3557},[176],{"categories":3559},[],{"categories":3561},[158],{"categories":3563},[155],{"categories":3565},[],{"categories":3567},[113],{"categories":3569},[152],{"categories":3571},[],{"categories":3573},[155],{"categories":3575},[155],{"categories":3577},[],{"categories":3579},[207],{"categories":3581},[],{"categories":3583},[],{"categories":3585},[],{"categories":3587},[],{"categories":3589},[155],{"categories":3591},[176],{"categories":3593},[],{"categories":3595},[],{"categories":3597},[155],{"categories":3599},[155],{"categories":3601},[155],{"categories":3603},[200],{"categories":3605},[155],{"categories":3607},[200],{"categories":3609},[],{"categories":3611},[200],{"categories":3613},[200],{"categories":3615},[471],{"categories":3617},[158],{"categories":3619},[207],{"categories":3621},[],{"categories":3623},[],{"categories":3625},[200],{"categories":3627},[207],{"categories":3629},[207],{"categories":3631},[207],{"categories":3633},[],{"categories":3635},[113],{"categories":3637},[207],{"categories":3639},[207],{"categories":3641},[113],{"categories":3643},[207],{"categories":3645},[152],{"categories":3647},[207],{"categories":3649},[207],{"categories":3651},[207],{"categories":3653},[200],{"categories":3655},[176],{"categories":3657},[176],{"categories":3659},[155],{"categories":3661},[207],{"categories":3663},[200],{"categories":3665},[471],{"categories":3667},[200],{"categories":3669},[200],{"categories":3671},[200],{"categories":3673},[],{"categories":3675},[152],{"categories":3677},[],{"categories":3679},[471],{"categories":3681},[207],{"categories":3683},[207],{"categories":3685},[207],{"categories":3687},[158],{"categories":3689},[176,152],{"categories":3691},[200],{"categories":3693},[],{"categories":3695},[],{"categories":3697},[200],{"categories":3699},[],{"categories":3701},[200],{"categories":3703},[176],{"categories":3705},[158],{"categories":3707},[],{"categories":3709},[207],{"categories":3711},[155],{"categories":3713},[197],{"categories":3715},[],{"categories":3717},[155],{"categories":3719},[],{"categories":3721},[176],{"categories":3723},[113],{"categories":3725},[200],{"categories":3727},[],{"categories":3729},[207],{"categories":3731},[176],[3733,3787,4288,4425],{"id":3734,"title":3735,"ai":3736,"body":3741,"categories":3769,"created_at":114,"date_modified":114,"description":107,"extension":115,"faq":114,"featured":116,"kicker_label":114,"meta":3770,"navigation":129,"path":3775,"published_at":3776,"question":114,"scraped_at":3777,"seo":3778,"sitemap":3779,"source_id":3780,"source_name":136,"source_type":137,"source_url":3781,"stem":3782,"tags":3783,"thumbnail_url":114,"tldr":3784,"tweet":114,"unknown_tags":3785,"__hash__":3786},"summaries\u002Fsummaries\u002Ffdff86120610a8ee-ghosted-after-take-home-turn-it-into-a-github-play-summary.md","Ghosted After Take-Home? Turn It Into a GitHub Playground",{"provider":7,"model":8,"input_tokens":3737,"output_tokens":3738,"processing_time_ms":3739,"cost_usd":3740},3888,1019,13083,0.00078025,{"type":14,"value":3742,"toc":3764},[3743,3747,3750,3754,3757,3761],[17,3744,3746],{"id":3745},"extract-value-from-wasted-effort-on-take-homes","Extract Value from Wasted Effort on Take-Homes",[22,3748,3749],{},"Take-home assignments demand serious time investment, like a weekend building a full Android app spec: integrate Google Places API via raw HTTP (no SDK), handle location permissions, display nearby restaurants in list and map views, add search, and persist favorites. Deliver with single-module functional architecture, working tests, and a detailed README. Ghosting after submission—recruiter silence post-Sunday evening handoff—feels like total loss, tempting project deletion. Instead, recognize the code's inherent value as a ready-made foundation free from production constraints.",[17,3751,3753],{"id":3752},"iterate-as-a-safe-experimentation-hub","Iterate as a Safe Experimentation Hub",[22,3755,3756],{},"Make the repo public on GitHub immediately to shift mindset from failure to opportunity. Treat it as a low-stakes playground: layer in new APIs, libraries, and concepts before risking them in real projects. Avoid designing everything upfront; let organic evolution happen through repeated passes. This approach yields a polished three-module Clean Architecture app—modular, testable, and demonstrably robust—far superior to the original spec-compliant version.",[17,3758,3760],{"id":3759},"unlock-unexpected-career-wins","Unlock Unexpected Career Wins",[22,3762,3763],{},"Repurposed take-homes become portfolio standouts that signal skills to future employers. The author's evolved project directly secured a contract at another company, proving ghosted work can pivot to tangible gains. This beats deletion by turning frustration into a live, growing artifact that showcases initiative, adaptability, and depth beyond interview checkboxes.",{"title":107,"searchDepth":108,"depth":108,"links":3765},[3766,3767,3768],{"id":3745,"depth":108,"text":3746},{"id":3752,"depth":108,"text":3753},{"id":3759,"depth":108,"text":3760},[113],{"content_references":3771,"triage":3772},[],{"relevance":126,"novelty":125,"quality":126,"actionability":126,"composite":3773,"reasoning":3774},3.8,"Category: Software Engineering. The article provides actionable advice on how to repurpose take-home coding assignments into valuable GitHub projects, addressing the pain point of feeling wasted effort after being ghosted by recruiters. It offers a concrete framework for transforming unused code into a portfolio piece, which is directly applicable to developers looking to enhance their visibility and skills.","\u002Fsummaries\u002Ffdff86120610a8ee-ghosted-after-take-home-turn-it-into-a-github-play-summary","2026-04-20 16:06:34","2026-04-21 15:25:44",{"title":3735,"description":107},{"loc":3775},"fdff86120610a8ee","https:\u002F\u002Flevelup.gitconnected.com\u002Fif-they-ghost-you-after-the-take-home-do-this-12b9cd4a0546?source=rss----5517fd7b58a6---4","summaries\u002Ffdff86120610a8ee-ghosted-after-take-home-turn-it-into-a-github-play-summary",[141,142,143],"Don't delete unused take-home code—publish it publicly on GitHub, iterate with new patterns, and transform it into a showcase that attracts contracts elsewhere.",[142,143],"4hKi_5USwPOKNztzINQTmFQtDquc9WauZIh7kAKoUN4",{"id":3788,"title":3789,"ai":3790,"body":3795,"categories":4271,"created_at":114,"date_modified":114,"description":107,"extension":115,"faq":114,"featured":116,"kicker_label":114,"meta":4272,"navigation":129,"path":4276,"published_at":4277,"question":114,"scraped_at":4278,"seo":4279,"sitemap":4280,"source_id":4281,"source_name":136,"source_type":137,"source_url":4282,"stem":4283,"tags":4284,"thumbnail_url":114,"tldr":4285,"tweet":114,"unknown_tags":4286,"__hash__":4287},"summaries\u002Fsummaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary.md","Scale Compose Nav with Nested Graphs and State Layers",{"provider":7,"model":8,"input_tokens":3791,"output_tokens":3792,"processing_time_ms":3793,"cost_usd":3794},6768,1765,14725,0.00221345,{"type":14,"value":3796,"toc":4265},[3797,3801,3804,3807,3879,3882,3958,3961,3964,3997,4001,4004,4007,4031,4060,4072,4075,4079,4086,4142,4145,4174,4177,4181,4204,4243,4261],[17,3798,3800],{"id":3799},"nested-graphs-isolate-features-and-simplify-reasoning","Nested Graphs Isolate Features and Simplify Reasoning",[22,3802,3803],{},"Flat NavHosts with dozens of composables become unmaintainable—files bloat, flows interfere, back stacks confuse, and refactors risk breakage. Instead, centralize ownership in one root NavHost that only defines major app flows (e.g., auth, main), then nest separate graphs per feature.",[22,3805,3806],{},"Root setup:",[3808,3809,3813],"pre",{"className":3810,"code":3811,"language":3812,"meta":107,"style":107},"language-kotlin shiki shiki-themes github-light github-dark","@Composable\nfun AppNavHost(navController: NavHostController) {\n    NavHost(\n        navController = navController,\n        startDestination = Graph.AUTH,\n        route = Graph.ROOT\n    ) {\n        authNavGraph(navController)\n        mainNavGraph(navController)\n    }\n}\n","kotlin",[26,3814,3815,3823,3828,3833,3838,3843,3849,3855,3861,3867,3873],{"__ignoreMap":107},[3816,3817,3820],"span",{"class":3818,"line":3819},"line",1,[3816,3821,3822],{},"@Composable\n",[3816,3824,3825],{"class":3818,"line":108},[3816,3826,3827],{},"fun AppNavHost(navController: NavHostController) {\n",[3816,3829,3830],{"class":3818,"line":125},[3816,3831,3832],{},"    NavHost(\n",[3816,3834,3835],{"class":3818,"line":126},[3816,3836,3837],{},"        navController = navController,\n",[3816,3839,3840],{"class":3818,"line":124},[3816,3841,3842],{},"        startDestination = Graph.AUTH,\n",[3816,3844,3846],{"class":3818,"line":3845},6,[3816,3847,3848],{},"        route = Graph.ROOT\n",[3816,3850,3852],{"class":3818,"line":3851},7,[3816,3853,3854],{},"    ) {\n",[3816,3856,3858],{"class":3818,"line":3857},8,[3816,3859,3860],{},"        authNavGraph(navController)\n",[3816,3862,3864],{"class":3818,"line":3863},9,[3816,3865,3866],{},"        mainNavGraph(navController)\n",[3816,3868,3870],{"class":3818,"line":3869},10,[3816,3871,3872],{},"    }\n",[3816,3874,3876],{"class":3818,"line":3875},11,[3816,3877,3878],{},"}\n",[22,3880,3881],{},"Feature graphs group related screens:",[3808,3883,3885],{"className":3810,"code":3884,"language":3812,"meta":107,"style":107},"fun NavGraphBuilder.authNavGraph(navController: NavHostController) {\n    navigation(startDestination = \"login\", route = Graph.AUTH) {\n        composable(\"login\") {\n            LoginScreen(\n                onLoginSuccess = {\n                    navController.navigate(Graph.MAIN) {\n                        popUpTo(Graph.AUTH) { inclusive = true }\n                    }\n                }\n            )\n        }\n        \u002F\u002F signup composable...\n    }\n}\n",[26,3886,3887,3892,3897,3902,3907,3912,3917,3922,3927,3932,3937,3942,3948,3953],{"__ignoreMap":107},[3816,3888,3889],{"class":3818,"line":3819},[3816,3890,3891],{},"fun NavGraphBuilder.authNavGraph(navController: NavHostController) {\n",[3816,3893,3894],{"class":3818,"line":108},[3816,3895,3896],{},"    navigation(startDestination = \"login\", route = Graph.AUTH) {\n",[3816,3898,3899],{"class":3818,"line":125},[3816,3900,3901],{},"        composable(\"login\") {\n",[3816,3903,3904],{"class":3818,"line":126},[3816,3905,3906],{},"            LoginScreen(\n",[3816,3908,3909],{"class":3818,"line":124},[3816,3910,3911],{},"                onLoginSuccess = {\n",[3816,3913,3914],{"class":3818,"line":3845},[3816,3915,3916],{},"                    navController.navigate(Graph.MAIN) {\n",[3816,3918,3919],{"class":3818,"line":3851},[3816,3920,3921],{},"                        popUpTo(Graph.AUTH) { inclusive = true }\n",[3816,3923,3924],{"class":3818,"line":3857},[3816,3925,3926],{},"                    }\n",[3816,3928,3929],{"class":3818,"line":3863},[3816,3930,3931],{},"                }\n",[3816,3933,3934],{"class":3818,"line":3869},[3816,3935,3936],{},"            )\n",[3816,3938,3939],{"class":3818,"line":3875},[3816,3940,3941],{},"        }\n",[3816,3943,3945],{"class":3818,"line":3944},12,[3816,3946,3947],{},"        \u002F\u002F signup composable...\n",[3816,3949,3951],{"class":3818,"line":3950},13,[3816,3952,3872],{},[3816,3954,3956],{"class":3818,"line":3955},14,[3816,3957,3878],{},[22,3959,3960],{},"This keeps graphs small, prevents cross-flow pollution, and makes back stack behavior predictable—e.g., clear auth stack on login success.",[22,3962,3963],{},"Centralize routes with sealed classes to avoid string typos:",[3808,3965,3967],{"className":3810,"code":3966,"language":3812,"meta":107,"style":107},"sealed class AppScreen(val route: String) {\n    data object Home : AppScreen(\"home\")\n    data object UserDetails : AppScreen(\"user\u002F{userId}\") {\n        fun createRoute(userId: Long) = \"user\u002F$userId\"\n    }\n}\n",[26,3968,3969,3974,3979,3984,3989,3993],{"__ignoreMap":107},[3816,3970,3971],{"class":3818,"line":3819},[3816,3972,3973],{},"sealed class AppScreen(val route: String) {\n",[3816,3975,3976],{"class":3818,"line":108},[3816,3977,3978],{},"    data object Home : AppScreen(\"home\")\n",[3816,3980,3981],{"class":3818,"line":125},[3816,3982,3983],{},"    data object UserDetails : AppScreen(\"user\u002F{userId}\") {\n",[3816,3985,3986],{"class":3818,"line":126},[3816,3987,3988],{},"        fun createRoute(userId: Long) = \"user\u002F$userId\"\n",[3816,3990,3991],{"class":3818,"line":124},[3816,3992,3872],{},[3816,3994,3995],{"class":3818,"line":3845},[3816,3996,3878],{},[17,3998,4000],{"id":3999},"layered-state-keeps-navigation-stable","Layered State Keeps Navigation Stable",[22,4002,4003],{},"Navigation only handles movement and small primitives (IDs, filters, flags)—never full objects, which fail serialization and stale quickly. Load data in destinations.",[22,4005,4006],{},"Three layers:",[4008,4009,4010,4021],"ol",{},[40,4011,4012,4016,4017,4020],{},[4013,4014,4015],"strong",{},"Nav args",": Primitives only, e.g., ",[26,4018,4019],{},"navController.navigate(UserDetails.createRoute(42L))",".",[40,4022,4023,4026,4027,4030],{},[4013,4024,4025],{},"ViewModels",": Screen\u002Fbusiness state with API calls, loading\u002Ferrors. Extract args via ",[26,4028,4029],{},"SavedStateHandle",":",[3808,4032,4034],{"className":3810,"code":4033,"language":3812,"meta":107,"style":107},"class UserDetailsViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {\n    private val userId: Long = checkNotNull(savedStateHandle[\"userId\"])\n    val uiState = MutableStateFlow(UserDetailsUiState())\n    \u002F\u002F Load data in init...\n}\n",[26,4035,4036,4041,4046,4051,4056],{"__ignoreMap":107},[3816,4037,4038],{"class":3818,"line":3819},[3816,4039,4040],{},"class UserDetailsViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {\n",[3816,4042,4043],{"class":3818,"line":108},[3816,4044,4045],{},"    private val userId: Long = checkNotNull(savedStateHandle[\"userId\"])\n",[3816,4047,4048],{"class":3818,"line":125},[3816,4049,4050],{},"    val uiState = MutableStateFlow(UserDetailsUiState())\n",[3816,4052,4053],{"class":3818,"line":126},[3816,4054,4055],{},"    \u002F\u002F Load data in init...\n",[3816,4057,4058],{"class":3818,"line":124},[3816,4059,3878],{},[4008,4061,4062],{"start":125},[40,4063,4064,4067,4068,4071],{},[4013,4065,4066],{},"Composable state",": UI-only like ",[26,4069,4070],{},"rememberSaveable { mutableStateOf(\"\") }"," for inputs\u002Ftoggles.",[22,4073,4074],{},"This separation makes nav robust: pass ID, fetch fresh data, avoid fragile deep passing.",[17,4076,4078],{"id":4077},"route-level-wiring-and-tab-polish","Route-Level Wiring and Tab Polish",[22,4080,4081,4082,4085],{},"Avoid scattering ",[26,4083,4084],{},"NavController"," in leaf UI—pass lambdas from route composables for reusable, testable screens:",[3808,4087,4089],{"className":3810,"code":4088,"language":3812,"meta":107,"style":107},"@Composable\nfun HomeRoute(navController: NavHostController) {\n    HomeScreen(\n        onOpenSettings = { navController.navigate(\"settings\") },\n        onOpenUser = { id -> navController.navigate(\"user\u002F$id\") }\n    )\n}\n@Composable\nfun HomeScreen(onOpenSettings: () -> Unit, onOpenUser: (Long) -> Unit) {\n    \u002F\u002F Buttons call lambdas\n}\n",[26,4090,4091,4095,4100,4105,4110,4115,4120,4124,4128,4133,4138],{"__ignoreMap":107},[3816,4092,4093],{"class":3818,"line":3819},[3816,4094,3822],{},[3816,4096,4097],{"class":3818,"line":108},[3816,4098,4099],{},"fun HomeRoute(navController: NavHostController) {\n",[3816,4101,4102],{"class":3818,"line":125},[3816,4103,4104],{},"    HomeScreen(\n",[3816,4106,4107],{"class":3818,"line":126},[3816,4108,4109],{},"        onOpenSettings = { navController.navigate(\"settings\") },\n",[3816,4111,4112],{"class":3818,"line":124},[3816,4113,4114],{},"        onOpenUser = { id -> navController.navigate(\"user\u002F$id\") }\n",[3816,4116,4117],{"class":3818,"line":3845},[3816,4118,4119],{},"    )\n",[3816,4121,4122],{"class":3818,"line":3851},[3816,4123,3878],{},[3816,4125,4126],{"class":3818,"line":3857},[3816,4127,3822],{},[3816,4129,4130],{"class":3818,"line":3863},[3816,4131,4132],{},"fun HomeScreen(onOpenSettings: () -> Unit, onOpenUser: (Long) -> Unit) {\n",[3816,4134,4135],{"class":3818,"line":3869},[3816,4136,4137],{},"    \u002F\u002F Buttons call lambdas\n",[3816,4139,4140],{"class":3818,"line":3875},[3816,4141,3878],{},[22,4143,4144],{},"For bottom tabs, use this nav spec to avoid duplicates, save\u002Frestore state:",[3808,4146,4148],{"className":3810,"code":4147,"language":3812,"meta":107,"style":107},"navController.navigate(route) {\n    popUpTo(navController.graph.startDestinationId) { saveState = true }\n    launchSingleTop = true\n    restoreState = true\n}\n",[26,4149,4150,4155,4160,4165,4170],{"__ignoreMap":107},[3816,4151,4152],{"class":3818,"line":3819},[3816,4153,4154],{},"navController.navigate(route) {\n",[3816,4156,4157],{"class":3818,"line":108},[3816,4158,4159],{},"    popUpTo(navController.graph.startDestinationId) { saveState = true }\n",[3816,4161,4162],{"class":3818,"line":125},[3816,4163,4164],{},"    launchSingleTop = true\n",[3816,4166,4167],{"class":3818,"line":126},[3816,4168,4169],{},"    restoreState = true\n",[3816,4171,4172],{"class":3818,"line":124},[3816,4173,3878],{},[22,4175,4176],{},"This preserves tab state across switches, polishing UX.",[17,4178,4180],{"id":4179},"full-stack-ties-it-together","Full Stack Ties It Together",[22,4182,4183,4184,4187,4188,4191,4192,4195,4196,4199,4200,4203],{},"Thin ",[26,4185,4186],{},"MainActivity"," sets ",[26,4189,4190],{},"App()"," with ",[26,4193,4194],{},"rememberNavController()",". ",[26,4197,4198],{},"AppNavHost"," wires root. Graphs use route sealed interfaces (e.g., ",[26,4201,4202],{},"AuthDest.Login.route","). UserDetails handles args:",[3808,4205,4207],{"className":3810,"code":4206,"language":3812,"meta":107,"style":107},"composable(\n    route = MainDest.UserDetails.route,\n    arguments = listOf(navArgument(MainDest.UserDetails.ARG) { type = NavType.LongType })\n) { entry ->\n    val userId = entry.arguments?.getLong(MainDest.UserDetails.ARG) ?: return@composable\n    UserDetailsRoute(userId)\n}\n",[26,4208,4209,4214,4219,4224,4229,4234,4239],{"__ignoreMap":107},[3816,4210,4211],{"class":3818,"line":3819},[3816,4212,4213],{},"composable(\n",[3816,4215,4216],{"class":3818,"line":108},[3816,4217,4218],{},"    route = MainDest.UserDetails.route,\n",[3816,4220,4221],{"class":3818,"line":125},[3816,4222,4223],{},"    arguments = listOf(navArgument(MainDest.UserDetails.ARG) { type = NavType.LongType })\n",[3816,4225,4226],{"class":3818,"line":126},[3816,4227,4228],{},") { entry ->\n",[3816,4230,4231],{"class":3818,"line":124},[3816,4232,4233],{},"    val userId = entry.arguments?.getLong(MainDest.UserDetails.ARG) ?: return@composable\n",[3816,4235,4236],{"class":3818,"line":3845},[3816,4237,4238],{},"    UserDetailsRoute(userId)\n",[3816,4240,4241],{"class":3818,"line":3851},[3816,4242,3878],{},[22,4244,4245,4248,4249,4252,4253,4256,4257,4260],{},[26,4246,4247],{},"UserDetailsRoute"," injects ",[26,4250,4251],{},"viewModel()",", collects ",[26,4254,4255],{},"uiState",", passes to pure ",[26,4258,4259],{},"UserDetailsScreen",". Add screens freely without central chaos.",[4262,4263,4264],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":107,"searchDepth":108,"depth":108,"links":4266},[4267,4268,4269,4270],{"id":3799,"depth":108,"text":3800},{"id":3999,"depth":108,"text":4000},{"id":4077,"depth":108,"text":4078},{"id":4179,"depth":108,"text":4180},[207],{"content_references":4273,"triage":4274},[],{"relevance":126,"novelty":125,"quality":126,"actionability":126,"composite":3773,"reasoning":4275},"Category: Software Engineering. The article provides a practical approach to scaling navigation in Jetpack Compose, addressing a common pain point for developers managing complex app architectures. It includes specific code examples and a structured method for implementing nested graphs and layered state, making it actionable for developers looking to improve their navigation systems.","\u002Fsummaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary","2026-05-01 20:30:17","2026-05-03 17:00:35",{"title":3789,"description":107},{"loc":4276},"8d5558e87957c77a","https:\u002F\u002Flevelup.gitconnected.com\u002Fscaling-navigation-in-jetpack-compose-from-simple-apps-to-real-world-architecture-c6cf897f5a58?source=rss----5517fd7b58a6---4","summaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary",[141,143,142],"For apps with 20-50 screens, use one root NavHost with nested feature graphs, centralized route objects, and layered state (nav args for IDs, ViewModels for data, composables for UI) to prevent navigation fragility.",[143,142],"MdJCmrlysKnhasneoBQPUQQjKPDk05jtmg82txx-jf4",{"id":4289,"title":4290,"ai":4291,"body":4296,"categories":4407,"created_at":114,"date_modified":114,"description":107,"extension":115,"faq":114,"featured":116,"kicker_label":114,"meta":4408,"navigation":129,"path":4413,"published_at":114,"question":114,"scraped_at":4414,"seo":4415,"sitemap":4416,"source_id":4417,"source_name":4418,"source_type":137,"source_url":4419,"stem":4420,"tags":4421,"thumbnail_url":114,"tldr":4422,"tweet":114,"unknown_tags":4423,"__hash__":4424},"summaries\u002Fsummaries\u002F4e34a0b2f37369ab-xp-enables-evolutionary-design-via-refactoring-and-summary.md","XP Enables Evolutionary Design via Refactoring and Simplicity",{"provider":7,"model":8,"input_tokens":4292,"output_tokens":4293,"processing_time_ms":4294,"cost_usd":4295},8876,2752,13683,0.00286005,{"type":14,"value":4297,"toc":4400},[4298,4302,4305,4308,4311,4315,4318,4321,4324,4328,4331,4334,4337,4341,4344,4347,4351,4380,4383],[17,4299,4301],{"id":4300},"flaws-in-traditional-planned-and-evolutionary-design","Flaws in Traditional Planned and Evolutionary Design",[22,4303,4304],{},"Martin Fowler contrasts two dominant design approaches in software: evolutionary (design emerges during coding) and planned (Big Design Up Front, or BDUF, using tools like UML). Pure evolutionary design, often called 'code and fix,' leads to software entropy—ad-hoc decisions accumulate, making changes exponentially harder and breeding bugs. Fowler notes, 'As design deteriorates, so does your ability to make changes effectively,' likening it to a nightmare where fixes grow costlier over time.",[22,4306,4307],{},"Planned design draws from civil engineering: architects create detailed blueprints (e.g., UML diagrams) before builders code, avoiding tactical pitfalls. This works better than code-and-fix but fails in software due to three issues. First, programmers uncover unpredicted issues during implementation, but designers have moved on, leading to workarounds and entropy. Second, designers lose touch with rapidly evolving tools and platforms, eroding programmer respect. Third, changing requirements—often business-driven and unforeseen—undermine even flexible designs. Fowler observes, 'Changing requirements are the number one big issue that causes headaches in software projects,' as anticipating volatility is nearly impossible without perfect foresight.",[22,4309,4310],{},"He rejects both extremes: code-and-fix is disastrous, but planned design's rigidity ignores software's fluidity. XP offers a viable evolutionary path by addressing these via enabling practices.",[17,4312,4314],{"id":4313},"xp-practices-flatten-the-change-curve-for-viable-evolution","XP Practices Flatten the Change Curve for Viable Evolution",[22,4316,4317],{},"XP assumes the 'change curve'—where fixes cost exponentially more later—can be flattened, making evolutionary design practical. This requires coupled practices: without enablers, exploitation fails.",[22,4319,4320],{},"Core enablers are automated testing (unit and acceptance), continuous integration (daily merges with full builds\u002Ftests), and refactoring (disciplined restructuring without changing behavior). Testing provides a safety net; CI keeps teams synced; refactoring maintains simplicity. Fowler shares personal experience: learning proper refactoring from Kent Beck transformed his effectiveness, inspiring his book. At Thoughtworks, introducing testing and CI alone markedly improved development speed, challenging the need for all XP practices but validating their power.",[22,4322,4323],{},"These shift the design balance. Jim Highsmith analogizes it to scales: traditional processes overweight planned design; XP balances it with refactoring. Some upfront design persists—spikes (time-boxed investigations) and iteration planning—but most evolves via refactor. Fowler admits uncertainty on the exact balance: 'One thing we haven't yet figured out is where the balance point is.'",[17,4325,4327],{"id":4326},"simple-design-and-yagni-counter-over-engineering","Simple Design and YAGNI Counter Over-Engineering",[22,4329,4330],{},"XP's 'Do the Simplest Thing That Could Possibly Work' and 'You Aren't Gonna Need It' (YAGNI) reject upfront flexibility like frameworks or reusable components. Build only for current iteration needs; evolve later. For a Money class, implement addition now, multiplication next—even if trivial—avoiding economic waste (delaying current stories) and prediction errors.",[22,4332,4333],{},"Complexity burdens comprehension and modification until needed. Fowler explains, 'A complex design is more difficult to understand than a simple one. Therefore any modification of the system is made harder by added complexity.' YAGNI works only with XP's low change costs; without testing\u002Frefactoring, it invites entropy.",[22,4335,4336],{},"Kent Beck's four simplicity criteria (in order): (1) passes all tests, (2) no duplication, (3) reveals intention (clear, non-clever code), (4) minimal classes\u002Fmethods. No-duplication echoes DRY (Pragmatic Programmer). Revealing intention varies: JUnit's decorators clarify for pattern-savvy developers but confuse novices. Uncle Bob (Robert Martin) advises, 'It's easier to refactor over-design than it is to refactor no design,' prioritizing refactor willingness over perfect simplicity upfront. Refactoring doesn't violate YAGNI—it removes unneeded complexity to stay simple.",[17,4338,4340],{"id":4339},"patterns-and-architecture-evolve-dont-dictate","Patterns and Architecture Evolve, Don't Dictate",[22,4342,4343],{},"Patterns face skepticism in XP, as newcomers overapply them (e.g., 16 patterns in 32 lines). XP evolves into patterns via simple design and refactorings, not forcing them early. Fowler, a patterns advocate, insists they're vital: 'Patterns are a backbone of design knowledge, valuable whatever your process.' Use gradually: start simple, recognize when a pattern fits, weigh its cost. Advice for XP teams: learn patterns deeply, evolve implementations, teach via code reviews\u002Fspikes.",[22,4345,4346],{},"Architecture—core, hard-to-change elements—grows similarly. Avoid BDUF architectures; let them emerge from simple components under refactoring discipline.",[17,4348,4350],{"id":4349},"key-takeaways","Key Takeaways",[37,4352,4353,4356,4359,4362,4365,4368,4371,4374,4377],{},[40,4354,4355],{},"Use XP enablers (testing, CI, refactoring) to flatten the change curve, enabling safe evolutionary design over pure code-and-fix.",[40,4357,4358],{},"Balance minimal upfront design (spikes, iteration planning) with heavy refactoring; exact ratio evolves per project.",[40,4360,4361],{},"Follow YAGNI and simple design: implement only current needs to avoid waste and complexity drag.",[40,4363,4364],{},"Judge simplicity by Beck's criteria: tests pass, no duplication, intention-revealing, minimal entities.",[40,4366,4367],{},"Evolve patterns and architecture gradually; know them to recognize and introduce judiciously.",[40,4369,4370],{},"Refactor relentlessly—it's cheaper to simplify over-design than add to under-design.",[40,4372,4373],{},"Anticipate no requirements perfectly; business changes demand adaptable processes.",[40,4375,4376],{},"Prioritize clarity over cleverness; duplication elimination alone yields big wins.",[40,4378,4379],{},"XP doesn't kill design or patterns—it redirects them to evolutionary styles.",[22,4381,4382],{},"Notable quotes:",[37,4384,4385,4388,4391,4394,4397],{},[40,4386,4387],{},"Kent Beck (via Fowler): 'Design is there to enable you to keep changing the software easily in the long term.' (Highlights design's true purpose, contrasting entropy.)",[40,4389,4390],{},"XP slogans: 'Do the Simplest Thing that Could Possibly Work' and 'You Aren't Going to Need It (YAGNI).' (Core rules preventing over-engineering.)",[40,4392,4393],{},"Robert Martin: 'It's easier to refactor over-design than it is to refactor no design.' (Emphasizes safe erring toward slight over-design.)",[40,4395,4396],{},"Martin Fowler: 'The willingness to refactor is much more important than knowing what the simplest thing is right away.' (Stresses process over perfectionism.)",[40,4398,4399],{},"Joshua Kerievsky (contextual): Patterns under-emphasized in XP, but evolve via simple starts. (Sparks debate on patterns' role.)",{"title":107,"searchDepth":108,"depth":108,"links":4401},[4402,4403,4404,4405,4406],{"id":4300,"depth":108,"text":4301},{"id":4313,"depth":108,"text":4314},{"id":4326,"depth":108,"text":4327},{"id":4339,"depth":108,"text":4340},{"id":4349,"depth":108,"text":4350},[207],{"content_references":4409,"triage":4410},[],{"relevance":126,"novelty":125,"quality":126,"actionability":125,"composite":4411,"reasoning":4412},3.6,"Category: Software Engineering. The article discusses Extreme Programming (XP) as a method to counter software entropy, which directly addresses the audience's pain point of managing design and development processes effectively. It provides insights into practices like automated testing and continuous integration, which are actionable but could benefit from more detailed implementation guidance.","\u002Fsummaries\u002F4e34a0b2f37369ab-xp-enables-evolutionary-design-via-refactoring-and-summary","2026-04-16 03:07:43",{"title":4290,"description":107},{"loc":4413},"4e34a0b2f37369ab","__oneoff__","https:\u002F\u002Fmartinfowler.com\u002Farticles\u002FdesignDead.html","summaries\u002F4e34a0b2f37369ab-xp-enables-evolutionary-design-via-refactoring-and-summary",[141,143,142],"Extreme Programming counters software entropy in evolutionary design with testing, continuous integration, refactoring, and simple design rules like YAGNI, balancing minimal upfront planning with ongoing evolution over rigid Big Design Up Front.",[143,142],"tU_o-1H1nTIoH7y-oe-W27eHLR8gAUoUT4R8ZCIjeuY",{"id":4426,"title":4427,"ai":4428,"body":4433,"categories":4486,"created_at":114,"date_modified":114,"description":107,"extension":115,"faq":114,"featured":116,"kicker_label":114,"meta":4487,"navigation":129,"path":4510,"published_at":114,"question":114,"scraped_at":4511,"seo":4512,"sitemap":4513,"source_id":4514,"source_name":4418,"source_type":137,"source_url":4515,"stem":4516,"tags":4517,"thumbnail_url":114,"tldr":4518,"tweet":114,"unknown_tags":4519,"__hash__":4520},"summaries\u002Fsummaries\u002Fa515b097e03645cd-yagni-skip-presumptive-features-to-minimize-costs-summary.md","YAGNI: Skip Presumptive Features to Minimize Costs",{"provider":7,"model":8,"input_tokens":4429,"output_tokens":4430,"processing_time_ms":4431,"cost_usd":4432},6409,2280,20925,0.0023993,{"type":14,"value":4434,"toc":4481},[4435,4439,4458,4461,4465,4468,4471,4475,4478],[17,4436,4438],{"id":4437},"four-costs-of-building-presumptive-features","Four Costs of Building Presumptive Features",[22,4440,4441,4442,4445,4446,4449,4450,4453,4454,4457],{},"Presumptive features—code for capabilities not yet needed—impose four key costs, even if they prove useful. First, ",[4013,4443,4444],{},"build cost"," wastes effort on analysis, coding, and testing something unnecessary, like adding piracy risk pricing to a storm risk pricer 6 months early. Second, ",[4013,4447,4448],{},"delay cost"," diverts effort from urgent features; skipping piracy lets you ship storm sales software 2 months sooner, capturing revenue immediately. Third, ",[4013,4451,4452],{},"carry cost"," adds complexity that slows all future work—piracy code might delay storm sales by 2 weeks via harder debugging and changes, compounding across features until needed (or forever if removed). Fourth, ",[4013,4455,4456],{},"repair cost"," hits when teams learn better implementations later, accruing technical debt from outdated designs.",[22,4459,4460],{},"To counter 'cheaper now' arguments, compare total costs including ⅔ failure odds (from Microsoft analysis: only ⅓ of carefully planned features improved metrics). Mentally simulate later refactoring often reveals it's not much harder—or spot low-cost prep like using lookup tables over literals for future i18n.",[17,4462,4464],{"id":4463},"high-odds-presumptive-features-fail-or-change","High Odds Presumptive Features Fail or Change",[22,4466,4467],{},"Agile embraces changing requirements, so upfront predictions falter—e.g., a navy wiping out pirates kills the need entirely. Even accurate foresight yields wrong implementations as teams learn user needs, tools, and code interactions. Abstractions for future risks (e.g., parameterizing storm pricer for piracy) presume correct designs, but reality mismatches raise complexity without benefit. YAGNI presumes such extensibility guilty if it obscures current code.",[22,4469,4470],{},"Spectrum of failure: fully useless (build cost only), partially useful (carry until activation), or 'right feature, wrong build' (repair debt). Small-scale YAGNI matters too—e.g., delay regex group highlighting until needed; skip unused fields\u002Fmethods. These micro-decisions cumulatively slash codebase complexity and accelerate urgent delivery.",[17,4472,4474],{"id":4473},"yagni-demandsand-reinforcesmalleable-code","YAGNI Demands—and Reinforces—Malleable Code",[22,4476,4477],{},"YAGNI forbids only complexity for unused future capabilities; zero-complexity prep (rare) is fine. Crucially, it excludes investments in changeability: refactoring, self-testing code, and continuous delivery aren't presumptive—they enable YAGNI by keeping code malleable. Without them, delaying features becomes painful, turning YAGNI into a curse.",[22,4479,4480],{},"Failures occur when early cheap changes avert later expensive ones, but these are rare, availability-biased memories; successes (avoided waste) dominate. YAGNI thus both requires and bolsters evolutionary design: build simple now, adapt precisely later.",{"title":107,"searchDepth":108,"depth":108,"links":4482},[4483,4484,4485],{"id":4437,"depth":108,"text":4438},{"id":4463,"depth":108,"text":4464},{"id":4473,"depth":108,"text":4474},[207],{"content_references":4488,"triage":4508},[4489,4495,4500,4504],{"type":4490,"title":4491,"author":4492,"url":4493,"context":4494},"book","Extreme Programming Explained","Kent Beck","https:\u002F\u002Fwww.amazon.com\u002Fgp\u002Fproduct\u002F0321278658\u002Fref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321278658&linkCode=as2&tag=martinfowlerc-20","cited",{"type":4496,"title":4497,"author":4498,"url":4499,"context":4494},"paper","ExPThinkWeek2009Public","Kohavi et al","http:\u002F\u002Fai.stanford.edu\u002F~ronnyk\u002FExPThinkWeek2009Public.pdf",{"type":4501,"title":4502,"author":4503,"url":4419,"context":122},"other","Is Design Dead","Martin Fowler",{"type":4501,"title":4505,"url":4506,"context":4507},"YouArentGonnaNeedIt","http:\u002F\u002Fc2.com\u002Fcgi\u002Fwiki?YouArentGonnaNeedIt","mentioned",{"relevance":126,"novelty":125,"quality":126,"actionability":126,"composite":3773,"reasoning":4509},"Category: Software Engineering. The article discusses the YAGNI principle, which is directly relevant to software engineering and developer productivity by emphasizing the importance of avoiding unnecessary features. It provides actionable insights on minimizing costs and improving delivery speed, addressing pain points related to feature prioritization and technical debt.","\u002Fsummaries\u002Fa515b097e03645cd-yagni-skip-presumptive-features-to-minimize-costs-summary","2026-04-15 15:35:26",{"title":4427,"description":107},{"loc":4510},"a515b097e03645cd","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FYagni.html","summaries\u002Fa515b097e03645cd-yagni-skip-presumptive-features-to-minimize-costs-summary",[141,143,142],"Don't build features needed 6 months out now—incur build costs, 2 months revenue delay, ongoing carry costs, and 2\u002F3 chance they're useless or wrong anyway.",[143,142],"AJwOo1Uv2H7FB_UdFKYWUgkjzbXtN8cByrn6LYfzKfk"]