CINXE.COM

DEV Community

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>DEV Community</title> <meta name="last-updated" content="2025-04-07 13:25:42 UTC"> <meta name="user-signed-in" content="false"> <meta name="head-cached-at" content="1744032342"> <meta name="environment" content="production"> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-6f5c5ed9c571b36ab9c316526d7032b5a4c789f3a4c35503492eb03376615fca.css" media="all" id="main-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-1c703342dce6eac414f19ca7fd07bcf83cbe44088659758144e52e7fa1e92dd3.css" media="all" id="main-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0f2fc85bc159498f8ae6fba58c460e6deba863d02d59dfa994c1954976ddb6cc.css" media="all" id="main-crayons-stylesheet" /> <script src="https://assets.dev.to/assets/base-b8bdff515245fe895f3035d77697afb35d5d7e114bdf68291667479d4b289751.js" defer="defer"></script> <script src="https://assets.dev.to/assets/application-7258612fccf5d56314a6e4ad1898b4f818f474c4bb3485e302428d489a769a17.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseInitializers-b74902d56433062a87f5f1ce74769baf2a1a698772f46952b0ac72bc95c4abfd.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseTracking-b6bf73e5ee66633e151e7d5b7c6bbccedfa4c59e3615be97b98c4c0f543ddae7.js" defer="defer"></script> <meta name="search-script" content="https://assets.dev.to/assets/Search-7dcdad3172ab4501a4598fe8b716c7a88146e79fd42256d36fb1b83e27bf77cf.js"> <link rel="canonical" href="https://dev.to/" /> <meta name="description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="keywords" content="software development, engineering, rails, javascript, ruby"> <meta property="og:type" content="website" /> <meta property="og:url" content="https://dev.to/" /> <meta property="og:title" content="DEV Community" /> <meta property="og:image" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta property="og:description" content="A constructive and inclusive social network for software developers. With you every step of your journey." /> <meta property="og:site_name" content="DEV Community" /> <meta name="twitter:site" content="@thepracticaldev"> <meta name="twitter:title" content="DEV Community"> <meta name="twitter:description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="twitter:image:src" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta name="twitter:card" content="summary_large_image"> <link rel="alternate" type="application/rss+xml" title="DEV Community RSS Feed" href="https://dev.to/feed" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <link rel="icon" type="image/x-icon" href="https://media2.dev.to/dynamic/image/width=32,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <link rel="apple-touch-icon" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://media2.dev.to/dynamic/image/width=152,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="167x167" href="https://media2.dev.to/dynamic/image/width=167,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link href="https://media2.dev.to/dynamic/image/width=192,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="192x192" /> <link href="https://media2.dev.to/dynamic/image/width=128,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="128x128" /> <meta name="apple-mobile-web-app-title" content="dev.to"> <meta name="application-name" content="dev.to"> <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"> <meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)"> <link rel="search" href="https://dev.to/open-search.xml" type="application/opensearchdescription+xml" title="DEV Community" /> <meta property="forem:name" content="DEV Community" /> <meta property="forem:logo" content="https://media2.dev.to/dynamic/image/width=512,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <meta property="forem:domain" content="dev.to" /> </head> <body class="sans-serif-article-body default-header" data-user-status="logged-out" data-community-name="DEV Community" data-subscription-icon="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" data-locale="en" data-honeybadger-key="hbp_nqu4Y66HuEKlD6YRGssZuRQnPOjDm50J8Zkr" data-deployed-at="2025-04-04T21:14:30Z" data-latest-commit-id="80dddae49850f88ae36ea53ef7b4cd07bd8b133e" data-ga-tracking="UA-71991109-1" data-cookie-banner-user-context="logged_out_only" data-cookie-banner-platform-context="off" data-algolia-id="PRSOBFP46H" data-algolia-search-key="9aa7d31610cba78851c9b1f63776a9dd" data-algolia-display="true" data-dynamic-url-component="bmar11" data-ga4-tracking-id="G-TYEM8Y3JN3"> <script> if (navigator.userAgent === 'ForemWebView/1' || window.frameElement) { document.body.classList.add("hidden-shell"); } </script> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-6f5c5ed9c571b36ab9c316526d7032b5a4c789f3a4c35503492eb03376615fca.css" media="all" id="secondary-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-1c703342dce6eac414f19ca7fd07bcf83cbe44088659758144e52e7fa1e92dd3.css" media="all" id="secondary-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0f2fc85bc159498f8ae6fba58c460e6deba863d02d59dfa994c1954976ddb6cc.css" media="all" id="secondary-crayons-stylesheet" /> <div id="body-styles"> <style> :root { --accent-brand-lighter-rgb: 80, 99, 301; --accent-brand-rgb: 59, 73, 223; --accent-brand-darker-rgb: 47, 58, 178; } </style> </div> <div id="audiocontent" data-podcast=""> </div> <div class="navigation-progress" id="navigation-progress"></div> <header id="topbar" class="crayons-header topbar print-hidden"> <span id="route-change-target" tabindex="-1"></span> <a href="#main-content" class="skip-content-link">Skip to content</a> <div class="crayons-header__container"> <span class="inline-block m:hidden "> <button class="c-btn c-btn--icon-alone js-hamburger-trigger mx-2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a9st6g2jrnxxena2raduaoedi95mzctr" class="crayons-icon"><title id="a9st6g2jrnxxena2raduaoedi95mzctr">Navigation menu</title> <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path> </svg> </button> </span> <a href="/" class="site-logo" aria-label="DEV Community Home"> <img class="site-logo__img" src="https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png" style="aspect-ratio: 10 / 8" alt="DEV Community"> </a> <div class="crayons-header--search js-search-form" id="header-search"> <form accept-charset="UTF-8" method="get" action="/search" role="search"> <div class="crayons-fields crayons-fields--horizontal"> <div class="crayons-field flex-1 relative"> <input id="search-input" class="crayons-header--search-input crayons-textfield js-search-input" type="text" id="nav-search" name="q" placeholder="Search..." autocomplete="off" /> <button type="submit" aria-label="Search" class="c-btn c-btn--icon-alone absolute inset-px right-auto mt-0 py-0"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="assscwjndp2nf63413mkddzrmrrvtinh" aria-hidden="true" class="crayons-icon"><title id="assscwjndp2nf63413mkddzrmrrvtinh">Search</title> <path d="M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0111 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 01-1.969 5.617zm-2.006-.742A6.977 6.977 0 0018 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 004.875-1.975l.15-.15z"></path> </svg> </button> <a class="crayons-header--search-brand-indicator" href="https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral" target="_blank" rel="noopener noreferrer"> Powered by <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" width="24" height="24" viewBox="0 0 500 500.34" role="img" aria-labelledby="a20truxbvkuuxbx7fjhpow5osi2pn4j0" aria-hidden="true" class="crayons-icon"><title id="a20truxbvkuuxbx7fjhpow5osi2pn4j0">Search</title> <defs></defs><path class="cls-1" d="M250,0C113.38,0,2,110.16,.03,246.32c-2,138.29,110.19,252.87,248.49,253.67,42.71,.25,83.85-10.2,120.38-30.05,3.56-1.93,4.11-6.83,1.08-9.52l-23.39-20.74c-4.75-4.22-11.52-5.41-17.37-2.92-25.5,10.85-53.21,16.39-81.76,16.04-111.75-1.37-202.04-94.35-200.26-206.1,1.76-110.33,92.06-199.55,202.8-199.55h202.83V407.68l-115.08-102.25c-3.72-3.31-9.43-2.66-12.43,1.31-18.47,24.46-48.56,39.67-81.98,37.36-46.36-3.2-83.92-40.52-87.4-86.86-4.15-55.28,39.65-101.58,94.07-101.58,49.21,0,89.74,37.88,93.97,86.01,.38,4.28,2.31,8.28,5.53,11.13l29.97,26.57c3.4,3.01,8.8,1.17,9.63-3.3,2.16-11.55,2.92-23.6,2.07-35.95-4.83-70.39-61.84-127.01-132.26-131.35-80.73-4.98-148.23,58.18-150.37,137.35-2.09,77.15,61.12,143.66,138.28,145.36,32.21,.71,62.07-9.42,86.2-26.97l150.36,133.29c6.45,5.71,16.62,1.14,16.62-7.48V9.49C500,4.25,495.75,0,490.51,0H250Z"></path> </svg> Algolia </a> </div> </div> </form> </div> <div class="flex items-center h-100 ml-auto"> <div class="flex" id="authentication-top-nav-actions"> <span class="hidden m:block"> <a href="https://dev.to/enter" class="c-link c-link--block mr-2 whitespace-nowrap ml-auto" data-no-instant> Log in </a> </span> <a href="https://dev.to/enter?state=new-user" data-tracking-id="ca_top_nav" data-tracking-source="top_navbar" class="c-cta c-cta--branded whitespace-nowrap mr-2" data-no-instant> Create account </a> </div> </div> </div> </header> <div class="hamburger"> <div class="hamburger__content"> <header class="hamburger__content__header"> <h2 class="fs-l fw-bold flex-1 break-word lh-tight">DEV Community</h2> <button class="c-btn c-btn--icon-alone js-hamburger-trigger shrink-0" aria-label="Close"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a1tko0wf5yiloacmes5sbx5wg6bo33c9" aria-hidden="true" class="crayons-icon c-btn__icon"><title id="a1tko0wf5yiloacmes5sbx5wg6bo33c9">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg> </button> </header> <div class="p-2 js-navigation-links-container" id="authentication-hamburger-actions"> </div> </div> <div class="hamburger__overlay js-hamburger-trigger"></div> </div> <div id="active-broadcast" class="broadcast-wrapper"></div> <div id="page-content" class="wrapper stories stories-index" data-current-page="stories-index"> <div id="page-content-inner" data-internal-nav="false"> <div id="page-route-change" class="screen-reader-only" aria-live="polite" aria-atomic="true"></div> <script src="https://assets.dev.to/assets/homePage-11cb3cd42b25bc0cebb3d5fe6dee09d50f349acd6838a659d86686c1245669e2.js" defer="defer"></script> <div class="crayons-layout crayons-layout--3-cols crayons-layout--3-cols--drop-right-left" id="index-container" data-params="{&quot;sort_by&quot;:&quot;hotness_score&quot;,&quot;sort_direction&quot;:&quot;desc&quot;}" data-which="" data-tag="" data-feed="base-feed" data-feed-use-stories-endpoint="false" data-feed-context-type="home" data-feed-category-impression="impression" data-feed-category-click="click" data-feed-category-reaction="reaction" data-feed-category-comment="comment" data-feed-category-extended_pageview="extended_pageview" data-articles-since=""> <div id="sidebar-wrapper-left" class="sidebar-wrapper sidebar-wrapper-left crayons-layout__sidebar-left crayons-layout__content"> <aside class="side-bar" aria-label="Primary sidebar"> <div class="crayons-card crayons-card--secondary p-4"> <h2 class="crayons-subtitle-2 lh-tight mb-4"> DEV Community is a community of 2,998,773 amazing developers </h2> <p class="color-base-70 mb-4"> We&#39;re a place where coders share, stay up-to-date and grow their careers. </p> <div> <a href="/enter?state=new-user" data-tracking-id="ca_left_sidebar_home_page" data-tracking-source="left_sidebar" class="c-cta c-cta--branded justify-center w-100 mb-1" aria-label="Create new account">Create account</a> <a href="/enter" class="c-link c-link--block justify-center" aria-label="Log in">Log in</a> </div> </div> <nav class="mb-4 mt-4" data-testid="main-nav" aria-label="DEV Community"> <ul class="default-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#A0041E" d="M13.344 18.702h-2a.5.5 0 01-.5-.5v-7a.5.5 0 01.5-.5h2a.5.5 0 01.5.5v7a.5.5 0 01-.5.5z"/> <path fill="#FFE8B6" d="M9 20L22 7l13 13v17H9z"/> <path fill="#FFCC4D" d="M22 20h1v16h-1z"/> <path fill="#66757F" d="M35 21a.997.997 0 01-.707-.293L22 8.414 9.707 20.707a1 1 0 11-1.414-1.414l13-13a.999.999 0 011.414 0l13 13A.999.999 0 0135 21z"/> <path fill="#66757F" d="M22 21a.999.999 0 01-.707-1.707l6.5-6.5a1 1 0 111.414 1.414l-6.5 6.5A.997.997 0 0122 21z"/> <path fill="#C1694F" d="M14 30h4v6h-4z"/> <path fill="#55ACEE" d="M14 21h4v4h-4zm12.5 0h4v4h-4zm0 9h4v4h-4z"/> <path fill="#5C913B" d="M37.5 37.5A1.5 1.5 0 0136 39H8a1.5 1.5 0 010-3h28a1.5 1.5 0 011.5 1.5z"/> </g> </svg> </span> Home </a> </li> <li> <a href="/++" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 166.000000 102.000000" preserveAspectRatio="xMidYMid meet" fill="#3b49df"> <g transform="translate(0.000000,102.000000) scale(0.100000,-0.100000)" fill="#3b49df" stroke="none"> <path d="M305 953 c-42 -22 -64 -43 -83 -78 -14 -25 -18 -76 -22 -305 -7 -313 -12 -336 -96 -450 -24 -33 -44 -62 -44 -65 0 -3 318 -4 708 -3 l707 3 47 27 c32 20 52 41 67 72 21 43 22 54 19 374 l-3 330 -31 39 c-61 76 -30 73 -669 73 -500 -1 -574 -3 -600 -17z m405 -278 l0 -84 83 -3 82 -3 0 -75 0 -75 -82 -3 -83 -3 0 -84 0 -85 -75 0 -75 0 0 85 0 85 -75 0 c-41 0 -75 3 -75 8 0 4 8 39 18 77 l18 70 57 3 57 3 0 84 0 85 75 0 75 0 0 -85z m578 -2 l3 -82 82 -3 82 -3 0 -75 0 -75 -82 -3 -82 -3 -3 -82 -3 -82 -75 0 -75 0 -3 83 -3 82 -79 0 -80 0 0 80 0 80 80 0 80 0 0 78 c0 43 3 82 7 86 4 4 39 5 78 4 l70 -3 3 -82z"/> </g> </svg> </span> DEV++ </a> </li> <li> <a href="/pod" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#292F33" d="M10 19h24v2H10zm15 15c0 2.208-.792 4-3 4-2.209 0-3-1.792-3-4s.791-2 3-2c2.208 0 3-.208 3 2z"/> <path fill="#66757F" d="M22 35c-6.627 0-10 1.343-10 3v2h20v-2c0-1.657-3.373-3-10-3z"/> <path fill="#99AAB5" d="M22 4a9 9 0 00-9 9v7h18v-7a9 9 0 00-9-9z"/> <g fill="#292F33" transform="translate(4 4)"> <circle cx="15.5" cy="2.5" r="1.5"/> <circle cx="20.5" cy="2.5" r="1.5"/> <circle cx="17.5" cy="6.5" r="1.5"/> <circle cx="22.5" cy="6.5" r="1.5"/> <circle cx="12.5" cy="6.5" r="1.5"/> <circle cx="15.5" cy="10.5" r="1.5"/> <circle cx="10.5" cy="10.5" r="1.5"/> <circle cx="20.5" cy="10.5" r="1.5"/> <circle cx="25.5" cy="10.5" r="1.5"/> <circle cx="17.5" cy="14.5" r="1.5"/> <circle cx="22.5" cy="14.5" r="1.5"/> <circle cx="12.5" cy="14.5" r="1.5"/> </g> <path fill="#66757F" d="M13 19.062V21c0 4.971 4.029 9 9 9s9-4.029 9-9v-1.938H13z"/> <path fill="#66757F" d="M34 18a1 1 0 00-1 1v2c0 6.074-4.925 11-11 11s-11-4.926-11-11v-2a1 1 0 00-2 0v2c0 7.18 5.82 13 13 13s13-5.82 13-13v-2a1 1 0 00-1-1z"/> </g> </svg> </span> Podcasts </a> </li> <li> <a href="/videos" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <path fill="#31373D" d="M34.074 18l-4.832 3H28v-4c0-.088-.02-.169-.026-.256C31.436 15.864 34 12.735 34 9a8 8 0 00-16.001 0c0 1.463.412 2.822 1.099 4H14.92c.047-.328.08-.66.08-1a7 7 0 10-14 0 6.995 6.995 0 004 6.317V29a4 4 0 004 4h15a4 4 0 004-4v-3h1.242l4.832 3H35V18h-.926zM28.727 3.977a5.713 5.713 0 012.984 4.961L28.18 8.35a2.276 2.276 0 00-.583-.982l1.13-3.391zm-.9 6.342l3.552.592a5.713 5.713 0 01-4.214 3.669 3.985 3.985 0 00-1.392-1.148l.625-2.19a2.425 2.425 0 001.429-.923zM26 3.285c.282 0 .557.027.828.067l-1.131 3.392c-.404.054-.772.21-1.081.446L21.42 5.592A5.703 5.703 0 0126 3.285zM20.285 9c0-.563.085-1.106.236-1.62l3.194 1.597-.002.023c0 .657.313 1.245.771 1.662L23.816 13h-1.871a5.665 5.665 0 01-1.66-4zm-9.088-.385A4.64 4.64 0 0112.667 12c0 .344-.043.677-.113 1H10.1c.145-.304.233-.641.233-1a2.32 2.32 0 00-.392-1.292l1.256-2.093zM8 7.333c.519 0 1.01.105 1.476.261L8.22 9.688c-.073-.007-.145-.022-.22-.022a2.32 2.32 0 00-1.292.392L4.615 8.803A4.64 4.64 0 018 7.333zM3.333 12c0-.519.105-1.01.261-1.477l2.095 1.257c-.007.073-.022.144-.022.22 0 .75.36 1.41.91 1.837a3.987 3.987 0 00-1.353 1.895C4.083 14.881 3.333 13.533 3.333 12z"/> <circle fill="#8899A6" cx="24" cy="19" r="2"/> <circle fill="#8899A6" cx="9" cy="19" r="2"/> <path fill="#8899A6" d="M24 27a2 2 0 00-2-2H11a2 2 0 00-2 2v6a2 2 0 002 2h11a2 2 0 002-2v-6z"/> </g> </svg> </span> Videos </a> </li> <li> <a href="/tags" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M36.017 24.181L21.345 9.746C20.687 9.087 19.823 9 18.96 9H8.883C7.029 9 6 10.029 6 11.883v10.082c0 .861.089 1.723.746 2.38L21.3 39.017a3.287 3.287 0 004.688 0l10.059-10.088c1.31-1.312 1.28-3.438-.03-4.748zm-23.596-8.76a1.497 1.497 0 11-2.118-2.117 1.497 1.497 0 012.118 2.117z"/> <path fill="#D99E82" d="M13.952 11.772a3.66 3.66 0 00-5.179 0 3.663 3.663 0 105.18 5.18 3.664 3.664 0 00-.001-5.18zm-1.53 3.65a1.499 1.499 0 11-2.119-2.12 1.499 1.499 0 012.119 2.12z"/> <path fill="#C1694F" d="M12.507 14.501a1 1 0 11-1.415-1.414l8.485-8.485a1 1 0 111.415 1.414l-8.485 8.485z"/> </g> </svg> </span> Tags </a> </li> <li> <a href="/help" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M33 15.06c0 6.439-5 7.439-5 13.44 0 3.098-3.123 3.359-5.5 3.359-2.053 0-6.586-.779-6.586-3.361C15.914 22.5 11 21.5 11 15.06c0-6.031 5.285-10.92 11.083-10.92C27.883 4.14 33 9.029 33 15.06z"/> <path fill="#CCD6DD" d="M26.167 36.5c0 .828-2.234 2.5-4.167 2.5-1.933 0-4.167-1.672-4.167-2.5 0-.828 2.233-.5 4.167-.5 1.933 0 4.167-.328 4.167.5z"/> <path fill="#FFCC4D" d="M26.707 14.293a.999.999 0 00-1.414 0L22 17.586l-3.293-3.293a1 1 0 10-1.414 1.414L21 19.414V30a1 1 0 102 0V19.414l3.707-3.707a.999.999 0 000-1.414z"/> <path fill="#99AAB5" d="M28 35a2 2 0 01-2 2h-8a2 2 0 01-2-2v-6h12v6z"/> <path fill="#CCD6DD" d="M15.999 36a1 1 0 01-.163-1.986l12-2a.994.994 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014zm0-4a1 1 0 01-.163-1.986l12-2a.995.995 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014z"/> </g> </svg> </span> DEV Help </a> </li> <li> <a href="https://shop.forem.com/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F4900C" d="M11 0C6.582 0 3 3.582 3 8v8h2V8c0-3.313 2.687-6 6-6 3.314 0 6 2.687 6 6v8h2V8c0-4.418-3.582-8-8-8z"/><path fill="#DD2E44" d="M1 8l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H1z"/><path fill="#FFCC4D" d="M25 5c-4.418 0-8 3.582-8 8v8h2v-8c0-3.314 2.688-6 6-6 3.315 0 6 2.686 6 6v8h2v-8c0-4.418-3.582-8-8-8z"/><path fill="#744EAA" d="M15 13l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H15z"/></svg> </span> Forem Shop </a> </li> <li> <a href="/advertise" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <path fill="#DD2E44" d="M39.885 15.833c0-5.45-4.418-9.868-9.867-9.868-3.308 0-6.227 1.633-8.018 4.129-1.791-2.496-4.71-4.129-8.017-4.129-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C5.751 26.587 15.216 35.568 22 38.034c6.783-2.466 16.249-11.447 17.617-19.959.17-.721.268-1.469.268-2.242z"/> </svg> </span> Advertise on DEV </a> </li> <li> <a href="/challenges" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M5.123 5h6C12.227 5 13 4.896 13 6V4c0-1.104-.773-2-1.877-2h-8c-2 0-3.583 2.125-3 5 0 0 1.791 9.375 1.917 9.958C2.373 18.5 4.164 20 6.081 20h6.958c1.105 0-.039-1.896-.039-3v-2c0 1.104-.773 2-1.877 2h-4c-1.104 0-1.833-1.042-2-2S3.539 7.667 3.539 7.667C3.206 5.75 4.018 5 5.123 5zm25.812 0h-6C23.831 5 22 4.896 22 6V4c0-1.104 1.831-2 2.935-2h8c2 0 3.584 2.125 3 5 0 0-1.633 9.419-1.771 10-.354 1.5-2.042 3-4 3h-7.146C21.914 20 22 18.104 22 17v-2c0 1.104 1.831 2 2.935 2h4c1.104 0 1.834-1.042 2-2s1.584-7.333 1.584-7.333C32.851 5.75 32.04 5 30.935 5zM20.832 22c0-6.958-2.709 0-2.709 0s-3-6.958-3 0-3.291 10-3.291 10h12.292c-.001 0-3.292-3.042-3.292-10z"/><path fill="#FFCC4D" d="M29.123 6.577c0 6.775-6.77 18.192-11 18.192-4.231 0-11-11.417-11-18.192 0-5.195 1-6.319 3-6.319 1.374 0 6.025-.027 8-.027l7-.001c2.917-.001 4 .684 4 6.347z"/><path fill="#C1694F" d="M27 33c0 1.104.227 2-.877 2h-16C9.018 35 9 34.104 9 33v-1c0-1.104 1.164-2 2.206-2h13.917c1.042 0 1.877.896 1.877 2v1z"/><path fill="#C1694F" d="M29 34.625c0 .76.165 1.375-1.252 1.375H8.498C7.206 36 7 35.385 7 34.625v-.25C7 33.615 7.738 33 8.498 33h19.25c.759 0 1.252.615 1.252 1.375v.25z"/></svg> </span> DEV Challenges </a> </li> <li> <a href="/showcase" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M34.347 16.893l-8.899-3.294-3.323-10.891c-.128-.42-.517-.708-.956-.708-.439 0-.828.288-.956.708l-3.322 10.891-8.9 3.294c-.393.146-.653.519-.653.938 0 .418.26.793.653.938l8.895 3.293 3.324 11.223c.126.424.516.715.959.715.442 0 .833-.291.959-.716l3.324-11.223 8.896-3.293c.391-.144.652-.518.652-.937 0-.418-.261-.792-.653-.938z"/><path fill="#FFCC4D" d="M14.347 27.894l-2.314-.856-.9-3.3c-.118-.436-.513-.738-.964-.738-.451 0-.846.302-.965.737l-.9 3.3-2.313.856c-.393.145-.653.52-.653.938 0 .418.26.793.653.938l2.301.853.907 3.622c.112.444.511.756.97.756.459 0 .858-.312.97-.757l.907-3.622 2.301-.853c.393-.144.653-.519.653-.937 0-.418-.26-.793-.653-.937zM10.009 6.231l-2.364-.875-.876-2.365c-.145-.393-.519-.653-.938-.653-.418 0-.792.26-.938.653l-.875 2.365-2.365.875c-.393.146-.653.52-.653.938 0 .418.26.793.653.938l2.365.875.875 2.365c.146.393.52.653.938.653.418 0 .792-.26.938-.653l.875-2.365 2.365-.875c.393-.146.653-.52.653-.938 0-.418-.26-.792-.653-.938z"/></svg> </span> DEV Showcase </a> </li> <li> <a href="/about" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47.5 47.5" style="enable-background:new 0 0 47.5 47.5;" id="svg2" xml:space="preserve"><defs id="defs6"><clipPath id="clipPath18"><path d="M 0,38 38,38 38,0 0,0 0,38 z" id="path20"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,47.5)" id="g12"><g id="g14"><g clip-path="url(#clipPath18)" id="g16"><g transform="translate(37,19)" id="g22"><path d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" id="path24" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(2.2402,25.9824)" id="g26"><path d="m 0,0 c 0.24,-0.239 1.437,-0.958 1.677,-1.675 0.24,-0.717 0.72,-4.784 2.158,-5.981 1.484,-1.233 7.077,-0.774 8.149,-0.24 2.397,1.195 2.691,4.531 3.115,6.221 0.239,0.957 1.677,0.957 1.677,0.957 0,0 1.439,0 1.678,-0.956 0.424,-1.691 0.72,-5.027 3.115,-6.221 1.073,-0.535 6.666,-0.994 8.152,0.239 1.435,1.197 1.915,5.264 2.155,5.982 0.238,0.717 1.437,1.435 1.677,1.674 0.241,0.239 0.241,1.196 0,1.436 C 33.074,1.914 27.419,2.34 21.33,1.675 20.115,1.542 19.653,1.196 16.776,1.196 13.901,1.196 13.438,1.542 12.223,1.674 6.136,2.34 0.479,1.914 0,1.436 -0.239,1.196 -0.239,0.239 0,0" id="path28" style="fill:#292f33;fill-opacity:1;fill-rule:evenodd;stroke:none"/></g><g transform="translate(28.335,13.3711)" id="g30"><path d="m 0,0 c -0.178,0.161 -0.444,0.171 -0.635,0.029 -0.039,-0.029 -3.922,-2.9 -8.7,-2.9 -4.766,0 -8.662,2.871 -8.7,2.9 -0.191,0.142 -0.457,0.13 -0.635,-0.029 -0.177,-0.16 -0.217,-0.424 -0.094,-0.628 0.129,-0.215 3.217,-5.243 9.429,-5.243 6.212,0 9.301,5.028 9.429,5.243 C 0.217,-0.423 0.178,-0.16 0,0" id="path32" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></g></g></svg> </span> About </a> </li> <li> <a href="/contact" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFAC33" d="M38.724 33.656c-1.239-.01-1.241 1.205-1.241 1.205H22.5c-5.246 0-9.5-4.254-9.5-9.5s4.254-9.5 9.5-9.5 9.5 4.254 9.5 9.5c0 3.062-1.6 5.897-3.852 7.633h5.434C35.022 30.849 36 28.139 36 25.361c0-7.456-6.045-13.5-13.5-13.5-7.456 0-13.5 6.044-13.5 13.5 0 7.455 6.044 13.5 13.5 13.5h14.982s-.003 1.127 1.241 1.139c1.238.012 1.228-1.245 1.228-1.245l.014-3.821s.001-1.267-1.241-1.278zM9 18.26a16.047 16.047 0 014-4.739V13c0-5 5-7 5-8s-1-1-1-1H5C4 4 4 5 4 5c0 1 5 3.333 5 7.69v5.57z"/> <path fill="#BE1931" d="M17.091 33.166a9.487 9.487 0 01-4.045-8.72l-3.977-.461c-.046.452-.069.911-.069 1.376 0 4.573 2.28 8.608 5.76 11.051l2.331-3.246z"/> <path fill="#BE1931" d="M10 29.924s-5.188-.812-5 1 5-1 5-1zm0 .312s-4.125 2.688-2.938 3.75S10 30.236 10 30.236z"/> </g> </svg> </span> Contact </a> </li> <li> <a href="/free-postgres-database-tier" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 25.6 25.6" width="64"><style><![CDATA[.B{stroke-linecap:round}.C{stroke-linejoin:round}.D{stroke-linejoin:miter}.E{stroke-width:.716}]]></style><g fill="none" stroke="#fff"><path d="M18.983 18.636c.163-1.357.114-1.555 1.124-1.336l.257.023c.777.035 1.793-.125 2.4-.402 1.285-.596 2.047-1.592.78-1.33-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.227-11.687-3.004-3.84-8.205-2.024-8.292-1.976l-.028.005c-.57-.12-1.2-.19-1.93-.2-1.308-.02-2.3.343-3.054.914 0 0-9.277-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.01 2.01 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.285 1.76.33 2.842s.116 2.093.337 2.688.48 2.13 2.53 1.7c1.713-.367 3.023-.896 3.143-5.81" fill="#000" stroke="#000" stroke-linecap="butt" stroke-width="2.149" class="D"/><path d="M23.535 15.6c-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.228-11.687-3.004-3.84-8.205-2.023-8.292-1.976l-.028.005a10.31 10.31 0 0 0-1.929-.201c-1.308-.02-2.3.343-3.054.914 0 0-9.278-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.02 2.02 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.52 1.593.484 2.815s-.06 2.06.18 2.716.48 2.13 2.53 1.7c1.713-.367 2.6-1.32 2.725-2.906.088-1.128.286-.962.3-1.97l.16-.478c.183-1.53.03-2.023 1.085-1.793l.257.023c.777.035 1.794-.125 2.39-.402 1.285-.596 2.047-1.592.78-1.33z" fill="#336791" stroke="none"/><g class="E"><g class="B"><path d="M12.814 16.467c-.08 2.846.02 5.712.298 6.4s.875 2.05 2.926 1.612c1.713-.367 2.337-1.078 2.607-2.647l.633-5.017M10.356 2.2S1.072-1.596 1.504 7.033c.092 1.836 2.63 13.9 5.66 10.25C8.27 15.95 9.27 14.907 9.27 14.907m6.1-13.4c-.32.1 5.164-2.005 8.282 1.978 1.1 1.407-.175 7.157-3.228 11.687" class="C"/><path d="M20.425 15.17s.2.98 3.1.382c1.267-.262.504.734-.78 1.33-1.054.49-3.418.615-3.457-.06-.1-1.745 1.244-1.215 1.147-1.652-.088-.394-.69-.78-1.086-1.744-.347-.84-4.76-7.29 1.224-6.333.22-.045-1.56-5.7-7.16-5.782S7.99 8.196 7.99 8.196" stroke-linejoin="bevel"/></g><g class="C"><path d="M11.247 15.768c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.163.35-.49-.002-1.27-.482-1.468-.232-.096-.542-.216-.94.23z"/><path d="M11.196 15.753c-.08-.513.168-1.122.433-1.836.398-1.07 1.316-2.14.582-5.537-.547-2.53-4.22-.527-4.22-.184s.166 1.74-.06 3.365c-.297 2.122 1.35 3.916 3.246 3.733" class="B"/></g></g><g fill="#fff" class="D"><path d="M10.322 8.145c-.017.117.215.43.516.472s.558-.202.575-.32-.215-.246-.516-.288-.56.02-.575.136z" stroke-width=".239"/><path d="M19.486 7.906c.016.117-.215.43-.516.472s-.56-.202-.575-.32.215-.246.516-.288.56.02.575.136z" stroke-width=".119"/></g><path d="M20.562 7.095c.05.92-.198 1.545-.23 2.524-.046 1.422.678 3.05-.413 4.68" class="B C E"/></g></svg> </span> Free Postgres Database </a> </li> <li> <a href="/software-comparisons" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45" style="enable-background:new 0 0 45 45;" xml:space="preserve" version="1.1" id="svg2"><metadata id="metadata8"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><defs id="defs6"><clipPath id="clipPath16" clipPathUnits="userSpaceOnUse"><path id="path18" d="M 0,36 36,36 36,0 0,0 0,36 Z"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,45)" id="g10"><g id="g12"><g clip-path="url(#clipPath16)" id="g14"><g transform="translate(2,20)" id="g20"><path id="path22" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-8.837 7.164,-16 16,-16 8.837,0 16,7.163 16,16 C 32,8.836 24.837,16 16,16 7.164,16 0,8.836 0,0"/></g><g transform="translate(15.4063,25.5)" id="g24"><path id="path26" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.896,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.104,0 2,-1.12 2,-2.5"/></g><g transform="translate(26,24.5)" id="g28"><path id="path30" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.895,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.105,0 2,-1.12 2,-2.5"/></g><g transform="translate(9.6709,29.667)" id="g32"><path id="path34" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.164,0.087 -0.303,0.223 -0.391,0.398 -0.607,0.827 -0.431,1.325 0.002,1.511 4.268,3.341 7.701,1.554 7.845,1.477 8.278,1.246 8.453,0.729 8.236,0.323 8.02,-0.082 7.496,-0.223 7.063,0.005 6.94,0.069 4.231,1.437 0.785,-0.042 0.528,-0.151 0.238,-0.127 0,0"/></g><g transform="translate(14.7427,16.4277)" id="g36"><path id="path38" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.136,0.127 -0.236,0.293 -0.276,0.486 -0.375,0.955 -0.078,1.392 0.389,1.46 4.981,2.138 7.841,-0.469 7.962,-0.58 8.322,-0.914 8.357,-1.457 8.044,-1.795 7.732,-2.131 7.189,-2.133 6.83,-1.801 6.726,-1.709 4.458,0.307 0.748,-0.24 0.471,-0.281 0.197,-0.184 0,0"/></g><g transform="translate(20.4307,25.917)" id="g40"><path id="path42" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.156,0.098 -0.286,0.243 -0.362,0.424 -0.549,0.866 -0.339,1.352 0.105,1.508 4.486,3.044 7.79,1.028 7.929,0.941 8.344,0.681 8.483,0.154 8.24,-0.237 7.998,-0.627 7.464,-0.732 7.049,-0.475 6.929,-0.402 4.321,1.146 0.782,-0.095 0.518,-0.187 0.23,-0.143 0,0"/></g><g transform="translate(17.2764,0.8682)" id="g44"><path id="path46" style="fill:#f4900c;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,0 1.265,0.411 1.429,1.352 0.173,0.971 -0.624,1.167 -0.624,1.167 0,0 1.041,0.208 1.172,1.376 0.123,1.1 -0.862,1.363 -0.862,1.363 0,0 0.97,0.4 1.016,1.539 0.038,0.959 -0.995,1.428 -0.995,1.428 0,0 5.038,1.22 5.555,1.34 0.516,0.121 1.321,0.616 1.07,1.695 -0.249,1.08 -1.204,1.118 -1.698,1.003 -0.494,-0.116 -6.744,-1.567 -8.9,-2.069 -0.23,-0.053 -1.308,-0.302 -1.439,-0.334 -0.54,-0.127 -0.785,0.111 -0.405,0.512 0.509,0.536 0.833,1.129 0.947,2.113 0.119,1.036 -0.232,2.314 -0.433,2.809 -0.374,0.921 -1.005,1.649 -1.734,1.899 -1.138,0.39 -1.946,-0.321 -1.542,-1.561 0.604,-1.855 0.209,-3.375 -0.833,-4.293 -2.449,-2.157 -3.589,-3.695 -2.83,-6.973 0.827,-3.575 4.377,-5.876 7.952,-5.048 C -2.965,-0.64 0,0 0,0"/></g></g></g></g></svg> </span> Software comparisons </a> </li> </ul> </nav> <nav class="mb-4" data-testid="other-nav" aria-labelledby="other-nav-heading-sidebar"> <h2 id="other-nav-heading-sidebar" class="crayons-subtitle-3 py-2 pl-3"> Other </h2> <ul class="other-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/code-of-conduct" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFDB5E" d="M38.956 21.916c0-.503-.12-.975-.321-1.404-1.341-4.326-7.619-4.01-16.549-4.221-1.493-.035-.639-1.798-.115-5.668.341-2.517-1.282-6.382-4.01-6.382-4.498 0-.171 3.548-4.148 12.322-2.125 4.688-6.875 2.062-6.875 6.771v10.719c0 1.833.18 3.595 2.758 3.885 2.499.281 1.937 2.062 5.542 2.062h18.044a3.337 3.337 0 003.333-3.334c0-.762-.267-1.456-.698-2.018 1.02-.571 1.72-1.649 1.72-2.899 0-.76-.266-1.454-.696-2.015 1.023-.57 1.725-1.649 1.725-2.901 0-.909-.368-1.733-.961-2.336a3.311 3.311 0 001.251-2.581z"/> <path fill="#EE9547" d="M27.02 25.249h8.604c1.17 0 2.268-.626 2.866-1.633a.876.876 0 00-1.506-.892 1.588 1.588 0 01-1.361.775h-8.81c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583H32.7a.875.875 0 000-1.75h-5.888a3.337 3.337 0 00-3.333 3.333c0 1.025.475 1.932 1.205 2.544a3.32 3.32 0 00-.998 2.373c0 1.028.478 1.938 1.212 2.549a3.318 3.318 0 00.419 5.08 3.305 3.305 0 00-.852 2.204 3.337 3.337 0 003.333 3.333h5.484a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.594 1.594 0 01-1.363.776h-5.484c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583h6.506a3.35 3.35 0 002.867-1.633.875.875 0 10-1.504-.894 1.572 1.572 0 01-1.363.777h-7.063a1.585 1.585 0 010-3.167h8.091a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.573 1.573 0 01-1.363.776H27.02a1.585 1.585 0 010-3.167z"/> </g> </svg> </span> Code of Conduct </a> </li> <li> <a href="/privacy" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <circle fill="#FFCC4D" cx="18" cy="18" r="18"/> <path fill="#664500" d="M27.335 23.629a.501.501 0 00-.635-.029c-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 10-.729.657C8.7 24.472 11.788 29.5 18 29.5s9.301-5.028 9.429-5.243a.499.499 0 00-.094-.628z"/> <path fill="#65471B" d="M18 26.591c-.148 0-.291-.011-.438-.016v4.516h.875v-4.517c-.145.005-.289.017-.437.017z"/> <path fill="#FFF" d="M22 26c.016-.004-1.45.378-2.446.486-.366.042-.737.076-1.117.089v4.517H20c1.1 0 2-.9 2-2V26zm-8 0c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089v4.517H16c-1.1 0-2-.9-2-2V26z"/> <path fill="#65471B" d="M27.335 23.629a.501.501 0 00-.635-.029c-.03.022-2.259 1.668-5.411 2.47-.443.113-1.864.43-3.286.431-1.424 0-2.849-.318-3.292-.431-3.152-.802-5.381-2.448-5.411-2.47a.501.501 0 00-.729.657c.097.162 1.885 3.067 5.429 4.481v-1.829c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089.146.005.289.016.437.016.148 0 .291-.011.438-.016.38-.013.751-.046 1.117-.089.996-.108 2.462-.49 2.446-.486v1.829c3.544-1.414 5.332-4.319 5.429-4.481a.5.5 0 00-.095-.628zm-.711-9.605c0 1.714-.938 3.104-2.096 3.104-1.157 0-2.096-1.39-2.096-3.104s.938-3.104 2.096-3.104c1.158 0 2.096 1.39 2.096 3.104zm-17.167 0c0 1.714.938 3.104 2.096 3.104 1.157 0 2.096-1.39 2.096-3.104s-.938-3.104-2.096-3.104c-1.158 0-2.096 1.39-2.096 3.104z"/> <path fill="#292F33" d="M34.808 9.627c-.171-.166-1.267.274-2.376-.291-2.288-1.166-8.07-2.291-11.834.376-.403.285-2.087.333-2.558.313-.471.021-2.155-.027-2.558-.313-3.763-2.667-9.545-1.542-11.833-.376-1.109.565-2.205.125-2.376.291-.247.239-.247 1.196.001 1.436.246.239 1.477.515 1.722 1.232.247.718.249 4.958 2.213 6.424 1.839 1.372 6.129 1.785 8.848.238 2.372-1.349 2.289-4.189 2.724-5.881.155-.603.592-.907 1.26-.907s1.105.304 1.26.907c.435 1.691.351 4.532 2.724 5.881 2.719 1.546 7.009 1.133 8.847-.238 1.965-1.465 1.967-5.706 2.213-6.424.245-.717 1.476-.994 1.722-1.232.248-.24.249-1.197.001-1.436zm-20.194 3.65c-.077 1.105-.274 3.227-1.597 3.98-.811.462-1.868.743-2.974.743h-.001c-1.225 0-2.923-.347-3.587-.842-.83-.619-1.146-3.167-1.265-4.12-.076-.607-.28-2.09.388-2.318 1.06-.361 2.539-.643 4.052-.643.693 0 3.021.043 4.155.741 1.005.617.872 1.851.829 2.459zm16.278-.253c-.119.954-.435 3.515-1.265 4.134-.664.495-2.362.842-3.587.842h-.001c-1.107 0-2.163-.281-2.975-.743-1.323-.752-1.52-2.861-1.597-3.966-.042-.608-.176-1.851.829-2.468 1.135-.698 3.462-.746 4.155-.746 1.513 0 2.991.277 4.052.638.668.228.465 1.702.389 2.309z"/> </g> </svg> </span> Privacy Policy </a> </li> <li> <a href="/terms" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <ellipse fill="#F5F8FA" cx="8.828" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M8.828 32.031C3.948 32.031.125 25.868.125 18S3.948 3.969 8.828 3.969 17.531 10.132 17.531 18s-3.823 14.031-8.703 14.031zm0-26.562C4.856 5.469 1.625 11.09 1.625 18s3.231 12.531 7.203 12.531S16.031 24.91 16.031 18 12.8 5.469 8.828 5.469z"/> <circle fill="#8899A6" cx="6.594" cy="18" r="4.96"/> <circle fill="#292F33" cx="6.594" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="7.911" cy="15.443" r="1.426"/> <ellipse fill="#F5F8FA" cx="27.234" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M27.234 32.031c-4.88 0-8.703-6.163-8.703-14.031s3.823-14.031 8.703-14.031S35.938 10.132 35.938 18s-3.824 14.031-8.704 14.031zm0-26.562c-3.972 0-7.203 5.622-7.203 12.531 0 6.91 3.231 12.531 7.203 12.531S34.438 24.91 34.438 18 31.206 5.469 27.234 5.469z"/> <circle fill="#8899A6" cx="25" cy="18" r="4.96"/> <circle fill="#292F33" cx="25" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="26.317" cy="15.443" r="1.426"/> </g> </svg> </span> Terms of use </a> </li> </ul> </nav> <div class="mb-4"> <a href="https://x.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-50 -50 620 620" role="img" aria-labelledby="atsg82bbj1mc5rn1fidrfxhu5598noge" class="crayons-icon c-link__icon" width="24" height="24"><title id="atsg82bbj1mc5rn1fidrfxhu5598noge">Twitter</title> <path d="M394.033.25h76.67L303.202 191.693l197.052 260.511h-154.29L225.118 294.205 86.844 452.204H10.127l179.16-204.77L.254.25H158.46l109.234 144.417zm-26.908 406.063h42.483L135.377 43.73h-45.59z" fill="#000"></path> </svg> </a> <a href="https://facebook.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aszy1m1cuousfuq6ifw8iorwl29m7anl" class="crayons-icon c-link__icon"><title id="aszy1m1cuousfuq6ifw8iorwl29m7anl">Facebook</title> <path d="M15.402 21v-6.966h2.333l.349-2.708h-2.682V9.598c0-.784.218-1.319 1.342-1.319h1.434V5.857a19.188 19.188 0 00-2.09-.107c-2.067 0-3.482 1.262-3.482 3.58v1.996h-2.338v2.708h2.338V21H4a1 1 0 01-1-1V4a1 1 0 011-1h16a1 1 0 011 1v16a1 1 0 01-1 1h-4.598z"></path> </svg> </a> <a href="https://github.com/forem" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aaih5wa5ntmvuerksjnfwsaeka8b2zt6" class="crayons-icon c-link__icon"><title id="aaih5wa5ntmvuerksjnfwsaeka8b2zt6">Github</title> <path d="M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 006.838 9.488c.5.087.687-.213.687-.476 0-.237-.013-1.024-.013-1.862-2.512.463-3.162-.612-3.362-1.175-.113-.288-.6-1.175-1.025-1.413-.35-.187-.85-.65-.013-.662.788-.013 1.35.725 1.538 1.025.9 1.512 2.338 1.087 2.912.825.088-.65.35-1.087.638-1.337-2.225-.25-4.55-1.113-4.55-4.938 0-1.088.387-1.987 1.025-2.688-.1-.25-.45-1.275.1-2.65 0 0 .837-.262 2.75 1.026a9.28 9.28 0 012.5-.338c.85 0 1.7.112 2.5.337 1.912-1.3 2.75-1.024 2.75-1.024.55 1.375.2 2.4.1 2.65.637.7 1.025 1.587 1.025 2.687 0 3.838-2.337 4.688-4.562 4.938.362.312.675.912.675 1.85 0 1.337-.013 2.412-.013 2.75 0 .262.188.574.688.474A10.016 10.016 0 0022 12c0-5.525-4.475-10-10-10z"></path> </svg> </a> <a href="https://instagram.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="apdgq0d8drak4x0k24i3idtfkffujdpz" class="crayons-icon c-link__icon"><title id="apdgq0d8drak4x0k24i3idtfkffujdpz">Instagram</title> <path d="M12 2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153.509.5.902 1.105 1.153 1.772.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 01-1.153 1.772c-.5.508-1.105.902-1.772 1.153-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 01-1.772-1.153 4.904 4.904 0 01-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 011.153-1.772A4.897 4.897 0 015.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm6.5-.25a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0zM12 9a3 3 0 110 6 3 3 0 010-6z"></path> </svg> </a> <a href="https://twitch.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="af5u0wzwl7rg1iq8nc9uh6uii8sqjbl9" class="crayons-icon c-link__icon"><title id="af5u0wzwl7rg1iq8nc9uh6uii8sqjbl9">Twitch</title> <path d="M4.3 3H21v11.7l-4.7 4.7h-3.9l-2.5 2.4H7v-2.4H3V6.2L4.3 3zM5 17.4h4v2.4h.095l2.5-2.4h3.877L19 13.872V5H5v12.4zM15 8h2v4.7h-2V8zm0 0h2v4.7h-2V8zm-5 0h2v4.7h-2V8z"></path> </svg> </a> <a href="https://fosstodon.org/@thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="akbhtyfpfaah7x5ecq1yn8w2yqyooucj" class="crayons-icon c-link__icon"><title id="akbhtyfpfaah7x5ecq1yn8w2yqyooucj">Mastodon</title> <path d="M21.258 13.99c-.274 1.41-2.456 2.955-4.962 3.254-1.306.156-2.593.3-3.965.236-2.243-.103-4.014-.535-4.014-.535 0 .218.014.426.04.62.292 2.215 2.196 2.347 4 2.41 1.82.062 3.44-.45 3.44-.45l.076 1.646s-1.274.684-3.542.81c-1.25.068-2.803-.032-4.612-.51-3.923-1.039-4.598-5.22-4.701-9.464-.031-1.26-.012-2.447-.012-3.44 0-4.34 2.843-5.611 2.843-5.611 1.433-.658 3.892-.935 6.45-.956h.062c2.557.02 5.018.298 6.451.956 0 0 2.843 1.272 2.843 5.61 0 0 .036 3.201-.397 5.424zm-2.956-5.087c0-1.074-.273-1.927-.822-2.558-.567-.631-1.308-.955-2.229-.955-1.065 0-1.871.41-2.405 1.228l-.518.87-.519-.87C11.276 5.8 10.47 5.39 9.405 5.39c-.921 0-1.663.324-2.229.955-.549.631-.822 1.484-.822 2.558v5.253h2.081V9.057c0-1.075.452-1.62 1.357-1.62 1 0 1.501.647 1.501 1.927v2.79h2.07v-2.79c0-1.28.5-1.927 1.5-1.927.905 0 1.358.545 1.358 1.62v5.1h2.08V8.902l.001.001z"></path> </svg> </a> <a href="https://bsky.app/profile/dev.to" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -3.268 64 68.414" width="24" height="24" role="img" aria-labelledby="amxw8l5ndxaiehpfk62uh7zb788u6mmo" class="crayons-icon c-link__icon"><title id="amxw8l5ndxaiehpfk62uh7zb788u6mmo">Bluesky</title><path fill="#0085ff" d="M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805zm36.254 0C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745z"></path></svg> </a> </div> <nav class="mb-6" aria-label="Secondary sidebar nav"> <h3 class="crayons-subtitle-3 p-2">Popular Tags</h3> <div id="sidebar-nav-default-tags" class="overflow-y-auto" style="max-height: 42vh"> <div class="sidebar-nav-element" id="default-sidebar-element-webdev"> <a class="c-link c-link--block" href="/t/webdev"> #webdev </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-programming"> <a class="c-link c-link--block" href="/t/programming"> #programming </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-javascript"> <a class="c-link c-link--block" href="/t/javascript"> #javascript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-beginners"> <a class="c-link c-link--block" href="/t/beginners"> #beginners </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-ai"> <a class="c-link c-link--block" href="/t/ai"> #ai </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-tutorial"> <a class="c-link c-link--block" href="/t/tutorial"> #tutorial </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-react"> <a class="c-link c-link--block" href="/t/react"> #react </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-devops"> <a class="c-link c-link--block" href="/t/devops"> #devops </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-python"> <a class="c-link c-link--block" href="/t/python"> #python </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-productivity"> <a class="c-link c-link--block" href="/t/productivity"> #productivity </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-opensource"> <a class="c-link c-link--block" href="/t/opensource"> #opensource </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-discuss"> <a class="c-link c-link--block" href="/t/discuss"> #discuss </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-career"> <a class="c-link c-link--block" href="/t/career"> #career </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-aws"> <a class="c-link c-link--block" href="/t/aws"> #aws </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-news"> <a class="c-link c-link--block" href="/t/news"> #news </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-machinelearning"> <a class="c-link c-link--block" href="/t/machinelearning"> #machinelearning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-node"> <a class="c-link c-link--block" href="/t/node"> #node </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-learning"> <a class="c-link c-link--block" href="/t/learning"> #learning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-cloud"> <a class="c-link c-link--block" href="/t/cloud"> #cloud </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-java"> <a class="c-link c-link--block" href="/t/java"> #java </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-typescript"> <a class="c-link c-link--block" href="/t/typescript"> #typescript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-api"> <a class="c-link c-link--block" href="/t/api"> #api </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-datascience"> <a class="c-link c-link--block" href="/t/datascience"> #datascience </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-css"> <a class="c-link c-link--block" href="/t/css"> #css </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-database"> <a class="c-link c-link--block" href="/t/database"> #database </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-blockchain"> <a class="c-link c-link--block" href="/t/blockchain"> #blockchain </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-security"> <a class="c-link c-link--block" href="/t/security"> #security </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-php"> <a class="c-link c-link--block" href="/t/php"> #php </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-testing"> <a class="c-link c-link--block" href="/t/testing"> #testing </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-codepen"> <a class="c-link c-link--block" href="/t/codepen"> #codepen </a> </div> </div> </nav> <div class="js-billboard-container" data-async-url="/bmar11/sidebar_left"></div> <div class="js-billboard-container pt-4" data-async-url="/bmar11/sidebar_left_2"></div> <footer class="mt-6 fs-s sidebar-footer"> <p> <a class="c-link c-link--branded fw-medium" aria-label="DEV Community Home" href="/">DEV Community</a> A constructive and inclusive social network for software developers. With you every step of your journey. </p> <p class="mt-4">Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> — the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p> <p class="mt-4">Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. DEV Community <span title="copyright">&copy;</span> 2016 - 2025.</p> </footer> </aside> </div> <script src="https://assets.dev.to/assets/billboard-818c196f17931002334ea0a9f5a2abea9e2afb2d59259a9b9102ffb07206df72.js" defer="defer"></script> <main class="articles-list crayons-layout__content" id="main-content" data-follow-button-container="true"> <header class="p-2 px-3 m:p-0 m:px-0 m:mb-2 fs-l"> <h1 class="screen-reader-only">Posts</h1> <nav class="-mx-3 m:mx-0 s:flex items-center justify-between" aria-label="View posts by"> <ul class="crayons-navigation crayons-navigation--horizontal"> <li> <a data-text="Relevant" href="/" class="crayons-navigation__item crayons-navigation__item--current" aria-current="page">Relevant</a> </li> <li> <a data-text="Latest" href="/latest" class="crayons-navigation__item "> Latest </a> </li> <li> <a data-text="Top" href="/top/week" class="crayons-navigation__item " > Top </a> </li> </ul> </nav> </header> <style> .long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(--card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; } </style> <div class="crayons-story crayons-story__billboard bb-placement js-billboard" style="" data-display-unit data-id="220943" data-category-click="click" data-category-impression="impression" data-context-type="home" data-dismissal-sku="devchallenge_april_2_2025" data-special="nothing" data-article-id="" data-type-of="in_house"> <div class="crayons-story__body"> <div class="crayons-story__top flex"> <div class="crayons-bb__header relative"> <div class="crayons-bb__title">👋 DEV Challenges</div> <button id="sponsorship-dropdown-trigger-220943" aria-controls="sponsorship-dropdown-220943" aria-expanded="false" aria-haspopup="true" class="dropBtn crayons-bb__dropdown crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon" aria-label="Toggle dropdown menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ap6y37ufn7rjwzhuh7foqdtcpclsj2jl" class="crayons-icon pointer-events-none"><title id="ap6y37ufn7rjwzhuh7foqdtcpclsj2jl">Dropdown menu</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 12a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm5.25 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm3.75 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </button> <div id="sponsorship-dropdown-220943" class="crayons-dropdown bb-dropdown right-0"> <ul class="list-none m-0"> <li> <a class="crayons-link crayons-link--block" href='/billboards'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 100-16 8 8 0 000 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"></path> </svg> What&#39;s a billboard? </a> </li> <li> <a class="crayons-link crayons-link--block" href='/settings/customization#sponsors'> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M3.34 16.9999C2.91727 16.2689 2.58866 15.4874 2.362 14.6739C2.85531 14.423 3.26959 14.0406 3.55903 13.5688C3.84846 13.0971 4.00176 12.5545 4.00197 12.0011C4.00218 11.4476 3.84928 10.9049 3.5602 10.4329C3.27112 9.961 2.85712 9.57821 2.364 9.32694C2.81604 7.69243 3.67673 6.1999 4.865 4.98994C5.32909 5.29167 5.86762 5.45911 6.42098 5.47373C6.97434 5.48834 7.52095 5.34958 8.00033 5.07278C8.47971 4.79598 8.87315 4.39194 9.13713 3.90539C9.4011 3.41883 9.52531 2.86872 9.496 2.31594C11.1381 1.89157 12.8612 1.89226 14.503 2.31795C14.474 2.87071 14.5984 3.42073 14.8626 3.90715C15.1268 4.39357 15.5204 4.79742 15.9998 5.07401C16.4793 5.35059 17.0259 5.48913 17.5793 5.4743C18.1326 5.45946 18.671 5.29183 19.135 4.98994C19.714 5.57994 20.228 6.25095 20.66 6.99995C21.093 7.74895 21.417 8.52995 21.638 9.32595C21.1447 9.57685 20.7304 9.95932 20.441 10.4311C20.1515 10.9028 19.9982 11.4454 19.998 11.9988C19.9978 12.5523 20.1507 13.095 20.4398 13.5669C20.7289 14.0389 21.1429 14.4217 21.636 14.6729C21.184 16.3075 20.3233 17.8 19.135 19.0099C18.6709 18.7082 18.1324 18.5408 17.579 18.5262C17.0257 18.5115 16.479 18.6503 15.9997 18.9271C15.5203 19.2039 15.1268 19.6079 14.8629 20.0945C14.5989 20.5811 14.4747 21.1312 14.504 21.6839C12.8619 22.1083 11.1388 22.1076 9.497 21.6819C9.52605 21.1292 9.4016 20.5792 9.13742 20.0927C8.87324 19.6063 8.47964 19.2025 8.00017 18.9259C7.5207 18.6493 6.97405 18.5108 6.42073 18.5256C5.8674 18.5404 5.32896 18.7081 4.865 19.0099C4.27399 18.4069 3.76159 17.7315 3.34 16.9999ZM9 17.1959C10.0656 17.8106 10.8668 18.797 11.25 19.9659C11.749 20.0129 12.25 20.0139 12.749 19.9669C13.1324 18.7978 13.934 17.8114 15 17.1969C16.0652 16.5806 17.3205 16.3794 18.525 16.6319C18.815 16.2239 19.065 15.7889 19.273 15.3339C18.4524 14.4174 17.9991 13.2302 18 11.9999C18 10.7399 18.47 9.56295 19.273 8.66595C19.0635 8.21109 18.8125 7.77658 18.523 7.36795C17.3193 7.62025 16.0648 7.41942 15 6.80395C13.9344 6.18932 13.1332 5.20293 12.75 4.03394C12.251 3.98694 11.75 3.98594 11.251 4.03294C10.8676 5.20209 10.066 6.1885 9 6.80295C7.93478 7.41926 6.67948 7.62046 5.475 7.36795C5.18556 7.77623 4.93513 8.21081 4.727 8.66595C5.54757 9.5825 6.00088 10.7697 6 11.9999C6 13.2599 5.53 14.4369 4.727 15.3339C4.93647 15.7888 5.18754 16.2233 5.477 16.6319C6.68072 16.3796 7.93521 16.5805 9 17.1959ZM12 14.9999C11.2044 14.9999 10.4413 14.6839 9.87868 14.1213C9.31607 13.5587 9 12.7956 9 11.9999C9 11.2043 9.31607 10.4412 9.87868 9.87862C10.4413 9.31602 11.2044 8.99995 12 8.99995C12.7956 8.99995 13.5587 9.31602 14.1213 9.87862C14.6839 10.4412 15 11.2043 15 11.9999C15 12.7956 14.6839 13.5587 14.1213 14.1213C13.5587 14.6839 12.7956 14.9999 12 14.9999ZM12 12.9999C12.2652 12.9999 12.5196 12.8946 12.7071 12.7071C12.8946 12.5195 13 12.2652 13 11.9999C13 11.7347 12.8946 11.4804 12.7071 11.2928C12.5196 11.1053 12.2652 10.9999 12 10.9999C11.7348 10.9999 11.4804 11.1053 11.2929 11.2928C11.1054 11.4804 11 11.7347 11 11.9999C11 12.2652 11.1054 12.5195 11.2929 12.7071C11.4804 12.8946 11.7348 12.9999 12 12.9999Z" fill="black"></path> </svg> Manage preferences </a> </li> <hr /> <li> <a class="crayons-link crayons-link--block" href="/report-abuse?billboard=220943"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3h9.382Zm-.618 2H5v9h8.236l1 2H19V7h-6.236l-1-2Z"></path> </svg> Report billboard </a> </li> </ul> </div> </div> <button id="sponsorship-close-trigger-220943" aria-controls="sponsorship-close-220943" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ae22wx2ym9rbkehbz873cxbkmwwx2yxm" class="crayons-icon pointer-events-none"><title id="ae22wx2ym9rbkehbz873cxbkmwwx2yxm">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg> </button> </div> <div class="crayons-story__indention-billboard"> <div class="text-styles text-styles--billboard"> <p><a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=220943"><img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdu7wtkzz67tqpzexnv1.png" alt="Join the Alibaba Cloud Web Game Challenge" width="4096" height="1720" loading="lazy"></a></p> <h3> <a name="time-to-build" href="#time-to-build"> </a> 👾👾 Time to build 👾👾</h3> <div class="ltag__link"> <a href="/devteam?bb=220943" class="ltag__link__link"> <div class="ltag__link__org__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="150" height="150" loading="lazy"> <div class="ltag__link__user__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" alt="" width="150" height="150" loading="lazy"> </div> </div> </a> <a href="https://dev.to/devteam/join-us-for-the-alibaba-cloud-web-game-challenge-3000-in-prizes-1n5d?bb=220943" class="ltag__link__link"> <div class="ltag__link__content"> <h2>Join us for the Alibaba Cloud Web Game Challenge: $3,000 in Prizes!</h2> <h3>dev.to staff for The DEV Team ・ Apr 2</h3> <div class="ltag__link__taglist"> <span class="ltag__link__tag">#devchallenge</span> <span class="ltag__link__tag">#alibabachallenge</span> <span class="ltag__link__tag">#webdev</span> <span class="ltag__link__tag">#cloud</span> </div> </div> </a> </div> <p>Good luck!</p> </div> </div> </div> </div> <div class="crayons-story crayons-story--featured" data-feed-content-id="2388640" data-content-user-id="1"> <a href="https://dev.to/ben/meme-monday-9dh" aria-labelledby="article-link-2388640" class="crayons-story__hidden-navigation-link">Meme Monday</a> <div id="featured-story-marker" data-featured-article="articles-2388640"></div> <div class="crayons-article__cover crayons-article__cover__image__feed" style="aspect-ratio: auto 1000 / 420;"> <a href="https://dev.to/ben/meme-monday-9dh" title="Meme Monday" aria-label="article" class="crayons-article__cover__image__feed crayons-story__cover__image"> <img src="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5v7pzmha1yut6e727y3.png" width="1000" height="420" style="background-color:#dddddd;" class="crayons-article__cover__image__feed" alt="Cover image for Meme Monday"> </a> </div> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ben" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1%2Ff451a206-11c8-4e3d-8936-143d0a7e65bb.png" alt="ben profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ben" class="crayons-story__secondary fw-medium m:hidden"> Ben Halpern </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388640" aria-controls="story-author-preview-content-2388640" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ben Halpern profile details"> Ben Halpern <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2388640" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ben" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1%2Ff451a206-11c8-4e3d-8936-143d0a7e65bb.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ben Halpern</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ben Halpern&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1"></div> </div> </div> </div> </div> <a href="https://dev.to/ben/meme-monday-9dh" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T12:43:23Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744029803"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ben/meme-monday-9dh" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5v7pzmha1yut6e727y3.png" id="article-link-2388640"> Meme Monday </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(246, 41, 140, 0.10); --tag-prefix: #F6298C; --tag-bg-hover: rgba(246, 41, 140, 0.10); --tag-prefix-hover: #F6298C; " href="/t/jokes"><span class="crayons-tag__prefix">#</span>jokes</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(208, 236, 255, 0.10); --tag-prefix: #D0ECFF; --tag-bg-hover: rgba(208, 236, 255, 0.10); --tag-prefix-hover: #D0ECFF; " href="/t/watercooler"><span class="crayons-tag__prefix">#</span>watercooler</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/ben/meme-monday-9dh" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388640" aria-label="Add a comment to post - Meme Monday"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">8<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/ben/meme-monday-9dh#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Meme Monday"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ac9pith6m02694ecuc3xz39rj35xif6y" class="crayons-icon"><title id="ac9pith6m02694ecuc3xz39rj35xif6y">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 3<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2388640" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388640" data-article-author-id="1" aria-label="Save post Meme Monday to reading list" title="Save post Meme Monday to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div id="article-index-podcast-div"></div> <div class="substories" id="substories"> <div class="crayons-story " data-feed-content-id="2387522" data-content-user-id="2667579"> <a href="https://dev.to/teamcamp/code-coffee-and-ai-how-machine-learning-is-supercharging-developer-productivity-in-2025-2icn" aria-labelledby="article-link-2387522" class="crayons-story__hidden-navigation-link">Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/teamcamp"> <img alt="Teamcamp logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10233%2Fa214d929-4a86-43e3-8a25-ba25c166bdae.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/pratham_naik_project_manager" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2667579%2Feca818ae-fd03-4e29-8782-cc78cc40a86e.jpg" alt="pratham_naik_project_manager profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pratham_naik_project_manager" class="crayons-story__secondary fw-medium m:hidden"> Pratham naik </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2387522" aria-controls="story-author-preview-content-2387522" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Pratham naik profile details"> Pratham naik </button> <div id="story-author-preview-content-2387522" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/pratham_naik_project_manager" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2667579%2Feca818ae-fd03-4e29-8782-cc78cc40a86e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Pratham naik</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2667579,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Pratham naik&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2667579"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/teamcamp" class="crayons-story__secondary fw-medium">Teamcamp</a> </span> </div> <a href="https://dev.to/teamcamp/code-coffee-and-ai-how-machine-learning-is-supercharging-developer-productivity-in-2025-2icn" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T04:24:00Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1743999840"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/teamcamp/code-coffee-and-ai-how-machine-learning-is-supercharging-developer-productivity-in-2025-2icn" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5tg7odw2f0d0kqmdu8b.jpg" id="article-link-2387522"> Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025 </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/teamcamp/code-coffee-and-ai-how-machine-learning-is-supercharging-developer-productivity-in-2025-2icn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2387522" aria-label="Add a comment to post - Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">32<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/teamcamp/code-coffee-and-ai-how-machine-learning-is-supercharging-developer-productivity-in-2025-2icn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a2tle7nxg21c28lu6xagpy51dg58bncw" class="crayons-icon"><title id="a2tle7nxg21c28lu6xagpy51dg58bncw">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 2<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2387522" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2387522" data-article-author-id="2667579" aria-label="Save post Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025 to reading list" title="Save post Code, Coffee, and AI: How Machine Learning is Supercharging Developer Productivity in 2025 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2386684" data-content-user-id="2103048"> <a href="https://dev.to/hmpljs/you-can-reduce-the-size-of-web-applications-several-times-using-these-tips-4807" aria-labelledby="article-link-2386684" class="crayons-story__hidden-navigation-link">You can reduce the size of web applications several times using these tips 🔥</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/hmpljs"> <img alt="HMPL.js logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9852%2Fffcf1c01-7d4b-4298-ad99-7d957738466a.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/anthonymax" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2103048%2F51326ffe-40e9-4bcb-9d1a-86ba04972d1b.png" alt="anthonymax profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/anthonymax" class="crayons-story__secondary fw-medium m:hidden"> Anthony Max </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2386684" aria-controls="story-author-preview-content-2386684" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Anthony Max profile details"> Anthony Max <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2386684" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/anthonymax" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2103048%2F51326ffe-40e9-4bcb-9d1a-86ba04972d1b.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Anthony Max</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2103048,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Anthony Max&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2103048"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/hmpljs" class="crayons-story__secondary fw-medium">HMPL.js</a> </span> </div> <a href="https://dev.to/hmpljs/you-can-reduce-the-size-of-web-applications-several-times-using-these-tips-4807" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-06T20:38:30Z">Apr 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1743971910"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/hmpljs/you-can-reduce-the-size-of-web-applications-several-times-using-these-tips-4807" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftb4nkzm4xcei8ihgqk0v.gif" id="article-link-2386684"> You can reduce the size of web applications several times using these tips 🔥 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/hmpljs/you-can-reduce-the-size-of-web-applications-several-times-using-these-tips-4807" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2386684" aria-label="Add a comment to post - You can reduce the size of web applications several times using these tips 🔥"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">102<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/hmpljs/you-can-reduce-the-size-of-web-applications-several-times-using-these-tips-4807#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - You can reduce the size of web applications several times using these tips 🔥"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="atdtgfh1zscvb0lzgolfcdu48mjb4ug4" class="crayons-icon"><title id="atdtgfh1zscvb0lzgolfcdu48mjb4ug4">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 9<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2386684" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2386684" data-article-author-id="2103048" aria-label="Save post You can reduce the size of web applications several times using these tips 🔥 to reading list" title="Save post You can reduce the size of web applications several times using these tips 🔥 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388489" data-content-user-id="746775"> <a href="https://dev.to/camelai/scaling-environments-for-agents-h0h" aria-labelledby="article-link-2388489" class="crayons-story__hidden-navigation-link">Scaling Environments for Agents</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/camelai"> <img alt="CAMEL-AI logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10303%2Fb4e814eb-07c5-444d-813d-16d08f362f9d.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/thenomadevel" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F746775%2F31f80a29-e4d4-475b-9cd6-557690ca7e01.jpg" alt="thenomadevel profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/thenomadevel" class="crayons-story__secondary fw-medium m:hidden"> Nomadev </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388489" aria-controls="story-author-preview-content-2388489" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Nomadev profile details"> Nomadev </button> <div id="story-author-preview-content-2388489" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/thenomadevel" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F746775%2F31f80a29-e4d4-475b-9cd6-557690ca7e01.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Nomadev</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:746775,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Nomadev&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="746775"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/camelai" class="crayons-story__secondary fw-medium">CAMEL-AI</a> </span> </div> <a href="https://dev.to/camelai/scaling-environments-for-agents-h0h" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T12:13:04Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744027984"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/camelai/scaling-environments-for-agents-h0h" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspqoi9vbahtnj7xqmmy5.png" id="article-link-2388489"> Scaling Environments for Agents </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(31, 109, 245, 0.10); --tag-prefix: #1F6DF5; --tag-bg-hover: rgba(31, 109, 245, 0.10); --tag-prefix-hover: #1F6DF5; " href="/t/openai"><span class="crayons-tag__prefix">#</span>openai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(217, 140, 217, 0.10); --tag-prefix: #d98cd9; --tag-bg-hover: rgba(217, 140, 217, 0.10); --tag-prefix-hover: #d98cd9; " href="/t/computerscience"><span class="crayons-tag__prefix">#</span>computerscience</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/camelai/scaling-environments-for-agents-h0h" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388489" aria-label="Add a comment to post - Scaling Environments for Agents"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/camelai/scaling-environments-for-agents-h0h#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Scaling Environments for Agents"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a6fftgphf0xcithh8rd804781xwedt1t" class="crayons-icon"><title id="a6fftgphf0xcithh8rd804781xwedt1t">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2388489" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388489" data-article-author-id="746775" aria-label="Save post Scaling Environments for Agents to reading list" title="Save post Scaling Environments for Agents to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2369020" data-content-user-id="825443"> <a href="https://dev.to/fmerian/whos-hiring-april-2025-1npa" aria-labelledby="article-link-2369020" class="crayons-story__hidden-navigation-link">Who&#39;s hiring? — April 2025</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/fmerian" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F825443%2F25eb86cc-d436-4b4f-9c75-a90d96f82a91.jpeg" alt="fmerian profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/fmerian" class="crayons-story__secondary fw-medium m:hidden"> flo merian </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2369020" aria-controls="story-author-preview-content-2369020" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="flo merian profile details"> flo merian <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2369020" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/fmerian" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F825443%2F25eb86cc-d436-4b4f-9c75-a90d96f82a91.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">flo merian</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:825443,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;flo merian&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="825443"></div> </div> </div> </div> </div> <a href="https://dev.to/fmerian/whos-hiring-april-2025-1npa" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-05T13:37:00Z">Apr 5</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1743860220"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/fmerian/whos-hiring-april-2025-1npa" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzq5572msghobuq17m426.jpeg" id="article-link-2369020"> Who&#39;s hiring? — April 2025 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 37, 102, 0.10); --tag-prefix: #2A2566; --tag-bg-hover: rgba(42, 37, 102, 0.10); --tag-prefix-hover: #2A2566; " href="/t/career"><span class="crayons-tag__prefix">#</span>career</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(178, 83, 83, 0.10); --tag-prefix: #b25353; --tag-bg-hover: rgba(178, 83, 83, 0.10); --tag-prefix-hover: #b25353; " href="/t/devrel"><span class="crayons-tag__prefix">#</span>devrel</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(139, 235, 255, 0.10); --tag-prefix: #8bebff; --tag-bg-hover: rgba(139, 235, 255, 0.10); --tag-prefix-hover: #8bebff; " href="/t/writing"><span class="crayons-tag__prefix">#</span>writing</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/fmerian/whos-hiring-april-2025-1npa" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2369020" aria-label="Add a comment to post - Who&#39;s hiring? — April 2025"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="https://dev.to/fmerian/whos-hiring-april-2025-1npa#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Who&#39;s hiring? — April 2025"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ag5bu8xbdp334kf63wcvrvbxyentdjkx" class="crayons-icon"><title id="ag5bu8xbdp334kf63wcvrvbxyentdjkx">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2369020" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2369020" data-article-author-id="825443" aria-label="Save post Who&#39;s hiring? — April 2025 to reading list" title="Save post Who&#39;s hiring? — April 2025 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2387635" data-content-user-id="682769"> <a href="https://dev.to/pradumnasaraf/docker-can-run-llms-locally-wait-what-35fn" aria-labelledby="article-link-2387635" class="crayons-story__hidden-navigation-link">Docker Can Run LLMs Locally—Wait, What!?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pradumnasaraf" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F682769%2F6d44570c-3d95-4656-ba55-c8a4b0e95f9e.jpg" alt="pradumnasaraf profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pradumnasaraf" class="crayons-story__secondary fw-medium m:hidden"> Pradumna Saraf </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2387635" aria-controls="story-author-preview-content-2387635" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Pradumna Saraf profile details"> Pradumna Saraf </button> <div id="story-author-preview-content-2387635" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/pradumnasaraf" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F682769%2F6d44570c-3d95-4656-ba55-c8a4b0e95f9e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Pradumna Saraf</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:682769,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Pradumna Saraf&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="682769"></div> </div> </div> </div> </div> <a href="https://dev.to/pradumnasaraf/docker-can-run-llms-locally-wait-what-35fn" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T05:35:16Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744004116"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/pradumnasaraf/docker-can-run-llms-locally-wait-what-35fn" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fir41633cyogltz7ijhzp.png" id="article-link-2387635"> Docker Can Run LLMs Locally—Wait, What!? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(29, 99, 237, 0.10); --tag-prefix: #1D63ED; --tag-bg-hover: rgba(29, 99, 237, 0.10); --tag-prefix-hover: #1D63ED; " href="/t/docker"><span class="crayons-tag__prefix">#</span>docker</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/llm"><span class="crayons-tag__prefix">#</span>llm</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/pradumnasaraf/docker-can-run-llms-locally-wait-what-35fn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2387635" aria-label="Add a comment to post - Docker Can Run LLMs Locally—Wait, What!?"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">14<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/pradumnasaraf/docker-can-run-llms-locally-wait-what-35fn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Docker Can Run LLMs Locally—Wait, What!?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ak3on5q2in5sp5peen9w9tn4r6cl1rvw" class="crayons-icon"><title id="ak3on5q2in5sp5peen9w9tn4r6cl1rvw">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2387635" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2387635" data-article-author-id="682769" aria-label="Save post Docker Can Run LLMs Locally—Wait, What!? to reading list" title="Save post Docker Can Run LLMs Locally—Wait, What!? to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2386872" data-content-user-id="97500"> <a href="https://dev.to/nullvoxpopuli/emberjs-acquires-react-in-hostile-takeover-demands-it-learn-real-reactivity-3629" aria-labelledby="article-link-2386872" class="crayons-story__hidden-navigation-link">Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nullvoxpopuli" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F97500%2F90cf8ece-0827-4731-bdf0-865a563d43be.png" alt="nullvoxpopuli profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nullvoxpopuli" class="crayons-story__secondary fw-medium m:hidden"> NullVoxPopuli </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2386872" aria-controls="story-author-preview-content-2386872" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="NullVoxPopuli profile details"> NullVoxPopuli </button> <div id="story-author-preview-content-2386872" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/nullvoxpopuli" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F97500%2F90cf8ece-0827-4731-bdf0-865a563d43be.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">NullVoxPopuli</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:97500,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;NullVoxPopuli&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="97500"></div> </div> </div> </div> </div> <a href="https://dev.to/nullvoxpopuli/emberjs-acquires-react-in-hostile-takeover-demands-it-learn-real-reactivity-3629" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-06T21:07:36Z">Apr 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1743973656"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nullvoxpopuli/emberjs-acquires-react-in-hostile-takeover-demands-it-learn-real-reactivity-3629" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_thumbnail%2Fplain%2Fdid%3Aplc%3Age6cnpneodmysqqgv5wylvaz%2Fbafkreih2fsd2w53vx4fyuznjfe5shov5h76vampodekdjvj7c6bi7n5iuu%40jpeg" id="article-link-2386872"> Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(224, 78, 57, 0.10); --tag-prefix: #E04E39; --tag-bg-hover: rgba(224, 78, 57, 0.10); --tag-prefix-hover: #E04E39; " href="/t/ember"><span class="crayons-tag__prefix">#</span>ember</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/nullvoxpopuli/emberjs-acquires-react-in-hostile-takeover-demands-it-learn-real-reactivity-3629" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2386872" aria-label="Add a comment to post - Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">3<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/nullvoxpopuli/emberjs-acquires-react-in-hostile-takeover-demands-it-learn-real-reactivity-3629#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="arjpjp9t4m0tl3cfu070vty32kucisol" class="crayons-icon"><title id="arjpjp9t4m0tl3cfu070vty32kucisol">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2386872" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2386872" data-article-author-id="97500" aria-label="Save post Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity to reading list" title="Save post Ember.js Acquires React in Hostile Takeover, Demands it Learn Real Reactivity to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2343381" data-content-user-id="653003"> <a href="https://dev.to/wyattdave/the-new-power-platform-admin-center-385e" aria-labelledby="article-link-2343381" class="crayons-story__hidden-navigation-link">The New Power Platform Admin Center</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/wyattdave" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F653003%2Ff6da9df7-019e-4189-ab7f-c5c527fe1db6.png" alt="wyattdave profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/wyattdave" class="crayons-story__secondary fw-medium m:hidden"> david wyatt </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2343381" aria-controls="story-author-preview-content-2343381" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="david wyatt profile details"> david wyatt <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2343381" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/wyattdave" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F653003%2Ff6da9df7-019e-4189-ab7f-c5c527fe1db6.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">david wyatt</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:653003,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;david wyatt&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="653003"></div> </div> </div> </div> </div> <a href="https://dev.to/wyattdave/the-new-power-platform-admin-center-385e" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T05:47:13Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744004833"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/wyattdave/the-new-power-platform-admin-center-385e" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffs53v21oh0out3owvupm.png" id="article-link-2343381"> The New Power Platform Admin Center </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(18, 158, 126, 0.10); --tag-prefix: #129E7E; --tag-bg-hover: rgba(18, 158, 126, 0.10); --tag-prefix-hover: #129E7E; " href="/t/powerplatform"><span class="crayons-tag__prefix">#</span>powerplatform</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(51, 132, 242, 0.10); --tag-prefix: #3384F2; --tag-bg-hover: rgba(51, 132, 242, 0.10); --tag-prefix-hover: #3384F2; " href="/t/powerautomate"><span class="crayons-tag__prefix">#</span>powerautomate</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(144, 45, 135, 0.10); --tag-prefix: #902D87; --tag-bg-hover: rgba(144, 45, 135, 0.10); --tag-prefix-hover: #902D87; " href="/t/powerapps"><span class="crayons-tag__prefix">#</span>powerapps</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/wyattdave/the-new-power-platform-admin-center-385e" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2343381" aria-label="Add a comment to post - The New Power Platform Admin Center"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/wyattdave/the-new-power-platform-admin-center-385e#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - The New Power Platform Admin Center"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9k5rhgn6pvl81y1w5ziess25kw8c2nm" class="crayons-icon"><title id="a9k5rhgn6pvl81y1w5ziess25kw8c2nm">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2343381" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2343381" data-article-author-id="653003" aria-label="Save post The New Power Platform Admin Center to reading list" title="Save post The New Power Platform Admin Center to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2381301" data-content-user-id="2935609"> <a href="https://dev.to/alex-nguyen-duy-anh/diffusion-models-101-train-a-u-net-to-reverse-engineer-noise-using-thermodynamics-no-more-gan-39l8" aria-labelledby="article-link-2381301" class="crayons-story__hidden-navigation-link">🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive:</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/alex-nguyen-duy-anh" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2935609%2F9f84f216-73b8-4c4e-abd8-6678edf1bd05.jpg" alt="alex-nguyen-duy-anh profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/alex-nguyen-duy-anh" class="crayons-story__secondary fw-medium m:hidden"> Alex Nguyen </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2381301" aria-controls="story-author-preview-content-2381301" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Alex Nguyen profile details"> Alex Nguyen </button> <div id="story-author-preview-content-2381301" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/alex-nguyen-duy-anh" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2935609%2F9f84f216-73b8-4c4e-abd8-6678edf1bd05.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Alex Nguyen</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2935609,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Alex Nguyen&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2935609"></div> </div> </div> </div> </div> <a href="https://dev.to/alex-nguyen-duy-anh/diffusion-models-101-train-a-u-net-to-reverse-engineer-noise-using-thermodynamics-no-more-gan-39l8" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-04T14:25:24Z">Apr 4</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1743776724"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/alex-nguyen-duy-anh/diffusion-models-101-train-a-u-net-to-reverse-engineer-noise-using-thermodynamics-no-more-gan-39l8" data-preload-image="" id="article-link-2381301"> 🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive: </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/alex-nguyen-duy-anh/diffusion-models-101-train-a-u-net-to-reverse-engineer-noise-using-thermodynamics-no-more-gan-39l8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2381301" aria-label="Add a comment to post - 🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive:"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">6<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/alex-nguyen-duy-anh/diffusion-models-101-train-a-u-net-to-reverse-engineer-noise-using-thermodynamics-no-more-gan-39l8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive:"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a6fdtnrlsv0dncanbscjn8lud6lbrq2j" class="crayons-icon"><title id="a6fdtnrlsv0dncanbscjn8lud6lbrq2j">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 8<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2381301" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2381301" data-article-author-id="2935609" aria-label="Save post 🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive: to reading list" title="Save post 🧪 Diffusion models 101: Train a U-Net to reverse-engineer noise using thermodynamics. No more GAN instability. Exact likelihoods, flexible outputs (images, text, 3D structures). Code snippets + deep dive: to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2381723" data-content-user-id="647287"> <a href="https://dev.to/astrodevil/build-google-sheets-style-collaborative-comments-in-your-web-app-using-tanstack-tables-and-velt-sdk-53lf" aria-labelledby="article-link-2381723" class="crayons-story__hidden-navigation-link">Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/astrodevil" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F647287%2Fb72ea6c2-a966-40c4-bce6-badefc1face6.png" alt="astrodevil profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/astrodevil" class="crayons-story__secondary fw-medium m:hidden"> Astrodevil </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2381723" aria-controls="story-author-preview-content-2381723" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Astrodevil profile details"> Astrodevil </button> <div id="story-author-preview-content-2381723" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/astrodevil" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F647287%2Fb72ea6c2-a966-40c4-bce6-badefc1face6.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Astrodevil</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:647287,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Astrodevil&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="647287"></div> </div> </div> </div> </div> <a href="https://dev.to/astrodevil/build-google-sheets-style-collaborative-comments-in-your-web-app-using-tanstack-tables-and-velt-sdk-53lf" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T06:31:00Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744007460"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/astrodevil/build-google-sheets-style-collaborative-comments-in-your-web-app-using-tanstack-tables-and-velt-sdk-53lf" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrsq1kdjz1xregea95c1.png" id="article-link-2381723"> Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/astrodevil/build-google-sheets-style-collaborative-comments-in-your-web-app-using-tanstack-tables-and-velt-sdk-53lf" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2381723" aria-label="Add a comment to post - Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">10<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/astrodevil/build-google-sheets-style-collaborative-comments-in-your-web-app-using-tanstack-tables-and-velt-sdk-53lf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="akh030sa9wvhrzji8nkpuw1imsotwik8" class="crayons-icon"><title id="akh030sa9wvhrzji8nkpuw1imsotwik8">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 2<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 12 min read </small> <button type="button" id="article-save-button-2381723" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2381723" data-article-author-id="647287" aria-label="Save post Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀 to reading list" title="Save post Build Google Sheets-Style Collaborative Comments in Your Web App Using TanStack Tables and Velt SDK🔥🤝🚀 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388156" data-content-user-id="542591"> <a href="https://dev.to/reynaldi/calling-swiggy-api-di0" aria-labelledby="article-link-2388156" class="crayons-story__hidden-navigation-link">Calling Swiggy API</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/reynaldi" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F542591%2F3868269d-a0fd-45d6-b46c-46208bdc0559.jpeg" alt="reynaldi profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/reynaldi" class="crayons-story__secondary fw-medium m:hidden"> reynaldi </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388156" aria-controls="story-author-preview-content-2388156" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="reynaldi profile details"> reynaldi </button> <div id="story-author-preview-content-2388156" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/reynaldi" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F542591%2F3868269d-a0fd-45d6-b46c-46208bdc0559.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">reynaldi</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:542591,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;reynaldi&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="542591"></div> </div> </div> </div> </div> <a href="https://dev.to/reynaldi/calling-swiggy-api-di0" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T09:32:44Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744018364"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/reynaldi/calling-swiggy-api-di0" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfpodxf2fjt4aeez3yrd.jpg" id="article-link-2388156"> Calling Swiggy API </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cors"><span class="crayons-tag__prefix">#</span>cors</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/reynaldi/calling-swiggy-api-di0" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388156" aria-label="Add a comment to post - Calling Swiggy API"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">6<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/reynaldi/calling-swiggy-api-di0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Calling Swiggy API"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aea3opqlgxe87jjwu0qwki55a75rnj6k" class="crayons-icon"><title id="aea3opqlgxe87jjwu0qwki55a75rnj6k">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2388156" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388156" data-article-author-id="542591" aria-label="Save post Calling Swiggy API to reading list" title="Save post Calling Swiggy API to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388399" data-content-user-id="720588"> <a href="https://dev.to/techprane/postgresql-to-mongodb-migration-made-easy-a-step-by-step-video-guide-443d" aria-labelledby="article-link-2388399" class="crayons-story__hidden-navigation-link">PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide!</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/techprane"> <img alt="TechPrane logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9456%2Fa42995bc-1fd2-42a7-8910-157a57207f94.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/saint_vandora" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F720588%2F0168bd20-9ed8-4499-b590-b651c8202e85.jpeg" alt="saint_vandora profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/saint_vandora" class="crayons-story__secondary fw-medium m:hidden"> FOLASAYO SAMUEL OLAYEMI </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388399" aria-controls="story-author-preview-content-2388399" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="FOLASAYO SAMUEL OLAYEMI profile details"> FOLASAYO SAMUEL OLAYEMI </button> <div id="story-author-preview-content-2388399" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/saint_vandora" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F720588%2F0168bd20-9ed8-4499-b590-b651c8202e85.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">FOLASAYO SAMUEL OLAYEMI</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:720588,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;FOLASAYO SAMUEL OLAYEMI&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="720588"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/techprane" class="crayons-story__secondary fw-medium">TechPrane</a> </span> </div> <a href="https://dev.to/techprane/postgresql-to-mongodb-migration-made-easy-a-step-by-step-video-guide-443d" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T11:22:29Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744024949"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/techprane/postgresql-to-mongodb-migration-made-easy-a-step-by-step-video-guide-443d" data-preload-image="" id="article-link-2388399"> PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide! </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(123, 204, 124, 0.10); --tag-prefix: #7bcc7c; --tag-bg-hover: rgba(123, 204, 124, 0.10); --tag-prefix-hover: #7bcc7c; " href="/t/mongodb"><span class="crayons-tag__prefix">#</span>mongodb</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/nosql"><span class="crayons-tag__prefix">#</span>nosql</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/postgres"><span class="crayons-tag__prefix">#</span>postgres</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/techprane/postgresql-to-mongodb-migration-made-easy-a-step-by-step-video-guide-443d" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388399" aria-label="Add a comment to post - PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide!"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/techprane/postgresql-to-mongodb-migration-made-easy-a-step-by-step-video-guide-443d#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide!"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="afc5wsibhcs63oasaabrgskc13ol9k31" class="crayons-icon"><title id="afc5wsibhcs63oasaabrgskc13ol9k31">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2388399" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388399" data-article-author-id="720588" aria-label="Save post PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide! to reading list" title="Save post PostgreSQL to MongoDB Migration Made Easy – A Step-by-Step Video Guide! to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2365596" data-content-user-id="941014"> <a href="https://dev.to/balagmadhu/designing-for-diversity-inspiration-from-microsofts-inclusive-tech-lab-2b9" aria-labelledby="article-link-2365596" class="crayons-story__hidden-navigation-link">Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/balagmadhu" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F941014%2F4eda2ca2-581c-43f5-911a-8a7d28bff462.jpeg" alt="balagmadhu profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/balagmadhu" class="crayons-story__secondary fw-medium m:hidden"> Bala Madhusoodhanan </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2365596" aria-controls="story-author-preview-content-2365596" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Bala Madhusoodhanan profile details"> Bala Madhusoodhanan </button> <div id="story-author-preview-content-2365596" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/balagmadhu" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F941014%2F4eda2ca2-581c-43f5-911a-8a7d28bff462.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Bala Madhusoodhanan</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:941014,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Bala Madhusoodhanan&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="941014"></div> </div> </div> </div> </div> <a href="https://dev.to/balagmadhu/designing-for-diversity-inspiration-from-microsofts-inclusive-tech-lab-2b9" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T06:56:19Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744008979"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/balagmadhu/designing-for-diversity-inspiration-from-microsofts-inclusive-tech-lab-2b9" data-preload-image="" id="article-link-2365596"> Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(18, 158, 126, 0.10); --tag-prefix: #129E7E; --tag-bg-hover: rgba(18, 158, 126, 0.10); --tag-prefix-hover: #129E7E; " href="/t/powerplatform"><span class="crayons-tag__prefix">#</span>powerplatform</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/techforgood"><span class="crayons-tag__prefix">#</span>techforgood</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/inclusivedesign"><span class="crayons-tag__prefix">#</span>inclusivedesign</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/balagmadhu/designing-for-diversity-inspiration-from-microsofts-inclusive-tech-lab-2b9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2365596" aria-label="Add a comment to post - Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/balagmadhu/designing-for-diversity-inspiration-from-microsofts-inclusive-tech-lab-2b9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="afvl0t6aq7yyk56gkciizqvkwdllkdx2" class="crayons-icon"><title id="afvl0t6aq7yyk56gkciizqvkwdllkdx2">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2365596" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2365596" data-article-author-id="941014" aria-label="Save post Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab to reading list" title="Save post Designing for Diversity: Inspiration from Microsoft’s Inclusive-tech-lab to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388439" data-content-user-id="1923277"> <a href="https://dev.to/testifytech/ai-in-software-testing-why-cotester-stands-out-among-competitors-80c" aria-labelledby="article-link-2388439" class="crayons-story__hidden-navigation-link">AI in Software Testing: Why CoTester Stands Out Among Competitors</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/testifytech" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1923277%2F1e4ff579-cda3-40d1-8bf8-7a7f0bbda86c.png" alt="testifytech profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/testifytech" class="crayons-story__secondary fw-medium m:hidden"> Steve Wortham </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388439" aria-controls="story-author-preview-content-2388439" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Steve Wortham profile details"> Steve Wortham </button> <div id="story-author-preview-content-2388439" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/testifytech" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1923277%2F1e4ff579-cda3-40d1-8bf8-7a7f0bbda86c.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Steve Wortham</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1923277,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Steve Wortham&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1923277"></div> </div> </div> </div> </div> <a href="https://dev.to/testifytech/ai-in-software-testing-why-cotester-stands-out-among-competitors-80c" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T11:48:01Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744026481"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/testifytech/ai-in-software-testing-why-cotester-stands-out-among-competitors-80c" data-preload-image="" id="article-link-2388439"> AI in Software Testing: Why CoTester Stands Out Among Competitors </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(1, 155, 101, 0.10); --tag-prefix: #019b65; --tag-bg-hover: rgba(1, 155, 101, 0.10); --tag-prefix-hover: #019b65; " href="/t/testing"><span class="crayons-tag__prefix">#</span>testing</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cotester"><span class="crayons-tag__prefix">#</span>cotester</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 153, 0, 0.10); --tag-prefix: #FF9900; --tag-bg-hover: rgba(255, 153, 0, 0.10); --tag-prefix-hover: #FF9900; " href="/t/cloud"><span class="crayons-tag__prefix">#</span>cloud</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/testifytech/ai-in-software-testing-why-cotester-stands-out-among-competitors-80c" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388439" aria-label="Add a comment to post - AI in Software Testing: Why CoTester Stands Out Among Competitors"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/testifytech/ai-in-software-testing-why-cotester-stands-out-among-competitors-80c#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - AI in Software Testing: Why CoTester Stands Out Among Competitors"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a6mep78qq4l9wf5ntvy1z86pe4hroygi" class="crayons-icon"><title id="a6mep78qq4l9wf5ntvy1z86pe4hroygi">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2388439" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388439" data-article-author-id="1923277" aria-label="Save post AI in Software Testing: Why CoTester Stands Out Among Competitors to reading list" title="Save post AI in Software Testing: Why CoTester Stands Out Among Competitors to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2384117" data-content-user-id="2187179"> <a href="https://dev.to/web3hires/your-daily-crypto-job-digest-for-07-april-4ked" aria-labelledby="article-link-2384117" class="crayons-story__hidden-navigation-link">🚀 Your Daily Crypto Job Digest For 07 April!! 🚀</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/web3hires" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2187179%2Fecb58fc0-7246-4903-9c58-507217868804.png" alt="web3hires profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/web3hires" class="crayons-story__secondary fw-medium m:hidden"> Web3 Hires </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2384117" aria-controls="story-author-preview-content-2384117" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Web3 Hires profile details"> Web3 Hires </button> <div id="story-author-preview-content-2384117" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/web3hires" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2187179%2Fecb58fc0-7246-4903-9c58-507217868804.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Web3 Hires</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2187179,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Web3 Hires&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2187179"></div> </div> </div> </div> </div> <a href="https://dev.to/web3hires/your-daily-crypto-job-digest-for-07-april-4ked" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T13:19:14Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744031954"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/web3hires/your-daily-crypto-job-digest-for-07-april-4ked" data-preload-image="" id="article-link-2384117"> 🚀 Your Daily Crypto Job Digest For 07 April!! 🚀 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(186, 255, 241, 0.10); --tag-prefix: #BAFFF1; --tag-bg-hover: rgba(186, 255, 241, 0.10); --tag-prefix-hover: #BAFFF1; " href="/t/hiring"><span class="crayons-tag__prefix">#</span>hiring</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(186, 255, 241, 0.10); --tag-prefix: #BAFFF1; --tag-bg-hover: rgba(186, 255, 241, 0.10); --tag-prefix-hover: #BAFFF1; " href="/t/whoishiring"><span class="crayons-tag__prefix">#</span>whoishiring</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 255, 220, 0.10); --tag-prefix: #00ffdc; --tag-bg-hover: rgba(0, 255, 220, 0.10); --tag-prefix-hover: #00ffdc; " href="/t/web3"><span class="crayons-tag__prefix">#</span>web3</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/web3hires/your-daily-crypto-job-digest-for-07-april-4ked" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2384117" aria-label="Add a comment to post - 🚀 Your Daily Crypto Job Digest For 07 April!! 🚀"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">4<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/web3hires/your-daily-crypto-job-digest-for-07-april-4ked#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 🚀 Your Daily Crypto Job Digest For 07 April!! 🚀"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="abuw4mrcanwwmen3sf7g5471816rujcs" class="crayons-icon"><title id="abuw4mrcanwwmen3sf7g5471816rujcs">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2384117" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2384117" data-article-author-id="2187179" aria-label="Save post 🚀 Your Daily Crypto Job Digest For 07 April!! 🚀 to reading list" title="Save post 🚀 Your Daily Crypto Job Digest For 07 April!! 🚀 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388473" data-content-user-id="2426053"> <a href="https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-llama-4-maverick-17b-128e-instruct-4e5l" aria-labelledby="article-link-2388473" class="crayons-story__hidden-navigation-link">A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/nodeshiftcloud"> <img alt="NodeShift logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F9342%2F593abc8f-fa38-4bf2-a081-fa5996a536d5.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/aditi_b" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2426053%2F079f8e5d-9e23-483c-8386-c68a45b5c3d0.jpg" alt="aditi_b profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/aditi_b" class="crayons-story__secondary fw-medium m:hidden"> Aditi Bindal </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388473" aria-controls="story-author-preview-content-2388473" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Aditi Bindal profile details"> Aditi Bindal </button> <div id="story-author-preview-content-2388473" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/aditi_b" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2426053%2F079f8e5d-9e23-483c-8386-c68a45b5c3d0.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Aditi Bindal</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2426053,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Aditi Bindal&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2426053"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/nodeshiftcloud" class="crayons-story__secondary fw-medium">NodeShift</a> </span> </div> <a href="https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-llama-4-maverick-17b-128e-instruct-4e5l" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T12:08:17Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744027697"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-llama-4-maverick-17b-128e-instruct-4e5l" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fom43b1w0ypmuo4a7o6a8.png" id="article-link-2388473"> A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-llama-4-maverick-17b-128e-instruct-4e5l" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388473" aria-label="Add a comment to post - A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">3<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-llama-4-maverick-17b-128e-instruct-4e5l#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="amdyai71pb0oj9r8nrf7w84ex3plyh2r" class="crayons-icon"><title id="amdyai71pb0oj9r8nrf7w84ex3plyh2r">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 7 min read </small> <button type="button" id="article-save-button-2388473" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388473" data-article-author-id="2426053" aria-label="Save post A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct to reading list" title="Save post A Step-By-Step Guide to Install Llama-4 Maverick 17B 128E Instruct to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388157" data-content-user-id="2050794"> <a href="https://dev.to/carrie_luo1/how-can-i-purchase-a-safeline-license-1jp1" aria-labelledby="article-link-2388157" class="crayons-story__hidden-navigation-link">How can I purchase a SafeLine License</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/carrie_luo1" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2050794%2F4ffc7324-3c05-4f39-8cb1-e2a77a57e9c7.jpg" alt="carrie_luo1 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/carrie_luo1" class="crayons-story__secondary fw-medium m:hidden"> Carrie </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388157" aria-controls="story-author-preview-content-2388157" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Carrie profile details"> Carrie </button> <div id="story-author-preview-content-2388157" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/carrie_luo1" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2050794%2F4ffc7324-3c05-4f39-8cb1-e2a77a57e9c7.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Carrie</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2050794,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Carrie&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2050794"></div> </div> </div> </div> </div> <a href="https://dev.to/carrie_luo1/how-can-i-purchase-a-safeline-license-1jp1" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T09:32:28Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744018348"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/carrie_luo1/how-can-i-purchase-a-safeline-license-1jp1" data-preload-image="" id="article-link-2388157"> How can I purchase a SafeLine License </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/safelinewaf"><span class="crayons-tag__prefix">#</span>safelinewaf</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/waf"><span class="crayons-tag__prefix">#</span>waf</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/reverseproxy"><span class="crayons-tag__prefix">#</span>reverseproxy</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/carrie_luo1/how-can-i-purchase-a-safeline-license-1jp1" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388157" aria-label="Add a comment to post - How can I purchase a SafeLine License"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/carrie_luo1/how-can-i-purchase-a-safeline-license-1jp1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How can I purchase a SafeLine License"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="alvipldqk1k2ptxgyjjrtcglx7znj6ph" class="crayons-icon"><title id="alvipldqk1k2ptxgyjjrtcglx7znj6ph">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2388157" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388157" data-article-author-id="2050794" aria-label="Save post How can I purchase a SafeLine License to reading list" title="Save post How can I purchase a SafeLine License to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388244" data-content-user-id="1185586"> <a href="https://dev.to/rowsanali/5-core-software-design-principles-every-developer-should-know-with-examples-pjp" aria-labelledby="article-link-2388244" class="crayons-story__hidden-navigation-link">5 core software design principles every developer should know (with examples).</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/rowsanali" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1185586%2F522a1ca1-55eb-48a8-87ef-92d53e4847f4.png" alt="rowsanali profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/rowsanali" class="crayons-story__secondary fw-medium m:hidden"> Rowsan Ali </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388244" aria-controls="story-author-preview-content-2388244" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rowsan Ali profile details"> Rowsan Ali </button> <div id="story-author-preview-content-2388244" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/rowsanali" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1185586%2F522a1ca1-55eb-48a8-87ef-92d53e4847f4.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rowsan Ali</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1185586,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Rowsan Ali&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1185586"></div> </div> </div> </div> </div> <a href="https://dev.to/rowsanali/5-core-software-design-principles-every-developer-should-know-with-examples-pjp" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T10:10:23Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744020623"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/rowsanali/5-core-software-design-principles-every-developer-should-know-with-examples-pjp" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0afikswl4zzt38aqtgy.png" id="article-link-2388244"> 5 core software design principles every developer should know (with examples). </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 102, 237, 0.10); --tag-prefix: #ff66ed; --tag-bg-hover: rgba(255, 102, 237, 0.10); --tag-prefix-hover: #ff66ed; " href="/t/learning"><span class="crayons-tag__prefix">#</span>learning</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/rowsanali/5-core-software-design-principles-every-developer-should-know-with-examples-pjp#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 5 core software design principles every developer should know (with examples)."> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aeex0s8bdzxauwybu8tm667en2dqsrdz" class="crayons-icon"><title id="aeex0s8bdzxauwybu8tm667en2dqsrdz">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2388244" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388244" data-article-author-id="1185586" aria-label="Save post 5 core software design principles every developer should know (with examples). to reading list" title="Save post 5 core software design principles every developer should know (with examples). to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2353730" data-content-user-id="229877"> <a href="https://dev.to/olanetsoft/depth-over-trend-3ccd" aria-labelledby="article-link-2353730" class="crayons-story__hidden-navigation-link">Depth Over Trend</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/olanetsoft" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F229877%2F03a90e17-73eb-4c7a-9f6d-16a001ceb897.png" alt="olanetsoft profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/olanetsoft" class="crayons-story__secondary fw-medium m:hidden"> Idris Olubisi💡 </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2353730" aria-controls="story-author-preview-content-2353730" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Idris Olubisi💡 profile details"> Idris Olubisi💡 </button> <div id="story-author-preview-content-2353730" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/olanetsoft" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F229877%2F03a90e17-73eb-4c7a-9f6d-16a001ceb897.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Idris Olubisi💡</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:229877,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Idris Olubisi💡&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="229877"></div> </div> </div> </div> </div> <a href="https://dev.to/olanetsoft/depth-over-trend-3ccd" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T11:00:00Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744023600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/olanetsoft/depth-over-trend-3ccd" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7fyhm4hrk2week1isxv.jpeg" id="article-link-2353730"> Depth Over Trend </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 102, 237, 0.10); --tag-prefix: #ff66ed; --tag-bg-hover: rgba(255, 102, 237, 0.10); --tag-prefix-hover: #ff66ed; " href="/t/learning"><span class="crayons-tag__prefix">#</span>learning</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/olanetsoft/depth-over-trend-3ccd" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2353730" aria-label="Add a comment to post - Depth Over Trend"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/olanetsoft/depth-over-trend-3ccd#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Depth Over Trend"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="amh5xukkeic7soq9hwpkqu3ecszxu5iz" class="crayons-icon"><title id="amh5xukkeic7soq9hwpkqu3ecszxu5iz">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2353730" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2353730" data-article-author-id="229877" aria-label="Save post Depth Over Trend to reading list" title="Save post Depth Over Trend to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388503" data-content-user-id="2097552"> <a href="https://dev.to/prattraphorn_hiruntiwakul/ekhaaaicch-uniform-cost-search-aebbngaay-phrmtawyaangesnthaangkaaredinthaangthiimiitnthunnythiisud-1jkn" aria-labelledby="article-link-2388503" class="crayons-story__hidden-navigation-link">เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/prattraphorn_hiruntiwakul" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2097552%2Fa8da8905-d634-4e2d-893d-00e99893f943.jpg" alt="prattraphorn_hiruntiwakul profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/prattraphorn_hiruntiwakul" class="crayons-story__secondary fw-medium m:hidden"> Prattraphorn Hiruntiwakul </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388503" aria-controls="story-author-preview-content-2388503" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Prattraphorn Hiruntiwakul profile details"> Prattraphorn Hiruntiwakul </button> <div id="story-author-preview-content-2388503" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/prattraphorn_hiruntiwakul" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2097552%2Fa8da8905-d634-4e2d-893d-00e99893f943.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Prattraphorn Hiruntiwakul</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2097552,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Prattraphorn Hiruntiwakul&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2097552"></div> </div> </div> </div> </div> <a href="https://dev.to/prattraphorn_hiruntiwakul/ekhaaaicch-uniform-cost-search-aebbngaay-phrmtawyaangesnthaangkaaredinthaangthiimiitnthunnythiisud-1jkn" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T13:12:02Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744031522"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/prattraphorn_hiruntiwakul/ekhaaaicch-uniform-cost-search-aebbngaay-phrmtawyaangesnthaangkaaredinthaangthiimiitnthunnythiisud-1jkn" data-preload-image="" id="article-link-2388503"> เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/prattraphorn_hiruntiwakul/ekhaaaicch-uniform-cost-search-aebbngaay-phrmtawyaangesnthaangkaaredinthaangthiimiitnthunnythiisud-1jkn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388503" aria-label="Add a comment to post - เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="https://dev.to/prattraphorn_hiruntiwakul/ekhaaaicch-uniform-cost-search-aebbngaay-phrmtawyaangesnthaangkaaredinthaangthiimiitnthunnythiisud-1jkn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqmije9kxc0i44t6i6qngzn9cblm53t6" class="crayons-icon"><title id="aqmije9kxc0i44t6i6qngzn9cblm53t6">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2388503" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388503" data-article-author-id="2097552" aria-label="Save post เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด to reading list" title="Save post เข้าใจ Uniform Cost Search แบบง่าย ๆ พร้อมตัวอย่างเส้นทางการเดินทางที่มีต้นทุนน้อยที่สุด to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388669" data-content-user-id="2602013"> <a href="https://dev.to/ssvikash_20/code-execution-system-deo" aria-labelledby="article-link-2388669" class="crayons-story__hidden-navigation-link">Code execution system..</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ssvikash_20" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2602013%2F04ec11eb-f93b-43df-a142-c880b40c9059.jpg" alt="ssvikash_20 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ssvikash_20" class="crayons-story__secondary fw-medium m:hidden"> S.S.Vikash </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388669" aria-controls="story-author-preview-content-2388669" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="S.S.Vikash profile details"> S.S.Vikash </button> <div id="story-author-preview-content-2388669" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ssvikash_20" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2602013%2F04ec11eb-f93b-43df-a142-c880b40c9059.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">S.S.Vikash</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2602013,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;S.S.Vikash&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2602013"></div> </div> </div> </div> </div> <a href="https://dev.to/ssvikash_20/code-execution-system-deo" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T13:01:44Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744030904"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ssvikash_20/code-execution-system-deo" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkjgsh0p5obvpmszubn6.png" id="article-link-2388669"> Code execution system.. </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/systemdesign"><span class="crayons-tag__prefix">#</span>systemdesign</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/ssvikash_20/code-execution-system-deo" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388669" aria-label="Add a comment to post - Code execution system.."> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="https://dev.to/ssvikash_20/code-execution-system-deo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Code execution system.."> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a138c65or0bade7fc1wzxsals0ditfnj" class="crayons-icon"><title id="a138c65or0bade7fc1wzxsals0ditfnj">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2388669" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388669" data-article-author-id="2602013" aria-label="Save post Code execution system.. to reading list" title="Save post Code execution system.. to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388029" data-content-user-id="1191782"> <a href="https://dev.to/esproc_spl/deduplicate-between-an-uncertain-number-of-columnssql-vs-spl-15-28p1" aria-labelledby="article-link-2388029" class="crayons-story__hidden-navigation-link">Deduplicate between an uncertain number of columns:SQL VS SPL #15</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/esproc_spl" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1191782%2F7fade77f-b998-4a28-b752-8255446502e0.jpg" alt="esproc_spl profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/esproc_spl" class="crayons-story__secondary fw-medium m:hidden"> Judy </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388029" aria-controls="story-author-preview-content-2388029" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Judy profile details"> Judy </button> <div id="story-author-preview-content-2388029" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/esproc_spl" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1191782%2F7fade77f-b998-4a28-b752-8255446502e0.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Judy</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1191782,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Judy&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1191782"></div> </div> </div> </div> </div> <a href="https://dev.to/esproc_spl/deduplicate-between-an-uncertain-number-of-columnssql-vs-spl-15-28p1" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T08:21:04Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744014064"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/esproc_spl/deduplicate-between-an-uncertain-number-of-columnssql-vs-spl-15-28p1" data-preload-image="" id="article-link-2388029"> Deduplicate between an uncertain number of columns:SQL VS SPL #15 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/sql"><span class="crayons-tag__prefix">#</span>sql</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/esproc"><span class="crayons-tag__prefix">#</span>esproc</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/esproc_spl/deduplicate-between-an-uncertain-number-of-columnssql-vs-spl-15-28p1" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388029" aria-label="Add a comment to post - Deduplicate between an uncertain number of columns:SQL VS SPL #15"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/esproc_spl/deduplicate-between-an-uncertain-number-of-columnssql-vs-spl-15-28p1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Deduplicate between an uncertain number of columns:SQL VS SPL #15"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="akztei95zzn8r34899zqnyekdinauioj" class="crayons-icon"><title id="akztei95zzn8r34899zqnyekdinauioj">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2388029" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388029" data-article-author-id="1191782" aria-label="Save post Deduplicate between an uncertain number of columns:SQL VS SPL #15 to reading list" title="Save post Deduplicate between an uncertain number of columns:SQL VS SPL #15 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388230" data-content-user-id="2757052"> <a href="https://dev.to/lightningdev123/igmp-snooping-a-comprehensive-networking-multicast-guide-4p0k" aria-labelledby="article-link-2388230" class="crayons-story__hidden-navigation-link">IGMP Snooping: A Comprehensive Networking Multicast Guide</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lightningdev123" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2757052%2F987f57b6-be53-4d74-9893-755596ff93c5.png" alt="lightningdev123 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lightningdev123" class="crayons-story__secondary fw-medium m:hidden"> Lightning Developer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388230" aria-controls="story-author-preview-content-2388230" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lightning Developer profile details"> Lightning Developer </button> <div id="story-author-preview-content-2388230" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lightningdev123" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2757052%2F987f57b6-be53-4d74-9893-755596ff93c5.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lightning Developer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2757052,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Lightning Developer&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2757052"></div> </div> </div> </div> </div> <a href="https://dev.to/lightningdev123/igmp-snooping-a-comprehensive-networking-multicast-guide-4p0k" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T10:06:51Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744020411"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/lightningdev123/igmp-snooping-a-comprehensive-networking-multicast-guide-4p0k" data-preload-image="" id="article-link-2388230"> IGMP Snooping: A Comprehensive Networking Multicast Guide </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/developer"><span class="crayons-tag__prefix">#</span>developer</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(230, 255, 251, 0.10); --tag-prefix: #E6FFFB; --tag-bg-hover: rgba(230, 255, 251, 0.10); --tag-prefix-hover: #E6FFFB; " href="/t/startup"><span class="crayons-tag__prefix">#</span>startup</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/lightningdev123/igmp-snooping-a-comprehensive-networking-multicast-guide-4p0k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2388230" aria-label="Add a comment to post - IGMP Snooping: A Comprehensive Networking Multicast Guide"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">4<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/lightningdev123/igmp-snooping-a-comprehensive-networking-multicast-guide-4p0k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - IGMP Snooping: A Comprehensive Networking Multicast Guide"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3ib1bdslm6qfed58lgaxgcvhv3yu5bc" class="crayons-icon"><title id="a3ib1bdslm6qfed58lgaxgcvhv3yu5bc">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2388230" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388230" data-article-author-id="2757052" aria-label="Save post IGMP Snooping: A Comprehensive Networking Multicast Guide to reading list" title="Save post IGMP Snooping: A Comprehensive Networking Multicast Guide to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388676" data-content-user-id="3012557"> <a href="https://dev.to/semperfitodd/predicting-legacy-failures-training-and-hosting-ml-models-in-sagemaker-48b7" aria-labelledby="article-link-2388676" class="crayons-story__hidden-navigation-link">Predicting Legacy Failures: Training and Hosting ML Models in SageMaker</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/semperfitodd" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3012557%2F55faeb34-2e68-4f3b-8340-1c671dcee764.png" alt="semperfitodd profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/semperfitodd" class="crayons-story__secondary fw-medium m:hidden"> Todd Bernson </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388676" aria-controls="story-author-preview-content-2388676" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Todd Bernson profile details"> Todd Bernson </button> <div id="story-author-preview-content-2388676" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/semperfitodd" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3012557%2F55faeb34-2e68-4f3b-8340-1c671dcee764.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Todd Bernson</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:3012557,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Todd Bernson&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="3012557"></div> </div> </div> </div> </div> <a href="https://dev.to/semperfitodd/predicting-legacy-failures-training-and-hosting-ml-models-in-sagemaker-48b7" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T13:08:13Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744031293"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/semperfitodd/predicting-legacy-failures-training-and-hosting-ml-models-in-sagemaker-48b7" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkm4rokmt21elea5bx72.png" id="article-link-2388676"> Predicting Legacy Failures: Training and Hosting ML Models in SageMaker </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 150, 0, 0.10); --tag-prefix: #f79600; --tag-bg-hover: rgba(247, 150, 0, 0.10); --tag-prefix-hover: #f79600; " href="/t/community"><span class="crayons-tag__prefix">#</span>community</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/sagemaker"><span class="crayons-tag__prefix">#</span>sagemaker</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cobol"><span class="crayons-tag__prefix">#</span>cobol</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/semperfitodd/predicting-legacy-failures-training-and-hosting-ml-models-in-sagemaker-48b7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Predicting Legacy Failures: Training and Hosting ML Models in SageMaker"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="agjwjzmllduhqytj37zy26960kyo2t7p" class="crayons-icon"><title id="agjwjzmllduhqytj37zy26960kyo2t7p">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2388676" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388676" data-article-author-id="3012557" aria-label="Save post Predicting Legacy Failures: Training and Hosting ML Models in SageMaker to reading list" title="Save post Predicting Legacy Failures: Training and Hosting ML Models in SageMaker to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2388681" data-content-user-id="2688594"> <a href="https://dev.to/darkstalker/predicting-band-gaps-for-next-gen-lithium-ion-batteries-with-machine-learning-7g0" aria-labelledby="article-link-2388681" class="crayons-story__hidden-navigation-link">Predicting Band Gaps for Next-Gen Lithium-Ion Batteries with Machine Learning</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/darkstalker" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2688594%2Fc8f35020-7f39-4f59-8696-ada57b5fba6a.jpg" alt="darkstalker profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/darkstalker" class="crayons-story__secondary fw-medium m:hidden"> Darkstalker </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2388681" aria-controls="story-author-preview-content-2388681" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Darkstalker profile details"> Darkstalker </button> <div id="story-author-preview-content-2388681" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/darkstalker" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2688594%2Fc8f35020-7f39-4f59-8696-ada57b5fba6a.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Darkstalker</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2688594,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Darkstalker&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2688594"></div> </div> </div> </div> </div> <a href="https://dev.to/darkstalker/predicting-band-gaps-for-next-gen-lithium-ion-batteries-with-machine-learning-7g0" class="crayons-story__tertiary fs-xs"><time datetime="2025-04-07T13:10:58Z">Apr 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1744031458"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/darkstalker/predicting-band-gaps-for-next-gen-lithium-ion-batteries-with-machine-learning-7g0" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flxxxcfiah9vfo2jhqgm5.jpg" id="article-link-2388681"> Predicting Band Gaps for Next-Gen Lithium-Ion Batteries with Machine Learning </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/science"><span class="crayons-tag__prefix">#</span>science</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 153, 153, 0.10); --tag-prefix: #009999; --tag-bg-hover: rgba(0, 153, 153, 0.10); --tag-prefix-hover: #009999; " href="/t/datascience"><span class="crayons-tag__prefix">#</span>datascience</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 128, 0, 0.10); --tag-prefix: #008000; --tag-bg-hover: rgba(0, 128, 0, 0.10); --tag-prefix-hover: #008000; " href="/t/algorithms"><span class="crayons-tag__prefix">#</span>algorithms</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/darkstalker/predicting-band-gaps-for-next-gen-lithium-ion-batteries-with-machine-learning-7g0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Predicting Band Gaps for Next-Gen Lithium-Ion Batteries with Machine Learning"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="af7src1wiz7cwz317kztx3zfigfbxq5j" class="crayons-icon"><title id="af7src1wiz7cwz317kztx3zfigfbxq5j">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2388681" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2388681" data-article-author-id="2688594" aria-label="Save post Predicting Band Gaps for Next-Gen Lithium-Ion Batteries with Machine Learning to reading list" title="Save post Predicting Band Gaps for Next-Gen Lithium-Ion Batteries with Machine Learning to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="placeholder-div"></div> <div class="single-article-small-pic" id="article-index-hidden-div" style="display:none"></div> </div> <script src="https://assets.dev.to/assets/homePageFeedShortcuts-f7364bc2d6cb139c03e7fe80e32782ba5af34857d2b308e3caa8d902e579a3af.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <div id="followed-podcasts" data-episodes="null"></div> <div class="loading-articles" id="loading-articles"> loading... </div> </main> <div id="sidebar-wrapper-right" class="sidebar-wrapper sidebar-wrapper-right crayons-layout__sidebar-right crayons-layout__content"> <aside class="side-bar sidebar-additional showing grid gap-4" id="sidebar-additional"> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/discuss" class="crayons-link">#discuss</a></h3> <div class="fs-xs color-base-70"> Discussion threads targeting the whole community </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="https://dev.to/ben/meme-monday-9dh"> Meme Monday <div class="crayons-link__secondary"> 3 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/abjoerne/aws-price-and-cost-analysing-and-monitoring-67j"> AWS price and cost — analysing and monitoring <div class="crayons-link__secondary"> 2 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/devteam/what-was-your-win-this-week-1in"> What was your win this week? <div class="crayons-link__secondary"> 22 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/sujit7del/should-we-go-for-internship-in-fourth-year-if-were-unable-to-get-one-or-focus-on-placements-20j9"> should we go for internship in fourth year if we&#39;re unable to get one or focus on placements <div class="crayons-link__secondary"> 1 comment </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/james_cowell_bd5c93f5f20b/what-skills-should-a-poker-game-developer-have-1e6"> What skills should a poker game developer have? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/watercooler" class="crayons-link">#watercooler</a></h3> <div class="fs-xs color-base-70"> Light, and off-topic conversation. </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="https://dev.to/ben/meme-monday-9dh"> Meme Monday <div class="crayons-link__secondary"> 3 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/d2d_weizhi/i-feel-like-i-can-conquer-almost-anything-right-now-what-will-you-be-conquering-this-week-43lk"> I feel like I can conquer almost anything right now. What will you be conquering this week? #conq... <div class="crayons-link__secondary"> 1 comment </div> </a> <a class="crayons-link crayons-link--contentful" href="https://dev.to/ethernmyth/the-debugging-ghost-of-line-42-2dhj"> The Debugging Ghost of Line 42 <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section class="widget"> <header> <h4>trending guides/resources</h4> </header> <div class="widget-body"> <div class="widget-link-list"> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/7-must-read-tech-books-for-experienced-developers-and-leads-in-2025-2j0n"> 7 Must Read Tech Books for Experienced Developers and Leads in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/copilotkit/automate-90-of-your-work-with-ai-agents-real-examples-code-inside-46ke"> Automate 90% of Your Work with AI Agents (Real Examples &amp; Code Inside) 🚀 🤖 </a> <a class="crayons-link crayons-link--contentful" href="/anmolbaranwal/10-common-backend-tasks-and-how-to-automate-them-4c79"> 10 common backend tasks and how to automate them </a> <a class="crayons-link crayons-link--contentful" href="/leonardorafael/beer-css-a-battle-for-less-html-and-css-2he5"> Beer CSS - A battle for less HTML and CSS </a> <a class="crayons-link crayons-link--contentful" href="/m__mdy__m/new-web-framework-42f5"> new web framework </a> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/the-software-design-system-design-interview-preparation-roadmap-with-resources-1no0"> The Software Design /System Design Interview Preparation RoadMap (with Resources) </a> <a class="crayons-link crayons-link--contentful" href="/samchon/every-typescript-developer-is-an-ai-developer-2kan"> Every TypeScript Developer is an AI Developer </a> <a class="crayons-link crayons-link--contentful" href="/0x3d_site/python-scripting-automate-your-daily-tasks-1chd"> Python Scripting: Automate Your Daily Tasks </a> <a class="crayons-link crayons-link--contentful" href="/composiodev/how-to-connect-cursor-to-100-mcp-servers-within-minutes-3h74"> How to connect Cursor to 100+ MCP Servers within minutes </a> <a class="crayons-link crayons-link--contentful" href="/prodevopsguytech/cicd-devops-pipeline-project-deployment-of-java-application-on-kubernetes-4fi2"> CI/CD DevOps Pipeline Project: Deployment of Java Application on Kubernetes </a> <a class="crayons-link crayons-link--contentful" href="/hellonehha/system-design-roadmap-for-beginners-nfi"> System Design Roadmap for Beginners </a> <a class="crayons-link crayons-link--contentful" href="/creativetim_official/from-dev-to-founder-6-books-every-developer-turned-entrepreneur-should-read-8nb"> 💼 From Dev to Founder: 6 Books Every Developer-Turned-Entrepreneur Should Read </a> <a class="crayons-link crayons-link--contentful" href="/mattlewandowski93/stop-chasing-new-javascript-frameworks-build-with-fundamentals-instead-1lni"> Stop Chasing New JavaScript Frameworks: Build with Fundamentals Instead 🏗️ </a> <a class="crayons-link crayons-link--contentful" href="/pavanbelagatti/run-deepseek-r1-locally-for-free-in-just-3-minutes-1e82"> Run DeepSeek-R1 Locally &amp; Build RAG Applications! </a> <a class="crayons-link crayons-link--contentful" href="/holasoymalva/why-the-latest-javascript-frameworks-are-a-waste-of-time-52pc"> Why the Latest JavaScript Frameworks Are a Waste of Time </a> <a class="crayons-link crayons-link--contentful" href="/timescale/benchmarking-databases-for-real-time-analytics-applications-f2d"> Benchmarking Databases for Real-Time Analytics Applications </a> <a class="crayons-link crayons-link--contentful" href="/jps27cse/the-role-of-consistency-in-software-engineering-why-daily-practice-beats-weekend-learning-36b9"> The Role of Consistency in Software Engineering: Why Daily Practice Beats Weekend Learning </a> <a class="crayons-link crayons-link--contentful" href="/resource_bunk_1077cab07da/i-built-a-web-app-in-10-minutes-1c89"> I Built a Web App in 10 Minutes. </a> <a class="crayons-link crayons-link--contentful" href="/foxinfotech/the-best-ai-prompt-generators-in-2025-1j6a"> The Best AI Prompt Generators in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/samchon/autoview-turning-your-blueprint-into-ui-components-ai-code-generator-fp"> AutoView - turning your blueprint into UI components (AI Code Generator) </a> </div> </div> </section> </aside> </div> </div> <script src="https://assets.dev.to/assets/storiesList-b9c50cbd898a3a64258a3a49db1c531651b0a4a11937be35ed4651111802b5b5.js" defer="defer"></script> <script src="https://assets.dev.to/assets/followButtons-f2455d1f50a862b83fa006b1953e3a1644598781243cae25d3e75b13c04184fd.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <script src="https://assets.dev.to/assets/heroBannerClose-08daef9d8f6109d73b3876fb088e26e5a46a047f93d787c38871fdbfbfc56e95.js" defer="defer"></script> <script src="https://assets.dev.to/assets/localizeArticleDates-70147c5c6bfe350b42e020ebb2a3dd37419d83978982b5a67b6389119bf162ac.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedEvents-a261980d186baaa8a38bc641ab1f21cd7e94efa28d0c50a060195c7811afdfc1.js" defer="defer"></script> <div id="runtime-banner-container"></div> </div> </div> <footer id="footer" class="crayons-footer print-hidden"> <div id="footer-container" class="crayons-footer__container"> <style> .long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(--card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; } </style> <div style="" data-display-unit data-id="146443" data-category-click="click" data-category-impression="impression" data-context-type="home" data-special="nothing" data-article-id="791646" data-type-of="in_house"> <p style="font-weight: bold;margin-bottom: 10px"> Thank you to our Diamond Sponsor <a href="https://neon.tech/?bb=146443">Neon</a> for supporting our community. </p> </div> <p class="fs-s crayons-footer__description"> <a class="c-link c-link--branded fw-medium" aria-label="DEV Community Home" href="/">DEV Community</a> — A constructive and inclusive social network for software developers. With you every step of your journey. </p> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/"> Home </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/++"> DEV++ </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/pod"> Podcasts </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/videos"> Videos </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/tags"> Tags </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/help"> DEV Help </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="https://shop.forem.com/"> Forem Shop </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/advertise"> Advertise on DEV </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/challenges"> DEV Challenges </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/showcase"> DEV Showcase </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/about"> About </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/contact"> Contact </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/free-postgres-database-tier"> Free Postgres Database </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/software-comparisons"> Software comparisons </a> <span class="dot ml-2"></span> </li> </ul> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/code-of-conduct"> Code of Conduct </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/privacy"> Privacy Policy </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/terms"> Terms of use </a> <span class="dot ml-2"></span> </li> </ul> <div class="fs-s"> <p>Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> — the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p> <p>Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. DEV Community <span title="copyright">&copy;</span> 2016 - 2025.</p> </div> </div> </footer> <div id="snack-zone"></div> <div id="global-signup-modal" class="authentication-modal hidden"> <div class="authentication-modal__container"> <figure class="authentication-modal__image-container"> <img class="authentication-modal__image" src="https://media2.dev.to/dynamic/image/width=190,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" alt="DEV Community" loading="lazy" /> </figure> <div class="authentication-modal__content"> <p class="authentication-modal__description"> We&#39;re a place where coders share, stay up-to-date and grow their careers. </p> </div> <div class="authentication-modal__actions"> <a href="/enter" class="crayons-btn" aria-label="Log in" data-no-instant> Log in </a> <a href="/enter?state=new-user" class="crayons-btn crayons-btn--ghost-brand js-global-signup-modal__create-account" aria-label="Create new account" data-no-instant> Create account </a> </div> </div> </div> <script src="https://assets.dev.to/assets/signupModalShortcuts-0b25469b985100a01e94cbd7fccaf7f0a4d776e129aac65c766aa32cb28ab29a.js" defer="defer"></script> <div id="cookie-consent"></div> <div id="i18n-translations" data-translations="{&quot;en&quot;:{&quot;core&quot;:{&quot;add_comment&quot;:&quot;Add comment&quot;,&quot;beta&quot;:&quot;beta&quot;,&quot;comment&quot;:&quot;Comment&quot;,&quot;copy_link&quot;:&quot;Copy link&quot;,&quot;edit_profile&quot;:&quot;Edit profile&quot;,&quot;follow&quot;:&quot;Follow&quot;,&quot;follow_back&quot;:&quot;Follow back&quot;,&quot;following&quot;:&quot;Following&quot;,&quot;like&quot;:&quot;Like&quot;,&quot;loading&quot;:&quot;loading...&quot;,&quot;reaction&quot;:&quot;Reaction&quot;,&quot;report_abuse&quot;:&quot;Report abuse&quot;,&quot;search&quot;:&quot;Search&quot;,&quot;success_settings&quot;:&quot;Successfully updated settings.&quot;,&quot;counted_organization&quot;:{&quot;one&quot;:&quot;%{count} organization&quot;,&quot;other&quot;:&quot;%{count} organizations&quot;},&quot;counted_user&quot;:{&quot;one&quot;:&quot;%{count} person&quot;,&quot;other&quot;:&quot;%{count} people&quot;},&quot;not_following&quot;:&quot;You&#39;re not following anyone&quot;,&quot;following_everyone&quot;:&quot;You&#39;re following %{details} (everyone)&quot;,&quot;you_are_following&quot;:&quot;You&#39;re following&quot;,&quot;and&quot;:&quot;and&quot;}}}"></div> <div id="reaction-category-resources" class="hidden" aria-hidden="true"> <img data-name="Like" data-slug="like" data-position="1" src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> <img data-name="Unicorn" data-slug="unicorn" data-position="2" src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> <img data-name="Exploding Head" data-slug="exploding_head" data-position="3" src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> <img data-name="Raised Hands" data-slug="raised_hands" data-position="4" src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> <img data-name="Fire" data-slug="fire" data-position="5" src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </div> <script> var userSignedIn = false; if (document.readyState === 'complete' || document.readyState === 'interactive') { initAuth(); } else { document.addEventListener('DOMContentLoaded', initAuth); } function initAuth() { var paramToken = new URLSearchParams(window.location.search).get('jwt'); if (paramToken && !userSignedIn) { authenticateUser(paramToken); } else { var iframe = document.createElement('iframe'); iframe.style.display = 'none'; iframe.src = 'https://forem.com/auth_pass/iframe'; document.body.appendChild(iframe); window.addEventListener('message', function(event) { if (event.origin !== 'https://forem.com' && event.origin !== window.location.origin) { return; } var data = event.data; if (data.authenticated && !userSignedIn) { authenticateUser(data.token); } else if(data.authenticated && window.ReactNativeWebView && window.ReactNativeWebView.postMessage) { window.ReactNativeWebView.postMessage(JSON.stringify({ action: 'login', token: data.token, })); } }); } function authenticateUser(token) { fetch('/auth_pass/token_login', { method: 'POST', credentials: 'include', headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': getMetaContent('csrf-token'), }, body: JSON.stringify({ token: token }), }) .then(function(response) { return response.json(); }) .then(function(data) { if (data.success) { if (document.head.querySelector('meta[name="user-signed-in"][content="false"]')) { // Reload the page to update the user's state location.reload(); } } }) .catch(function(error) { console.error('Error during authentication:', error); }); } function getMetaContent(name) { var element = document.querySelector('meta[name="' + name + '"]'); return element ? element.getAttribute('content') : ''; } } </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10