301 status code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 status code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: dpcf.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html> <!--[if IE 7]> <html class="ie ie7" lang="en-US"> <![endif]--> <!--[if IE 8]> <html class="ie ie8" lang="en-US"> <![endif]--> <!--[if !(IE 7) | !(IE 8) ]><!--> <html lang="en-US"> <!--<![endif]--> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="/wp-content/themes/anarcho-notepad/style.css" type="text/css" media="screen" /> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="https://codegorilla.com/xmlrpc.php"> <title>The Code Gorilla – Not your ordinary .NET/Azure/SQL code monkey…</title> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <link rel="alternate" type="application/rss+xml" title="The Code Gorilla » Feed" href="https://codegorilla.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="The Code Gorilla » Comments Feed" href="https://codegorilla.com/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/codegorilla.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!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!n(e,"\ud83d\udc26\u200d\ud83d\udd25","\ud83d\udc26\u200b\ud83d\udd25")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));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(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://codegorilla.com/wp-includes/css/dist/block-library/style.min.css?ver=6.8.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .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} </style> <style id='global-styles-inline-css' type='text/css'> :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,rgba(6,147,227,1) 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,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 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%);--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 rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}: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;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.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;}.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;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <style id='md-style-inline-css' type='text/css'> </style> <link rel='stylesheet' id='anarcho-font-awesome-css-css' href='/wp-content/themes/anarcho-notepad/fonts/font-awesome/css/font-awesome.css?ver=2.48' type='text/css' media='screen' /> <script type="text/javascript" src="https://codegorilla.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://codegorilla.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://codegorilla.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://codegorilla.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.8.1" /> <script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1; t.src="https://www.clarity.ms/tag/"+i+"?ref=wordpress";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "7jroyqk28x"); </script> <link href='//fonts.googleapis.com/css?family=Permanent+Marker' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Permanent+Marker' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Permanent+Marker' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=' rel='stylesheet' type='text/css'> <style type="text/css" media="screen"> body.custom-background { -webkit-background-size: ; -moz-background-size: ; -o-background-size: ; background-size: ; } .site-title { font-family: Permanent Marker; color: ; } .site-description { font-family: Permanent Marker; color: #9b9b9b; } #content .col01 .post-inner { font-family: Forum; font-size: ; } .site-header { background: url( /wp-content/themes/anarcho-notepad/images/outer-back-search.png ) no-repeat top center; } </style> <style type="text/css" id="custom-background-css"> body.custom-background { background-image: url("/wp-content/themes/anarcho-notepad/images/background.png"); background-position: left top; background-size: auto; background-repeat: repeat; background-attachment: scroll; } </style> </head> <body class="home blog custom-background wp-theme-anarcho-notepad"> <header id="masthead" class="site-header" role="banner"> <div class="top-search-form"> <div id="search"> <form role="search" method="get" class="search-form" action="https://codegorilla.com"> <label> <span class="screen-reader-text"> Search for: </span> <input type="search" class="search-field" placeholder="Write your search and hit Enter" value="" name="s" title="Search" /> </label> <input type="submit" class="search-submit" value="Search" /> </form> </div> </div> <div id="title"> <a class="home-link" href="https://codegorilla.com/" title="The Code Gorilla" rel="home"> <h1 class="site-title"> The Code Gorilla </h1> <p class="site-description"> Not your ordinary .NET/Azure/SQL code monkey… </p> </a> </div> </header> <section id="content" role="main"> <div class="col01"> <article id="post-622" class="post-622 post type-post status-publish format-standard has-post-thumbnail hentry category-azure category-certifications"> <a href="https://codegorilla.com/2025/04/17/microsoft-certified-azure-data-scientist-associate/"><div class="date-tab"> <span class="month">April</span> <span class="day">17</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2025/04/17/microsoft-certified-azure-data-scientist-associate/" rel="bookmark" title="Permanent Link to Microsoft Certified: Azure Data Scientist Associate"> Microsoft Certified: Azure Data Scientist Associate </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2025/04/17/microsoft-certified-azure-data-scientist-associate/"> <img width="230" height="230" src="/wp-content/uploads/2025/04/azure-data-scientist-associate-600x600-1-230x230.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Azure Data Scientist Associate badge" decoding="async" fetchpriority="high" srcset="/wp-content/uploads/2025/04/azure-data-scientist-associate-600x600-1-230x230.png 230w, /wp-content/uploads/2025/04/azure-data-scientist-associate-600x600-1-300x300.png 300w, /wp-content/uploads/2025/04/azure-data-scientist-associate-600x600-1-150x150.png 150w, /wp-content/uploads/2025/04/azure-data-scientist-associate-600x600-1.png 600w" sizes="(max-width: 230px) 100vw, 230px" /> </a> <p>Yessir, you read that right. I acquired the Azure Data Scientist Associate certification the other day. A little later than I was hoping for, but I got it done. If I have to blame anything or anybody, I'll blame the CGI-BJSS acquisition and all the stress and uncertainty that has brought.</p> <p>In other news, did anybody notice that Microsoft has retired the Azure Data Engineer Associate certification as of March 30, 2025? Bummer. I liked that one. Glad I renewed it back in January of 2025 so I won't put that into the retirement bucket until it is expired next January.</p> <p>Allright...on to the next thing...</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/azure/" rel="category tag">Azure</a>, <a href="https://codegorilla.com/category/azure/certifications/" rel="category tag">Certifications</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Microsoft Certified: Azure Data Scientist Associate</span></span> </div> </article> <article id="post-611" class="post-611 post type-post status-publish format-standard has-post-thumbnail hentry category-net"> <a href="https://codegorilla.com/2025/03/26/seeking-input-for-my-upcoming-talk-on-code-metrics/"><div class="date-tab"> <span class="month">March</span> <span class="day">26</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2025/03/26/seeking-input-for-my-upcoming-talk-on-code-metrics/" rel="bookmark" title="Permanent Link to Seeking Input for My Upcoming Talk on Code Metrics"> Seeking Input for My Upcoming Talk on Code Metrics </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2025/03/26/seeking-input-for-my-upcoming-talk-on-code-metrics/"> <img width="230" height="230" src="/wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code-230x230.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="/wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code-230x230.webp 230w, /wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code-300x300.webp 300w, /wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code-150x150.webp 150w, /wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code-768x768.webp 768w, /wp-content/uploads/2025/03/DALL·E-2025-03-25-22.32.57-A-modern-visually-engaging-image-representing-software-engineering-metrics.-The-image-features-a-futuristic-digital-dashboard-displaying-various-code.webp 1024w" sizes="(max-width: 230px) 100vw, 230px" /> </a> <p>Howdy!</p> <p>I'm preparing a talk on code metrics and would love input from the community on what to cover. I'll be presenting this later this year at both the Houston .NET User Group and the North Houston .NET User Group.</p> <p>Throughout my software engineering career, I’ve encountered many of these metrics, but I’ve rarely seen a single, clear explanation of them all in one place. My goal with this talk is to demystify code metrics—helping software engineers, architects, and engineering managers understand what these metrics are, what insights they provide, and their limitations.</p> <p>Right now, I’m planning to cover the following metrics:</p> <ul> <li> <p>Code Coverage %</p> </li> <li> <p>Cyclomatic Complexity</p> </li> <li> <p>Maintainability Index</p> </li> <li> <p>Lines of Code (LOC)</p> </li> <li> <p>Code Churn</p> </li> <li> <p>Afferent & Efferent Coupling</p> </li> <li> <p>Instability</p> </li> <li> <p>Coupling Between Objects</p> </li> <li> <p>Depth of Inheritance Tree (DIT)</p> </li> <li> <p>Lack of Cohesion in Methods (LCOM)</p> </li> <li> <p>Tight Class Cohesion / Loose Class Cohesion</p> </li> <li> <p>Response for a Class (RFC)</p> </li> <li> <p>Duplication Percentage</p> </li> <li> <p>Defect Density</p> </li> </ul> <p>This is probably more than I can fit into an hour, so I’d love your input:<br /> ✅ Which of these metrics should I prioritize?<br /> ✅ Are there any important metrics I’ve overlooked?<br /> ✅ Have you found specific metrics useful or misleading in your work?</p> <p>If there’s enough interest, I could explore a deeper dive or a follow-up session on specific metrics. Let me know what you think!</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Seeking Input for My Upcoming Talk on Code Metrics</span></span> </div> </article> <article id="post-607" class="post-607 post type-post status-publish format-standard has-post-thumbnail hentry category-net category-tools category-unit-testing"> <a href="https://codegorilla.com/2025/03/22/supercharge-your-net-testing-with-ncrunch-the-slide-deck/"><div class="date-tab"> <span class="month">March</span> <span class="day">22</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2025/03/22/supercharge-your-net-testing-with-ncrunch-the-slide-deck/" rel="bookmark" title="Permanent Link to Supercharge Your .NET Testing with NCrunch – The Slide Deck"> Supercharge Your .NET Testing with NCrunch – The Slide Deck </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2025/03/22/supercharge-your-net-testing-with-ncrunch-the-slide-deck/"> <img width="230" height="230" src="/wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-230x230.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="/wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-230x230.webp 230w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-300x300.webp 300w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-150x150.webp 150w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-768x768.webp 768w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te.webp 1024w" sizes="(max-width: 230px) 100vw, 230px" /> </a> <p>On Thursday, March 20, 2025, I gave a lightning talk at the North Houston .NET User Group meeting in The Woodlands, Texas. If you are interested in the slide deck I put together here's the PowerPoint presentation; <a href="/wp-content/uploads/2025/03/Supercharge-Your.pptx" title="Supercharge Your .NET Testing with NCrunch">Supercharge Your .NET Testing with NCrunch</a>.</p> <p>The slide deck doesn't really have anything earth shattering. I used it mostly as a guide for what I wanted to cover.</p> <p>I felt the talk went well. I was hoping for alot of audience participation which I got. Turns out there are a few people who have used NCrunch who were there. It was a good opportunity to compare notes.</p> <p>TLDR; NCrunch is awesome and you should use it.</p> <p>If there are any additional questions, let me know and I'll get them answered.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/net/tools/" rel="category tag">Tools</a>, <a href="https://codegorilla.com/category/unit-testing/" rel="category tag">unit testing</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Supercharge Your .NET Testing with NCrunch – The Slide Deck</span></span> </div> </article> <article id="post-604" class="post-604 post type-post status-publish format-standard has-post-thumbnail hentry category-net category-bjss category-c-sharp category-tools category-unit-testing"> <a href="https://codegorilla.com/2025/03/14/speaking-at-the-march-2025-north-houston-net-user-group/"><div class="date-tab"> <span class="month">March</span> <span class="day">14</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2025/03/14/speaking-at-the-march-2025-north-houston-net-user-group/" rel="bookmark" title="Permanent Link to Speaking at the March 2025 North Houston .NET User Group"> Speaking at the March 2025 North Houston .NET User Group </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2025/03/14/speaking-at-the-march-2025-north-houston-net-user-group/"> <img width="230" height="230" src="/wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-230x230.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="/wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-230x230.webp 230w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-300x300.webp 300w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-150x150.webp 150w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te-768x768.webp 768w, /wp-content/uploads/2025/03/DALL·E-2025-03-07-10.13.23-A-frustrated-software-developer-sitting-at-a-desk-waiting-for-tests-to-complete-on-a-computer-screen.-The-screen-shows-a-loading-bar-with-Running-Te.webp 1024w" sizes="auto, (max-width: 230px) 100vw, 230px" /> </a> <p>At the upcoming North Houston .NET User Group meeting (3/20/2025), Tony Cardella, Software Engineer and Software Engineering Capability Lead at BJSS, will be delivering a lightning talk on the topic of <a href="https://www.ncrunch.net/" title="NCrunch">NCrunch</a>.</p> <p>Title: Supercharge Your .NET Testing with NCrunch</p> <p>Tired of waiting for tests to run? NCrunch is a powerful continuous testing tool for .NET that runs your tests in the background, providing instant feedback, real-time code coverage, and parallel execution to speed up development. In this lightning talk, we’ll explore how NCrunch works, highlight its key features, and see it in action with a quick demo.</p> <p>More information is available here: <a href="https://www.meetup.com/nhdnug/events/305901663/">https://www.meetup.com/nhdnug/events/305901663/</a></p> <p>Hope to see you there!</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/bjss/" rel="category tag">BJSS</a>, <a href="https://codegorilla.com/category/c-sharp/" rel="category tag">C#</a>, <a href="https://codegorilla.com/category/net/tools/" rel="category tag">Tools</a>, <a href="https://codegorilla.com/category/unit-testing/" rel="category tag">unit testing</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Speaking at the March 2025 North Houston .NET User Group</span></span> </div> </article> <article id="post-595" class="post-595 post type-post status-publish format-standard hentry category-aws category-azure category-bjss category-career category-certifications category-certifications-aws"> <a href="https://codegorilla.com/2025/01/11/looking-forward-in-2025/"><div class="date-tab"> <span class="month">January</span> <span class="day">11</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2025/01/11/looking-forward-in-2025/" rel="bookmark" title="Permanent Link to Looking Forward in 2025…"> Looking Forward in 2025… </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2025/01/11/looking-forward-in-2025/"> </a> <p><img decoding="async" src="/wp-content/uploads/2025/01/DALL·E-2025-01-11-15.22.49-A-modern-workspace-featuring-a-developer-with-three-24-inch-monitors-arrayed-in-front-of-him.-The-developer-is-a-man-weighing-approximately-242-pounds-1024x585.webp" alt="" /></p> <p>At the tailend of 2024, I was asked to put together an "engineer development plan" for my employer. In that plan I had put down a path of certifications to pursue in 2025. Originally, it was <a href="https://aws.amazon.com/certification/certified-ai-practitioner/" title="AWS AI Practitioner">AWS AI Practitioner</a> (optional), <a href="https://aws.amazon.com/certification/certified-developer-associate/" title="AWS Developer Associate">AWS Developer Associate</a>, and <a href="https://aws.amazon.com/certification/certified-solutions-architect-associate/" title="AWS Solution Architect Associate">AWS Solution Architect Associate</a>. All of that between January 2025 and December 2025.</p> <p>At the time in January 2025, I was toying to get the <a href="https://learn.microsoft.com/en-us/credentials/certifications/azure-ai-fundamentals/" title="Azure AI Fundamentals">Azure AI Fundamentals</a>, the AWS AI Practitioner, the AWS Developer Associate, and then the AWS Solutions Architect Associate certifications in that order. I picked up the Azure AI Fundamentals certification. It was easy enough with having to find drivers for the microphone on the laptop I was using and the very loud conference call that kicked off next door. The lesson to be learned here is to do the exams later in the evening when the bulk of people have gone home.</p> <p>I got the Azure AI Fundamentals certification on January 8th and then my manager mentioned to me that I should plug a "perceived skill gap" between my current skillsets and where my employer is apparently wanting to go. Apparently, there is some work coming in the future around machine learning. Microsoft's certification that covers machine learning is <a href="https://learn.microsoft.com/en-us/credentials/certifications/azure-data-scientist/" title="Azure Data Scientist Associate">Azure Data Scientist Associate</a>. It's weird that it's not an "Expert" level certification because the exam for that is DP-100. The <a href="https://learn.microsoft.com/credentials/certifications/cybersecurity-architect-expert/" title="Cybersecurity Architect Expert">Cybersecurity Architect Expert</a> is SC-100 and that's an Expert level certification.</p> <p>I'm going to call an audible and go after the Azure Data Scientist certification and then after that get back on the AWS plan I outlined towards the beginning of this blog. Let's talk timing on when I'll get this certification. I think (given the current conditions at work which are subject to change), that it is reasonable to expect to pick up this certification sometime between February 1, 2025 and February 15, 2025. If I feel that I'm ready for it before then, I won't have a problem taking it earlier. If I get the certification earlier, that'll be lagniappe.</p> <p>...and here we go!<br /> <iframe loading="lazy" title=""And Here We Go" - Joker" width="500" height="281" src="https://www.youtube.com/embed/xSLlZh9yelk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/aws/" rel="category tag">AWS</a>, <a href="https://codegorilla.com/category/azure/" rel="category tag">Azure</a>, <a href="https://codegorilla.com/category/bjss/" rel="category tag">BJSS</a>, <a href="https://codegorilla.com/category/career/" rel="category tag">Career</a>, <a href="https://codegorilla.com/category/azure/certifications/" rel="category tag">Certifications</a>, <a href="https://codegorilla.com/category/aws/certifications-aws/" rel="category tag">Certifications</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Looking Forward in 2025…</span></span> </div> </article> <article id="post-585" class="post-585 post type-post status-publish format-standard hentry category-net category-advent-of-code category-bjss category-c-sharp category-python"> <a href="https://codegorilla.com/2024/12/01/advent-of-code-2024/"><div class="date-tab"> <span class="month">December</span> <span class="day">1</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2024/12/01/advent-of-code-2024/" rel="bookmark" title="Permanent Link to Advent of Code 2024"> Advent of Code 2024 </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2024/12/01/advent-of-code-2024/"> </a> <p>It's that time of year again. That's right it's Christmas time and that means...<a href="https://adventofcode.com/" title="Advent of Code">Advent of Code</a>!</p> <h2>Why am I doing Advent of Code this year?</h2> <ol> <li>I'm trying to learn <a href="https://www.python.org/" title="Python">Python</a> better. This is the perfect excuse.</li> <li>My employer, <a href="https://www.bjss.com/" title="BJSS">BJSS</a>, is a sponsor again this year.</li> </ol> <h2>Language + Tech Stack</h2> <p>In previous years, I've done AoC with <a href="https://dotnet.microsoft.com/en-us/" title=".NET/C#">.NET/C#</a>, but this year I will be using Python. While an IDE is not needed for Python, I've decided to use <a href="https://www.jetbrains.com/pycharm/" title="JetBrains PyCharm">JetBrains PyCharm</a>. Check it out if you haven't seen it. I'm still <a href="https://www.jetbrains.com/help/pycharm/mastering-keyboard-shortcuts.html" title="learning the shortcuts">learning the shortcuts</a>, which reminds me to <a href="https://resources.jetbrains.com/storage/products/pycharm/docs/PyCharm_ReferenceCard.pdf" title="print out the shortcuts">print out the shortcuts</a>. I like using unit testing to help verify that my code works and for that I'll be using <a href="https://pytest.org/" title="pytest">pytest</a>. I've been using <a href="https://www.ncrunch.net/" title="NCrunch">NCrunch</a> as my .NET continuous test runner but I'll have to use something else for Python; <a href="https://github.com/joeyespo/pytest-watch" title="pytest-watch">pytest-watch</a>.</p> <h2>Source Control</h2> <p><a href="https://git-scm.com/" title="Git">Git</a>/<a href="https://github.com/" title="GitHub">GitHub</a> is my source control of choice. I added a CI/CD pipeline to validate the code once it's been pushed to the master branch.</p> <h2>Workflow</h2> <ol> <li>Setup the code for the puzzle of the day (i.e. add the boilerplate code, but try to keep the amount down)</li> <li>Read the prompt for part 1.</li> <li>Start writing code to get the example working for part 1.</li> <li>Once the code is running with the example, run it against the actual input.</li> <li>Submit the actual output value.</li> <li>If the answer is incorrect, rework the code and go to step 4.</li> <li>If the answer is correct, update the expected value for the part 1 test so that it's green.</li> <li>Read the prompt for part 2.</li> <li>Start writing code to the example working for part 2.</li> <li>Once the code is running with the example, run it against the actual input.</li> <li>Submit the actual output value.</li> <li>If the answer is incorrect, rework the code and go to step 10.</li> <li>If the answer is correct, update the expected value for the part 2 test so that it's green.</li> <li>Commit the puzzle as is to Git.</li> <li>Refactor the code til it looks presentable to the public and/or resolve any perf issues.</li> <li>Commit the refactored code to Git.</li> <li>Done.</li> </ol> <h2>Where can I see your progress?</h2> <p>You can see my progress on my <a href="https://github.com/tcardella/AdventOfCode" title="GitHub repo">GitHub repo</a>.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/advent-of-code/" rel="category tag">Advent of Code</a>, <a href="https://codegorilla.com/category/bjss/" rel="category tag">BJSS</a>, <a href="https://codegorilla.com/category/c-sharp/" rel="category tag">C#</a>, <a href="https://codegorilla.com/category/python/" rel="category tag">Python</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on Advent of Code 2024</span></span> </div> </article> <article id="post-582" class="post-582 post type-post status-publish format-standard hentry category-net category-bjss category-c-sharp category-grpc"> <a href="https://codegorilla.com/2024/09/21/grpc-net-lessons-from-the-trenches-retrospective/"><div class="date-tab"> <span class="month">September</span> <span class="day">21</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2024/09/21/grpc-net-lessons-from-the-trenches-retrospective/" rel="bookmark" title="Permanent Link to gRPC + .NET: Lessons from the Trenches Retrospective"> gRPC + .NET: Lessons from the Trenches Retrospective </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2024/09/21/grpc-net-lessons-from-the-trenches-retrospective/"> </a> <p>Now that I've had a chance to slow down a bit let's do some creative writing. Let's talk about the "gRPC + .NET: Lessons from the Trenches" talk I gave at the North Houston .NET User Group. As I said previously, the talk was received well and I was really happy about that.</p> <p>The inspiration or the idea to talk about gRPC came from the work I was doing at a large oil & gas company located in the Energy Corridor in Houston, Texas. My stint on the project lasted about 20 months.</p> <p>This was actually the 3rd time I've given the talk. The first time was for an internal BJSS event in April of 2024. The second was at the Houston .NET User Group back in June 2024. The neat thing about taking a talk from scratch all the way through several iterations is how the presentation "feels". You should find potholes as you go and make notes to double back to correct and/or add to them.</p> <p>The intent with the talk was to answer the following questions:</p> <ul> <li>What is gRPC?</li> <li>Can you give some evidence that shows that gRPC out-performs REST API?</li> <li>Have you ever used gRPC on a real project?</li> <li>What were some of the issues/problems you encountered and how did you work around them?</li> <li>When should you use gRPC?</li> <li>When should you NOT use gRPC?</li> </ul> <p>I feel like when I got to the 3rd iteration of the talk I was answering all those questions completely and coherently. Including the benchmarks in this version of the talk was a good addition and I'll credit Daniel Wright, Principal Technologist @ BJSS Houston with the idea for that one.</p> <p>I was surprised that the audience this time around had more experience with gRPC than I was expecting. This lead to alot of good questions and some leading questions that came up right before I answered them on the next slide. The talk started to take on more of a conversation kind of feel than a lecture.</p> <p>While I did have fun putting this talk together and giving it, I don't think I'm going to hang up my developers hat yet. I'm sure there is still a project out there that needs my help! Now it's time to find another topic to talk about and then probably re-do the circuit next year.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/bjss/" rel="category tag">BJSS</a>, <a href="https://codegorilla.com/category/c-sharp/" rel="category tag">C#</a>, <a href="https://codegorilla.com/category/grpc/" rel="category tag">gRPC</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on gRPC + .NET: Lessons from the Trenches Retrospective</span></span> </div> </article> <article id="post-578" class="post-578 post type-post status-publish format-standard hentry category-net category-asp-net category-asp-net-core category-c-sharp category-grpc"> <a href="https://codegorilla.com/2024/09/20/grpc-net-lessons-from-the-trenches/"><div class="date-tab"> <span class="month">September</span> <span class="day">20</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2024/09/20/grpc-net-lessons-from-the-trenches/" rel="bookmark" title="Permanent Link to gRPC + .NET: Lessons from the Trenches Powerpoint Slide Deck"> gRPC + .NET: Lessons from the Trenches Powerpoint Slide Deck </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2024/09/20/grpc-net-lessons-from-the-trenches/"> </a> <p>Hey! If you were one of the people who came out to the <a href="https://www.nhdnug.org/meetings/2024/09/19/grpc-.net-lesson-from-the-trenches" title="September 2024 North Houston .NET User Group meeting">September 2024 North Houston .NET User Group meeting</a> tonight...thank you! You all were a great audience and I loved the interaction.</p> <p>As promised, here is a copy of my Powerpoint slide deck (<a href="/wp-content/uploads/2024/09/gRPC-.NET_-Lessons-From-the-Trenches-v3.pptx" title="gRPC + .NET: Lessons From the Trenches">gRPC + .NET: Lessons From the Trenches</a>). Feel free to ask questions if you still have any.</p> <p>Have a suggestion for another talk I should do? Let me know and if there is enough there I can put one together.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/asp-net/" rel="category tag">ASP.NET</a>, <a href="https://codegorilla.com/category/asp-net-core/" rel="category tag">ASP.NET Core</a>, <a href="https://codegorilla.com/category/c-sharp/" rel="category tag">C#</a>, <a href="https://codegorilla.com/category/grpc/" rel="category tag">gRPC</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on gRPC + .NET: Lessons from the Trenches Powerpoint Slide Deck</span></span> </div> </article> <article id="post-575" class="post-575 post type-post status-publish format-standard hentry category-net category-asp-net category-asp-net-core category-azure category-c-sharp category-grpc"> <a href="https://codegorilla.com/2024/09/11/how-to-host-a-grpc-service-with-an-azure-app-service-as-of-9-10-2024-anyway/"><div class="date-tab"> <span class="month">September</span> <span class="day">11</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2024/09/11/how-to-host-a-grpc-service-with-an-azure-app-service-as-of-9-10-2024-anyway/" rel="bookmark" title="Permanent Link to How to Host a gRPC Service With an Azure App Service (as of 9/10/2024 anyway…)"> How to Host a gRPC Service With an Azure App Service (as of 9/10/2024 anyway…) </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2024/09/11/how-to-host-a-grpc-service-with-an-azure-app-service-as-of-9-10-2024-anyway/"> </a> <p>I'm giving a talk on gRPC next week and I wanted to add more content around some gRPC benchmarks. The recent work I was doing for a client with gRPC was hosted in containers and hosted in AWS. This worked well and we had minimal issues once we got it up and running. For the benchmarks I'm looking to run, I just needed to host the gRPC service in an Azure App Service. Now that I found the correct documentation, this is a piece of cake and I'd like to point it out to anybody else who might be looking for this information in the future.</p> <p>This is the documentation for deploying a gRPC app on an Azure App Service:</p> <ul> <li><a href="https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/gRPC/Linux/.NET/use_gRPC_with_dotnet.md" title="How-to deploy a .NET 6 gRPC app on App Service">How-to deploy a .NET 6 gRPC app on App Service</a></li> <li><a href="https://github.com/Azure/app-service-linux-docs/tree/master/HowTo/gRPC/Linux/.NET/.NET%207" title="How-to deploy a .NET 7 gRPC app on App Service">How-to deploy a .NET 7 gRPC app on App Service</a></li> </ul> <p>I can confirm that this will also work for .NET 8. It was not working for .NET 9 as of 9/11/2024. I'd expect that to get fixed in the near future.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/asp-net/" rel="category tag">ASP.NET</a>, <a href="https://codegorilla.com/category/asp-net-core/" rel="category tag">ASP.NET Core</a>, <a href="https://codegorilla.com/category/azure/" rel="category tag">Azure</a>, <a href="https://codegorilla.com/category/c-sharp/" rel="category tag">C#</a>, <a href="https://codegorilla.com/category/grpc/" rel="category tag">gRPC</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on How to Host a gRPC Service With an Azure App Service (as of 9/10/2024 anyway…)</span></span> </div> </article> <article id="post-569" class="post-569 post type-post status-publish format-standard hentry category-net category-azure category-career category-certifications"> <a href="https://codegorilla.com/2024/08/06/h2-2024-update/"><div class="date-tab"> <span class="month">August</span> <span class="day">6</span> </div></a> <h2 class="post-title"> <a href="https://codegorilla.com/2024/08/06/h2-2024-update/" rel="bookmark" title="Permanent Link to H2 2024 Update"> H2 2024 Update </a> </h2> <div class="post-inner"> <a href="https://codegorilla.com/2024/08/06/h2-2024-update/"> </a> <p>Well...we're alittle over 1 month into the second half of 2024. It's been a bizarre July filled with a hurricane, a vacation, and some unexpected twists and turns.</p> <p>Let's go over the TODO list of the things that I know I need to do.</p> <ul> <li>Take and pass the GitHub Foundations exam (holdover from H1 2024)</li> <li><del>Renew Information Protection and Compliance Administrator Associate (< 9/28/2024)</del> - Completed 8/6/2024</li> <li><del>Renew Identity and Access Administrator Associate (< 10/9/2024)</del> - Completed 8/7/2024</li> <li><del>Renew Security Operations Analyst Associate (< 10/28/2024)</del> - Completed 8/8/2024</li> <li><del>Renew Cybersecurity Architect Expert (< 11/21/2024)</del> - Completed 8/9/2024</li> <li>Give gRPC + .NET: Lessons from the Trenches talk to NHDNUG in September 2024</li> <li>Attend HDNUG meetings</li> <li>Attend NHDNUG meetings</li> <li>Attend HAUG meetings</li> <li>Attend Clear Measure Architect Forums</li> <li>brainstorm ideas for another talk to give in 2025 (maybe with more of a Azure-cloud flavor?)</li> </ul> <p>And then the areas that still need more clarification:</p> <ul> <li>Decide on a cert path to go down <ul> <li>GitHub - Actions, Advanced Security, Administration</li> <li>Azure AI - AI-900, AI-102</li> <li>AWS - AI Practitioner, Solutions Architect Associate, Developer, DevOps Engineer, Solutions Architect Professional</li> </ul> </li> </ul> <p>That's all I've got so far. I still need to have some conversations with people at work to figure out what I need to prioritize with respect to my employer. I'll provide an update when I have one.</p> </div> <div class="meta"> <i class="fa fa-folder-open"></i> Category: <a href="https://codegorilla.com/category/net/" rel="category tag">.NET</a>, <a href="https://codegorilla.com/category/azure/" rel="category tag">Azure</a>, <a href="https://codegorilla.com/category/career/" rel="category tag">Career</a>, <a href="https://codegorilla.com/category/azure/certifications/" rel="category tag">Certifications</a> | <i class="fa fa-commenting"></i> <span>Comments Off<span class="screen-reader-text"> on H2 2024 Update</span></span> </div> </article> <nav class="navigation paging-navigation" role="navigation"> <h1 class="screen-reader-text"> Posts navigation </h1> <div class="nav-links"> <div class="nav-previous"> <a href="https://codegorilla.com/page/2/" ><i class="fa fa-arrow-left"></i> Older posts</a> </div> </div> </nav> </div> <aside id="sidebar" role="complementary"> <!--FOLLOW--> <div class="follow"> <a href="https://www.follow.it/now" target="_blank" rel="nofollow"> <img src="/wp-content/themes/anarcho-notepad/images/follow.png" alt="RSS" /> </a> </div> <!--END-FOLLOW--> <!--YELLOW STICKER--> <nav class="yellow-sticker-middle"> <div class="menu"><ul> <li class="page_item page-item-7"><a href="https://codegorilla.com/about/">About</a></li> <li class="page_item page-item-431"><a href="https://codegorilla.com/certifications/">Certifications</a></li> </ul></div> </nav> <div class="yellow-sticker-bottom"></div> <!--END-YELLOW STICKER--> <aside id="block-13" class="widget widget_block"><script src="https://platform.linkedin.com/badges/js/profile.js" async defer type="text/javascript"></script></aside><aside id="block-14" class="widget widget_block"><div class="badge-base LI-profile-badge" data-locale="en_US" data-size="medium" data-theme="dark" data-type="VERTICAL" data-vanity="tcardella" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://www.linkedin.com/in/tcardella?trk=profile-badge"></a></div></aside><aside id="block-6" class="widget widget_block widget_recent_entries"><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://codegorilla.com/2025/04/17/microsoft-certified-azure-data-scientist-associate/">Microsoft Certified: Azure Data Scientist Associate</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://codegorilla.com/2025/03/26/seeking-input-for-my-upcoming-talk-on-code-metrics/">Seeking Input for My Upcoming Talk on Code Metrics</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://codegorilla.com/2025/03/22/supercharge-your-net-testing-with-ncrunch-the-slide-deck/">Supercharge Your .NET Testing with NCrunch – The Slide Deck</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://codegorilla.com/2025/03/14/speaking-at-the-march-2025-north-houston-net-user-group/">Speaking at the March 2025 North Houston .NET User Group</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://codegorilla.com/2025/01/11/looking-forward-in-2025/">Looking Forward in 2025…</a></li> </ul></aside><aside id="block-7" class="widget widget_block widget_archive"><ul class="wp-block-archives-list wp-block-archives"> <li><a href='https://codegorilla.com/2025/04/'>April 2025</a></li> <li><a href='https://codegorilla.com/2025/03/'>March 2025</a></li> <li><a href='https://codegorilla.com/2025/01/'>January 2025</a></li> <li><a href='https://codegorilla.com/2024/12/'>December 2024</a></li> <li><a href='https://codegorilla.com/2024/09/'>September 2024</a></li> <li><a href='https://codegorilla.com/2024/08/'>August 2024</a></li> <li><a href='https://codegorilla.com/2024/05/'>May 2024</a></li> <li><a href='https://codegorilla.com/2024/04/'>April 2024</a></li> <li><a href='https://codegorilla.com/2024/01/'>January 2024</a></li> <li><a href='https://codegorilla.com/2023/08/'>August 2023</a></li> <li><a href='https://codegorilla.com/2022/04/'>April 2022</a></li> <li><a href='https://codegorilla.com/2022/02/'>February 2022</a></li> <li><a href='https://codegorilla.com/2021/12/'>December 2021</a></li> <li><a href='https://codegorilla.com/2021/11/'>November 2021</a></li> <li><a href='https://codegorilla.com/2021/05/'>May 2021</a></li> <li><a href='https://codegorilla.com/2021/04/'>April 2021</a></li> <li><a href='https://codegorilla.com/2020/11/'>November 2020</a></li> <li><a href='https://codegorilla.com/2020/09/'>September 2020</a></li> <li><a href='https://codegorilla.com/2020/08/'>August 2020</a></li> <li><a href='https://codegorilla.com/2020/06/'>June 2020</a></li> <li><a href='https://codegorilla.com/2020/05/'>May 2020</a></li> <li><a href='https://codegorilla.com/2020/03/'>March 2020</a></li> <li><a href='https://codegorilla.com/2018/11/'>November 2018</a></li> <li><a href='https://codegorilla.com/2015/08/'>August 2015</a></li> <li><a href='https://codegorilla.com/2015/07/'>July 2015</a></li> <li><a href='https://codegorilla.com/2012/12/'>December 2012</a></li> <li><a href='https://codegorilla.com/2012/03/'>March 2012</a></li> <li><a href='https://codegorilla.com/2011/06/'>June 2011</a></li> <li><a href='https://codegorilla.com/2008/06/'>June 2008</a></li> </ul></aside><aside id="block-8" class="widget widget_block widget_categories"><ul class="wp-block-categories-list wp-block-categories"> <li class="cat-item cat-item-40"><a href="https://codegorilla.com/category/net/">.NET</a> </li> <li class="cat-item cat-item-61"><a href="https://codegorilla.com/category/advent-of-code/">Advent of Code</a> </li> <li class="cat-item cat-item-2"><a href="https://codegorilla.com/category/asp-net/">ASP.NET</a> </li> <li class="cat-item cat-item-3"><a href="https://codegorilla.com/category/asp-net-core/">ASP.NET Core</a> </li> <li class="cat-item cat-item-57"><a href="https://codegorilla.com/category/aws/">AWS</a> </li> <li class="cat-item cat-item-54"><a href="https://codegorilla.com/category/azure/">Azure</a> </li> <li class="cat-item cat-item-51"><a href="https://codegorilla.com/category/bjss/">BJSS</a> </li> <li class="cat-item cat-item-4"><a href="https://codegorilla.com/category/c-sharp/">C#</a> </li> <li class="cat-item cat-item-56"><a href="https://codegorilla.com/category/career/">Career</a> </li> <li class="cat-item cat-item-55"><a href="https://codegorilla.com/category/azure/certifications/">Certifications</a> </li> <li class="cat-item cat-item-58"><a href="https://codegorilla.com/category/aws/certifications-aws/">Certifications</a> </li> <li class="cat-item cat-item-5"><a href="https://codegorilla.com/category/design-patterns/">Design Patterns</a> </li> <li class="cat-item cat-item-60"><a href="https://codegorilla.com/category/grpc/">gRPC</a> </li> <li class="cat-item cat-item-39"><a href="https://codegorilla.com/category/interview-questions/">interview questions</a> </li> <li class="cat-item cat-item-7"><a href="https://codegorilla.com/category/linq/">LINQ</a> </li> <li class="cat-item cat-item-8"><a href="https://codegorilla.com/category/streaminsight/">Microsoft StreamInsight</a> </li> <li class="cat-item cat-item-62"><a href="https://codegorilla.com/category/python/">Python</a> </li> <li class="cat-item cat-item-59"><a href="https://codegorilla.com/category/rants/">Rants</a> </li> <li class="cat-item cat-item-10"><a href="https://codegorilla.com/category/reactive-extensions/">Reactive Extensions</a> </li> <li class="cat-item cat-item-50"><a href="https://codegorilla.com/category/net/tools/">Tools</a> </li> <li class="cat-item cat-item-1"><a href="https://codegorilla.com/category/uncategorized/">Uncategorized</a> </li> <li class="cat-item cat-item-38"><a href="https://codegorilla.com/category/unit-testing/">unit testing</a> </li> </ul></aside><aside id="block-11" class="widget widget_block widget_text"> <p></p> </aside> <!--ABOUT (WIDGET)--> <div class="about-widget"> <p> </p> </div> <!--END-ABOUT (WIDGET)--> <!--LINKS (WIDGET)--> <div class="links-widget"> <p> <ul> </ul> </p> </div> <!--END-LINKS (WIDGET)--> <!--WHITE STICKER--> <div class="white-sticker-top"></div> <nav class="white-sticker-middle"> <ul> <li> <a href="https://codegorilla.com/2025/04/17/microsoft-certified-azure-data-scientist-associate/"> <i class="fa fa-asterisk"></i> Microsoft Certified: Azure Data Scientist Associate </a> </li> </ul> <ul> <li> <a href="https://codegorilla.com/2025/03/26/seeking-input-for-my-upcoming-talk-on-code-metrics/"> <i class="fa fa-asterisk"></i> Seeking Input for My Upcoming Talk on Code Metrics </a> </li> </ul> <ul> <li> <a href="https://codegorilla.com/2025/03/22/supercharge-your-net-testing-with-ncrunch-the-slide-deck/"> <i class="fa fa-asterisk"></i> Supercharge Your .NET Testing with NCrunch – The Slide Deck </a> </li> </ul> <ul> <li> <a href="https://codegorilla.com/2025/03/14/speaking-at-the-march-2025-north-houston-net-user-group/"> <i class="fa fa-asterisk"></i> Speaking at the March 2025 North Houston .NET User Group </a> </li> </ul> <ul> <li> <a href="https://codegorilla.com/2025/01/11/looking-forward-in-2025/"> <i class="fa fa-asterisk"></i> Looking Forward in 2025… </a> </li> </ul> <ul> <li> <a href="https://codegorilla.com/2024/12/01/advent-of-code-2024/"> <i class="fa fa-asterisk"></i> Advent of Code 2024 </a> </li> </ul> </nav> <div class="white-sticker-bottom"></div> <!--END-WHITE STICKER--> </aside> <br clear="all"> </section> <br clear="all"> <div class="notepad-bottom"></div> <footer id="footer" class="footer" role="contentinfo"> <div id="footer-widgets"> <span> </span> <span> </span> <span> </span> </div> <br clear="all"> <script type="speculationrules"> {"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\/anarcho-notepad\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script type="text/javascript" src="/wp-content/themes/anarcho-notepad/js/smoothscroll.js?ver=2.48" id="anarcho-smooth-scroll-js-js"></script> Copyright 2023. All rights reserved.<br><div class="anarchocopy" style="margin-top:10px;">WordPress theme "<a title="Theme page" target="_blank" href=https://www.spacexchimp.com/themes/anarcho-notepad.html>Anarcho Notepad</a>" by <a title="Theme author" target="_blank" href=https://www.spacexchimp.com/>Space X-Chimp</a>.</div> <a class="scroll-to-top" href="#top"> <i class="fa fa-arrow-up fa-lg"></i> </a> <br> </footer> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Served from: _ @ 2025-05-03 01:13:40 by W3 Total Cache -->