1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <link rel="icon" href="https://www.codechef.com/favicon.ico" type="image/x-icon"/> 6 <title>CodeChef: Practical coding for everyone</title> 7 <meta charset="utf-8"/> 8 <meta name="description" content='Learn to code for free using our beginner friendly and interactive learning courses. Get all the practical skills required to excel at computer science. Start learning with CodeChef today and unlock your potential as a developer!'/> 9 <meta name="og:image" content="https://cdn.codechef.com/sites/all/themes/abessive/cc-logo.png"/> 10 <meta name="og:type" content="website"/> 11 <meta name="theme-color" content="#000000"/> 12 <meta name="robots" content="index, follow"/> 13 <link rel="canonical" href="https://www.codechef.com/blogs"> 14
14<script src="https://accounts.google.com/gsi/client" async type="cb3ab492f0094f0beceda8d7-text/javascript"></script>
14 15 16 17 <link rel="prefetch" href="https://cdn.codechef.com/images/cc-logo.svg" as="image" type="image/svg+xml"> 18 <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&family=Roboto+Mono:wght@100;300;400;500;700&family=Fustat:wght@100;200;300;400;500;600;700;800;900&display=swap" 19 rel="stylesheet"> 20 21 <!-- Initial loader classes --> 22 <style> 23 @keyframes spin { 24 0% { 25 transform: rotate(0deg); 26 } 27 100% { 28 transform: rotate(360deg); 29 } 30 } 31 32 .loadingIcon { 33 border: 0.4em solid rgba(0, 0, 0, 0.0); 34 border-top: 0.4em solid #2A67B1; 35 border-radius: 50%; 36 width: 4em; 37 height: 4em; 38 animation: spin 1s linear infinite; 39 color: #2A67B1; 40 } 41 42 .loading { 43 width: 100%; 44 height: 100vh; 45 display: flex; 46 flex-direction: column; 47 justify-content: center; 48 align-items: center; 49 color: rgb(108, 116, 134); 50 background: inherit; 51 z-index: 100; 52 position: absolute; 53 } 54 55 .message { 56 padding: 16px; 57 text-align: center; 58 font-family: sans-serif; 59 } 60 61 /* Dark Mode styles */ 62 .loader-icon-dark { 63 border-top: 0.4em solid #5780b0; 64 } 65 .dark { 66 background: #1d1e23; 67 color: rgb(255 255 255 / 60%); 68 } 69 </style> 70
70<script type="cb3ab492f0094f0beceda8d7-text/javascript"> 71 72 const languageIdeRoutes = [ 73 'python', 'java', 'cpp', 'c', 'pypy', 'csharp', 'javascript', 'go', 'php', 'kotlin', 'rust', 'r', 'sql', 'html', 74 'oracledb', 'react' 75 ]; 76 77 if ( 78 (['faq', 'pro', 'contests'].includes(window.location.pathname.split('/').filter(Boolean).pop())) || 79 (['learn', 'games', 'viewsolution', 80 'submit', 'practice', 'dashboard', 'getting-started', 'college-program', 'practice-old', 81 'roadmap', 'blogs', 'roadmaps', 'blogs', 'skill-tests', 'ide', 'mobile' 82 ].includes(window.location.pathname.split('/').filter(Boolean)[0])) || 83 (['submit'].includes(window.location.pathname.split('/').filter(Boolean)[1])) || 84 (['status'].includes(window.location.pathname.split('/').filter(Boolean).slice(-2, -1).pop())) || [ 85 // Regex to match the practice and contest submit routes 86 /^\/(submit\/([A-Z]+[A-Z0-9_]*)+|problems\/([A-Z]+[A-Z0-9_]*)+|([A-Z]+[A-Z0-9_]*)+\/submit\/([A-Z]+[A-Z0-9_]*)+|([A-Z]+[A-Z0-9_]*)+\/problems\/([A-Z]+[A-Z0-9_]*)+)$/ 87 ].some((regexp) => (regexp.test(window.location.pathname))) || 88 (languageIdeRoutes.some(lang => window.location.pathname.includes(`${lang}-online-compiler`))) 89 ) { 90 const metaElement = document.createElement('meta'); 91 metaElement.setAttribute('name', 'viewport'); 92 metaElement.setAttribute('content', 'width=device-width, initial-scale=1'); 93 document.head.appendChild(metaElement); 94 }
vendor: 466 bytes, lines 94-109
94 95 96 (function (w, d, s, l, i) { 97 w[l] = w[l] || []; 98 w[l].push({ 99 'gtm.start': new Date().getTime(), 100 event: 'gtm.js' 101 }); 102 var f = d.getElementsByTagName(s)[0], 103 j = d.createElement(s), 104 dl = l != 'dataLayer' ? '&l=' + l : ''; 105 j.async = true; 106 j.src = 107 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 108 f.parentNode.insertBefore(j, f); 109 })(window, document, 'script', 'dataLayer', '
109GTM-TV5X2M
vendor: 6 bytes, lines 109-110
109'); 110
110</script>
110 111
111<script type="cb3ab492f0094f0beceda8d7-module" crossorigin src="/build/react2/assets/index-BSFWpFMK.js"></script>
111 112 <link rel="modulepreload" crossorigin href="/build/react2/assets/__commonjsHelpers__-BosuxZz1.js"> 113 <link rel="modulepreload" crossorigin href="/build/react2/assets/vendor-mui-D5pLRgDb.js"> 114 <link rel="modulepreload" crossorigin href="/build/react2/assets/vendor-sweetalert2-CokzRhbv.js"> 115 <link rel="stylesheet" crossorigin href="/build/react2/assets/index-8JvKpkpw.css"> 116</head> 117 118<body style=""> 119 <noscript>You need to enable JavaScript to run this app.</noscript> 120 <div id="initialLoadingComponent" class="loading fullPage notranslate "> 121 <div class="loadingIcon loader-icon-"></div> 122 <span id="initialLoadingMessage" class="message "></span> 123 </div> 124 <div id="root"></div> 125
125<script type="cb3ab492f0094f0beceda8d7-text/javascript"> 126 // Payment Scripts 127 if (['pro', 'getting-started', 'dashboard', 'roadmap'].includes(window.location.pathname.split('/')[1])) { 128 const razorPay = document.createElement('script'); 129 razorPay.setAttribute('src', 'https://checkout.razorpay.com/v1/checkout.js'); 130 document.head.appendChild(razorPay); 131 132 // const instamojo = document.createElement('script'); 133 // instamojo.setAttribute('src', 'https://js.instamojo.com/v1/checkout.js'); 134 // document.head.appendChild(instamojo); 135 136 } 137 const scriptElement = document.createElement('script'); 138 scriptElement.setAttribute('src', 139 "/sites/all/modules/codechef_alerts/codechef_alerts.js?v=649c43b6894169b33b5557aa0374459d" 140 ); 141 scriptElement.setAttribute('async', ''); 142 document.body.appendChild(scriptElement); 143 </script>
143 144
144<script type="cb3ab492f0094f0beceda8d7-text/javascript" async src="/sites/all/themes/mallow/src/js/cookies.js?v=c0c952b5f5af42bd78098f00c77cfa63"></script>
144 145
145<script type="cb3ab492f0094f0beceda8d7-text/javascript"> 146 const loadingMessages = [ 147 'Transform every day with the habit of learning', 148 'Explored our courses yet? Enroll now! Over 500k learners have already enrolled.', 149 'Pro tip: Facing a challenge while solving problem? Tap into AI Help', 150 'Set the pace, set the goal, Maintain your streak by solving problem everyday', 151 'Set your own goal to finish each modules', 152 'Pro tip: Pseudo code first, then code with ease.', 153 'Coding is not difficult, you need to try hard enough', 154 '1% better everyday can lead to big results.', 155 'Hard work and consistency is the only way to success', 156 'Don\'t stop until you are in the top 1%', 157 'Becoming the best coder is easy! Just keep doing CodeChef.', 158 'Compete in the XP Weekly Leaderboard and see where you rank!', 159 ]; 160 const randomIndex = Math.floor(Math.random() * loadingMessages.length); 161 document.getElementById('initialLoadingMessage').innerText = loadingMessages[randomIndex]; 162 </script>
vendor: 143 bytes, lines 162-163
162 163<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="cb3ab492f0094f0beceda8d7-|49" defer></script>
163<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"77024e52546647f9a933aafda26cc5ce","spa":2}' crossorigin="anonymous"></script>
163 164</body> 165 166</html>
167<script type="cb3ab492f0094f0beceda8d7-text/javascript"> 168 window.CDN_URL = 'https://cdn.codechef.com'; 169 window.csrfToken = "5e63a3e3915b378d0a7fb7334d6633a5aa72dd8f1cca854f21609d5de3710484"; 170 window.APPS_URL = 'https://www.codechef-apps.com'; 171 window.DISCUSS_URL = 'https://discuss.codechef.com'; 172 window.tawkPropertyId = '668d037a7a36f5aaec9634a5'; 173 window.widgetId = '1i2bdb6dt'; 174 try { 175 window.codeChefUserData = {"status":"success","user":{"username":null,"uid":null,"email":null,"profileImage":null,"profileImagePath":"https:\/\/cdn.codechef.com\/sites\/all\/themes\/abessive\/images\/user_default_thumb.jpg","oauth_buttons":null,"oauthData":null,"html_handle":null,"userRatingStar":"0","userRatingStarColor":"black","isAdmin":false,"isCollegeOfferingAdmin":false,"isHYCAdmin":false,"canLockProblems":false,"hasAnySpecialPermission":false,"isPremiumUser":false,"isVerifiedUser":false,"user_consented_privacy_policy_version":null,"user_consented_privacy_policy_on":null,"current_privacy_policy_version":null,"visitedContests":[],"rating":-1,"userStarHtml":"","proDiscount":null,"theme":"light","fullName":null,"pro_plan":null,"sale":{"saleEndDateIST":"2026-09-21 05:59:59","saleTitle":"FLASH SALE","saleDescription":"CODECHEF FLASH SALE IS ACTIVE","isSaleOngoing":false,"saleDaysLeft":-3,"saleEndDateUTC":"2026-09-21T00:29:59"},"isUserPartOfAnyUserGroup":false,"userSelectedProgrammingLanguage":"","country":null,"isNumberVerified":false,"isJobProfileComplete":false,"league":0,"credits":0,"aiChatLanguage":"English"}
175,"time":1790240033,"ip":"181.215.65.72","adStrip":null}; 176 } catch (e) { 177 window.codeChefUserData = {}; 178 } 179 try { 180 window.userMessages = {"status":"success","messages":null}; 181 } catch (e) { 182 window.userMessages = {}; 183 } 184</script>
184 185 186 <div id="g_id_onload" 187 data-client_id="239412980790-t66g30lvvdcs9u1q0l8tha23599ltt1j.apps.googleusercontent.com" 188 data-login_uri="https://www.codechef.com/onetap" 189 > 190 </div> 191
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.