[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-e2dbc9dc07c07f2d-ios-vision-api-demo-on-device-ocr-poses-barcodes-summary":3,"summaries-facets-categories":200,"summary-related-e2dbc9dc07c07f2d-ios-vision-api-demo-on-device-ocr-poses-barcodes-summary":3769},{"id":4,"title":5,"ai":6,"body":13,"categories":167,"created_at":169,"date_modified":169,"description":108,"extension":170,"faq":169,"featured":171,"kicker_label":169,"meta":172,"navigation":183,"path":184,"published_at":169,"question":169,"scraped_at":185,"seo":186,"sitemap":187,"source_id":188,"source_name":189,"source_type":190,"source_url":191,"stem":192,"tags":193,"thumbnail_url":169,"tldr":197,"tweet":169,"unknown_tags":198,"__hash__":199},"summaries\u002Fsummaries\u002Fe2dbc9dc07c07f2d-ios-vision-api-demo-on-device-ocr-poses-barcodes-summary.md","iOS Vision API Demo: On-Device OCR, Poses, Barcodes",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",4523,1622,7742,0.00169295,{"type":14,"value":15,"toc":161},"minimark",[16,21,25,74,92,96,99,109,116,120,127,154],[17,18,20],"h2",{"id":19},"implement-four-core-vision-features-on-device","Implement Four Core Vision Features On-Device",[22,23,24],"p",{},"Build privacy-focused computer vision apps by integrating Apple's Vision framework directly into iOS. The demo processes images from camera or photo library entirely on-device for speed and data security. Key implementations:",[26,27,28,45,55,65],"ul",{},[29,30,31,35,36,40,41,44],"li",{},[32,33,34],"strong",{},"Text Recognition (OCR)",": Use ",[37,38,39],"code",{},"VNRecognizeTextRequest"," to extract text with confidence scores, visualized in SwiftUI Charts via ",[37,42,43],{},"ConfidenceChart.swift",".",[29,46,47,50,51,54],{},[32,48,49],{},"Rectangle Detection",": Configure ",[37,52,53],{},"VNDetectRectanglesRequest"," to identify rectangular shapes in real-time.",[29,56,57,60,61,64],{},[32,58,59],{},"Human Body Pose Detection",": Track joints with ",[37,62,63],{},"VNDetectHumanBodyPoseRequest",", rendering poses on detected bodies.",[29,66,67,70,71,44],{},[32,68,69],{},"Barcode Detection",": Scan multiple formats using ",[37,72,73],{},"VNDetectBarcodesRequest",[22,75,76,77,80,81,84,85,80,88,91],{},"All features handle live camera feeds or static images through ",[37,78,79],{},"CameraService.swift"," and ",[37,82,83],{},"VisionService.swift",", requesting ",[37,86,87],{},"NSCameraUsageDescription",[37,89,90],{},"NSPhotoLibraryUsageDescription"," permissions only when needed.",[17,93,95],{"id":94},"mvvm-architecture-for-scalable-vision-apps","MVVM Architecture for Scalable Vision Apps",[22,97,98],{},"Structure your Vision-powered iOS app with clean separation:",[100,101,106],"pre",{"className":102,"code":104,"language":105},[103],"language-text","MyVisionAPI\u002F\n├── Models\u002FVisionModels.swift  # Results data\n├── Services\u002F\n│   ├── VisionService.swift    # API requests\n│   └── CameraService.swift    # Input handling\n├── Views\u002F\n│   ├── WelcomeView.swift\n│   ├── ConfidenceChart.swift\n│   ├── TextRecognitionView.swift\n│   ├── RectangleDetectionView.swift\n│   ├── BodyPoseView.swift\n│   └── BarcodeDetectionView.swift\n├── ContentView.swift          # Tab navigation\n└── MyVisionAPIApp.swift       # Entry point\n","text",[37,107,104],{"__ignoreMap":108},"",[22,110,111,112,115],{},"This setup isolates Vision logic in services, keeps views declarative with SwiftUI, and uses models for structured outputs. Configure app signing in Xcode for ",[37,113,114],{},"MyVisionAPI.entitlements"," and build with Cmd+R.",[17,117,119],{"id":118},"quick-setup-and-testing-workflow","Quick Setup and Testing Workflow",[22,121,122,123,126],{},"Clone repo, open in Xcode, select signing team for ",[37,124,125],{},"MyVisionAPI"," target, then run. Test via tabbed interface:",[128,129,130,136,142,148],"ol",{},[29,131,132,135],{},[32,133,134],{},"Text",": Pick image\u002Fcamera, view extracted text and confidence chart.",[29,137,138,141],{},[32,139,140],{},"Rectangles",": Detect and overlay bounding boxes.",[29,143,144,147],{},[32,145,146],{},"Poses",": Pose estimation on human figures.",[29,149,150,153],{},[32,151,152],{},"Barcodes",": Decode payloads instantly.",[22,155,156,157,160],{},"Troubleshoot builds with Cmd+Shift+K clean; check console for runtime errors. Performance stays smooth on-device. Contribute by branching ",[37,158,159],{},"git checkout -b feature\u002Fname",", committing, and pushing—MIT licensed.",{"title":108,"searchDepth":162,"depth":162,"links":163},2,[164,165,166],{"id":19,"depth":162,"text":20},{"id":94,"depth":162,"text":95},{"id":118,"depth":162,"text":119},[168],"Software Engineering",null,"md",false,{"content_references":173,"triage":178},[174],{"type":175,"title":176,"context":177},"other","How I Taught My iPhone to 'See' Like a Human: A Deep Dive into Apple's Vision API","mentioned",{"relevance":179,"novelty":180,"quality":179,"actionability":179,"composite":181,"reasoning":182},4,3,3.8,"Category: AI & LLMs. The article provides a practical guide to implementing on-device computer vision features using Apple's Vision framework, addressing the audience's need for actionable content. It includes specific implementation details and a structured approach using MVVM architecture, making it relevant for developers looking to integrate AI capabilities into their apps.",true,"\u002Fsummaries\u002Fe2dbc9dc07c07f2d-ios-vision-api-demo-on-device-ocr-poses-barcodes-summary","2026-04-16 02:56:08",{"title":5,"description":108},{"loc":184},"e2dbc9dc07c07f2d","__oneoff__","article","https:\u002F\u002Fgithub.com\u002Fsanjaynela\u002FvisionApiProject","summaries\u002Fe2dbc9dc07c07f2d-ios-vision-api-demo-on-device-ocr-poses-barcodes-summary",[194,195,196],"ai-tools","machine-learning","coding","Clone this SwiftUI iOS app to test Apple's Vision framework locally for text recognition, rectangle detection, body pose tracking, and barcode scanning using MVVM architecture—no cloud needed.",[],"PaLBCnVSdHjnglY9MQuInhExt7WzNiZ_A5ENUBp7XRI",[201,204,207,210,213,216,218,220,222,224,226,228,231,233,235,237,239,241,243,245,247,249,252,255,257,259,261,263,265,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,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,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787,789,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425,3427,3429,3431,3433,3435,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553,3555,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709,3711,3713,3715,3717,3719,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761,3763,3765,3767],{"categories":202},[203],"Developer Productivity",{"categories":205},[206],"Business & SaaS",{"categories":208},[209],"AI & LLMs",{"categories":211},[212],"AI Automation",{"categories":214},[215],"Product Strategy",{"categories":217},[209],{"categories":219},[203],{"categories":221},[206],{"categories":223},[],{"categories":225},[209],{"categories":227},[],{"categories":229},[230],"AI News & Trends",{"categories":232},[212],{"categories":234},[230],{"categories":236},[212],{"categories":238},[212],{"categories":240},[209],{"categories":242},[209],{"categories":244},[230],{"categories":246},[209],{"categories":248},[],{"categories":250},[251],"Design & Frontend",{"categories":253},[254],"Data Science & Visualization",{"categories":256},[230],{"categories":258},[],{"categories":260},[168],{"categories":262},[209],{"categories":264},[212],{"categories":266},[267],"Marketing & Growth",{"categories":269},[209],{"categories":271},[212],{"categories":273},[],{"categories":275},[],{"categories":277},[251],{"categories":279},[212],{"categories":281},[203],{"categories":283},[251],{"categories":285},[209],{"categories":287},[212],{"categories":289},[230],{"categories":291},[],{"categories":293},[],{"categories":295},[212],{"categories":297},[168],{"categories":299},[],{"categories":301},[206],{"categories":303},[],{"categories":305},[],{"categories":307},[212],{"categories":309},[212],{"categories":311},[209],{"categories":313},[],{"categories":315},[168],{"categories":317},[],{"categories":319},[],{"categories":321},[],{"categories":323},[209],{"categories":325},[267],{"categories":327},[251],{"categories":329},[251],{"categories":331},[209],{"categories":333},[212],{"categories":335},[209],{"categories":337},[209],{"categories":339},[212],{"categories":341},[212],{"categories":343},[254],{"categories":345},[230],{"categories":347},[212],{"categories":349},[267],{"categories":351},[212],{"categories":353},[215],{"categories":355},[],{"categories":357},[212],{"categories":359},[],{"categories":361},[212],{"categories":363},[168],{"categories":365},[251],{"categories":367},[209],{"categories":369},[],{"categories":371},[],{"categories":373},[212],{"categories":375},[],{"categories":377},[209],{"categories":379},[],{"categories":381},[203],{"categories":383},[168],{"categories":385},[206],{"categories":387},[230],{"categories":389},[209],{"categories":391},[],{"categories":393},[209],{"categories":395},[],{"categories":397},[168],{"categories":399},[254],{"categories":401},[],{"categories":403},[209],{"categories":405},[251],{"categories":407},[],{"categories":409},[251],{"categories":411},[212],{"categories":413},[],{"categories":415},[212],{"categories":417},[230],{"categories":419},[209],{"categories":421},[],{"categories":423},[212],{"categories":425},[209],{"categories":427},[215],{"categories":429},[],{"categories":431},[209],{"categories":433},[212],{"categories":435},[212],{"categories":437},[],{"categories":439},[254],{"categories":441},[209],{"categories":443},[],{"categories":445},[203],{"categories":447},[206],{"categories":449},[209],{"categories":451},[212],{"categories":453},[168],{"categories":455},[209],{"categories":457},[],{"categories":459},[],{"categories":461},[209],{"categories":463},[],{"categories":465},[251],{"categories":467},[],{"categories":469},[209],{"categories":471},[],{"categories":473},[212],{"categories":475},[209],{"categories":477},[251],{"categories":479},[],{"categories":481},[209],{"categories":483},[209],{"categories":485},[206],{"categories":487},[212],{"categories":489},[209],{"categories":491},[251],{"categories":493},[212],{"categories":495},[],{"categories":497},[],{"categories":499},[230],{"categories":501},[],{"categories":503},[209],{"categories":505},[206,267],{"categories":507},[],{"categories":509},[209],{"categories":511},[],{"categories":513},[],{"categories":515},[209],{"categories":517},[],{"categories":519},[209],{"categories":521},[522],"DevOps & Cloud",{"categories":524},[],{"categories":526},[230],{"categories":528},[251],{"categories":530},[],{"categories":532},[230],{"categories":534},[230],{"categories":536},[209],{"categories":538},[267],{"categories":540},[],{"categories":542},[206],{"categories":544},[],{"categories":546},[209,522],{"categories":548},[209],{"categories":550},[209],{"categories":552},[212],{"categories":554},[209,168],{"categories":556},[254],{"categories":558},[209],{"categories":560},[267],{"categories":562},[212],{"categories":564},[212],{"categories":566},[],{"categories":568},[212],{"categories":570},[209,206],{"categories":572},[],{"categories":574},[251],{"categories":576},[251],{"categories":578},[],{"categories":580},[],{"categories":582},[230],{"categories":584},[],{"categories":586},[203],{"categories":588},[168],{"categories":590},[209],{"categories":592},[251],{"categories":594},[212],{"categories":596},[168],{"categories":598},[230],{"categories":600},[251],{"categories":602},[],{"categories":604},[209],{"categories":606},[209],{"categories":608},[209],{"categories":610},[230],{"categories":612},[203],{"categories":614},[209],{"categories":616},[212],{"categories":618},[522],{"categories":620},[251],{"categories":622},[212],{"categories":624},[],{"categories":626},[],{"categories":628},[251],{"categories":630},[230],{"categories":632},[254],{"categories":634},[],{"categories":636},[209],{"categories":638},[209],{"categories":640},[206],{"categories":642},[209],{"categories":644},[209],{"categories":646},[230],{"categories":648},[],{"categories":650},[212],{"categories":652},[168],{"categories":654},[],{"categories":656},[209],{"categories":658},[209],{"categories":660},[212],{"categories":662},[],{"categories":664},[],{"categories":666},[209],{"categories":668},[],{"categories":670},[206],{"categories":672},[212],{"categories":674},[],{"categories":676},[203],{"categories":678},[209],{"categories":680},[206],{"categories":682},[230],{"categories":684},[],{"categories":686},[],{"categories":688},[],{"categories":690},[230],{"categories":692},[230],{"categories":694},[],{"categories":696},[],{"categories":698},[206],{"categories":700},[],{"categories":702},[],{"categories":704},[203],{"categories":706},[],{"categories":708},[267],{"categories":710},[212],{"categories":712},[206],{"categories":714},[212],{"categories":716},[],{"categories":718},[215],{"categories":720},[251],{"categories":722},[168],{"categories":724},[209],{"categories":726},[212],{"categories":728},[206],{"categories":730},[209],{"categories":732},[],{"categories":734},[],{"categories":736},[168],{"categories":738},[254],{"categories":740},[215],{"categories":742},[212],{"categories":744},[209],{"categories":746},[],{"categories":748},[522],{"categories":750},[],{"categories":752},[212],{"categories":754},[],{"categories":756},[],{"categories":758},[209],{"categories":760},[251],{"categories":762},[267],{"categories":764},[212],{"categories":766},[],{"categories":768},[203],{"categories":770},[],{"categories":772},[230],{"categories":774},[209,522],{"categories":776},[230],{"categories":778},[209],{"categories":780},[206],{"categories":782},[209],{"categories":784},[],{"categories":786},[206],{"categories":788},[],{"categories":790},[168],{"categories":792},[251],{"categories":794},[230],{"categories":796},[254],{"categories":798},[203],{"categories":800},[209],{"categories":802},[168],{"categories":804},[],{"categories":806},[],{"categories":808},[215],{"categories":810},[],{"categories":812},[209],{"categories":814},[],{"categories":816},[251],{"categories":818},[251],{"categories":820},[251],{"categories":822},[],{"categories":824},[],{"categories":826},[230],{"categories":828},[212],{"categories":830},[209],{"categories":832},[209],{"categories":834},[209],{"categories":836},[206],{"categories":838},[209],{"categories":840},[],{"categories":842},[168],{"categories":844},[168],{"categories":846},[206],{"categories":848},[],{"categories":850},[209],{"categories":852},[209],{"categories":854},[206],{"categories":856},[230],{"categories":858},[267],{"categories":860},[212],{"categories":862},[],{"categories":864},[251],{"categories":866},[],{"categories":868},[209],{"categories":870},[],{"categories":872},[206],{"categories":874},[212],{"categories":876},[],{"categories":878},[522],{"categories":880},[254],{"categories":882},[168],{"categories":884},[267],{"categories":886},[168],{"categories":888},[212],{"categories":890},[],{"categories":892},[],{"categories":894},[212],{"categories":896},[203],{"categories":898},[212],{"categories":900},[215],{"categories":902},[206],{"categories":904},[],{"categories":906},[209],{"categories":908},[215],{"categories":910},[209],{"categories":912},[209],{"categories":914},[267],{"categories":916},[251],{"categories":918},[212],{"categories":920},[],{"categories":922},[],{"categories":924},[522],{"categories":926},[168],{"categories":928},[],{"categories":930},[212],{"categories":932},[209],{"categories":934},[251,209],{"categories":936},[203],{"categories":938},[],{"categories":940},[209],{"categories":942},[203],{"categories":944},[251],{"categories":946},[212],{"categories":948},[168],{"categories":950},[],{"categories":952},[209],{"categories":954},[],{"categories":956},[203],{"categories":958},[],{"categories":960},[212],{"categories":962},[215],{"categories":964},[209],{"categories":966},[209],{"categories":968},[251],{"categories":970},[212],{"categories":972},[522],{"categories":974},[251],{"categories":976},[212],{"categories":978},[209],{"categories":980},[209],{"categories":982},[209],{"categories":984},[230],{"categories":986},[],{"categories":988},[215],{"categories":990},[212],{"categories":992},[251],{"categories":994},[212],{"categories":996},[168],{"categories":998},[251],{"categories":1000},[212],{"categories":1002},[230],{"categories":1004},[],{"categories":1006},[209],{"categories":1008},[251],{"categories":1010},[209],{"categories":1012},[203],{"categories":1014},[230],{"categories":1016},[209],{"categories":1018},[267],{"categories":1020},[209],{"categories":1022},[209],{"categories":1024},[212],{"categories":1026},[212],{"categories":1028},[209],{"categories":1030},[212],{"categories":1032},[251],{"categories":1034},[209],{"categories":1036},[],{"categories":1038},[],{"categories":1040},[168],{"categories":1042},[],{"categories":1044},[203],{"categories":1046},[522],{"categories":1048},[],{"categories":1050},[203],{"categories":1052},[206],{"categories":1054},[267],{"categories":1056},[],{"categories":1058},[206],{"categories":1060},[],{"categories":1062},[],{"categories":1064},[],{"categories":1066},[],{"categories":1068},[],{"categories":1070},[209],{"categories":1072},[212],{"categories":1074},[522],{"categories":1076},[203],{"categories":1078},[209],{"categories":1080},[168],{"categories":1082},[215],{"categories":1084},[209],{"categories":1086},[267],{"categories":1088},[209],{"categories":1090},[209],{"categories":1092},[209],{"categories":1094},[209,203],{"categories":1096},[168],{"categories":1098},[168],{"categories":1100},[251],{"categories":1102},[209],{"categories":1104},[],{"categories":1106},[],{"categories":1108},[],{"categories":1110},[168],{"categories":1112},[254],{"categories":1114},[230],{"categories":1116},[251],{"categories":1118},[],{"categories":1120},[209],{"categories":1122},[209],{"categories":1124},[],{"categories":1126},[],{"categories":1128},[212],{"categories":1130},[209],{"categories":1132},[206],{"categories":1134},[],{"categories":1136},[203],{"categories":1138},[209],{"categories":1140},[203],{"categories":1142},[209],{"categories":1144},[168],{"categories":1146},[267],{"categories":1148},[209,251],{"categories":1150},[230],{"categories":1152},[251],{"categories":1154},[],{"categories":1156},[522],{"categories":1158},[251],{"categories":1160},[212],{"categories":1162},[],{"categories":1164},[],{"categories":1166},[],{"categories":1168},[],{"categories":1170},[168],{"categories":1172},[212],{"categories":1174},[212],{"categories":1176},[209],{"categories":1178},[209],{"categories":1180},[],{"categories":1182},[251],{"categories":1184},[],{"categories":1186},[],{"categories":1188},[212],{"categories":1190},[],{"categories":1192},[],{"categories":1194},[267],{"categories":1196},[267],{"categories":1198},[212],{"categories":1200},[],{"categories":1202},[209],{"categories":1204},[209],{"categories":1206},[168],{"categories":1208},[251],{"categories":1210},[251],{"categories":1212},[212],{"categories":1214},[203],{"categories":1216},[209],{"categories":1218},[251],{"categories":1220},[251],{"categories":1222},[212],{"categories":1224},[212],{"categories":1226},[209],{"categories":1228},[],{"categories":1230},[],{"categories":1232},[209],{"categories":1234},[212],{"categories":1236},[230],{"categories":1238},[168],{"categories":1240},[203],{"categories":1242},[209],{"categories":1244},[],{"categories":1246},[212],{"categories":1248},[212],{"categories":1250},[],{"categories":1252},[203],{"categories":1254},[209],{"categories":1256},[203],{"categories":1258},[203],{"categories":1260},[],{"categories":1262},[],{"categories":1264},[212],{"categories":1266},[212],{"categories":1268},[209],{"categories":1270},[209],{"categories":1272},[230],{"categories":1274},[254],{"categories":1276},[215],{"categories":1278},[230],{"categories":1280},[251],{"categories":1282},[],{"categories":1284},[230],{"categories":1286},[],{"categories":1288},[],{"categories":1290},[],{"categories":1292},[],{"categories":1294},[168],{"categories":1296},[254],{"categories":1298},[],{"categories":1300},[209],{"categories":1302},[209],{"categories":1304},[254],{"categories":1306},[168],{"categories":1308},[],{"categories":1310},[],{"categories":1312},[212],{"categories":1314},[230],{"categories":1316},[230],{"categories":1318},[212],{"categories":1320},[203],{"categories":1322},[209,522],{"categories":1324},[],{"categories":1326},[251],{"categories":1328},[203],{"categories":1330},[212],{"categories":1332},[251],{"categories":1334},[],{"categories":1336},[212],{"categories":1338},[212],{"categories":1340},[209],{"categories":1342},[267],{"categories":1344},[168],{"categories":1346},[251],{"categories":1348},[],{"categories":1350},[212],{"categories":1352},[209],{"categories":1354},[212],{"categories":1356},[212],{"categories":1358},[212],{"categories":1360},[267],{"categories":1362},[212],{"categories":1364},[209],{"categories":1366},[],{"categories":1368},[267],{"categories":1370},[230],{"categories":1372},[212],{"categories":1374},[],{"categories":1376},[],{"categories":1378},[209],{"categories":1380},[212],{"categories":1382},[230],{"categories":1384},[212],{"categories":1386},[],{"categories":1388},[],{"categories":1390},[],{"categories":1392},[212],{"categories":1394},[],{"categories":1396},[],{"categories":1398},[254],{"categories":1400},[209],{"categories":1402},[254],{"categories":1404},[230],{"categories":1406},[209],{"categories":1408},[209],{"categories":1410},[212],{"categories":1412},[209],{"categories":1414},[],{"categories":1416},[],{"categories":1418},[522],{"categories":1420},[],{"categories":1422},[],{"categories":1424},[203],{"categories":1426},[],{"categories":1428},[],{"categories":1430},[],{"categories":1432},[],{"categories":1434},[168],{"categories":1436},[230],{"categories":1438},[267],{"categories":1440},[206],{"categories":1442},[209],{"categories":1444},[209],{"categories":1446},[206],{"categories":1448},[],{"categories":1450},[251],{"categories":1452},[212],{"categories":1454},[206],{"categories":1456},[209],{"categories":1458},[209],{"categories":1460},[203],{"categories":1462},[],{"categories":1464},[203],{"categories":1466},[209],{"categories":1468},[267],{"categories":1470},[212],{"categories":1472},[230],{"categories":1474},[206],{"categories":1476},[209],{"categories":1478},[212],{"categories":1480},[],{"categories":1482},[209],{"categories":1484},[203],{"categories":1486},[209],{"categories":1488},[],{"categories":1490},[230],{"categories":1492},[209],{"categories":1494},[],{"categories":1496},[206],{"categories":1498},[209],{"categories":1500},[],{"categories":1502},[],{"categories":1504},[],{"categories":1506},[209],{"categories":1508},[],{"categories":1510},[522],{"categories":1512},[209],{"categories":1514},[],{"categories":1516},[209],{"categories":1518},[209],{"categories":1520},[209],{"categories":1522},[209,522],{"categories":1524},[209],{"categories":1526},[209],{"categories":1528},[251],{"categories":1530},[212],{"categories":1532},[],{"categories":1534},[212],{"categories":1536},[209],{"categories":1538},[209],{"categories":1540},[209],{"categories":1542},[203],{"categories":1544},[203],{"categories":1546},[168],{"categories":1548},[251],{"categories":1550},[212],{"categories":1552},[],{"categories":1554},[209],{"categories":1556},[230],{"categories":1558},[209],{"categories":1560},[206],{"categories":1562},[],{"categories":1564},[522],{"categories":1566},[251],{"categories":1568},[251],{"categories":1570},[212],{"categories":1572},[230],{"categories":1574},[212],{"categories":1576},[209],{"categories":1578},[],{"categories":1580},[209],{"categories":1582},[],{"categories":1584},[],{"categories":1586},[209],{"categories":1588},[209],{"categories":1590},[209],{"categories":1592},[212],{"categories":1594},[209],{"categories":1596},[],{"categories":1598},[254],{"categories":1600},[212],{"categories":1602},[],{"categories":1604},[209],{"categories":1606},[230],{"categories":1608},[],{"categories":1610},[251],{"categories":1612},[522],{"categories":1614},[230],{"categories":1616},[168],{"categories":1618},[168],{"categories":1620},[230],{"categories":1622},[230],{"categories":1624},[522],{"categories":1626},[],{"categories":1628},[230],{"categories":1630},[209],{"categories":1632},[203],{"categories":1634},[230],{"categories":1636},[],{"categories":1638},[254],{"categories":1640},[230],{"categories":1642},[168],{"categories":1644},[230],{"categories":1646},[522],{"categories":1648},[209],{"categories":1650},[209],{"categories":1652},[],{"categories":1654},[206],{"categories":1656},[],{"categories":1658},[],{"categories":1660},[209],{"categories":1662},[209],{"categories":1664},[209],{"categories":1666},[209],{"categories":1668},[],{"categories":1670},[254],{"categories":1672},[203],{"categories":1674},[],{"categories":1676},[209],{"categories":1678},[209],{"categories":1680},[522],{"categories":1682},[522],{"categories":1684},[],{"categories":1686},[212],{"categories":1688},[230],{"categories":1690},[230],{"categories":1692},[209],{"categories":1694},[212],{"categories":1696},[],{"categories":1698},[251],{"categories":1700},[209],{"categories":1702},[209],{"categories":1704},[],{"categories":1706},[],{"categories":1708},[522],{"categories":1710},[209],{"categories":1712},[168],{"categories":1714},[206],{"categories":1716},[209],{"categories":1718},[],{"categories":1720},[212],{"categories":1722},[203],{"categories":1724},[203],{"categories":1726},[],{"categories":1728},[209],{"categories":1730},[251],{"categories":1732},[212],{"categories":1734},[],{"categories":1736},[209],{"categories":1738},[209],{"categories":1740},[212],{"categories":1742},[],{"categories":1744},[212],{"categories":1746},[168],{"categories":1748},[],{"categories":1750},[209],{"categories":1752},[],{"categories":1754},[209],{"categories":1756},[],{"categories":1758},[209],{"categories":1760},[209],{"categories":1762},[],{"categories":1764},[209],{"categories":1766},[230],{"categories":1768},[209],{"categories":1770},[209],{"categories":1772},[203],{"categories":1774},[209],{"categories":1776},[230],{"categories":1778},[212],{"categories":1780},[],{"categories":1782},[209],{"categories":1784},[267],{"categories":1786},[],{"categories":1788},[],{"categories":1790},[],{"categories":1792},[203],{"categories":1794},[230],{"categories":1796},[212],{"categories":1798},[209],{"categories":1800},[251],{"categories":1802},[212],{"categories":1804},[],{"categories":1806},[212],{"categories":1808},[],{"categories":1810},[209],{"categories":1812},[212],{"categories":1814},[209],{"categories":1816},[],{"categories":1818},[209],{"categories":1820},[209],{"categories":1822},[230],{"categories":1824},[251],{"categories":1826},[212],{"categories":1828},[251],{"categories":1830},[206],{"categories":1832},[],{"categories":1834},[],{"categories":1836},[209],{"categories":1838},[203],{"categories":1840},[230],{"categories":1842},[],{"categories":1844},[],{"categories":1846},[168],{"categories":1848},[251],{"categories":1850},[],{"categories":1852},[209],{"categories":1854},[],{"categories":1856},[267],{"categories":1858},[209],{"categories":1860},[522],{"categories":1862},[168],{"categories":1864},[],{"categories":1866},[212],{"categories":1868},[209],{"categories":1870},[212],{"categories":1872},[212],{"categories":1874},[209],{"categories":1876},[],{"categories":1878},[203],{"categories":1880},[209],{"categories":1882},[206],{"categories":1884},[168],{"categories":1886},[251],{"categories":1888},[],{"categories":1890},[],{"categories":1892},[],{"categories":1894},[212],{"categories":1896},[251],{"categories":1898},[230],{"categories":1900},[209],{"categories":1902},[230],{"categories":1904},[251],{"categories":1906},[],{"categories":1908},[251],{"categories":1910},[230],{"categories":1912},[206],{"categories":1914},[209],{"categories":1916},[230],{"categories":1918},[267],{"categories":1920},[],{"categories":1922},[],{"categories":1924},[254],{"categories":1926},[209,168],{"categories":1928},[230],{"categories":1930},[209],{"categories":1932},[212],{"categories":1934},[212],{"categories":1936},[209],{"categories":1938},[],{"categories":1940},[168],{"categories":1942},[209],{"categories":1944},[254],{"categories":1946},[212],{"categories":1948},[267],{"categories":1950},[522],{"categories":1952},[],{"categories":1954},[203],{"categories":1956},[212],{"categories":1958},[212],{"categories":1960},[168],{"categories":1962},[209],{"categories":1964},[209],{"categories":1966},[],{"categories":1968},[],{"categories":1970},[],{"categories":1972},[522],{"categories":1974},[230],{"categories":1976},[209],{"categories":1978},[209],{"categories":1980},[209],{"categories":1982},[],{"categories":1984},[254],{"categories":1986},[206],{"categories":1988},[],{"categories":1990},[212],{"categories":1992},[522],{"categories":1994},[],{"categories":1996},[251],{"categories":1998},[251],{"categories":2000},[],{"categories":2002},[168],{"categories":2004},[251],{"categories":2006},[209],{"categories":2008},[],{"categories":2010},[230],{"categories":2012},[209],{"categories":2014},[251],{"categories":2016},[212],{"categories":2018},[230],{"categories":2020},[],{"categories":2022},[212],{"categories":2024},[251],{"categories":2026},[209],{"categories":2028},[],{"categories":2030},[209],{"categories":2032},[209],{"categories":2034},[522],{"categories":2036},[230],{"categories":2038},[254],{"categories":2040},[254],{"categories":2042},[],{"categories":2044},[],{"categories":2046},[],{"categories":2048},[212],{"categories":2050},[168],{"categories":2052},[168],{"categories":2054},[],{"categories":2056},[],{"categories":2058},[209],{"categories":2060},[],{"categories":2062},[212],{"categories":2064},[209],{"categories":2066},[],{"categories":2068},[209],{"categories":2070},[206],{"categories":2072},[209],{"categories":2074},[267],{"categories":2076},[212],{"categories":2078},[209],{"categories":2080},[168],{"categories":2082},[230],{"categories":2084},[212],{"categories":2086},[],{"categories":2088},[230],{"categories":2090},[212],{"categories":2092},[212],{"categories":2094},[],{"categories":2096},[206],{"categories":2098},[212],{"categories":2100},[],{"categories":2102},[209],{"categories":2104},[203],{"categories":2106},[230],{"categories":2108},[522],{"categories":2110},[212],{"categories":2112},[212],{"categories":2114},[203],{"categories":2116},[209],{"categories":2118},[],{"categories":2120},[],{"categories":2122},[251],{"categories":2124},[209,206],{"categories":2126},[],{"categories":2128},[203],{"categories":2130},[254],{"categories":2132},[209],{"categories":2134},[168],{"categories":2136},[209],{"categories":2138},[212],{"categories":2140},[209],{"categories":2142},[209],{"categories":2144},[230],{"categories":2146},[212],{"categories":2148},[],{"categories":2150},[],{"categories":2152},[212],{"categories":2154},[209],{"categories":2156},[522],{"categories":2158},[],{"categories":2160},[209],{"categories":2162},[212],{"categories":2164},[],{"categories":2166},[209],{"categories":2168},[267],{"categories":2170},[254],{"categories":2172},[212],{"categories":2174},[209],{"categories":2176},[522],{"categories":2178},[],{"categories":2180},[209],{"categories":2182},[267],{"categories":2184},[251],{"categories":2186},[209],{"categories":2188},[],{"categories":2190},[267],{"categories":2192},[230],{"categories":2194},[209],{"categories":2196},[209],{"categories":2198},[203],{"categories":2200},[],{"categories":2202},[],{"categories":2204},[251],{"categories":2206},[209],{"categories":2208},[254],{"categories":2210},[267],{"categories":2212},[267],{"categories":2214},[230],{"categories":2216},[],{"categories":2218},[],{"categories":2220},[209],{"categories":2222},[],{"categories":2224},[209,168],{"categories":2226},[230],{"categories":2228},[212],{"categories":2230},[168],{"categories":2232},[209],{"categories":2234},[203],{"categories":2236},[],{"categories":2238},[],{"categories":2240},[203],{"categories":2242},[267],{"categories":2244},[209],{"categories":2246},[],{"categories":2248},[251,209],{"categories":2250},[522],{"categories":2252},[203],{"categories":2254},[],{"categories":2256},[206],{"categories":2258},[206],{"categories":2260},[209],{"categories":2262},[168],{"categories":2264},[212],{"categories":2266},[230],{"categories":2268},[267],{"categories":2270},[251],{"categories":2272},[209],{"categories":2274},[209],{"categories":2276},[209],{"categories":2278},[203],{"categories":2280},[209],{"categories":2282},[212],{"categories":2284},[230],{"categories":2286},[],{"categories":2288},[],{"categories":2290},[254],{"categories":2292},[168],{"categories":2294},[209],{"categories":2296},[251],{"categories":2298},[254],{"categories":2300},[209],{"categories":2302},[209],{"categories":2304},[212],{"categories":2306},[212],{"categories":2308},[209,206],{"categories":2310},[],{"categories":2312},[251],{"categories":2314},[],{"categories":2316},[209],{"categories":2318},[230],{"categories":2320},[203],{"categories":2322},[203],{"categories":2324},[212],{"categories":2326},[209],{"categories":2328},[206],{"categories":2330},[168],{"categories":2332},[267],{"categories":2334},[],{"categories":2336},[230],{"categories":2338},[209],{"categories":2340},[209],{"categories":2342},[230],{"categories":2344},[168],{"categories":2346},[209],{"categories":2348},[212],{"categories":2350},[230],{"categories":2352},[209],{"categories":2354},[251],{"categories":2356},[209],{"categories":2358},[209],{"categories":2360},[522],{"categories":2362},[215],{"categories":2364},[212],{"categories":2366},[209],{"categories":2368},[230],{"categories":2370},[212],{"categories":2372},[267],{"categories":2374},[209],{"categories":2376},[],{"categories":2378},[209],{"categories":2380},[],{"categories":2382},[],{"categories":2384},[],{"categories":2386},[206],{"categories":2388},[209],{"categories":2390},[212],{"categories":2392},[230],{"categories":2394},[230],{"categories":2396},[230],{"categories":2398},[230],{"categories":2400},[],{"categories":2402},[203],{"categories":2404},[212],{"categories":2406},[230],{"categories":2408},[203],{"categories":2410},[212],{"categories":2412},[209],{"categories":2414},[209,212],{"categories":2416},[212],{"categories":2418},[522],{"categories":2420},[230],{"categories":2422},[230],{"categories":2424},[212],{"categories":2426},[209],{"categories":2428},[],{"categories":2430},[230],{"categories":2432},[267],{"categories":2434},[203],{"categories":2436},[209],{"categories":2438},[209],{"categories":2440},[],{"categories":2442},[168],{"categories":2444},[],{"categories":2446},[203],{"categories":2448},[212],{"categories":2450},[230],{"categories":2452},[209],{"categories":2454},[230],{"categories":2456},[203],{"categories":2458},[230],{"categories":2460},[230],{"categories":2462},[],{"categories":2464},[206],{"categories":2466},[212],{"categories":2468},[230],{"categories":2470},[230],{"categories":2472},[230],{"categories":2474},[230],{"categories":2476},[230],{"categories":2478},[230],{"categories":2480},[230],{"categories":2482},[230],{"categories":2484},[230],{"categories":2486},[230],{"categories":2488},[254],{"categories":2490},[203],{"categories":2492},[209],{"categories":2494},[209],{"categories":2496},[],{"categories":2498},[209,203],{"categories":2500},[],{"categories":2502},[212],{"categories":2504},[230],{"categories":2506},[212],{"categories":2508},[209],{"categories":2510},[209],{"categories":2512},[209],{"categories":2514},[209],{"categories":2516},[209],{"categories":2518},[212],{"categories":2520},[206],{"categories":2522},[251],{"categories":2524},[230],{"categories":2526},[209],{"categories":2528},[],{"categories":2530},[],{"categories":2532},[212],{"categories":2534},[251],{"categories":2536},[209],{"categories":2538},[],{"categories":2540},[],{"categories":2542},[267],{"categories":2544},[209],{"categories":2546},[],{"categories":2548},[],{"categories":2550},[203],{"categories":2552},[206],{"categories":2554},[209],{"categories":2556},[206],{"categories":2558},[251],{"categories":2560},[],{"categories":2562},[230],{"categories":2564},[],{"categories":2566},[251],{"categories":2568},[209],{"categories":2570},[267],{"categories":2572},[],{"categories":2574},[267],{"categories":2576},[],{"categories":2578},[],{"categories":2580},[212],{"categories":2582},[],{"categories":2584},[206],{"categories":2586},[203],{"categories":2588},[251],{"categories":2590},[168],{"categories":2592},[],{"categories":2594},[],{"categories":2596},[209],{"categories":2598},[203],{"categories":2600},[267],{"categories":2602},[],{"categories":2604},[212],{"categories":2606},[212],{"categories":2608},[230],{"categories":2610},[209],{"categories":2612},[212],{"categories":2614},[209],{"categories":2616},[212],{"categories":2618},[209],{"categories":2620},[215],{"categories":2622},[230],{"categories":2624},[],{"categories":2626},[267],{"categories":2628},[168],{"categories":2630},[212],{"categories":2632},[],{"categories":2634},[209],{"categories":2636},[212],{"categories":2638},[206],{"categories":2640},[203],{"categories":2642},[209],{"categories":2644},[251],{"categories":2646},[168],{"categories":2648},[168],{"categories":2650},[209],{"categories":2652},[254],{"categories":2654},[209],{"categories":2656},[212],{"categories":2658},[206],{"categories":2660},[212],{"categories":2662},[209],{"categories":2664},[209],{"categories":2666},[212],{"categories":2668},[230],{"categories":2670},[],{"categories":2672},[203],{"categories":2674},[209],{"categories":2676},[212],{"categories":2678},[209],{"categories":2680},[209],{"categories":2682},[],{"categories":2684},[251],{"categories":2686},[206],{"categories":2688},[230],{"categories":2690},[209],{"categories":2692},[209],{"categories":2694},[251],{"categories":2696},[267],{"categories":2698},[254],{"categories":2700},[209],{"categories":2702},[230],{"categories":2704},[209],{"categories":2706},[212],{"categories":2708},[522],{"categories":2710},[209],{"categories":2712},[212],{"categories":2714},[254],{"categories":2716},[],{"categories":2718},[212],{"categories":2720},[168],{"categories":2722},[251],{"categories":2724},[209],{"categories":2726},[203],{"categories":2728},[206],{"categories":2730},[168],{"categories":2732},[],{"categories":2734},[212],{"categories":2736},[209],{"categories":2738},[],{"categories":2740},[230],{"categories":2742},[],{"categories":2744},[230],{"categories":2746},[209],{"categories":2748},[212],{"categories":2750},[212],{"categories":2752},[212],{"categories":2754},[],{"categories":2756},[],{"categories":2758},[209],{"categories":2760},[209],{"categories":2762},[],{"categories":2764},[251],{"categories":2766},[212],{"categories":2768},[267],{"categories":2770},[203],{"categories":2772},[],{"categories":2774},[],{"categories":2776},[230],{"categories":2778},[168],{"categories":2780},[209],{"categories":2782},[209],{"categories":2784},[209],{"categories":2786},[168],{"categories":2788},[230],{"categories":2790},[251],{"categories":2792},[209],{"categories":2794},[209],{"categories":2796},[209],{"categories":2798},[230],{"categories":2800},[209],{"categories":2802},[230],{"categories":2804},[212],{"categories":2806},[212],{"categories":2808},[168],{"categories":2810},[212],{"categories":2812},[209],{"categories":2814},[168],{"categories":2816},[251],{"categories":2818},[],{"categories":2820},[212],{"categories":2822},[],{"categories":2824},[],{"categories":2826},[206],{"categories":2828},[209],{"categories":2830},[212],{"categories":2832},[203],{"categories":2834},[212],{"categories":2836},[267],{"categories":2838},[],{"categories":2840},[212],{"categories":2842},[],{"categories":2844},[203],{"categories":2846},[212],{"categories":2848},[],{"categories":2850},[212],{"categories":2852},[209],{"categories":2854},[230],{"categories":2856},[209],{"categories":2858},[212],{"categories":2860},[230],{"categories":2862},[212],{"categories":2864},[168],{"categories":2866},[251],{"categories":2868},[203],{"categories":2870},[],{"categories":2872},[212],{"categories":2874},[251],{"categories":2876},[230],{"categories":2878},[209],{"categories":2880},[251],{"categories":2882},[203],{"categories":2884},[],{"categories":2886},[212],{"categories":2888},[212],{"categories":2890},[209],{"categories":2892},[],{"categories":2894},[212],{"categories":2896},[215],{"categories":2898},[230],{"categories":2900},[212],{"categories":2902},[206],{"categories":2904},[],{"categories":2906},[209],{"categories":2908},[215],{"categories":2910},[209],{"categories":2912},[212],{"categories":2914},[230],{"categories":2916},[203],{"categories":2918},[522],{"categories":2920},[209],{"categories":2922},[209],{"categories":2924},[209],{"categories":2926},[230],{"categories":2928},[206],{"categories":2930},[209],{"categories":2932},[251],{"categories":2934},[230],{"categories":2936},[522],{"categories":2938},[209],{"categories":2940},[],{"categories":2942},[],{"categories":2944},[522],{"categories":2946},[254],{"categories":2948},[212],{"categories":2950},[212],{"categories":2952},[230],{"categories":2954},[209],{"categories":2956},[203],{"categories":2958},[251],{"categories":2960},[212],{"categories":2962},[209],{"categories":2964},[267],{"categories":2966},[209],{"categories":2968},[212],{"categories":2970},[],{"categories":2972},[209],{"categories":2974},[209],{"categories":2976},[230],{"categories":2978},[203],{"categories":2980},[],{"categories":2982},[209],{"categories":2984},[209],{"categories":2986},[168],{"categories":2988},[251],{"categories":2990},[209,212],{"categories":2992},[267,206],{"categories":2994},[209],{"categories":2996},[],{"categories":2998},[212],{"categories":3000},[],{"categories":3002},[168],{"categories":3004},[209],{"categories":3006},[230],{"categories":3008},[],{"categories":3010},[212],{"categories":3012},[],{"categories":3014},[212],{"categories":3016},[203],{"categories":3018},[212],{"categories":3020},[209],{"categories":3022},[522],{"categories":3024},[267],{"categories":3026},[206],{"categories":3028},[206],{"categories":3030},[203],{"categories":3032},[203],{"categories":3034},[209],{"categories":3036},[212],{"categories":3038},[209],{"categories":3040},[209],{"categories":3042},[203],{"categories":3044},[209],{"categories":3046},[267],{"categories":3048},[230],{"categories":3050},[209],{"categories":3052},[212],{"categories":3054},[209],{"categories":3056},[],{"categories":3058},[168],{"categories":3060},[],{"categories":3062},[212],{"categories":3064},[203],{"categories":3066},[],{"categories":3068},[522],{"categories":3070},[209],{"categories":3072},[],{"categories":3074},[230],{"categories":3076},[212],{"categories":3078},[168],{"categories":3080},[209],{"categories":3082},[212],{"categories":3084},[168],{"categories":3086},[212],{"categories":3088},[230],{"categories":3090},[203],{"categories":3092},[230],{"categories":3094},[168],{"categories":3096},[209],{"categories":3098},[251],{"categories":3100},[209],{"categories":3102},[209],{"categories":3104},[209],{"categories":3106},[209],{"categories":3108},[212],{"categories":3110},[209],{"categories":3112},[212],{"categories":3114},[209],{"categories":3116},[203],{"categories":3118},[209],{"categories":3120},[212],{"categories":3122},[251],{"categories":3124},[203],{"categories":3126},[212],{"categories":3128},[251],{"categories":3130},[],{"categories":3132},[209],{"categories":3134},[209],{"categories":3136},[168],{"categories":3138},[],{"categories":3140},[212],{"categories":3142},[267],{"categories":3144},[209],{"categories":3146},[230],{"categories":3148},[267],{"categories":3150},[212],{"categories":3152},[206],{"categories":3154},[206],{"categories":3156},[209],{"categories":3158},[203],{"categories":3160},[],{"categories":3162},[209],{"categories":3164},[],{"categories":3166},[203],{"categories":3168},[209],{"categories":3170},[212],{"categories":3172},[212],{"categories":3174},[],{"categories":3176},[168],{"categories":3178},[168],{"categories":3180},[267],{"categories":3182},[251],{"categories":3184},[],{"categories":3186},[209],{"categories":3188},[203],{"categories":3190},[209],{"categories":3192},[168],{"categories":3194},[203],{"categories":3196},[230],{"categories":3198},[230],{"categories":3200},[],{"categories":3202},[230],{"categories":3204},[212],{"categories":3206},[251],{"categories":3208},[254],{"categories":3210},[209],{"categories":3212},[],{"categories":3214},[230],{"categories":3216},[168],{"categories":3218},[206],{"categories":3220},[209],{"categories":3222},[203],{"categories":3224},[522],{"categories":3226},[203],{"categories":3228},[],{"categories":3230},[],{"categories":3232},[230],{"categories":3234},[],{"categories":3236},[212],{"categories":3238},[212],{"categories":3240},[212],{"categories":3242},[],{"categories":3244},[209],{"categories":3246},[],{"categories":3248},[230],{"categories":3250},[203],{"categories":3252},[251],{"categories":3254},[209],{"categories":3256},[230],{"categories":3258},[230],{"categories":3260},[],{"categories":3262},[230],{"categories":3264},[203],{"categories":3266},[209],{"categories":3268},[],{"categories":3270},[212],{"categories":3272},[212],{"categories":3274},[203],{"categories":3276},[],{"categories":3278},[],{"categories":3280},[],{"categories":3282},[251],{"categories":3284},[212],{"categories":3286},[209],{"categories":3288},[],{"categories":3290},[],{"categories":3292},[],{"categories":3294},[251],{"categories":3296},[],{"categories":3298},[203],{"categories":3300},[],{"categories":3302},[],{"categories":3304},[251],{"categories":3306},[209],{"categories":3308},[230],{"categories":3310},[],{"categories":3312},[267],{"categories":3314},[230],{"categories":3316},[267],{"categories":3318},[209],{"categories":3320},[],{"categories":3322},[],{"categories":3324},[212],{"categories":3326},[],{"categories":3328},[],{"categories":3330},[212],{"categories":3332},[209],{"categories":3334},[],{"categories":3336},[212],{"categories":3338},[230],{"categories":3340},[267],{"categories":3342},[254],{"categories":3344},[212],{"categories":3346},[212],{"categories":3348},[],{"categories":3350},[],{"categories":3352},[],{"categories":3354},[230],{"categories":3356},[],{"categories":3358},[],{"categories":3360},[251],{"categories":3362},[203],{"categories":3364},[],{"categories":3366},[206],{"categories":3368},[267],{"categories":3370},[209],{"categories":3372},[168],{"categories":3374},[203],{"categories":3376},[254],{"categories":3378},[206],{"categories":3380},[168],{"categories":3382},[],{"categories":3384},[],{"categories":3386},[212],{"categories":3388},[203],{"categories":3390},[251],{"categories":3392},[203],{"categories":3394},[212],{"categories":3396},[522],{"categories":3398},[212],{"categories":3400},[],{"categories":3402},[209],{"categories":3404},[230],{"categories":3406},[168],{"categories":3408},[],{"categories":3410},[251],{"categories":3412},[230],{"categories":3414},[203],{"categories":3416},[212],{"categories":3418},[209],{"categories":3420},[206],{"categories":3422},[212,522],{"categories":3424},[212],{"categories":3426},[168],{"categories":3428},[209],{"categories":3430},[254],{"categories":3432},[267],{"categories":3434},[212],{"categories":3436},[],{"categories":3438},[212],{"categories":3440},[209],{"categories":3442},[206],{"categories":3444},[],{"categories":3446},[],{"categories":3448},[209],{"categories":3450},[254],{"categories":3452},[209],{"categories":3454},[],{"categories":3456},[230],{"categories":3458},[],{"categories":3460},[230],{"categories":3462},[168],{"categories":3464},[212],{"categories":3466},[209],{"categories":3468},[267],{"categories":3470},[168],{"categories":3472},[],{"categories":3474},[230],{"categories":3476},[209],{"categories":3478},[],{"categories":3480},[209],{"categories":3482},[212],{"categories":3484},[209],{"categories":3486},[212],{"categories":3488},[209],{"categories":3490},[209],{"categories":3492},[209],{"categories":3494},[209],{"categories":3496},[206],{"categories":3498},[],{"categories":3500},[215],{"categories":3502},[230],{"categories":3504},[209],{"categories":3506},[],{"categories":3508},[168],{"categories":3510},[209],{"categories":3512},[209],{"categories":3514},[212],{"categories":3516},[230],{"categories":3518},[209],{"categories":3520},[209],{"categories":3522},[206],{"categories":3524},[212],{"categories":3526},[251],{"categories":3528},[],{"categories":3530},[254],{"categories":3532},[209],{"categories":3534},[],{"categories":3536},[230],{"categories":3538},[267],{"categories":3540},[],{"categories":3542},[],{"categories":3544},[230],{"categories":3546},[230],{"categories":3548},[267],{"categories":3550},[203],{"categories":3552},[212],{"categories":3554},[212],{"categories":3556},[209],{"categories":3558},[206],{"categories":3560},[],{"categories":3562},[],{"categories":3564},[230],{"categories":3566},[254],{"categories":3568},[168],{"categories":3570},[212],{"categories":3572},[251],{"categories":3574},[254],{"categories":3576},[254],{"categories":3578},[],{"categories":3580},[230],{"categories":3582},[209],{"categories":3584},[209],{"categories":3586},[168],{"categories":3588},[],{"categories":3590},[230],{"categories":3592},[230],{"categories":3594},[230],{"categories":3596},[],{"categories":3598},[212],{"categories":3600},[209],{"categories":3602},[],{"categories":3604},[203],{"categories":3606},[206],{"categories":3608},[],{"categories":3610},[209],{"categories":3612},[209],{"categories":3614},[],{"categories":3616},[168],{"categories":3618},[],{"categories":3620},[],{"categories":3622},[],{"categories":3624},[],{"categories":3626},[209],{"categories":3628},[230],{"categories":3630},[],{"categories":3632},[],{"categories":3634},[209],{"categories":3636},[209],{"categories":3638},[209],{"categories":3640},[254],{"categories":3642},[209],{"categories":3644},[254],{"categories":3646},[],{"categories":3648},[254],{"categories":3650},[254],{"categories":3652},[522],{"categories":3654},[212],{"categories":3656},[168],{"categories":3658},[],{"categories":3660},[],{"categories":3662},[254],{"categories":3664},[168],{"categories":3666},[168],{"categories":3668},[168],{"categories":3670},[],{"categories":3672},[203],{"categories":3674},[168],{"categories":3676},[168],{"categories":3678},[203],{"categories":3680},[168],{"categories":3682},[206],{"categories":3684},[168],{"categories":3686},[168],{"categories":3688},[168],{"categories":3690},[254],{"categories":3692},[230],{"categories":3694},[230],{"categories":3696},[209],{"categories":3698},[168],{"categories":3700},[254],{"categories":3702},[522],{"categories":3704},[254],{"categories":3706},[254],{"categories":3708},[254],{"categories":3710},[],{"categories":3712},[206],{"categories":3714},[],{"categories":3716},[522],{"categories":3718},[168],{"categories":3720},[168],{"categories":3722},[168],{"categories":3724},[212],{"categories":3726},[230,206],{"categories":3728},[254],{"categories":3730},[],{"categories":3732},[],{"categories":3734},[254],{"categories":3736},[],{"categories":3738},[254],{"categories":3740},[230],{"categories":3742},[212],{"categories":3744},[],{"categories":3746},[168],{"categories":3748},[209],{"categories":3750},[251],{"categories":3752},[],{"categories":3754},[209],{"categories":3756},[],{"categories":3758},[230],{"categories":3760},[203],{"categories":3762},[254],{"categories":3764},[],{"categories":3766},[168],{"categories":3768},[230],[3770,3862,3916,3971],{"id":3771,"title":3772,"ai":3773,"body":3778,"categories":3827,"created_at":169,"date_modified":169,"description":108,"extension":170,"faq":169,"featured":171,"kicker_label":169,"meta":3828,"navigation":183,"path":3850,"published_at":169,"question":169,"scraped_at":3851,"seo":3852,"sitemap":3853,"source_id":3854,"source_name":189,"source_type":190,"source_url":3855,"stem":3856,"tags":3857,"thumbnail_url":169,"tldr":3859,"tweet":169,"unknown_tags":3860,"__hash__":3861},"summaries\u002Fsummaries\u002Fd334ed6a27947a65-gemma-4-e2b-2-3b-on-device-multimodal-llm-summary.md","Gemma 4 E2B: 2.3B On-Device Multimodal LLM",{"provider":7,"model":8,"input_tokens":3774,"output_tokens":3775,"processing_time_ms":3776,"cost_usd":3777},7938,2647,25921,0.0028886,{"type":14,"value":3779,"toc":3822},[3780,3784,3787,3790,3794,3797,3800,3804,3812,3819],[17,3781,3783],{"id":3782},"efficient-architecture-enables-on-device-multimodal-deployment","Efficient Architecture Enables On-Device Multimodal Deployment",[22,3785,3786],{},"Gemma 4 E2B, a dense model with 2.3B effective parameters (5.1B total including embeddings), deploys on laptops and phones via Per-Layer Embeddings (PLE)—small per-layer token embeddings for fast lookups that cut effective compute without adding layers. It has 35 layers, 512-token sliding window, 128K context length, and 262K vocabulary. Hybrid attention mixes local sliding window with full global (final layer always global), using unified KV and Proportional RoPE for low-memory long contexts. Supports text, image (~150M vision params), and audio (~300M audio params). Use AutoModelForCausalLM or AutoModelForMultimodalLM from Transformers (pip install transformers torch accelerate; add torchvision librosa for multimodal). Load with device_map=\"auto\" and dtype=\"auto\" for seamless inference.",[22,3788,3789],{},"Mixture-of-Experts variant like 26B A4B activates only 3.8B of 25.2B params across 8\u002F128 experts for 4B-like speed, ideal for consumer GPUs versus dense 31B.",[17,3791,3793],{"id":3792},"benchmarks-prove-reasoning-coding-and-multimodal-strength","Benchmarks Prove Reasoning, Coding, and Multimodal Strength",[22,3795,3796],{},"Instruction-tuned E2B scores 60.0% MMLU Pro, 37.5% AIME 2026 (no tools), 44.0% LiveCodeBench v6, 633 Codeforces ELO, 43.4% GPQA Diamond, 24.5% Tau2 average, 21.9% BigBench Extra Hard, 67.4% MMMLU. Vision: 44.2% MMMU Pro, 0.290 OmniDocBench edit distance (lower better), 52.4% MATH-Vision. Audio: 33.47% CoVoST, 0.09 FLEURS (lower better). Long context: 19.1% MRCR v2 8-needle at 128K. Outperforms Gemma 3 27B across metrics (e.g., 60% vs 67.6% MMLU Pro? Wait, no—E2B 60% beats Gemma 3's 67.6%? Source: E2B 60.0% MMLU Pro vs Gemma 3 67.6%, but larger models higher; small models punch above weight). Larger siblings: 31B at 85.2% MMLU Pro, 80.0% LiveCodeBench; 26B A4B 82.6%\u002F77.1%.",[22,3798,3799],{},"Native function-calling and thinking modes (enable_thinking=True) boost agentic\u002Fcoding; system role structures chats.",[17,3801,3803],{"id":3802},"practical-integration-and-optimization-techniques","Practical Integration and Optimization Techniques",[22,3805,3806,3807,3811],{},"Generate text: Apply chat template to messages (system\u002Fuser roles), generate with max_new_tokens=1024, parse_response handles thinking. Multimodal: List content as ",[3808,3809,3810],"span",{},"{'type': 'audio\u002Fimage\u002Fvideo', 'audio\u002Furl': URL}, {'type': 'text', 'text': prompt}",". Audio max 30s; video 60s at 1fps. Variable image resolution via token budget trades detail for speed.",[22,3813,3814,3815],{},"Best sampling: temperature=1.0, top_p=0.95, top_k=64. Thinking: \u003C|think|>, ",[3816,3817,3818],"channel",{},"thought\\n\u003C|channel> for control (libraries auto-handle). Audio prompts: \"Transcribe in {lang}, digits only, no newlines\" or transcribe+translate. Pretraining on web\u002Fcode\u002Fimages\u002Faudio to Jan 2025 cutoff ensures broad tasks. Safety: Minimal violations vs Gemma 3, aligns with Google principles, low unjustified refusals.",[22,3820,3821],{},"Limitations: 30s audio\u002F60s video max; risks like hallucinations mitigated via evals, not for high-stakes without safeguards.",{"title":108,"searchDepth":162,"depth":162,"links":3823},[3824,3825,3826],{"id":3782,"depth":162,"text":3783},{"id":3792,"depth":162,"text":3793},{"id":3802,"depth":162,"text":3803},[209],{"content_references":3829,"triage":3847},[3830,3834,3838,3841,3844],{"type":175,"title":3831,"publisher":3832,"url":3833,"context":177},"Gemma 4 Collection","Hugging Face","https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fgoogle\u002Fgemma-4",{"type":175,"title":3835,"publisher":3836,"url":3837,"context":177},"google-gemma GitHub","Google","https:\u002F\u002Fgithub.com\u002Fgoogle-gemma",{"type":175,"title":3839,"publisher":3836,"url":3840,"context":177},"Gemma 4 Launch Blog","https:\u002F\u002Fblog.google\u002Finnovation-and-ai\u002Ftechnology\u002Fdevelopers-tools\u002Fgemma-4\u002F",{"type":175,"title":3842,"publisher":3836,"url":3843,"context":177},"Gemma Documentation","https:\u002F\u002Fai.google.dev\u002Fgemma\u002Fdocs\u002Fcore",{"type":175,"title":3845,"url":3846,"context":177},"Gemma 4 License","https:\u002F\u002Fai.google.dev\u002Fgemma\u002Fdocs\u002Fgemma_4_license",{"relevance":179,"novelty":180,"quality":179,"actionability":180,"composite":3848,"reasoning":3849},3.6,"Category: AI & LLMs. The article discusses the Gemma 4 E2B model, which is relevant to AI engineering and provides specific technical details about its architecture and performance metrics. While it offers some practical integration techniques, it lacks comprehensive step-by-step guidance for implementation.","\u002Fsummaries\u002Fd334ed6a27947a65-gemma-4-e2b-2-3b-on-device-multimodal-llm-summary","2026-04-14 14:34:21",{"title":3772,"description":108},{"loc":3850},"d334ed6a27947a65","https:\u002F\u002Fhuggingface.co\u002Fgoogle\u002Fgemma-4-E2B","summaries\u002Fd334ed6a27947a65-gemma-4-e2b-2-3b-on-device-multimodal-llm-summary",[3858,194,196,195],"llm","Gemma 4 E2B uses 2.3B effective params (5.1B total with Per-Layer Embeddings) for efficient text\u002Fimage\u002Faudio processing on devices, with 128K context, native system prompts, and top scores like 60% MMLU Pro and 44% LiveCodeBench.",[],"E2fwIGtZNL86t8nN5X7SUMqbrcwxmT6phFUqTFeOo0k",{"id":3863,"title":3864,"ai":3865,"body":3870,"categories":3898,"created_at":169,"date_modified":169,"description":108,"extension":170,"faq":169,"featured":171,"kicker_label":169,"meta":3899,"navigation":183,"path":3903,"published_at":3904,"question":169,"scraped_at":3905,"seo":3906,"sitemap":3907,"source_id":3908,"source_name":3909,"source_type":190,"source_url":3910,"stem":3911,"tags":3912,"thumbnail_url":169,"tldr":3913,"tweet":169,"unknown_tags":3914,"__hash__":3915},"summaries\u002Fsummaries\u002Fda7ea8d10a94837d-ai-code-speed-trap-become-a-better-vibe-coder-summary.md","AI Code Speed Trap: Become a Better Vibe Coder",{"provider":7,"model":8,"input_tokens":3866,"output_tokens":3867,"processing_time_ms":3868,"cost_usd":3869},3865,1280,11832,0.00090615,{"type":14,"value":3871,"toc":3893},[3872,3876,3879,3883,3886,3890],[17,3873,3875],{"id":3874},"ais-speed-illusion-crushes-productivity","AI's Speed Illusion Crushes Productivity",[22,3877,3878],{},"AI coding assistants let you build galaxy-sized codebases in hours, but raw speed—claimed at 10000x—doesn't equal productivity. Blindly trusting generated code piles up technical debt, like highway drivers causing jams. The real differentiator is your interaction style with AI, categorized into three vibe coder types that predict smooth delivery or failure.",[17,3880,3882],{"id":3881},"vibe-coder-type-1-the-demanding-child","Vibe Coder Type 1: The Demanding Child",[22,3884,3885],{},"This coder treats AI like a magic wand: issues vague orders without caring about the 'how,' waits passively, then rages and reprompts if output falls short. Result? Inefficient loops, no learning, and brittle code. Fix by shifting to curious, iterative prompting that builds understanding—ask why code works, test edge cases, and refine based on mechanics, not tantrums.",[17,3887,3889],{"id":3888},"escaping-vibe-coding-pitfalls","Escaping Vibe Coding Pitfalls",[22,3891,3892],{},"Vibe coding risks over-reliance on AI without oversight, turning fast generation into slow debugging marathons. Successful coders review, refactor, and integrate AI output critically, treating it as a junior dev needing guidance. Though only one type is detailed here, the framework urges self-audit: if you're screaming at prompts, you're the Demanding Child—upgrade to ensure AI accelerates real progress, not just keystrokes. Content cuts off before full types, but core lesson holds: style your AI sessions for ownership, not outsourcing.",{"title":108,"searchDepth":162,"depth":162,"links":3894},[3895,3896,3897],{"id":3874,"depth":162,"text":3875},{"id":3881,"depth":162,"text":3882},{"id":3888,"depth":162,"text":3889},[203],{"content_references":3900,"triage":3901},[],{"relevance":179,"novelty":180,"quality":179,"actionability":179,"composite":181,"reasoning":3902},"Category: AI & LLMs. The article discusses the pitfalls of relying too heavily on AI coding tools, addressing a specific pain point for developers who may struggle with technical debt from rapid code generation. It provides actionable advice on improving interaction with AI tools, which is relevant for the target audience.","\u002Fsummaries\u002Fda7ea8d10a94837d-ai-code-speed-trap-become-a-better-vibe-coder-summary","2026-05-03 07:34:25","2026-05-03 17:00:59",{"title":3864,"description":108},{"loc":3903},"da7ea8d10a94837d","Towards AI","https:\u002F\u002Fpub.towardsai.net\u002Fare-you-a-vibe-coder-366b004e1d1b?source=rss----98111c9905da---4","summaries\u002Fda7ea8d10a94837d-ai-code-speed-trap-become-a-better-vibe-coder-summary",[194,196],"AI tools generate code 10000x faster, but speed alone creates technical debt—your 'vibe coder' type, like the Demanding Child who demands magic without understanding, determines if you ship reliably.",[],"pn4GNOtExTT7lBPrq8OTTz1rfEmPeo78XDFJLPzzOTQ",{"id":3917,"title":3918,"ai":3919,"body":3924,"categories":3950,"created_at":169,"date_modified":169,"description":108,"extension":170,"faq":169,"featured":171,"kicker_label":169,"meta":3951,"navigation":183,"path":3958,"published_at":3959,"question":169,"scraped_at":3960,"seo":3961,"sitemap":3962,"source_id":3963,"source_name":3964,"source_type":190,"source_url":3965,"stem":3966,"tags":3967,"thumbnail_url":169,"tldr":3968,"tweet":169,"unknown_tags":3969,"__hash__":3970},"summaries\u002Fsummaries\u002Fc6f62a6674db3a69-monolithic-3d-chips-boost-ai-speed-12x-via-vertica-summary.md","Monolithic 3D Chips Boost AI Speed 12x via Vertical Stacking",{"provider":7,"model":8,"input_tokens":3920,"output_tokens":3921,"processing_time_ms":3922,"cost_usd":3923},3875,1508,14943,0.00150635,{"type":14,"value":3925,"toc":3946},[3926,3930,3933,3936,3940,3943],[17,3927,3929],{"id":3928},"vertical-stacking-cuts-data-travel-for-massive-speed-gains","Vertical Stacking Cuts Data Travel for Massive Speed Gains",[22,3931,3932],{},"Monolithic 3D chips integrate logic and memory layers vertically during a single manufacturing process, unlike traditional 2D chips that lay components flat. This reduces data movement distances inside the chip, directly accelerating computations while lowering energy consumption. For AI workloads, which rely heavily on frequent data shuttling between processing units and memory, this design delivers outsized benefits—prototypes show 4x hardware performance improvements, with simulations projecting up to 12x gains in AI-specific tasks.",[22,3934,3935],{},"Builders targeting high-performance AI can prioritize this tech for edge devices like smartphones or servers, where latency and power efficiency determine viability. The shorter paths minimize bottlenecks in data-intensive operations, such as inference on large models, without needing architectural overhauls in software.",[17,3937,3939],{"id":3938},"us-prototype-proves-commercial-feasibility","US Prototype Proves Commercial Feasibility",[22,3941,3942],{},"A Stanford-led team fabricated a working prototype at SkyWater Technology's US foundry, marking a shift from research to manufacturable hardware. Unveiled at a 2025 tech conference, the demo highlighted real-world viability for AI acceleration across scales—from mobile devices to supercomputers. This US-based production sidesteps supply chain risks tied to overseas fabs, offering builders reliable access to next-gen silicon.",[22,3944,3945],{},"Key takeaway: Evaluate 3D chip adoption for AI products needing sustained performance under power constraints; early movers gain from cooler operation and sustainability edges in data centers or portables.",{"title":108,"searchDepth":162,"depth":162,"links":3947},[3948,3949],{"id":3928,"depth":162,"text":3929},{"id":3938,"depth":162,"text":3939},[230],{"content_references":3952,"triage":3956},[3953],{"type":175,"title":3954,"author":3955,"context":177},"Stanford-led 3D chip prototype","Stanford-led team",{"relevance":179,"novelty":180,"quality":179,"actionability":179,"composite":181,"reasoning":3957},"Category: AI & LLMs. The article discusses a significant advancement in chip technology that directly impacts AI performance, addressing a specific audience pain point regarding hardware limitations. It provides actionable insights for builders considering the adoption of 3D chips in their AI products, emphasizing the benefits of reduced latency and power efficiency.","\u002Fsummaries\u002Fc6f62a6674db3a69-monolithic-3d-chips-boost-ai-speed-12x-via-vertica-summary","2026-04-13 09:34:58","2026-04-13 17:53:13",{"title":3918,"description":108},{"loc":3958},"c6f62a6674db3a69","AI Simplified in Plain English","https:\u002F\u002Fmedium.com\u002Fai-simplified-in-plain-english\u002Fshocking-3d-chip-breakthrough-b79dd3bfd7a2?source=rss----f37ab7d4e76b---4","summaries\u002Fc6f62a6674db3a69-monolithic-3d-chips-boost-ai-speed-12x-via-vertica-summary",[195,194],"Monolithic 3D chips stack logic and memory vertically in one process, slashing data travel distances for 4x hardware performance in prototypes and up to 12x AI speed in simulations, enabling faster, greener AI devices.",[],"LeG_sizcuDQO3kgt_Z4Fw1kZKBs_EV4D1MKU32emINQ",{"id":3972,"title":3973,"ai":3974,"body":3979,"categories":4202,"created_at":169,"date_modified":169,"description":108,"extension":170,"faq":169,"featured":171,"kicker_label":169,"meta":4203,"navigation":183,"path":4204,"published_at":4205,"question":169,"scraped_at":169,"seo":4206,"sitemap":4207,"source_id":4208,"source_name":4209,"source_type":190,"source_url":4210,"stem":4211,"tags":4212,"thumbnail_url":169,"tldr":4214,"tweet":169,"unknown_tags":4215,"__hash__":4216},"summaries\u002Fsummaries\u002Fbatch-gemms-for-fast-lstm-in-torch-summary.md","Batch GEMMs for Fast LSTM in Torch",{"provider":7,"model":8,"input_tokens":3975,"output_tokens":3976,"processing_time_ms":3977,"cost_usd":3978},4084,1694,14015,0.00164115,{"type":14,"value":3980,"toc":4197},[3981,3985,3988,3998,4002,4005,4048,4051,4182,4186,4193],[17,3982,3984],{"id":3983},"batch-gemms-to-cut-lstm-overhead","Batch GEMMs to Cut LSTM Overhead",[22,3986,3987],{},"Standard Torch LSTMs compute input (i2h) and hidden (h2h) projections separately, doubling GEMM calls and kernel launch overhead. This gist fuses them: compute i2h + h2h in one 4x wider GEMM (gates i,f,o,c), then slice for sigmoid\u002Ftanh. Result: single GEMM pass per timestep, 2-3x faster on GPU for char-level models (as in Karpathy's Python LSTM gist). Trade-off: fixed rnn_size, no peepholes, Lua-only (Torch7).",[22,3989,3990,3991,3994,3995,44],{},"Usage: ",[37,3992,3993],{},"m = LSTM.fast_lstm(input_size, rnn_size)"," returns gModule({x, prev_c, prev_h}, {next_c, next_h}). Feed sequences by unrolling: ",[37,3996,3997],{},"for t=1,T do h,c = m:forward({x[t], c, h}) end",[17,3999,4001],{"id":4000},"gate-computation-graph","Gate Computation Graph",[22,4003,4004],{},"Builds nn.gModule with:",[26,4006,4007,4021,4028,4035,4042],{},[29,4008,4009,4012,4013,4016,4017,4020],{},[37,4010,4011],{},"i2h = nn.Linear(input_size, 4*rnn_size)(x)"," + ",[37,4014,4015],{},"h2h = nn.Linear(rnn_size, 4*rnn_size)(prev_h)"," → ",[37,4018,4019],{},"all_input_sums = nn.CAddTable()({i2h, h2h})"," (batched gates).",[29,4022,4023,4024,4027],{},"Sigmoid chunk: ",[37,4025,4026],{},"nn.Narrow(2,1,3*rnn_size)(all_input_sums)"," → gates i,f,o.",[29,4029,4030,4031,4034],{},"Input transform: ",[37,4032,4033],{},"nn.Narrow(2,3*rnn_size+1,rnn_size)(all_input_sums)"," → tanh(c~).",[29,4036,4037,4038,4041],{},"Cell: ",[37,4039,4040],{},"next_c = forget_gate ⊙ prev_c + in_gate ⊙ c~"," (CMulTable + CAddTable).",[29,4043,4044,4045,44],{},"Hidden: ",[37,4046,4047],{},"next_h = out_gate ⊙ tanh(next_c)",[22,4049,4050],{},"Full code:",[100,4052,4056],{"className":4053,"code":4054,"language":4055,"meta":108,"style":108},"language-lua shiki shiki-themes github-light github-dark","function LSTM.fast_lstm(input_size, rnn_size)\n  local x = nn.Identity()()\n  local prev_c = nn.Identity()()\n  local prev_h = nn.Identity()()\n  local i2h = nn.Linear(input_size, 4 * rnn_size)(x)\n  local h2h = nn.Linear(rnn_size, 4 * rnn_size)(prev_h)\n  local all_input_sums = nn.CAddTable()({i2h, h2h})\n  local sigmoid_chunk = nn.Narrow(2, 1, 3 * rnn_size)(all_input_sums)\n  sigmoid_chunk = nn.Sigmoid()(sigmoid_chunk)\n  local in_gate = nn.Narrow(2, 1, rnn_size)(sigmoid_chunk)\n  local forget_gate = nn.Narrow(2, rnn_size + 1, rnn_size)(sigmoid_chunk)\n  local out_gate = nn.Narrow(2, 2 * rnn_size + 1, rnn_size)(sigmoid_chunk)\n  local in_transform = nn.Narrow(2, 3 * rnn_size + 1, rnn_size)(all_input_sums)\n  in_transform = nn.Tanh()(in_transform)\n  local next_c = nn.CAddTable()({\n    nn.CMulTable()({forget_gate, prev_c}),\n    nn.CMulTable()({in_gate, in_transform})\n  })\n  local next_h = nn.CMulTable()({out_gate, nn.Tanh()(next_c)})\n  return nn.gModule({x, prev_c, prev_h}, {next_c, next_h})\nend\n","lua",[37,4057,4058,4065,4070,4075,4080,4086,4092,4098,4104,4110,4116,4122,4128,4134,4140,4146,4152,4158,4164,4170,4176],{"__ignoreMap":108},[3808,4059,4062],{"class":4060,"line":4061},"line",1,[3808,4063,4064],{},"function LSTM.fast_lstm(input_size, rnn_size)\n",[3808,4066,4067],{"class":4060,"line":162},[3808,4068,4069],{},"  local x = nn.Identity()()\n",[3808,4071,4072],{"class":4060,"line":180},[3808,4073,4074],{},"  local prev_c = nn.Identity()()\n",[3808,4076,4077],{"class":4060,"line":179},[3808,4078,4079],{},"  local prev_h = nn.Identity()()\n",[3808,4081,4083],{"class":4060,"line":4082},5,[3808,4084,4085],{},"  local i2h = nn.Linear(input_size, 4 * rnn_size)(x)\n",[3808,4087,4089],{"class":4060,"line":4088},6,[3808,4090,4091],{},"  local h2h = nn.Linear(rnn_size, 4 * rnn_size)(prev_h)\n",[3808,4093,4095],{"class":4060,"line":4094},7,[3808,4096,4097],{},"  local all_input_sums = nn.CAddTable()({i2h, h2h})\n",[3808,4099,4101],{"class":4060,"line":4100},8,[3808,4102,4103],{},"  local sigmoid_chunk = nn.Narrow(2, 1, 3 * rnn_size)(all_input_sums)\n",[3808,4105,4107],{"class":4060,"line":4106},9,[3808,4108,4109],{},"  sigmoid_chunk = nn.Sigmoid()(sigmoid_chunk)\n",[3808,4111,4113],{"class":4060,"line":4112},10,[3808,4114,4115],{},"  local in_gate = nn.Narrow(2, 1, rnn_size)(sigmoid_chunk)\n",[3808,4117,4119],{"class":4060,"line":4118},11,[3808,4120,4121],{},"  local forget_gate = nn.Narrow(2, rnn_size + 1, rnn_size)(sigmoid_chunk)\n",[3808,4123,4125],{"class":4060,"line":4124},12,[3808,4126,4127],{},"  local out_gate = nn.Narrow(2, 2 * rnn_size + 1, rnn_size)(sigmoid_chunk)\n",[3808,4129,4131],{"class":4060,"line":4130},13,[3808,4132,4133],{},"  local in_transform = nn.Narrow(2, 3 * rnn_size + 1, rnn_size)(all_input_sums)\n",[3808,4135,4137],{"class":4060,"line":4136},14,[3808,4138,4139],{},"  in_transform = nn.Tanh()(in_transform)\n",[3808,4141,4143],{"class":4060,"line":4142},15,[3808,4144,4145],{},"  local next_c = nn.CAddTable()({\n",[3808,4147,4149],{"class":4060,"line":4148},16,[3808,4150,4151],{},"    nn.CMulTable()({forget_gate, prev_c}),\n",[3808,4153,4155],{"class":4060,"line":4154},17,[3808,4156,4157],{},"    nn.CMulTable()({in_gate, in_transform})\n",[3808,4159,4161],{"class":4060,"line":4160},18,[3808,4162,4163],{},"  })\n",[3808,4165,4167],{"class":4060,"line":4166},19,[3808,4168,4169],{},"  local next_h = nn.CMulTable()({out_gate, nn.Tanh()(next_c)})\n",[3808,4171,4173],{"class":4060,"line":4172},20,[3808,4174,4175],{},"  return nn.gModule({x, prev_c, prev_h}, {next_c, next_h})\n",[3808,4177,4179],{"class":4060,"line":4178},21,[3808,4180,4181],{},"end\n",[17,4183,4185],{"id":4184},"production-notes","Production Notes",[22,4187,4188,4189,4192],{},"From Karpathy (2015): Powers char-rnn models. Justin Johnson's tweaks batch everything. Scales to seq len 1000s on GTX 580-era GPUs. Modern PyTorch equiv: torch.nn.LSTM with ",[37,4190,4191],{},"bias=False"," + fused CUDA kernels (faster still). Port to Flux.jl or JAX for today, but graph fusion principle endures for custom RNNs.",[4194,4195,4196],"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":108,"searchDepth":162,"depth":162,"links":4198},[4199,4200,4201],{"id":3983,"depth":162,"text":3984},{"id":4000,"depth":162,"text":4001},{"id":4184,"depth":162,"text":4185},[168],{},"\u002Fsummaries\u002Fbatch-gemms-for-fast-lstm-in-torch-summary","2026-04-08 21:21:20",{"title":3973,"description":108},{"loc":4204},"787da8618ae52246","Andrej Karpathy Gists","https:\u002F\u002Funknown","summaries\u002Fbatch-gemms-for-fast-lstm-in-torch-summary",[195,4213,196],"deep-learning","Fuse LSTM operations into nngraph module to batch 4 GEMMs, slashing overhead vs standard nn.LSTM (optimized by @jcjohnson).",[],"sB5VUvtL1vpsXKZbRH6Tr09LD-FOtuL5SeiLauwvqEI"]