1<!DOCTYPE html> 2<!--[if IE 7]> 3<html class="ie ie7" lang="en-US"> 4<![endif]--> 5<!--[if IE 8]> 6<html class="ie ie8" lang="en-US"> 7<![endif]--> 8<!--[if !(IE 7) | !(IE 8) ]><!--> 9<html lang="en-US"> 10<!--<![endif]--> 11<head> 12 13 <meta charset="UTF-8" /> 14 <meta name="viewport" content="width=device-width, initial-scale=1"> 15 16 <link rel="profile" href="https://gmpg.org/xfn/11" /> 17 <link rel="pingback" href="https://ahmadawais.com/xmlrpc.php" /> 18 19 <link href="https://github.com/ahmadawais" rel="me" /> 20 <link href="https://twitter.com/MrAhmadAwais" rel="me" /> 21 <link href="https://www.instagram.com/mrahmadawais" rel="me" /> 22 <link rel="webmention" href="https://webmention.io/ahmadawais.com/webmention" /> 23 <link rel="pingback" href="https://webmention.io/ahmadawais.com/xmlrpc" /> 24 25 <link rel="preconnect" href="https://www.google-analytics.com" /> 26 27 28 <!--[if lt IE 9]> 29
29<script src="https://ahmadawais.com/wp-content/themes/aa_v2/assets/js/html5shiv.min.js"></script>
29 30 <![endif]--> 31 32 33 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 34<meta http-equiv="x-dns-prefetch-control" content="on"> 35 <!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ --> 36 <title>Ahmad Awais - Founder & CEO of CommandCode.ai f/k/a Langbase | Google Developers Advisory Board (gDAB) founding member</title> 37 <meta name="description" content="Ahmad Awais is an award-winning open-source engineering leader,â founder, and CEO of CommandCode.ai f/k/a Langbase. NASA Mars Inginuity Helicopter mission code-contributor. Angel investor. Ex-VP of Developer Relations, Google Developers Advisory Board founding member, Node.js Community Committee Outreach Lead, Business Governance Board Member Linux Foundation & OpenAPI Initiative, WordPress Coreâ Developerâ, and previously VP âof âEngineeringââ at WGA. He has authored various open-source software tools used by millions of developers worldwide, like his Shades of Purple code theme (5M Dev Users)â or projects like theâ corona-cliâ (10+ Billion Requests)." /> 38 <link rel="canonical" href="https://ahmadawais.com/" /> 39 <link rel="next" href="https://ahmadawais.com/page/2/" /> 40 <meta property="og:locale" content="en_US" /> 41 <meta property="og:type" content="website" /> 42 <meta property="og:title" content="Ahmad Awais" /> 43 <meta property="og:description" content="Founder & CEO of CommandCode.ai f/k/a Langbase | Google Developers Advisory Board (gDAB) founding member" /> 44 <meta property="og:url" content="https://ahmadawais.com/" /> 45 <meta property="og:site_name" content="Ahmad Awais" /> 46 <meta property="og:image" content="https://ahmadawais.com/wp-content/uploads/2024/08/ahmad-awais.jpg" /> 47 <meta property="og:image:width" content="2560" /> 48 <meta property="og:image:height" content="1440" /> 49 <meta property="og:image:type" content="image/jpeg" /> 50 <meta name="twitter:card" content="summary_large_image" /> 51 <meta name="twitter:site" content="@MrAhmadAwais" /> 52
52<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/ahmadawais.com\/","url":"https:\/\/ahmadawais.com\/","name":"Ahmad Awais - Founder & CEO of CommandCode.ai f\/k\/a Langbase | Google Developers Advisory Board (gDAB) founding member","isPartOf":{"@id":"https:\/\/ahmadawais.com\/#website"},"about":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"description":"Ahmad Awais is an award-winning open-source engineering leader,â founder, and CEO of CommandCode.ai f\/k\/a Langbase. NASA Mars Inginuity Helicopter mission code-contributor. Angel investor. Ex-VP of Developer Relations, Google Developers Advisory Board founding member, Node.js Community Committee Outreach Lead, Business Governance Board Member Linux Foundation & OpenAPI Initiative, WordPress Coreâ Developerâ, and previously VP âof âEngineeringââ at WGA. He has authored various open-source software tools used by millions of developers worldwide, like his Shades of Purple code theme (5M Dev Users)â or projects like theâ corona-cliâ (10+ Billion Requests).","breadcrumb":{"@id":"https:\/\/ahmadawais.com\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/ahmadawais.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/ahmadawais.com\/#website","url":"https:\/\/ahmadawais.com\/","name":"Ahmad Awais","description":"Founder & CEO of Command Code f\/k\/a Langbase | Google Developers Advisory Board (gDAB) founding member","publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahmadawais.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b","name":"Ahmad Awais","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","width":2299,"height":1705,"caption":"Ahmad Awais"},"logo":{"@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg"},"description":"Founder & CEO of â Command Code coding agent with taste. Founded Langbase.com, AI cloud to build, deploy, and scale AI agents with tools & memory · Creator of Command.new. \"Awais is an awesome example for developers\" â Satya Nadella, CEO of Microsoft. NASA Mars Ingenuity Helicopter mission code contributor 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). Google Developers Expert Web DevRel. Ex VP Eng (DevTools & DevRel) Rapid · Google Developers Advisory Board (gDAB) founding member · AI\/ML\/DevTools Angel Investor (Replit, Resend, Daytona, Gumroad and you?) ⯠AI\/ML Advisory Board San Francisco, DevNetwork. Award-winning Open Source Engineering leader authored hundreds of open-source dev-tools and software libraries used by millions of developers, including Shades of Purple code theme and corona-cli. Linux Foundation (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via NodeCLI.com and VSCode.pro course. 274 million views, blogging for 24 yrs. ⯠Read more about Ahmad Awais or come say hi on ð @MrAhmadAwais.","sameAs":["https:\/\/AhmadAwais.com\/","https:\/\/facebook.com\/AhmadAwais","https:\/\/instagram.com\/MrAhmadAwais\/","https:\/\/www.linkedin.com\/in\/MrAhmadAwais\/","https:\/\/x.com\/MrAhmadAwais","https:\/\/youtube.com\/AhmadAwais"]}]}</script>
52 53 <meta name="google-site-verification" content="73nyhAi2na30CNTPq9nB4hU4Q1M-w1UqGsxGyvIdS68" /> 54 <!-- / Yoast SEO plugin. --> 55 56 57<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 58<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 59<link rel="alternate" type="application/rss+xml" title="Ahmad Awais » Feed" href="https://ahmadawais.com/feed/" /> 60<link rel="alternate" type="application/rss+xml" title="Ahmad Awais » Comments Feed" href="https://ahmadawais.com/comments/feed/" /> 61<style id="wp-img-auto-sizes-contain-inline-css"> 62img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 63/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 64</style> 65<style id="wp-emoji-styles-inline-css"> 66 67 img.wp-smiley, img.emoji { 68 display: inline !important; 69 border: none !important; 70 box-shadow: none !important; 71 height: 1em !important; 72 width: 1em !important; 73 margin: 0 0.07em !important; 74 vertical-align: -0.1em !important; 75 background: none !important; 76 padding: 0 !important; 77 } 78/*# sourceURL=wp-emoji-styles-inline-css */ 79</style> 80<style id="classic-theme-styles-inline-css"> 81/*! This file is auto-generated */ 82.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 83/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 84</style> 85 86<link rel='stylesheet' id='webmention-rsvp-css' href='https://ahmadawais.com/wp-content/plugins/webmention/build/rsvp/index.css?ver=a9a908f71f8cdf91de46' media='all' /> 87<style id="global-styles-inline-css"> 88:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
88--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
88.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 89/*# sourceURL=global-styles-inline-css */ 90</style> 91 92<link rel='stylesheet' id='aphsh-prism-css-css' href='https://ahmadawais.com/wp-content/uploads/aphph/aphph-prism-1771272319.css?ver=7.1.2' media='all' /> 93<link rel='stylesheet' id='categories-images-styles-css' href='https://ahmadawais.com/wp-content/plugins/categories-images/assets/css/zci-styles.css?ver=3.3.3' media='all' /> 94<link rel='stylesheet' id='indieweb-css' href='https://ahmadawais.com/wp-content/plugins/indieweb/static/css/indieweb-bw.css?ver=5.2.0' media='all' /> 95<style id="jetpack-stats-inline-css"> 96img#wpstats{display:none} 97/*# sourceURL=jetpack-stats-inline-css */ 98</style> 99<link rel='stylesheet' id='semantic-linkbacks-css-css' href='https://ahmadawais.com/wp-content/plugins/semantic-linkbacks/css/semantic-linkbacks.css?ver=3.12.0' media='all' /> 100<link rel='stylesheet' id='aaThemeStyles-css' href='https://ahmadawais.com/wp-content/themes/aa_v2_child/style.css?ver=1.9.23' media='all' /> 101<link rel='stylesheet' id='cedar_fonts-css' href='//fonts.googleapis.com/css?family=Noto+Serif:400,700|Montserrat|Varela+Round|Oxygen&display=swap&ver=cedarwp' media='all' /> 102<link rel='stylesheet' id='wp-featherlight-css' href='https://ahmadawais.com/wp-content/plugins/wp-featherlight/css/wp-featherlight.min.css?ver=1.3.4' media='all' />
103<script id="aphsh-prism-js-js" src="https://ahmadawais.com/wp-content/uploads/aphph/aphph-prism-1771272319.js?ver=7.1.2"></script>
vendor: 1 bytes, line 103
103
104<script id="jquery-core-js" src="https://ahmadawais.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 104
104
105<script id="jquery-migrate-js" src="https://ahmadawais.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
105 106<link rel="https://api.w.org/" href="https://ahmadawais.com/api/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://ahmadawais.com/xmlrpc.php?rsd" /> 107<meta name="generator" content="WordPress 7.1.2" /> 108<meta name="generator" content="Site Kit by Google 1.188.0" /> <style type="text/css"> 109 110 111 body.home .cover{ height: 100vh; } 112 body.home .cover .background{ opacity: 0.22; } 113 body.home .cover .blogtitle{ text-align:center; } 114 body.home .cover hr{ margin:0 auto; } 115 body.home .cover.front .patternbg{ display:block; } 116 117 118 .drawer .copyright{ display:none; } 119 120 .postlist article .meta .date{ display:none; } 121 .postitem .meta .readtime:before{ content:''; } 122 123 124 body.page .comments{ display:none; } 125 126 body.single .pagewrapper{ padding-bottom:0; } 127 footer.main{ padding-bottom:100px; } 128 129 130 .copyright .wordpress{ display:none !important; } 131 .copyright .ecko{ display:none !important; } 132 133 134 </style> 135 <link rel="me" href="https://github.com/AhmadAwais" /> 136<link rel="me" href="https://twitter.com/MrAhmadAwais" /> 137<link rel="me" href="https://facebook.com/AhmadAwais" /> 138<link rel="me" href="https://instagram.com/MrAhmadAwais/" /> 139<link rel="me" href="https://bsky.app/profile/@ahmadawais.com" /> 140<link rel="me" href="https://commandcode.ai" /> 141<link rel="me" href="https://langbase.com" /> 142<link rel="me" href="https://NodeCLI.com" /> 143<link rel="me" href="https://VSCode.pro" /> 144<style type="text/css"> 145.no-js .native-lazyload-js-fallback { 146 display: none; 147} 148</style> 149 <link rel="prerender" href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/"/><link rel="prerender" href="https://ahmadawais.com/things-im-proud-of-i-believe-and-some-more/"/><link rel="icon" href="https://ahmadawais.com/wp-content/uploads/2019/12/cropped-Ahmad-Awais-Transparent-32x32.png" sizes="32x32" /> 150<link rel="icon" href="https://ahmadawais.com/wp-content/uploads/2019/12/cropped-Ahmad-Awais-Transparent-192x192.png" sizes="192x192" /> 151<link rel="apple-touch-icon" href="https://ahmadawais.com/wp-content/uploads/2019/12/cropped-Ahmad-Awais-Transparent-180x180.png" /> 152<meta name="msapplication-TileImage" content="https://ahmadawais.com/wp-content/uploads/2019/12/cropped-Ahmad-Awais-Transparent-270x270.png" /> 153<link rel="webmention" href="https://ahmadawais.com/api/webmention/1.0/endpoint" />
154<script data-cfasync="false" nonce="429a8a85-b949-43c6-9f63-f89abd124b73">try{(function(w,d){!function(kP,kQ,kR,kS){if(kP.zaraz)console.error("zaraz is loaded twice");else{kP[kR]=kP[kR]||{};kP[kR].executed=[];kP.zaraz={deferred:[],listeners:[]};kP.zaraz._v="20";kP.zaraz._n="429a8a85-b949-43c6-9f63-f89abd124b73";kP.zaraz.q=[];kP.zaraz._f=function(kT){return async function(){var kU=Array.prototype.slice.call(arguments);kP.zaraz.q.push({m:kT,a:kU})}};for(const kV of["track","set","debug"])kP.zaraz[kV]=kP.zaraz._f(kV);kP.zaraz.init=()=>{var kW=kQ.getElementsByTagName(kS)[0],kX=kQ.createElement(kS),kY=kQ.getElementsByTagName("title")[0];kY&&(kP[kR].t=kQ.getElementsByTagName("title")[0].text);kP[kR].x=Math.random();kP[kR].w=kP.screen.width;kP[kR].h=kP.screen.height;kP[kR].j=kP.innerHeight;kP[kR].e=kP.innerWidth;kP[kR].l=kP.location.href;kP[kR].r=kQ.referrer;kP[kR].k=kP.screen.colorDepth;kP[kR].n=kQ.characterSet;kP[kR].o=(new Date).getTimezoneOffset();if(kP.dataLayer)for(const kZ of Object.entries(Object.entries(dataLayer).reduce((k$,la)=>({...k$[1],...la[1]}),{})))zaraz.set(kZ[0],kZ[1],{scope:"page"});kP[kR].q=[];for(;kP.zaraz.q.length;){const lb=kP.zaraz.q.shift();kP[kR].q.push(lb)}kX.defer=!0;for(const lc of[localStorage,sessionStorage])Object.keys(lc||{}).filter(le=>le.startsWith("_zaraz_")).forEach(ld=>{try{kP[kR]["z_"+ld.slice(7)]=JSON.parse(lc.getItem(ld))}catch{kP[kR]["z_"+ld.slice(7)]=lc.getItem(ld)}});kX.referrerPolicy="origin";kX.src="/cdn-cgi/zaraz/s.js?z="+btoa(encodeURIComponent(JSON.stringify(kP[kR])));kW.parentNode.insertBefore(kX,kW)};["complete","interactive"].includes(kQ.readyState)?zaraz.init():kP.addEventListener("DOMContentLoaded",zaraz.init)}}(w,d,"zarazData","script");window.zaraz._p=async kH=>new Promise(kI=>{if(kH){kH.e&&kH.e.forEach(kJ=>{try{const kK=d.querySelector("script[nonce]"),kL=kK?.nonce||kK?.getAttribute("nonce"),kM=d.createElement("script");kL&&(kM.nonce=kL);kM.innerHTML=kJ;kM.onload=()=>{d.head.removeChild(kM)};d.head.appendChild(kM)}catch(kN){console.error(`Error executing script: ${kJ}\n`,kN)}});Promise.allSettled((kH.f||[]).map(kO=>fetch(kO[0],kO[1])))}kI()});zaraz._p({"e":["(function(w,d){})(window,document)"]});})(window,document)}catch(e){throw fetch("/cdn-cgi/zaraz/t"),e;};</script>
154</head> 155 156<body data-rsssl=1 class="home blog wp-theme-aa_v2 wp-child-theme-aa_v2_child wp-featherlight-captions" itemscope="itemscope" itemtype="http://schema.org/WebPage"> 157 158 159 <header class="bloginfo headroom"> 160 <div class="title"> 161 <a href="https://ahmadawais.com">Ahmad Awais</a> 162 </div> 163 <nav class="main"> 164 <div class="menu-live-container"><ul id="menu-live" class="menu"><li id="menu-item-356" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-356"><a href="/about/">ABOUT</a></li> 165<li id="menu-item-6714" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6714"><a href="https://ahmadawais.com/talks/">TALKS</a></li> 166<li id="menu-item-2704" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2704"><a href="https://ahmadawais.com/newsletter/">NEWSLETTER</a></li> 167<li id="menu-item-7403" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7403"><a href="https://ahmadawais.com/uses/">USES</a></li> 168<li id="menu-item-7401" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7401"><a href="https://ahmadawais.com/courses/">COURSES</a></li> 169<li id="menu-item-357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-357"><a href="/contact/">CONTACT</a></li> 170</ul></div> <ul> 171 <li class="option searchnav"><span class="showsearch"><i class="fa fa-search"></i></span></li> 172 <li class="option drawernav"><span class="showdrawer"><i class="fa fa-navicon"></i></span></li> 173 </ul> 174 </nav> 175 </header> 176 <section class="searchoverlay"> 177 <i class="fa fa-times closesearch"></i> 178 <form role="search" method="get" class="searchform" action="https://ahmadawais.com/"> 179 <input type="text" value="" name="s" class="query" placeholder="Enter Search Query..."> 180 <i class="fa fa-search"></i> 181 </form> 182 </section> 183 <section class="drawer"> 184 <i class="fa fa-times closedrawer"></i> 185 <section class="widget"><h3 class="widget-title">NAVIGATE</h3><hr><div class="menu-live-container"><ul id="menu-live-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-356"><a href="/about/">ABOUT</a></li> 186<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6714"><a href="https://ahmadawais.com/talks/">TALKS</a></li> 187<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2704"><a href="https://ahmadawais.com/newsletter/">NEWSLETTER</a></li> 188<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7403"><a href="https://ahmadawais.com/uses/">USES</a></li> 189<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7401"><a href="https://ahmadawais.com/courses/">COURSES</a></li> 190<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-357"><a href="/contact/">CONTACT</a></li> 191</ul></div></section> <section class="widget socialshare"> 192 <h3 class="widget-title">SHARE</h3> 193 <hr> 194 <div class="options"> 195 <a href="https://twitter.com/share?text=The+Full+Stack+of+Terminals+Explained%3A+Terminal%2C+Shell%2C+TTY%2C+Console%2C+POSIX%2C+ANSI+Escapes%2C+PTYs%2C+Raw%2FCanonical+Modes&url=https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;" class="sharebutton twitter"><i class="fa fa-twitter"></i><span>Twitter</span></a> <a href="https://www.facebook.com/sharer/sharer.php?u=https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;" class="sharebutton facebook"><i class="fa fa-facebook"></i><span>Facebook</span></a> <a href="http://www.reddit.com/submit?url=https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/&title=The+Full+Stack+of+Terminals+Explained%3A+Terminal%2C+Shell%2C+TTY%2C+Console%2C+POSIX%2C+ANSI+Escapes%2C+PTYs%2C+Raw%2FCanonical+Mo
195des" onclick="window.open(this.href, 'reddit-share', 'width=490,height=530');return false;" class="sharebutton reddit"><i class="fa fa-reddit"></i><span>Reddit</span></a> <a href="http://www.linkedin.com/shareArticle?mini=true&url=https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/&title=The+Full+Stack+of+Terminals+Explained%3A+Terminal%2C+Shell%2C+TTY%2C+Console%2C+POSIX%2C+ANSI+Escapes%2C+PTYs%2C+Raw%2FCanonical+Modes" onclick="window.open(this.href, 'linkedin-share', 'width=490,height=530');return false;" class="sharebutton linkedin"><i class="fa fa-linkedin"></i><span>LinkedIn</span></a> </div> 196 </section> 197 <section class="widget latestposts"> 198 <article class="post"> 199 <div class="top"> 200 <a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/" class="thumbnail"> 201 <i class="fa fa-link"></i> 202 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2026/02/terminals-150x150.png');"></span> 203 </a> 204 <div class="info"> 205 <a href="https://ahmadawais.com/category/code/" class="button rounded grayoutline tiny category">Code</a> <h5 class="title"><a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/">The Full Stack of Terminals Explained: Terminal, S...</a></h5> 206 <section class="meta"> 207 Posted 208 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 209 <span class="date">on <a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/"><i class="fa fa-clock-o"></i> <time datetime="2026-02-17">February 17, 2026</time></a></span> 210 </section> 211 </div> 212 </div> 213 <p class="excerpt">Most developers use a terminal for years before realizing they don’t actually know what a terminal is. They know how to use one....</p> 214 </article> 215 <article class="post"> 216 <div class="top"> 217 <a href="https://ahmadawais.com/home-shortcut/" class="thumbnail"> 218 <i class="fa fa-link"></i> 219 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2023/01/home-150x150.jpg');"></span> 220 </a> 221 <div class="info"> 222 <a href="https://ahmadawais.com/category/web/" class="button rounded grayoutline tiny category">Web</a> <h5 class="title"><a href="https://ahmadawais.com/home-shortcut/">Improve Developer Experience: The /home shortcut</a></h5> 223 <section class="meta"> 224 Posted 225 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 226 <span class="date">on <a href="https://ahmadawais.com/home-shortcut/"><i class="fa fa-clock-o"></i> <time datetime="2023-01-15">January 15, 2023</time></a></span> 227 </section> 228 </div> 229 </div> 230 <p class="excerpt">tl;dr: When I’m logged into a SaaS app, it’s super hard to access the company’s homepage unless I log out. I want...</p> 231 </article> 232 <article class="post"> 233 <div class="top"> 234 <a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/" class="thumbnail"> 235 <i class="fa fa-link"></i> 236 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2021/04/mars-open-source-ahmad-awais-1-150x150.jpg');"></span> 237 </a> 238 <div class="info"> 239 <a href="https://ahmadawais.com/category/life/" class="button rounded grayoutline tiny category">Life</a> <h5 class="title"><a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/">
239My Open Source Code Contribution to NASAâs Ingen...</a></h5> 240 <section class="meta"> 241 Posted 242 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 243 <span class="date">on <a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/"><i class="fa fa-clock-o"></i> <time datetime="2021-04-27">April 27, 2021</time></a></span> 244 </section> 245 </div> 246 </div> 247 <p class="excerpt">When I was a kid, I wanted to be an astronautâexploring space and whatnot. But I was afraid of heights, told my mom I'll settle as...</p> 248 </article> 249 <article class="post"> 250 <div class="top"> 251 <a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/" class="thumbnail"> 252 <i class="fa fa-link"></i> 253 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2021/05/FFmpeg-150x150.jpg');"></span> 254 </a> 255 <div class="info"> 256 <a href="https://ahmadawais.com/category/bash/" class="button rounded grayoutline tiny category">Bash</a> <h5 class="title"><a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/">My Command Line Audio Video Workflows with FFmpeg</a></h5> 257 <section class="meta"> 258 Posted 259 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 260 <span class="date">on <a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/"><i class="fa fa-clock-o"></i> <time datetime="2021-05-27">May 27, 2021</time></a></span> 261 </section> 262 </div> 263 </div> 264 <p class="excerpt">If you know anything about me then you know I love automating anything and everything. I even have a complete course on building automation...</p> 265 </article> 266 <article class="post"> 267 <div class="top"> 268 <a href="https://ahmadawais.com/custom-teaching-platform/" class="thumbnail"> 269 <i class="fa fa-link"></i> 270 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2020/11/play-150x150.jpg');"></span> 271 </a> 272 <div class="info"> 273 <a href="https://ahmadawais.com/category/business/" class="button rounded grayoutline tiny category">Business</a> <h5 class="title"><a href="https://ahmadawais.com/custom-teaching-platform/">How I Built My Own Teaching Platform</a></h5> 274 <section class="meta"> 275 Posted 276 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 277 <span class="date">on <a href="https://ahmadawais.com/custom-teaching-platform/"><i class="fa fa-clock-o"></i> <time datetime="2020-04-17">April 17, 2020</time></a></span> 278 </section> 279 </div> 280 </div> 281 <p class="excerpt">I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my...</p> 282 </article> 283 <article class="post"> 284 <div class="top"> 285 <a href="https://ahmadawais.com/corona-cli/" class="thumbnail"> 286 <i class="fa fa-link"></i> 287 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2020/04/github-150x150.jpg');"></span> 288 </a> 289 <div class="info"> 290 <a href="https://ahmadawais.com/category/javascript/" class="button rounded grayoutline tiny category">JavaScript</a> <h5 class="title"><a href="https://ahmadawais.com/corona-cli/">corona-cli <br>My Open-source COVID19 Tracking CLI...</a></h5> 291 <section class="meta"> 292 Posted 293 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 294 <span class="date">on <a href="https://ahmadawais.com/corona-cli/"><i class="fa fa-clock-o"></i> <time datetime="2020-04-17">April 17, 2020</time></a></span> 295 </section> 296 </div> 297 </div> 298 <p class="excerpt">While trying to keep up with COVID19 I built a CLI to avoid all the UIs and bad information out there. Picked a couple of authentic...</p> 299 </article> 300 <article class="post"> 301 <div class="top"> 302 <a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/" class="thumbnail"> 303 <i class="fa fa-link"></i> 304 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2024/06/cf-ssl-reissue-150x150.png');"></span> 305 </a> 306 <div class="info"> 307 <a href="https://ahmadawais.com/category/bash/" class="button rounded grayoutline tiny category">Bash</a> <h5 class="title"><a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/">Reissue Cloudflare SSL Certificate Manually</a></h5> 308 <section class="meta"> 309 Posted 310 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 311 <span class="date">on <a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/"><i class="fa fa-clock-o"></i> <time datetime="2024-06-08">June 8, 2024</time></a></span> 312 </section> 313 </div> 314 </div> 315 <p class="excerpt">
315Just now, I was banging my head on the table trying to figure out how to renew or manually reissue a new free SSL certificate for a...</p> 316 </article> 317 <article class="post"> 318 <div class="top"> 319 <a href="https://ahmadawais.com/github-stars/" class="thumbnail"> 320 <i class="fa fa-link"></i> 321 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2020/08/ahmadawais-github-stars-150x150.jpg');"></span> 322 </a> 323 <div class="info"> 324 <a href="https://ahmadawais.com/category/life/" class="button rounded grayoutline tiny category">Life</a> <h5 class="title"><a href="https://ahmadawais.com/github-stars/">GitHub Stars Award</a></h5> 325 <section class="meta"> 326 Posted 327 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 328 <span class="date">on <a href="https://ahmadawais.com/github-stars/"><i class="fa fa-clock-o"></i> <time datetime="2020-08-07">August 7, 2020</time></a></span> 329 </section> 330 </div> 331 </div> 332 <p class="excerpt">After creating open-source software for about a decade, I've been awarded a GitHub Star by folks who run GitHub. Wrote a little something...</p> 333 </article> 334 <article class="post"> 335 <div class="top"> 336 <a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/" class="thumbnail"> 337 <i class="fa fa-link"></i> 338 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2022/01/wordle-solved-ahmad-awais-150x150.jpg');"></span> 339 </a> 340 <div class="info"> 341 <a href="https://ahmadawais.com/category/life/" class="button rounded grayoutline tiny category">Life</a> <h5 class="title"><a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/">Wordle Solved: Reverse Engineering and Hacking Wor...</a></h5> 342 <section class="meta"> 343 Posted 344 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 345 <span class="date">on <a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/"><i class="fa fa-clock-o"></i> <time datetime="2022-01-01">January 1, 2022</time></a></span> 346 </section> 347 </div> 348 </div> 349 <p class="excerpt">The story of how Awais reverse-engineered the famous Wordle game and built not one, not two, but three small tools to help developers...</p> 350 </article> 351 <article class="post"> 352 <div class="top"> 353 <a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/" class="thumbnail"> 354 <i class="fa fa-link"></i> 355 <span style="background-image:url('https://ahmadawais.com/wp-content/uploads/2022/02/2021-Ahmad-Awais-DevRel-RapidAPI-150x150.jpg');"></span> 356 </a> 357 <div class="info"> 358 <a href="https://ahmadawais.com/category/life/" class="button rounded grayoutline tiny category">Life</a> <h5 class="title"><a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/">ð RapidAPI DevRel 2021 Year in Review: 20M Deve...</a></h5> 359 <section class="meta"> 360 Posted 361 <span class="author">by <a href="https://ahmadawais.com/author/ahmad-awais/"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=24" class="gravatarsmall" alt=""> Ahmad Awais</a></span> 362 <span class="date">on <a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/"><i class="fa fa-clock-o"></i> <time datetime="2022-02-13">February 13, 2022</time></a></span> 363 </section> 364 </div> 365 </div> 366 <p class="excerpt">It’s 8 am on a fine Saturday morning. I’m sitting here in the park at Union Square, San Francisco â prepping for the...</p> 367 </article> 368 </section> 369 <section class="widget copyright parent"> 370 <div class="child"> 371 <h2 class="domain"><a href="https://AhmadAwais.com/">Ahmad Awais</a></h2> 372 <p class="main">VP of Developer Relations (DevRel, DX Eng., Dev Content Docs). <a href="https://Awais.dev/hiring">I'm Hiring!</a><br class="xtab" />Helping businesses build developer-led adoption for 15+ yrs. 373 </p> 374 <p class="main">
375 Copyright © <a href="https://AhmadAwais.com/">Ahmad Awais</a> 2003 - 2026. All rights reserved. 376 <br class="xsmall" /> 377 <a href="https://awais.dev/kinsta" rel="nofollow external">Proudly published with WordPress & hosted with Kinsta</a>. 378 </p> 379 <p class="main terms"> 380 <a href="https://AhmadAwais.com/terms">Terms</a> • <a href="https://AhmadAwais.com/privacy"> Privacy</a> • <a href="https://AhmadAwais.com/disclaimer">Disclaimer</a> 381 </p> 382 </div> 383 384 <div class="child"> 385 <ul> 386 <li><a href="/contact/">ð¤ Contact</a> <a href="/subscribe/">ð¨ Newsletter</a> <a href="/feed/">ð RSS <span class="xsmall">Feed</span></a></li> 387 <li><a href="/courses/">⨠Courses</a> <a href="/talks/">ð Talks</a> <a href="/uses/">âï¸ Uses</a> <a href="/press/">ð° Press</a></li> 388 <li>ð Learn automation <a href="https://nodecli.com/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member">build Node.js CLI</a></li> 389 <li>ð Become a <a href="https://vscode.pro/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member" rel="nofollow external">VSCode Power User</a></li> 390 <li>ð <a href="/about/">Who is Ahmad Awais?</a></li> 391 </ul> 392 <ul class="social"> 393 <li><a href="https://twitter.com/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton twitter"><i class="fa fa-twitter"></i></a></li> 394 <li><a href="https://github.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton github"><i class="fa fa-github"></i></a></li> 395 <li><a href="https://www.linkedin.com/in/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton linkedin"><i class="fa fa-linkedin"></i></a></li> 396 <li><a href="https://www.youtube.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton youtube"><i class="fa fa-youtube"></i></a></li> 397 <li class="xsmall"><a href="https://dribbble.com/ahmadawais" target="_blank" rel="noreferrer noopener" class="socialbutton dribbble"><i class="fa fa-dribbble"></i></a></li> 398 <li class="xsmall"><a href="https://fb.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton facebook"><i class="fa fa-facebook"></i></a></li> 399 <li class="xsmall"><a href="https://www.instagram.com/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton instagram"><i class="fa fa-instagram"></i></a></li> 400 <li><a href="https://stackoverflow.com/users/950111/ahmad-awais?tab=profile" target="_blank" rel="noreferrer noopener" class="socialbutton stackoverflow"><i class="fa fa-stack-overflow"></i></a></li> 401 <!-- <li><a href="" target="_blank" rel="noreferrer noopener" class="socialbutton reddit"><i class="fa fa-reddit"></i></a></li> 402 <li><a href="" target="_blank" rel="noreferrer noopener" class="socialbutton twitch"><i class="fa fa-twitch"></i></a></li> 403 --> 404 </ul> 405 406 </div> 407 408</section> 409 </section> 410 <main class="pagewrapper"> 411 412 413 <section class="cover front" data-height="65"> 414 <div class="background" style="background-image:url('https://ahmadawais.com/wp-content/uploads/2023/01/bgpurpleo.jpg');"> 415 <video src="https://ahmadawais.com/wp-content/uploads/2023/01/bg.mp4" playsinline="" preload="metadata" autoplay="" muted="" loop="" style="display:block;object-fit:cover;width:100%;height:100%;"></video> 416 </div> 417 <div class="patternbg"></div> 418 419 <header class="bloginfo transparent"> 420 <div class="title"> 421 <a href="https://ahmadawais.com">Ahmad Awais</a> 422 </div> 423 <nav class="main light"> 424 <div class="menu-live-container"><ul id="menu-live-2" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-356"><a href="/about/">ABOUT</a></li> 425<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6714"><a href="https://ahmadawais.com/talks/">TALKS</a></li> 426<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2704"><a href="https://ahmadawais.com/newsletter/">NEWSLETTER</a></li> 427<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7403"><a href="https://ahmadawais.com/uses/">USES</a></li> 428<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7401"><a href="https://ahmadawais.com/courses/">COURSES</a></li> 429<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-357"><a href="/contact/">CONTACT</a></li> 430</ul></div> <ul> 431 <li class="option searchnav"><span class="showsearch"><i class="fa fa-search"></i></span></li> 432 <li class="option drawernav"><span class="showdrawer"><i class="fa fa-navicon"></i></span></li> 433 </ul> 434 </nav> 435 </header> <section class="blogtitle wrapper"> 436 <a href="https://AhmadAwais.com/about"> 437 <h1 itemprop="headline" style="text-align: left;"> 438 <img src="https://github.com/AhmadAwais.png" itemprop="image" alt="Ahmad Awais"> 439 Ahmad Awais 440 </h1> 441 </a> 442 <p class="description" style="text-align: left;" itemprop="description">Founder & CEO of â <a href="https://commandcode.ai" target="_blank" rel="noopener">Command Code</a> coding agent with taste. Founded <a href="https://langbase.com" target="_blank" rel="noopener">Langbase.com</a>, <a href="https://langbase.com/agents" target="_blank" rel="noopener">AI cloud</a> to build, deploy, and scale AI agents with tools & memory · Creator of <a href="https://command.new" target="_blank" rel="noopener">Command.new</a>. 443 444<br /><br /> 445 446<em><a href="https://x.com/MrAhmadAwais/status/1415693462238896139">"Awais is an awesome example for developers"</a></em> â Satya Nadella, CEO of Microsoft. 447 448<br /><br /> 449 450<a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/">NASA Mars Ingenuity Helicopter mission code contributor</a> <a href="https://ahmadawais.com/github-stars/">8th GitHub Stars Award recipient</a> with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). <a href="https://ahmadawais.com/google-developers-expert/">Google Developers Expert Web DevRel</a>. 451 452<br /><br /> 453 454Ex VP Eng (DevTools & DevRel) Rapid · Google Developers Advisory Board (gDAB) founding member · AI/ML/DevTools <a href="https://www.aiangels.fund/" rel="nofollow external noopener noreferrer" target="_blank">Angel Investor</a> (Replit, Resend, Daytona, Gumroad and <a href="/contact">you</a>?) ⯠<a href="https://www.aiangels.fund/" rel="nofollow external noopener noreferrer" target="_blank">AI/ML Advisory Board</a> San Francisco, DevNetwork. 455 456<br /><br /> 457 458<a href="https://ahmadawais.com/github-stars/">Award-winning Open Source Engineering leader</a> authored hundreds of <a href="https://github.com/ahmadawais" rel="nofollow external noopener noreferrer" target="_blank">open-source dev-tools and software libraries</a> used by millions of developers, including <a href="https://github.com/ahmadawais/shades-of-purple-vscode#put-shades-of-purple-in-other-places" rel="nofollow external noopener noreferrer" target="_blank">Shades of Purple</a> code theme and <a href="https://github.com/ahmadawais/corona-cli" rel="nofollow external noopener noreferrer" target="_blank">corona-cli</a>. 459 460<br /><br /> 461 462<spa>Linux Foundation</spa> (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via <a href="https://NodeCLI.com/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=ahmadawais.com">NodeCLI.com</a> and <a href="https://VSCode.pro/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=ahmadawais.com">VSCode.pro</a> course. 274 million views, blogging for 24 yrs. 463 464<br /><br /> 465 466⯠Read more about <a href="https://AhmadAwais.com/about">Ahmad Awais</a> or come say hi on ð <a href="https://x.com/intent/follow?screen_name=MrAhmadAwais">@MrAhmadAwais</a>.</p> 467 468 <div class="socialButtons" style="justify-content: left;"> 469 <div class=""> 470 <!--
470<script async defer src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
470 471 <a class="twitter-follow-button" data-size="large" data-show-screen-name="false" aria-label="Follow Ahmad Awais on X" href="https://twitter.com/MrAhmadAwais"> 472 ⯠X 473 </a> --> 474 475 <style> 476 .xbtn-widget { 477 display: inline-flex; 478 overflow: hidden; 479 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; 480 font-size: 0; 481 line-height: 0; 482 white-space: nowrap; 483 } 484 485 .xbtn-btn { 486 display: inline-flex; 487 align-items: center; 488 height: 16px; 489 padding: 5px 10px !important; 490 font-size: 12px; 491 font-weight: 600; 492 line-height: 16px; 493 vertical-align: bottom; 494 cursor: pointer; 495 user-select: none; 496 text-decoration: none; 497 border: 1px solid #d1d9e0; 498 border-radius: .25em; 499 color: #25292e; 500 background-color: #ebf0f4; 501 background-image: linear-gradient(180deg, #f6f8fa, #ebf0f4 90%); 502 transition: background-position 0.1s ease; 503 } 504 505 .xbtn-btn:hover, 506 .xbtn-btn:focus { 507 background-color: #e5eaee; 508 background-position: 0 -0.5em; 509 border-color: #d1d9e0; 510 background-image: linear-gradient(180deg, #eff2f5, #e5eaee 90%); 511 } 512 513 .xbtn-btn:active { 514 background-color: #e6eaef; 515 border-color: #d1d9e0; 516 background-image: none; 517 } 518 519 .xbtn-btn:focus-visible { 520 outline: 2px solid #0969da; 521 outline-offset: -2px; 522 } 523 524 .xbtn-logo { 525 display: inline-block; 526 width: 14px; 527 height: 14px; 528 margin-right: 4px; 529 fill: currentColor; 530 } 531 532 @media (prefers-color-scheme: dark) { 533 .xbtn-btn { 534 color: #f0f6fc; 535 background-color: #1a2026; 536 border-color: #3d444d; 537 background-image: linear-gradient(180deg, #212830, #1a2026 90%); 538 } 539 540 .xbtn-btn:hover, 541 .xbtn-btn:focus { 542 background-color: #1f242c; 543 border-color: #3d444d; 544 background-image: linear-gradient(180deg, #262c36, #1f242c 90%); 545 } 546 547 .xbtn-btn:active { 548 background-color: #2a313c; 549 border-color: #3d444d; 550 background-image: none; 551 } 552 553 .xbtn-btn:focus-visible { 554 outline: 2px solid #1f6feb; 555 } 556 } 557 </style> 558 <div class="xbtn-widget"> 559 <a class="xbtn-btn" href="https://x.com/MrAhmadAwais" rel="noopener" target="_blank" aria-label="Follow Ahmad Awais on X" style="padding: 1rem !important; margin-right: 0.5rem;"> 560 <svg class="xbtn-logo" viewBox="0 0 24 24" aria-hidden="true"> 561 <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" /> 562 </svg> 563 <span>@MrAhmadAwais</span> 564 </a> 565 </div> 566 </div> 567 568 <div class=""> 569 <div class="xbtn-widget"> 570 <a class="xbtn-btn" href="https://github.com/AhmadAwais" rel="noopener" target="_blank" aria-label="Follow Ahmad Awais on GitHub" style="padding: 1rem !important;"> 571 <svg class="xbtn-logo" viewBox="0 0 16 16" aria-hidden="true"> 572 <path fill-rule="evenodd" d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z" /> 573 574 </svg> 575 <span>Follow @AhmadAwais</span> 576 </a> 577 </div> 578 579 <!--
579<script async defer src="https://buttons.github.io/buttons.js"></script>
579 580 <a class="github-button" href="https://github.com/AhmadAwais" data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large" data-show-count="true" aria-label="Follow @AhmadAwais on GitHub">Follow @AhmadAwais</a> --> 581 </div> 582 </div> 583 <hr> 584 </section> 585 <div class="mouse"> 586 <div class="scroll"></div> 587 </div> 588 </section> 589 590<section class="postcontents wrapper homeList"> 591 592 593 <ul> 594 <li><strong><a href="https://AhmadAwais.com/courses">Courses and books</a></strong><br> 595 <em>Professional development courses and books by Ahmad Awais</em> 596 </li> 597 <li><a href="https://AhmadAwais.com/talks"><strong>Talks, Conferences, Workshops</strong></a><strong></strong><br> 598 <em>Ahmad's list of talks and other speaking engagements</em> 599 </li> 600 <li><a href="https://AhmadAwais.com/subscribe"><strong>Newsletter</strong></a><strong></strong><br> 601 <em>The Developer Takeaway newsletter by Ahmad Awais</em> 602 </li> 603 <li><a href="https://AhmadAwais.com/uses"><strong>Uses page</strong></a><strong></strong><br> 604 <em>Ahmad uses these software & hardware products</em> 605 </li> 606 <li><a href="https://AhmadAwais.com/bio"><strong>Speaker Bio and Press Kit</strong></a><strong></strong><br> 607 <em>Includes up-to-date bio, links, and images of Ahmad Awais</em> 608 </li> 609 <li><a href="https://AhmadAwais.com/press"><strong>Press Mentions, Media Coverage, Awards</strong></a><strong></strong><br> 610 <em>A non-exhaustive list of press, media coverage, and awards</em> 611 </li> 612 <li><a href="https://AhmadAwais.com/contact"><strong>Contact / Email</strong></a><strong></strong><br> 613 <em>The best way to get in touch with Ahmad Awais</em> 614 </li> 615 </ul> 616 <hr> 617 <p style="text-align: left;">Accomplished engineering leader; <a href="https://ahmadawais.com/shades-of-purple/">who loves the purple color</a>. 618 <br><span style="color: #323264;"><em>purple is genius!</em></span></p> 619 <p>I like computers, problems, and using the former to solve the latter. I believe in elegance over adequacy, thoughtfulness over impulse, and the wonder of the world as we see it. I have been developing and designing web pages since the early days of tables and spacers. And no â Iâve never used the scrolling marquee with Comic Sans fonts. <img draggable="false" role="img" class="emoji" alt="ð " src="https://s.w.org/images/core/emoji/14.0.0/svg/1f605.svg" data-no-retina="true"></p> 620 <hr> 621 622 623</section> 624 625<div class="postcontents full"> 626<p><a href="/about"><img decoding="async" loading="lazy" class="alignnone wp-image-7862 size-full homeLogos" src="https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled.jpg" alt="Millions of developers use Ahmad Awais Code" width="2560" height="890" srcset="https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled.jpg 2560w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-300x104.jpg 300w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1024x356.jpg 1024w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-768x267.jpg 768w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1536x534.jpg 1536w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-2048x712.jpg 2048w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1680x584.jpg 1680w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-860x299.jpg 860w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-680x236.jpg 680w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-400x139.jpg 400w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-50x17.jpg 50w" sizes="(max-width: 2560px) 100v
626w, 2560px" data-no-retina="true"><noscript><img loading="lazy" decoding="async" loading="lazy" class="alignnone wp-image-7862 size-full" src="https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled.jpg" alt="Millions of developers use Ahmad Awais Code" width="2560" height="890" srcset="https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled.jpg 2560w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-300x104.jpg 300w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1024x356.jpg 1024w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-768x267.jpg 768w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1536x534.jpg 1536w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-2048x712.jpg 2048w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-1680x584.jpg 1680w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-860x299.jpg 860w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-680x236.jpg 680w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-400x139.jpg 400w, https://ahmadawais.com/wp-content/uploads/2022/08/ahmad-awais-logos-scaled-50x17.jpg 50w" sizes="(max-width: 2560px) 100v
626w, 2560px" /></noscript></a></p></div> 627 628 629 630 631 <section class="postlist"> 632 <article id="post-3685" class="postitem post type-post status-publish format-standard has-post-thumbnail sticky hentry tag-year-in-review"> 633 <div class="xwrapper"> 634 635 </div> 636 </article> 637 638 639 <article id="post-8193" class="postitem post-8193 post type-post status-publish format-standard has-post-thumbnail hentry category-code tag-ai tag-cli"> 640 <div class="wrapper"> 641 <ul class="meta"> 642 <li class="category"><a style="background:#635CFF;" href="https://ahmadawais.com/category/code/">Code</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 643 <li class="readtime"><a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/">40 Min Read</a></li> 644 <li class="date"><a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/"><time datetime="2026-02-17">February 17, 2026</time></a></li> 645 </ul> 646 <h2 class="title"><a href="https://ahmadawais.com/the-full-stack-of-terminals-explained-terminal-shell-tty-console-posix-ansi-escapes-ptys/">The Full Stack of Terminals Explained: Terminal, Shell, TTY, Console, POSIX, ANSI Escapes, PTYs, Raw/Canonical Modes</a></h2> 647 <p class="excerpt">Most developers use a terminal for years before realizing they don’t actually know what a terminal is. They know how to use one. They couldn’t define one. This is fine, in the same way that most people drive cars without understanding combustion. But every so often, something breaks in a way that makes the distinction matter, and [...]</p> 648 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 649 </div> 650 </article> 651 652 653 654 <article id="post-8123" class="postitem post-8123 post type-post status-publish format-standard hentry category-life"> 655 <div class="wrapper"> 656 <ul class="meta"> 657 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 658 <li class="readtime"><a href="https://ahmadawais.com/things-im-proud-of-i-believe-and-some-more/">6 Min Read</a></li> 659 <li class="date"><a href="https://ahmadawais.com/things-im-proud-of-i-believe-and-some-more/"><time datetime="2025-08-21">August 21, 2025</time></a></li> 660 </ul> 661 <h2 class="title"><a href="https://ahmadawais.com/things-im-proud-of-i-believe-and-some-more/">things i’m proud of, I believe, and some more!</a></h2> 662 <p class="excerpt">ð hey it’s Ahmad Awais, nice to meet you. i’m founder & ceo at CommandCode (coding agent with continuous learning of your coding taste) f/k/a langbase (AI cloud) where we help developers build, deploy, and scale serverless AI agents with tools and memory. things i’m proud of# founding CommandCode with meta neuro-symbolic [...]</p> 663 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 664 </div> 665 </article> 666 667 668 669 <article id="post-8179" class="postitem post-8179 post type-post status-publish format-standard hentry category-ai"> 670 <div class="wrapper"> 671 <ul class="meta"> 672 <li class="category"><a style="background:#000000;" href="https://ahmadawais.com/category/ai/">AI</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 673 <li class="readtime"><a href="https://ahmadawais.com/coding-agents-are-getting-scary-good-at-things-that-are-not-even-related-to-code/">1 Min Read</a></li> 674 <li class="date"><a href="https://ahmadawais.com/coding-agents-are-getting-scary-good-at-things-that-are-not-even-related-to-code/"><time datetime="2026-01-19">January 19, 2026</time></a></li> 675 </ul> 676 <h2 class="title"><a href="https://ahmadawais.com/coding-agents-are-getting-scary-good-at-things-that-are-not-even-related-to-code/">Coding agents are getting scary good at things that are not even related to code</a></h2> 677 <p class="excerpt">The other day, I had a bug where some of my SetApp apps config won’t load when I’d restart my Mac. I do use mackup which has had its fair share of issues lately. But I never could figure out what was going wrong. I was using Dropbox to backup and symlink all my system configurations. I gave this task to three agents, @Claudeai, [...]</p> 678 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 679 </div> 680 </article> 681 682 683 684 <article id="post-7916" class="postitem post-7916 post type-post status-publish format-standard has-post-thumbnail hentry category-web tag-dev-ex
684perience tag-devrel tag-dx"> 685 <div class="wrapper"> 686 <ul class="meta"> 687 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 688 <li class="readtime"><a href="https://ahmadawais.com/home-shortcut/">3 Min Read</a></li> 689 <li class="date"><a href="https://ahmadawais.com/home-shortcut/"><time datetime="2023-01-15">January 15, 2023</time></a></li> 690 </ul> 691 <h2 class="title"><a href="https://ahmadawais.com/home-shortcut/">Improve Developer Experience: The /home shortcut</a></h2> 692 <p class="excerpt">tl;dr: When I’m logged into a SaaS app, it’s super hard to access the company’s homepage unless I log out. I want every company to do a domain.tld/home shortcut so I can check out their homepage. Do that; it’s an excellent developer experience. As developers, we often find ourselves constantly switching between different [...]</p> 693 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 694 </div> 695 </article> 696 697 698 699 <article id="post-7949" class="postitem post-7949 post type-post status-publish format-standard hentry category-life tag-shades-of-purple"> 700 <div class="wrapper"> 701 <ul class="meta"> 702 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 703 <li class="readtime"><a href="https://ahmadawais.com/celebrating-shades-of-purple-theme/">3 Min Read</a></li> 704 <li class="date"><a href="https://ahmadawais.com/celebrating-shades-of-purple-theme/"><time datetime="2023-05-25">May 25, 2023</time></a></li> 705 </ul> 706 <h2 class="title"><a href="https://ahmadawais.com/celebrating-shades-of-purple-theme/">Celebrating over 5M+ Devs using Shades of Purple Code Theme ð¦</a></h2> 707 <p class="excerpt">I love the purple color; purple is genius. Several years ago, I launched the Shades of Purple code theme; today, I’m celebrating over 3 million developers using it to write code with 15+ software. Update 2025: Over 5M developer machines run Shades of Purple now!! I believe software should be elegant, not just adequate. Development should [...]</p> 708 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 709 </div> 710 </article> 711 712 713 714 <article id="post-7433" class="postitem post-7433 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-ingenuity-mars-helicopter-code tag-mars"> 715 <div class="wrapper"> 716 <ul class="meta"> 717 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 718 <li class="readtime"><a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/">8 Min Read</a></li> 719 <li class="date"><a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/"><time datetime="2021-04-27">April 27, 2021</time></a></li> 720 </ul> 721 <h2 class="title"><a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/">My Open Source Code Contribution to NASAâs Ingenuity Helicopter Goes to Mars ð</a></h2> 722 <p class="excerpt">When I was a kid, I wanted to be an astronautâexploring space and whatnot. But I was afraid of heights, told my mom I'll settle as a scientist who'd invent things like rockets. Later I became an Electrical Engineer â switched to Computer Science and wrote a lot of open-source code. Less did I know my code will make it to Mars one day.</p> 723 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 724 </div> 725 </article> 726 727 728 729 <article id="post-7591" class="postitem post-7591 post type-post status-publish format-standard has-post-thumbnail hentry category-bash category-web tag-ffmpeg tag-video-editing">
730 <div class="wrapper"> 731 <ul class="meta"> 732 <li class="category"><a style="background:#2E2F3E;" href="https://ahmadawais.com/category/bash/">Bash</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 733 <li class="readtime"><a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/">7 Min Read</a></li> 734 <li class="date"><a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/"><time datetime="2021-05-27">May 27, 2021</time></a></li> 735 </ul> 736 <h2 class="title"><a href="https://ahmadawais.com/ffmpeg-command-line-audio-video-workflows/">My Command Line Audio Video Workflows with FFmpeg</a></h2> 737 <p class="excerpt">If you know anything about me then you know I love automating anything and everything. I even have a complete course on building automation CLI tools with Node.js. In this post, I am sharing a couple of super useful ffmpeg workflows. FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for [...]</p> 738 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 739 </div> 740 </article> 741 742 743 744 <article id="post-6901" class="postitem post-6901 post type-post status-publish format-standard has-post-thumbnail hentry category-business"> 745 <div class="wrapper"> 746 <ul class="meta"> 747 <li class="category"><a style="background:#037ef3;" href="https://ahmadawais.com/category/business/">Business</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 748 <li class="readtime"><a href="https://ahmadawais.com/custom-teaching-platform/">20 Min Read</a></li> 749 <li class="date"><a href="https://ahmadawais.com/custom-teaching-platform/"><time datetime="2020-04-17">April 17, 2020</time></a></li> 750 </ul> 751 <h2 class="title"><a href="https://ahmadawais.com/custom-teaching-platform/">How I Built My Own Teaching Platform</a></h2> 752 <p class="excerpt">I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com</p> 753 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 754 </div> 755 </article> 756 757 758 759 <article id="post-6916" class="postitem post-6916 post type-post status-publish format-standard has-post-thumbnail hentry category-javascript tag-cli tag-corona tag-track-covid19"> 760 <div class="wrapper"> 761 <ul class="meta"> 762 <li class="category"><a style="background:#635CFF;" href="https://ahmadawais.com/category/javascript/">JavaScript</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 763 <li class="readtime"><a href="https://ahmadawais.com/corona-cli/">7 Min Read</a></li> 764 <li class="date"><a href="https://ahmadawais.com/corona-cli/"><time datetime="2020-04-17">April 17, 2020</time></a></li> 765 </ul> 766 <h2 class="title"><a href="https://ahmadawais.com/corona-cli/">corona-cli <br>My Open-source COVID19 Tracking CLI Tool</a></h2> 767 <p class="excerpt">While trying to keep up with COVID19 I built a CLI to avoid all the UIs and bad information out there. Picked a couple of authentic sources (listed at the end) and built a command-line tracker. Open-sourced it and everyone liked it, got trending on #1 in the JavaScript category for days.</p> 768 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 769 </div> 770 </article> 771 772 773 774 <article id="post-8036" class="postitem post-8036 post type-post status-publish format-standard has-post-thumbnail hentry category-bash category-devops tag-cloudflare tag-ssl"> 775 <div class="wrapper"> 776 <ul class="meta"> 777 <li class="category"><a style="background:#2E2F3E;" href="https://ahmadawais.com/category/bash/">Bash</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 778 <li class="readtime"><a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/">2 Min Read</a></li> 779 <li class="date"><a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/"><time datetime="2024-06-08">June 8, 2024</time></a></li> 780 </ul> 781 <h2 class="title"><a href="https://ahmadawais.com/reissue-cloudflare-ssl-certificate-manually/">Reissue Cloudflare SSL Certificate Manually</a></h2> 782 <p class="excerpt">
782Just now, I was banging my head on the table trying to figure out how to renew or manually reissue a new free SSL certificate for a domain on Cloudflare. TBH, it’s not obvious in the docs. Here goes nothing ⦠How to renew or reissue a free SSL Certificate from Cloudflare in ten minutes!# Go to your domain on Cloudflare Head over to [...]</p> 783 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 784 </div> 785 </article> 786 787 788 789 <article id="post-7217" class="postitem post-7217 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-award tag-github tag-github-stars"> 790 <div class="wrapper"> 791 <ul class="meta"> 792 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 793 <li class="readtime"><a href="https://ahmadawais.com/github-stars/">5 Min Read</a></li> 794 <li class="date"><a href="https://ahmadawais.com/github-stars/"><time datetime="2020-08-07">August 7, 2020</time></a></li> 795 </ul> 796 <h2 class="title"><a href="https://ahmadawais.com/github-stars/">GitHub Stars Award</a></h2> 797 <p class="excerpt">After creating open-source software for about a decade, I've been awarded a GitHub Star by folks who run GitHub. Wrote a little something about that.</p> 798 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 799 </div> 800 </article> 801 802 803 804 <article id="post-8000" class="postitem post-8000 post type-post status-publish format-standard hentry category-web tag-next-js tag-supabase"> 805 <div class="wrapper"> 806 <ul class="meta"> 807 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 808 <li class="readtime"><a href="https://ahmadawais.com/supabase-with-next-js-app-router-fix-for-invariant-cookies-expects-to-have-requestasyncstorage-none-available/">3 Min Read</a></li> 809 <li class="date"><a href="https://ahmadawais.com/supabase-with-next-js-app-router-fix-for-invariant-cookies-expects-to-have-requestasyncstorage-none-available/"><time datetime="2023-10-13">October 13, 2023</time></a></li> 810 </ul> 811 <h2 class="title"><a href="https://ahmadawais.com/supabase-with-next-js-app-router-fix-for-invariant-cookies-expects-to-have-requestasyncstorage-none-available/">Supabase with Next.js App Router Fix for Invariant: cookies() expects to have requestAsyncStorage, none available</a></h2> 812 <p class="excerpt">Next.js App router is pretty awesome. Sadly, it’s super new. The errors you face are sometimes hard to debug as you can’t see where it’s coming from and why. I hope they fix it soon. Supabase is pretty awesome, too. I’ve been using it as a backend, database, file storage, and, most importantly, as an authentication [...]</p> 813 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 814 </div> 815 </article> 816 817 818 819 <article id="post-7945" class="postitem post-7945 post type-post status-publish format-standard hentry category-web tag-next-js"> 820 <div class="wrapper"> 821 <ul class="meta"> 822 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 823 <li class="readtime"><a href="https://ahmadawais.com/promise-is-not-a-valid-jsx-element-async-react-server-component-typescript-error-in-next-js/">1 Min Read</a></li> 824 <li class="date"><a href="https://ahmadawais.com/promise-is-not-a-valid-jsx-element-async-react-server-component-typescript-error-in-next-js/"><time datetime="2023-05-24">May 24, 2023</time></a></li> 825 </ul> 826 <h2 class="title"><a href="https://ahmadawais.com/promise-is-not-a-valid-jsx-element-async-react-server-component-typescript-error-in-next-js/">‘Promise<Element>‘ is not a valid JSX element | Async React Server Component TypeScript Error in Next.js</a></h2> 827 <p class="excerpt">You might have encountered the "'Promise<Element>' is not a valid JSX element type" error. But fret not because there's a quick fix! Async React Server Component TypeScript Error in Next.js.</p> 828 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 829 </div> 830 </article> 831 832 833 834 <article id="post-7753" class="postitem post-7753 post type-post status-publish format-standard has-post-thumbnail hentry category-life">
835 <div class="wrapper"> 836 <ul class="meta"> 837 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 838 <li class="readtime"><a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/">8 Min Read</a></li> 839 <li class="date"><a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/"><time datetime="2022-01-01">January 1, 2022</time></a></li> 840 </ul> 841 <h2 class="title"><a href="https://ahmadawais.com/wordle-solved-reverse-engineering-and-hacking-wordle/">Wordle Solved: Reverse Engineering and Hacking Wordle</a></h2> 842 <p class="excerpt">The story of how Awais reverse-engineered the famous Wordle game and built not one, not two, but three small tools to help developers and non-developers solve Wordle.</p> 843 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 844 </div> 845 </article> 846 847 848 849 <article id="post-7954" class="postitem post-7954 post type-post status-publish format-standard hentry category-general tag-python"> 850 <div class="wrapper"> 851 <ul class="meta"> 852 <li class="category"><a style="background:#574B90;" href="https://ahmadawais.com/category/general/">General</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 853 <li class="readtime"><a href="https://ahmadawais.com/python-not-found-on-macos-install-python-with-brew-fix-path/">4 Min Read</a></li> 854 <li class="date"><a href="https://ahmadawais.com/python-not-found-on-macos-install-python-with-brew-fix-path/"><time datetime="2023-06-12">June 12, 2023</time></a></li> 855 </ul> 856 <h2 class="title"><a href="https://ahmadawais.com/python-not-found-on-macos-install-python-with-brew-fix-path/">Python not found on MacOS | Install Python with brew | Fix $PATH</a></h2> 857 <p class="excerpt">Learn how to update Python on macOS and make Python 3.11 the default version. Follow step-by-step instructions to install Python via Homebrew, configure the $PATH variable, and start a new login shell. Say goodbye to "command not found: python" and enjoy the latest Python version on your Mac.</p> 858 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 859 </div> 860 </article> 861 862 863 864 <article id="post-7903" class="postitem post-7903 post type-post status-publish format-standard hentry category-software"> 865 <div class="wrapper"> 866 <ul class="meta"> 867 <li class="category"><a style="background:#0085c3;" href="https://ahmadawais.com/category/software/">Software</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 868 <li class="readtime"><a href="https://ahmadawais.com/developer-relations-rap-song/">1 Min Read</a></li> 869 <li class="date"><a href="https://ahmadawais.com/developer-relations-rap-song/"><time datetime="2023-01-09">January 9, 2023</time></a></li> 870 </ul> 871 <h2 class="title"><a href="https://ahmadawais.com/developer-relations-rap-song/">Developer Relations Rap Song (Use it if you will)</a></h2> 872 <p class="excerpt">[Verse 1] We’re the Developer Relations team, at the top of our game We bring developers and the company together, it’s a beautiful thing Our tools are the best, with features that impress But without a strong team, it would all be a mess [Chorus] We’re the glue that holds it all together Without us, the company would fall [...]</p> 873 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 874 </div> 875 </article> 876 877 878 879 <article id="post-7938" class="postitem post-7938 post type-post status-publish format-standard hentry category-general tag-inaction tag-productivity"> 880 <div class="wrapper"> 881 <ul class="meta"> 882 <li class="category"><a style="background:#574B90;" href="https://ahmadawais.com/category/general/">General</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 883 <li class="readtime"><a href="https://ahmadawais.com/the-excuse-epidemic-inaction-the-paralysis-of-analysis/">4 Min Read</a></li> 884 <li class="date"><a href="https://ahmadawais.com/the-excuse-epidemic-inaction-the-paralysis-of-analysis/"><time datetime="2023-04-01">April 1, 2023</time></a></li> 885 </ul> 886 <h2 class="title"><a href="https://ahmadawais.com/the-excuse-epidemic-inaction-the-paralysis-of-analysis/">The Excuse Epidemic: Inaction & The Paralysis of Analysis</a></h2> 887 <p class="excerpt">Overcome the excuse epidemic and take action today. Break free from analysis paralysis to improve your life. Don't let inaction hold you back.</p> 888 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 889 </div> 890 </article> 891 892 893 894 <article id="post-7817" class="postitem post-7817 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-devrel tag-rapidapi"> 895 <div class="wrapper"> 896 <ul class="meta"> 897 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 898 <li class="readtime"><a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/">20 Min Read</a></li> 899 <li class="date"><a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/"><time datetime="2022-02-13">February 13, 2022</time></a></li> 900 </ul> 901 <h2 class="title"><a href="https://ahmadawais.com/rapidapi-devrel-2021-year-in-review/">ð RapidAPI DevRel 2021 Year in Review: 20M Developers, Learn Platform, Teaching & Helping Developers!</a></h2> 902 <p class="excerpt">It’s 8 am on a fine Saturday morning. I’m sitting here in the park at Union Square, San Francisco â prepping for the company 2022 kick-off next week. The work new year has just begun. Yep, today it’s December 74, 2021 (ð not a typo). I can’t help but look back at 2021, a year well spent. In this blog post today, [...]</p> 903 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 904 </div> 905 </article> 906 907 908 909 <article id="post-7727" class="postitem post-7727 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-award tag-corona tag-mongodb"> 910 <div class="wrapper"> 911 <ul class="meta"> 912 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 913 <li class="readtime"><a href="https://ahmadawais.com/won-mongodb-innovation-award-front-line-heroes-2021-corona-cli/">5 Min Read</a></li> 914 <li class="date"><a href="https://ahmadawais.com/won-mongodb-innovation-award-front-line-heroes-2021-corona-cli/"><time datetime="2021-11-24">November 24, 2021</time></a></li> 915 </ul> 916 <h2 class="title"><a href="https://ahmadawais.com/won-mongodb-innovation-award-front-line-heroes-2021-corona-cli/">Won MongoDB Innovation Award: Front Line Heroes 2021 “corona-cli”</a></h2> 917 <p class="excerpt">Dev Ittycheria, CEO at MongoDB, has awarded Ahmad Awais with the MongoDB Innovation Award 2021 for the category of Front Line Heroes. Project: corona-cli. </p> 918 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 919 </div> 920 </article> 921 922 923 924 <article id="post-7730" class="postitem post-7730 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-helping-developers tag-stackoverflow"> 925 <div class="wrapper"> 926 <ul class="meta"> 927 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 928 <li class="readtime"><a href="https://ahmadawais.com/helped-9-5-million-developers-solve-coding-issues-via-stackoverflow/">2 Min Read</a></li> 929 <li class="date"><a href="https://ahmadawais.com/helped-9-5-million-developers-solve-coding-issues-via-stackoverflow/"><time datetime="2021-11-22">November 22, 2021</time></a></li> 930 </ul> 931 <h2 class="title"><a href="https://ahmadawais.com/helped-9-5-million-developers-solve-coding-issues-via-stackoverflow/">I Helped 9.5 Million Developers Solve Coding Issues via StackOverflow</a></h2> 932 <p class="excerpt">Ten years ago, I started giving back on StackOverflow. Today I’m celebrating that I have managed to help over 9.5 Million developers find solutions to their coding issues. That led to a 25,922 reputation and a top 0.37% profile this year. Humbled! 𥳠I studied Electrical Engineering in college and attempted Computer Science exams as [...]</p> 933 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 934 </div> 935 </article> 936 937 938 939 <article id="post-7600" class="postitem post-7600 post type-post status-publish format-standard has-post-thumbnail hentry category-web tag-devrel tag-hiring tag-rapidapi"> 940 <div class="wrapper"> 941 <ul class="meta"> 942 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 943 <li class="readtime"><a href="https://ahmadawais.com/hiring-developer-relations/">13 Min Read</a></li> 944 <li class="date"><a href="https://ahmadawais.com/hiring-developer-relations/"><time datetime="2021-06-04">June 4, 2021</time></a></li> 945 </ul> 946 <h2 class="title"><a href="https://ahmadawais.com/hiring-developer-relations/">Hiring the DevRel A-Team</a></h2> 947 <p class="excerpt">I have some pretty big news. I am hiring and extending RapidAPI’s Developer Relations (DevRel & DX) team. A team of developers, program engineers, developer advocates, and dev-community advocate roles. And I want you to be a part of it! This is your chance to join a DevRel A-Team and make a difference for over 50 million developers [...]</p> 948 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 949 </div> 950 </article> 951 952 953 954 <article id="post-7483" class="postitem post-7483 post type-post status-publish format-standard hentry category-tutorials tag-fork tag-git tag-sync-upstream"> 955 <div class="wrapper"> 956 <ul class="meta"> 957 <li class="category"><a style="background:#588BFA;" href="https://ahmadawais.com/category/tutorials/">Tutorials</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 958 <li class="readtime"><a href="https://ahmadawais.com/quick-tip-update-an-outdated-fork-on-github-with-a-click/">1 Min Read</a></li> 959 <li class="date"><a href="https://ahmadawais.com/quick-tip-update-an-outdated-fork-on-github-with-a-click/"><time datetime="2021-05-07">May 7, 2021</time></a></li> 960 </ul> 961 <h2 class="title"><a href="https://ahmadawais.com/quick-tip-update-an-outdated-fork-on-github-with-a-click/">Quick Tip: Update an outdated fork on GitHub with a click</a></h2> 962 <p class="excerpt">Developers fork repositories and forget about them. I mean until they need it again. But git’s moved on by then â your fork is probably suffering the same fate which is why you’re reading this. How should I update an outdated fork? Before today y
962ou had to do the following: git remote add upstream <clone-url> git fetch upstream [...]</p> 963 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 964 </div> 965 </article> 966 967 968 969 <article id="post-7375" class="postitem post-7375 post type-post status-publish format-standard has-post-thumbnail hentry category-web tag-react"> 970 <div class="wrapper"> 971 <ul class="meta"> 972 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 973 <li class="readtime"><a href="https://ahmadawais.com/react-server-components/">8 Min Read</a></li> 974 <li class="date"><a href="https://ahmadawais.com/react-server-components/"><time datetime="2020-12-22">December 22, 2020</time></a></li> 975 </ul> 976 <h2 class="title"><a href="https://ahmadawais.com/react-server-components/">React Server Components</a></h2> 977 <p class="excerpt">The React.js core team announced the RFC on React Server Components just now. Imagine React components that run only on the server and have zero impact on the client-side bundle-size. Hence zero-bundle-size. </p> 978 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 979 </div> 980 </article> 981 982 983 984 <article id="post-7708" class="postitem post-7708 post type-post status-publish format-standard hentry category-javascript"> 985 <div class="wrapper"> 986 <ul class="meta"> 987 <li class="category"><a style="background:#635CFF;" href="https://ahmadawais.com/category/javascript/">JavaScript</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 988 <li class="readtime"><a href="https://ahmadawais.com/vercel-edge-functions-next-js/">20 Min Read</a></li> 989 <li class="date"><a href="https://ahmadawais.com/vercel-edge-functions-next-js/"><time datetime="2021-10-26">October 26, 2021</time></a></li> 990 </ul> 991 <h2 class="title"><a href="https://ahmadawais.com/vercel-edge-functions-next-js/">Vercel Edge Functions with Next.js</a></h2> 992 <p class="excerpt">Vercel’s Edge Functions to be used with Next.js (v12) announced today at the second Next.js Conference look pretty amazing. Now everyone building on Next.js using Vercel will have access to a super useful middleware. I’ll be deleting a bunch of infrastructure code and probably thousands of lines of code that I have now for things [...]</p> 993 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 994 </div> 995 </article> 996 997 998 999 <article id="post-7356" class="postitem post-7356 post type-post status-publish format-standard has-post-thumbnail hentry category-web tag-dark-mode tag-github"> 1000 <div class="wrapper"> 1001 <ul class="meta"> 1002 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1003 <li class="readtime"><a href="https://ahmadawais.com/github-dark-mode/">1 Min Read</a></li> 1004 <li class="date"><a href="https://ahmadawais.com/github-dark-mode/"><time datetime="2020-12-09">December 9, 2020</time></a></li> 1005 </ul> 1006 <h2 class="title"><a href="https://ahmadawais.com/github-dark-mode/">GitHub Dark Mode</a></h2> 1007 <p class="excerpt">GitHub just announced Dark Mode at GitHub Universe 2020 conference. I'm super duper excited. Check out my reaction video and a couple of other excellent features Nat Friedman (GitHub's CEO) announced in the keynote.</p> 1008 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1009 </div> 1010 </article> 1011 1012 1013 1014 <article id="post-7408" class="postitem post-7408 post type-post status-publish format-standard hentry category-tutorials"> 1015 <div class="wrapper"> 1016 <ul class="meta"> 1017 <li class="category"><a style="background:#588BFA;" href="https://ahmadawais.com/category/tutorials/">Tutorials</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1018 <li class="readtime"><a href="https://ahmadawais.com/how-to-set-python-default-version-to-3-on-macos/">3 Min Read</a></li> 1019 <li class="date"><a href="https://ahmadawais.com/how-to-set-python-default-version-to-3-on-macos/"><time datetime="2021-03-06">March 6, 2021</time></a></li> 1020 </ul> 1021 <h2 class="title"><a href="https://ahmadawais.com/how-to-set-python-default-version-to-3-on-macos/">QuickTip: How to set Python default version to 3.x on macOS?</a></h2> 1022 <p class="excerpt">If you are a macOS user like me, you know the default version of Python that comes by default with your mac is version 2.X. Most of the time, you’ll end up needing Python 3.X â which I’m told you can run using the python3 command. But let’s set the default version to Python 3 â so you can run it using the default python [...]</p> 1023 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1024 </div> 1025 </article> 1026 1027 1028 1029 <article id="post-7301" class="postitem post-7301 post type-post status-publish format-standard has-post-thumbnail hentry category-software tag-screencasting">
1030 <div class="wrapper"> 1031 <ul class="meta"> 1032 <li class="category"><a style="background:#0085c3;" href="https://ahmadawais.com/category/software/">Software</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1033 <li class="readtime"><a href="https://ahmadawais.com/hide-cursor-mac-os/">1 Min Read</a></li> 1034 <li class="date"><a href="https://ahmadawais.com/hide-cursor-mac-os/"><time datetime="2020-11-10">November 10, 2020</time></a></li> 1035 </ul> 1036 <h2 class="title"><a href="https://ahmadawais.com/hide-cursor-mac-os/">Screencasting Tip: Auto Hide Cursor on macOS</a></h2> 1037 <p class="excerpt">When recording a screencast (video tutorial) I like to hide my cursor. It’s distracting to see a cursor hanging around for no reason. Leads to a bad user experience, many times you think of it as your own cursor and try to move it away while watching a video â only to realize it’s not yours, and you’re stuck with it. Trick [...]</p> 1038 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1039 </div> 1040 </article> 1041 1042 1043 1044 <article id="post-7263" class="postitem post-7263 post type-post status-publish format-standard hentry category-life tag-automation tag-node-js-cli"> 1045 <div class="wrapper"> 1046 <ul class="meta"> 1047 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1048 <li class="readtime"><a href="https://ahmadawais.com/silly-mistake/">3 Min Read</a></li> 1049 <li class="date"><a href="https://ahmadawais.com/silly-mistake/"><time datetime="2020-10-09">October 9, 2020</time></a></li> 1050 </ul> 1051 <h2 class="title"><a href="https://ahmadawais.com/silly-mistake/">I Made A Silly Mistake Launching NodeCLI.com</a></h2> 1052 <p class="excerpt">Awais made a silly mistake when he launched his new course called NodeCLI.com â where he's teaching how to build automation CLI DevTools in 10 hours 100-videos course. </p> 1053 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1054 </div> 1055 </article> 1056 1057 1058 1059 <article id="post-7248" class="postitem post-7248 post type-post status-publish format-standard has-post-thumbnail hentry category-life tag-web"> 1060 <div class="wrapper"> 1061 <ul class="meta"> 1062 <li class="category"><a style="background:#5E38F5;" href="https://ahmadawais.com/category/life/">Life</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1063 <li class="readtime"><a href="https://ahmadawais.com/web-purist/">4 Min Read</a></li> 1064 <li class="date"><a href="https://ahmadawais.com/web-purist/"><time datetime="2020-09-16">September 16, 2020</time></a></li> 1065 </ul> 1066 <h2 class="title"><a href="https://ahmadawais.com/web-purist/">Web Purist</a></h2> 1067 <p class="excerpt">Let's talk about web development. I'm a web purist and I don't plan to change that any time soon. Which means I chose to stick with the web platform. I love the web platform. I have seen it grow since 2002.</p> 1068 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1069 </div> 1070 </article> 1071 1072 1073 1074 <article id="post-7107" class="postitem post-7107 post type-post status-publish format-standard has-post-thumbnail hentry category-web tag-next-js"> 1075 <div class="wrapper"> 1076 <ul class="meta"> 1077 <li class="category"><a style="background:#18407D;" href="https://ahmadawais.com/category/web/">Web</a></li> <li class="issticky"><i class="fa fa-thumb-tack"></i></li> 1078 <li class="readtime"><a href="https://ahmadawais.com/next-js-absolute-imports-aliases/">3 Min Read</a></li> 1079 <li class="date"><a href="https://ahmadawais.com/next-js-absolute-imports-aliases/"><time datetime="2020-05-25">May 25, 2020</time></a></li> 1080 </ul> 1081 <h2 class="title"><a href="https://ahmadawais.com/next-js-absolute-imports-aliases/">Next.js Absolute Imports and Aliases</a></h2> 1082 <p class="excerpt">Since Next.js v9.4 you have the ability to use absolute imports or aliases for your import statements. I love this feature with all my heart.</p> 1083 <a href="https://twitter.com/MrAhmadAwais/" class="author"><img src="//0.gravatar.com/avatar/fae697f476a1d1271cb98f73e43ac1a1?s=75" alt="Ahmad Awais">Ahmad Awais</a> 1084 </div> 1085 </article> 1086 1087 </section> 1088 1089 1090 <nav class="pagination"> 1091 <div class="wrapper"> 1092 <ul class='page-numbers'> 1093 <li><span aria-current="page" class="page-numbers current">1</span></li> 1094 <li><a class="page-numbers" href="https://ahmadawais.com/page/2/">2</a></li> 1095 <li><a class="page-numbers" href="https://ahmadawais.com/page/3/">3</a></li> 1096 <li><span class="page-numbers dots">…</span></li> 1097 <li><a class="page-numbers" href="https://ahmadawais.com/page/6/">6</a></li> 1098</ul> 1099 <a href="https://ahmadawais.com/page/2/" class="button rounded light previous"><span class="main">Older Posts</span><span class="sub"><i class="fa fa-chevron-left"></i></span></a>
1099 </div> 1100 </nav> 1101 1102 1103<footer class="main"> 1104 <section class="widget copyright parent"> 1105 <div class="child"> 1106 <img src="https://github.com/AhmadAwais.png" itemprop="image" alt="Ahmad Awais" data-no-retina="true" class="footer-aa" /> 1107 <h2 class="domain"><a href="https://AhmadAwais.com/">Ahmad Awais</a></h2> 1108 <p class="main">CEO & Founder of <a href="https://commandcode.ai">Command Code</a> | Langbase.com â AI Cloud. Angel Investor, Google Developers Advisory Board (gDAB) founding member, AI/ML SF DevNetwork. Ex VP of Developer Relations (DevRel, Dev Experience, DevTools) RapidAPI. <a href="https://ahmadawais.com/my-open-source-code-contribution-to-nasas-ingenuity-helicopter-goes-to-mars/">NASA mars mission</a> contributor. Award-winning open source engineering leader. 1109 <br /><a class="text-yellow" href="/about/">Read more: Bio/Awards/Talks</a>. 1110 </p> 1111 <p class="main"> 1112 Copyright © <a href="https://AhmadAwais.com/">Ahmad Awais</a> 2000 - 2026. All rights reserved. 1113 <br class="xsmall" /> 1114 <a href="https://awais.dev/kinsta" rel="nofollow external">Proudly published with WordPress & hosted with Kinsta</a>. 1115 </p> 1116 1117 <div class="aa_wpt_wrap aa_wpt"> 1118 <form class="aa_wpt__form"> 1119 <input class="input aa_wpt__form__email email" tabindex="0" name="EMAIL" required type="email" value placeholder="Your best email..."> 1120 <button class="input aa_wpt__form__subscribe subscribe" name="subscribe" type="submit" value="SUBSCRIBE"><i class="fa fa-paper-plane"></i></button> 1121 </form> 1122 <div class="aa_status "><span> 1123 <p>⨠201,748+ Developers already subscribed.</p> 1124 </span></div> 1125 </div> 1126 </div> 1127 1128 <div class="child"> 1129 <ul class="social"> 1130 <li><a href="https://x.com/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton twitter"><i class="fa fa-twitter"></i></a></li> 1131 <li><a href="https://github.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton github"><i class="fa fa-github"></i></a></li> 1132 <li><a href="https://www.linkedin.com/in/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton linkedin"><i class="fa fa-linkedin"></i></a></li> 1133 <li><a href="https://www.youtube.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton youtube"><i class="fa fa-youtube"></i></a></li> 1134 <li class="xsmall"><a href="https://dribbble.com/ahmadawais" target="_blank" rel="noreferrer noopener" class="socialbutton dribbble"><i class="fa fa-dribbble"></i></a></li> 1135 <li class="xsmall"><a href="https://fb.com/AhmadAwais" target="_blank" rel="noreferrer noopener" class="socialbutton facebook"><i class="fa fa-facebook"></i></a></li> 1136 <li class="xsmall"><a href="https://www.instagram.com/MrAhmadAwais/" target="_blank" rel="noreferrer noopener" class="socialbutton instagram"><i class="fa fa-instagram"></i></a></li> 1137 <li><a href="https://stackoverflow.com/users/950111/ahmad-awais?tab=profile" target="_blank" rel="noreferrer noopener" class="socialbutton stackoverflow"><i class="fa fa-stack-overflow"></i></a></li> 1138 <!-- <li><a href="" target="_blank" rel="noreferrer noopener" class="socialbutton reddit"><i class="fa fa-reddit"></i></a></li> 1139 <li><a href="" target="_blank" rel="noreferrer noopener" class="socialbutton twitch"><i class="fa fa-twitch"></i></a></li> --> 1140 </ul> 1141 <ul> 1142 <li>â Coding agent with taste <a href="https://commandcode.ai/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member">Command Code</a></li> 1143 <li><a href="/courses/">⨠Courses</a> <a href="/talks/">ð Talks</a> <a href="/uses/">âï¸ Uses</a> <a href="/press/">ð° Press</a></li> 1144 <li><a href="/contact/">ð¤ Contact</a> <a href="/subscribe/">ð¨ Newsletter</a> <a href="/feed/">ð RSS <span class="xsmall">Feed</span></a></li> 1145 <!-- <li>â³ Professional Development Courses</li> --> 1146 <li>ð Learn JavaScript & <a href="https://nodecli.com/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member">build Node.js CLI</a></li> 1147 <li>ð Become a <a href="https://vscode.pro/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member" rel="nofollow external">VSCode Power User</a></li> 1148 1149 <li>â AI Cloud <a href="https://langbase.com/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member">Langbase</a></li> 1150 <li>â <a href="https://command.new/?utm_source=ahmadawais.com&utm_medium=referral&utm_campaign=Ahmad%20Awais%20-%20Founder%20%26%20CEO%20of%20CommandCode.ai%20f%2Fk%2Fa%20Langbase%20%7C%20Google%20Developers%20Advisory%20Board%20%28gDAB%29%20founding%20member">COMMAND.new</a></li> 1151 </ul> 1152 <p class="main terms"> 1153 • <a href="https://AhmadAwais.com/terms">Terms</a> • <a href="https://AhmadAwais.com/privacy"> Privacy</a> • <a href="https://AhmadAwais.com/disclaimer">Disclaimer</a> 1154 </p> 1155 </div> 1156 </section> 1157</footer> 1158 1159 </main> 1160 1161 1162
1162<script>
vendor: 351 bytes, lines 1162-1168
1162 1163 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 1164 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 1165 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 1166 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 1167 1168 ga('create', '
1168UA-47913811-1
vendor: 41 bytes, lines 1168-1170
1168', 'auto'); 1169 ga('send', 'pageview'); 1170
1170</script>
1170 1171 1172
1172<script type="text/javascript"> 1173 (function($) { 1174 $(document).ready(function() { 1175 function storageAvailable(type) { 1176 try { 1177 var storage = window[type], 1178 x = '__storage_test__'; 1179 storage.setItem(x, x); 1180 storage.removeItem(x); 1181 return !0; 1182 } catch (e) { 1183 return ( 1184 e instanceof DOMException && 1185 (e.code === 22 || 1186 e.code === 1014 || 1187 e.name === 'QuotaExceededError' || 1188 e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && 1189 storage.length !== 0 1190 ); 1191 } 1192 } 1193 var form = $('.aa_wpt__form'); 1194 var status = $('.aa_status'); 1195 var mailMe = 1196 'Oops! I tried, but something went wrong. <br> Can you try again, by refreshing the page or ? <a href="https://ahmadawais.com/contact" target="_blank">contact me</a>!<br>'; 1197 function validateEmail(email) { 1198 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 1199 return re.test(email); 1200 } 1201 form.on('submit', function(e) { 1202 e.preventDefault(); 1203 var thisForm = $(this); 1204 var subscribeBtn = $('.aa_wpt__form__subscribe') 1205 var status = thisForm.closest('.aa_wpt').find('.aa_status'); 1206 status.html('<div class="loading">âï¸ SUBMITTING </div>'); 1207 subscribeBtn.attr('disabled', true); 1208 var email = thisForm.children('.email').val(); 1209 if (storageAvailable('localStorage')) { 1210 localStorage.setItem('WPC_userEmail', email); 1211 } 1212 if (validateEmail(email)) { 1213 var params = { email: email, TAG: 'AHMADAWAIScom' }; 1214 url = 'https://mails.ahmadawais.com/aa/thedevtakeaway/api.php'; 1215 url = url + '?' + $.param(params); 1216 $.getJSON(url, function(data) { 1217 // console.log( 'data', data ); 1218 if (data.status !== true && data.message === '') { 1219 status.empty().html(mailMe); 1220 subscribeBtn.attr('disabled', false); 1221 ga('send', 'event', 'MEMBERSHIP', 'signup', 'FAIL â STATUS: false && MSG: empty'); 1222 } 1223 if ( data.code === 400 && data.RES_HTTP_CODE !==201 && data.RES_HTTP_CODE !== 500 && data.status !== true ) { 1224 status.empty().html('ð Oyee! Enter a valid email address! <br />' + data.message); 1225 subscribeBtn.attr('disabled', false); 1226 ga('send', 'event', 'MEMBERSHIP', 'signup', 'FAIL â MSG: ' + data.message); 1227 } else { 1228 if ("Already subscribed!" === data.message && data.status === true) { 1229 status.empty().html('<div>ð¯ You are ' + data.message.toLowerCase() + '</div>'); 1230 subscribeBtn.attr('disabled', false); 1231 } else { 1232 if(data.status === true){ 1233 status 1234 .empty() 1235 .html( 1236 '<div>ð¯ ' + data.message + ' ð© Now just click the confirmation link I emailed you!</div>' 1237 ); 1238 subscribeBtn.attr('disabled', false); 1239 } 1240 } 1241 if (201 === data.RES_HTTP_CODE) { 1242 ga('send', 'event', 'MEMBERSHIP', 'signup', 'success', '01'); 1243 } else if (500 === data.RES_HTTP_CODE) { 1244 ga('send', 'event', 'MEMBERSHIP', 'signup', 'already registered'); 1245 } else { 1246 ga('send', 'event', 'MEMBERSHIP', 'signup', 'success'); 1247 } 1248 } 1249 }).error(function(error) { 1250 status.empty().html(mailMe + ' ERROR: ' + error.status); 1251 subscribeBtn.attr('disabled', false); 1252 1253 ga('send', 'event', 'MEMBERSHIP', 'signup', 'ERROR â STAUTS:' + error.status); 1254 }); 1255 } else { 1256 status.empty().html('ð ERROR: Enter a valid email address.'); 1257 subscribeBtn.attr('disabled', false); 1258 } 1259 }); 1260 if (storageAvailable('localStorage')) { 1261 var lsUserEmail = localStorage.getItem('WPC_userEmail'); 1262 if (lsUserEmail) { 1263 ga('send', 'event', 'USER', 'Known'); 1264 } else { 1265 ga('send', 'event', 'USER', 'Unknown'); 1266 } 1267 } 1268 $('a').each(function() { 1269 var a = new RegExp('/' + window.location.host + '/'); 1270 if (this.href && !a.test(this.href)) { 1271 $(this).click(function(event) { 1272 event.preventDefault(); 1273 event.stopPropagation(); 1274 window.open(this.href, '_blank'); 1275 gaOBLClick(event); 1276 }); 1277 } 1278 }); 1279 function gaOBLClick(event) { 1280 ga('send', 'event', { 1281 eventCategory: 'Outbound Link', 1282 eventAction: 'click', 1283 eventLabel: event.target.href, 1284 transport: 'beacon' 1285 }); 1286 } 1287 $('.chosen-single').on('click', function(e) { 1288 e.preventDefault(); 1289 }); 1290 }); 1291})(jQuery); 1292 1293 </script>
1293 1294 1295
1295<script type="speculationrules"> 1296{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/aa_v2_child/*","/wp-content/themes/aa_v2/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1297</script>
vendor: 1 bytes, line 1297
1297
1298<script type="text/javascript"> 1299( function() { 1300 var nativeLazyloadInitialize = function() { 1301 var lazyElements, script; 1302 if ( 'loading' in HTMLImageElement.prototype ) { 1303 lazyElements = [].slice.call( document.querySelectorAll( '.native-lazyload-js-fallback' ) ); 1304 lazyElements.forEach( function( element ) { 1305 if ( ! element.dataset.src ) { 1306 return; 1307 } 1308 element.src = element.dataset.src; 1309 delete element.dataset.src; 1310 if ( element.dataset.srcset ) { 1311 element.srcset = element.dataset.srcset; 1312 delete element.dataset.srcset; 1313 } 1314 if ( element.dataset.sizes ) { 1315 element.sizes = element.dataset.sizes; 1316 delete element.dataset.sizes; 1317 } 1318 element.classList.remove( 'native-lazyload-js-fallback' ); 1319 } ); 1320 } else if ( ! document.querySelector( 'script#native-lazyload-fallback' ) ) { 1321 script = document.createElement( 'script' ); 1322 script.id = 'native-lazyload-fallback'; 1323 script.type = 'text/javascript'; 1324 script.src = 'https://ahmadawais.com/wp-content/plugins/native-lazyload/assets/js/lazyload.js'; 1325 script.defer = true; 1326 document.body.appendChild( script ); 1327 } 1328 }; 1329 if ( document.readyState === 'complete' || document.readyState === 'interactive' ) { 1330 nativeLazyloadInitialize(); 1331 } else { 1332 window.addEventListener( 'DOMContentLoaded', nativeLazyloadInitialize ); 1333 } 1334}() ); 1335</script>
1335 1336
1336<script id="ecko_js-js-extra"> 1337var ecko_theme_vars = {"general_hidecomments":"1","general_disable_syntax_highlighter":"1","videocover_mp4":"","videocover_webm":"","localization_viewcomments":"View Comments","localization_comments":"Comments"}; 1338var eckoThemeVars = {"general_hidecomments":"1","general_disable_syntax_highlighter":"1","videocover_mp4":"","videocover_webm":"","localization_viewcomments":"View Comments","localization_comments":"Comments","template_url":"https://ahmadawais.com/wp-content/themes/aa_v2"}; 1339//# sourceURL=ecko_js-js-extra 1340</script>
vendor: 1 bytes, line 1340
1340
1341<script id="ecko_js-js" src="https://ahmadawais.com/wp-content/themes/aa_v2/assets/js/theme.min.js?ver=1.2.2.patch1"></script>
vendor: 1 bytes, line 1341
1341
1342<script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://ahmadawais.com/wp-includes/js/comment-reply.min.js?ver=7.1.2"></script>
vendor: 1 bytes, line 1342
1342
1343<script id="wp-featherlight-js" src="https://ahmadawais.com/wp-content/plugins/wp-featherlight/js/wpFeatherlight.pkgd.min.js?ver=1.3.4"></script>
vendor: 1 bytes, line 1343
1343
1344<script id="jetpack-stats-js-before"> 1345_stq = window._stq || []; 1346_stq.push([ "view", {"v":"ext","blog":"69295442","post":"0","tz":"-7","srv":"ahmadawais.com","arch_home":"1","j":"1:16.2"} ]); 1347_stq.push([ "clickTrackerInit", "69295442", "0" ]); 1348//# sourceURL=jetpack-stats-js-before 1349</script>
vendor: 1 bytes, line 1349
1349
1350<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202640.js"></script>
vendor: 1 bytes, line 1350
1350
1351<script id="wp-emoji-settings" type="application/json"> 1352{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://ahmadawais.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 1353</script>
vendor: 1 bytes, line 1353
1353
1354<script type="module"> 1355/*! This file is auto-generated */ 1356var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 1357//# sourceURL=https://ahmadawais.com/wp-includes/js/wp-emoji-loader.min.js 1358</script>
1358 1359 1360 <!-- Cloudflare Web Analytics -->
vendor: 99 bytes, line 1360
1360<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
13605a1aa506aa2340f4963661c764d493a9
vendor: 13 bytes, line 1360
1360"}'></script>
1360<!-- End Cloudflare Web Analytics --> 1361 1362</body> 1363</html>
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.