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<meta charset="UTF-8" /> 13<meta name="viewport" content="width=device-width" /> 14<title>About Jeff | Fritz on the Web</title> 15<link rel="profile" href="https://gmpg.org/xfn/11" /> 16<link rel="pingback" href="https://jeffreyfritz.com/xmlrpc.php"> 17<!--[if lt IE 9]>
18<script src="https://jeffreyfritz.com/wp-content/themes/twentytwelve/js/html5.js?ver=3.7.0" type="text/javascript"></script>
18 19<![endif]--> 20<meta name='robots' content='max-image-preview:large' /> 21<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 22<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> 23<link rel="alternate" type="application/rss+xml" title="Fritz on the Web » Feed" href="https://jeffreyfritz.com/feed/" /> 24<link rel="alternate" type="application/rss+xml" title="Fritz on the Web » Comments Feed" href="https://jeffreyfritz.com/comments/feed/" /> 25<link rel="alternate" type="application/rss+xml" title="Fritz on the Web » About Jeff Comments Feed" href="https://jeffreyfritz.com/about/feed/" />
26<script type="text/javascript"> 27/* <![CDATA[ */ 28window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/jeffreyfritz.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.12"}}; 29/*! This file is auto-generated */ 30!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\u2b1b","\ud83d\udc26\u200b\u2b1b")}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); 31/* ]]> */ 32</script>
32 33<style id='wp-emoji-styles-inline-css' type='text/css'> 34 35 img.wp-smiley, img.emoji { 36 display: inline !important; 37 border: none !important; 38 box-shadow: none !important; 39 height: 1em !important; 40 width: 1em !important; 41 margin: 0 0.07em !important; 42 vertical-align: -0.1em !important; 43 background: none !important; 44 padding: 0 !important; 45 } 46</style> 47<link rel='stylesheet' id='wp-block-library-css' href='https://jeffreyfritz.com/wp-includes/css/dist/block-library/style.min.css?ver=6.5.12' type='text/css' media='all' /> 48<style id='wp-block-library-theme-inline-css' type='text/css'> 49.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em} 50</style> 51<style id='kevinbatdorf-code-block-pro-style-inline-css' type='text/css'> 52.wp-block-kevinbatdorf-code-block-pro{direction:ltr!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;-webkit-text-size-adjust:100%!important;box-sizing:border-box!important;position:relative!important}.wp-block-kevinbatdorf-code-block-pro *{box-sizing:border-box!important}.wp-block-kevinbatdorf-code-block-pro pre,.wp-block-kevinbatdorf-code-block-pro pre *{font-size:inherit!important;line-height:inherit!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre{background-image:none!important;border:0!important;border-radius:0!important;border-style:none!important;border-width:0!important;color:inherit!important;font-family:inherit!important;margin:0!important;overflow:auto!important;overflow-wrap:normal!important;padding:16px 0 16px 16px!important;text-align:left!important;white-space:pre!important;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-sha
52dow)!important}.wp-block-kevinbatdorf-code-block-pro.padding-disabled:not(.code-block-pro-editor) pre{padding:0!important}.wp-block-kevinbatdorf-code-block-pro.padding-bottom-disabled pre{padding-bottom:0!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code{background:none!important;background-color:transparent!important;border:0!important;border-radius:0!important;border-style:none!important;border-width:0!important;color:inherit!important;display:block!important;font-family:inherit!important;margin:0!important;overflow-wrap:normal!important;padding:0!important;text-align:left!important;white-space:pre!important;width:100%!important;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code .line{display:inline-block!important;min-width:var(--cbp-block-width,100%)!important;vertical-align:top!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code .line{padding-left:calc(12px + var(--cbp-line-number-width, auto))!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code{counter-increment:step calc(var(--cbp-line-number-start, 1) - 1)!important;counter-reset:step!important}.wp-block-kevinbatdorf-code-block-pro pre code .line{position:relative!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code .line:before{content:""!important;display:inline-block!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code .line:not(.cbp-line-number-disabled):before{color:var(--cbp-line-number-color,#999)!important;content:counter(step)!important;counter-increment:step!important;left:0!important;opacity:.5!important;position:absolute!important;text-align:right!important;transition-duration:.5s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;width:var(--cbp-line-number-width,auto)!important}.wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover .line{min-height:var(--cbp-block-height,100%)!important}.wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{background:var(--cbp-line-highlight-color,rgb(14 165 233/.2))!important;left:-16px!important;min-height:var(--cbp-block-height,100%)!important;min-width:calc(var(--cbp-block-width, 100%) + 16px)!important;pointer-events:none!important;position:absolute!important;top:0!important;width:100%!important}[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-.125rem!important}[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-1.5px!important}[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-1px!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor).padding-disabled pre .line.cbp-line-highlight:after{left:0!important;width:100%!important}.wp-block-kevinbatdorf-code-block-pro.cbp-blur-enabled pre .line:not(.cbp-no-blur){filter:blur(1px)!important;opacity:.4!important;pointer-events:none!important;transition-duration:.2s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.wp-block-kevinbatdorf-code-block-pro.cbp-blur-enabled.cbp-unblur-on-hover:hover pre .line:not(.cbp-no-blur){opacity:1!important;pointer-events:auto!important;--tw-blur:blur(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre *{font-family:inherit!important}.cbp-see-more-simple-btn-hover{transition-property:none!important}.cbp-see-more-simple-btn-hover:hover{box-shadow:inset 0 0 100px 100px hsla(0,0%,100%,.1)!important}.code-block-pro-copy-button{border:0!important;border-style:none!important;border-width:0!important;cursor:pointer!important;left:auto!important;line-height:1!important;opacity:.1!important;padding:6px!important;position:absolute!important;right:0!important;top:0!important;transition-duration:.2s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;z-index:10!important}.code-block-pro-copy-button:focus{opacity:.4!important}.code-block-pro-copy-button:not([data-has-text-button]){background:none!important;background-color:transparent!important}.wp-block-kevinbatdorf-code-block-pro.padding-disabled .code-block-pro-copy-button{padding:0!important}.wp-block-kevinbatdorf-code-block-pro:hover .code-block-pro-copy-button{opacity:.5!important}.wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button:hover{opacity:.9!important}.code-block-pro-copy-button[data-has-text-button],.wp-block-kevinbatdorf-code-block-pro:hover .code-block-pro-copy-button[data-has-text-button]{opacity:1!important}.wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button[data-has-text-button]:hover{opacity:.8!important}.code-block-pro-copy-button[data-has-text-button]{border-radius:.75rem!important;display:block!important;margin-right:.75rem!important;margin-top:.7rem!important;padding:.125rem .375rem!important}.code-block-pro-copy-button[data-inside-header-type=headlightsMuted],.code-block-pro-copy-button[data-inside-header-type^=headlights]{margin-top:.85rem!important}.code-block-pro-copy-button[data-inside-header-type=headlightsMutedAlt]{margin-top:.65rem!important}.code-block-pro-copy-button[data-inside-header-type=simpleString]{margin-top:.645rem!important}.code-block-pro-copy-button[data-inside-header-type=pillString]{margin-top:1rem!important}.code-block-pro-copy-button[data-inside-header-type=pillString] .cbp-btn-text{position:relative!important;top:1px!important}.cbp-btn-text{font-size:.75rem!important;line-height:1rem!important}.code-block-pro-copy-button .without-check{display:block!important}.code-block-pro-copy-button .with-check{display:none!important}.code-block-pro-copy-button.cbp-copying{opacity:1!important}.code-block-pro-copy-button.cbp-copying .without-check{display:none!important}.code-block-pro-copy-button.cbp-copying .with-check{display:block!important}.cbp-footer-link:hover{text-decoration-line:underline!important}@media print{.wp-block-kevinbatdorf-code-block-pro pre{max-height:none!important}.wp-block-kevinbatdorf-code-block-pro:not(#x) .line:before{background-color:transparent!important;color:inherit!important}.wp-block-kevinbatdorf-code-block-pro:not(#x) .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro:not(#x)>span{display:none!important}} 53 54</style> 55<style id='classic-theme-styles-inline-css' type='text/css'> 56/*! This file is auto-generated */ 57.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
57padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 58</style> 59<style id='global-styles-inline-css' type='text/css'> 60body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--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--color--blue: #21759b;--wp--preset--color--dark-gray: #444;--wp--preset--color--medium-gray: #9f9f9f;--wp--preset--color--light-gray: #e6e6e6;--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%);
60--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;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{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;}
60.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;} 61.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} 62:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 63:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 64.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} 65</style> 66<link rel='stylesheet' id='twentytwelve-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A400italic%2C700italic%2C400%2C700&subset=latin%2Clatin-ext&display=fallback' type='text/css' media='all' /> 67<link rel='stylesheet' id='twentytwelve-style-css' href='https://jeffreyfritz.com/wp-content/themes/twentytwelve/style.css?ver=20221101' type='text/css' media='all' /> 68<link rel='stylesheet' id='twentytwelve-block-style-css' href='https://jeffreyfritz.com/wp-content/themes/twentytwelve/css/blocks.css?ver=20190406' type='text/css' media='all' /> 69<!--[if lt IE 9]> 70<link rel='stylesheet' id='twentytwelve-ie-css' href='https://jeffreyfritz.com/wp-content/themes/twentytwelve/css/ie.css?ver=20150214' type='text/css' media='all' /> 71<![endif]-->
72<script type="text/javascript" src="https://jeffreyfritz.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 72
72
73<script type="text/javascript" src="https://jeffreyfritz.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
73 74<link rel="https://api.w.org/" href="https://jeffreyfritz.com/wp-json/" /><link rel="alternate" type="application/json" href="https://jeffreyfritz.com/wp-json/wp/v2/pages/101" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://jeffreyfritz.com/xmlrpc.php?rsd" /> 75<meta name="generator" content="WordPress 6.5.12" /> 76<link rel="canonical" href="https://jeffreyfritz.com/about/" /> 77<link rel='shortlink' href='https://jeffreyfritz.com/?p=101' /> 78<link rel="alternate" type="application/json+oembed" href="https://jeffreyfritz.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjeffreyfritz.com%2Fabout%2F" /> 79<link rel="alternate" type="text/xml+oembed" href="https://jeffreyfritz.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjeffreyfritz.com%2Fabout%2F&format=xml" /> 80</head> 81 82<body class="page-template page-template-page-templates page-template-full-width-nocomments page-template-page-templatesfull-width-nocomments-php page page-id-101 wp-embed-responsive custom-font-enabled single-author"> 83<div id="page" class="hfeed site"> 84 <header id="masthead" class="site-header"> 85 <hgroup> 86 <h1 class="site-title"><a href="https://jeffreyfritz.com/" title="Fritz on the Web" rel="home">Fritz on the Web</a></h1> 87 <h2 class="site-description">My little corner of the web, full of my point of view</h2> 88 </hgroup> 89 90 <a href="https://jeffreyfritz.com/"><img src="https://jeffreyfritz.com/wp-content/uploads/2015/11/cropped-cropped-header_compressed.jpg" class="header-image" width="1256" height="327" alt="Fritz on the Web" /></a> 91 92 <nav id="site-navigation" class="main-navigation"> 93 <button class="menu-toggle">Menu</button> 94 <a class="assistive-text" href="#content" title="Skip to content">Skip to content</a> 95 <div class="menu-menu-1-container"><ul id="menu-menu-1" class="nav-menu"><li id="menu-item-11605" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-11605"><a href="https://jeffreyfritz.com">Home</a></li> 96<li id="menu-item-11609" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11609"><a href="https://jeffreyfritz.com/live/">Live Stream</a></li> 97<li id="menu-item-11608" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-101 current_page_item menu-item-11608"><a href="https://jeffreyfritz.com/about/" aria-current="page">About Jeff</a></li> 98<li id="menu-item-11655" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11655"><a href="https://jeffreyfritz.com/thank-you-supporters/">Thank you supporters</a></li> 99</ul></div> </nav><!-- #site-navigation --> 100 101 102 </header><!-- #masthead --> 103 104 <div id="main" class="wrapper"> 105 106 <div id="primary" class="site-content"> 107 <div id="content" role="main"> 108 109 110 <article id="post-101" class="post-101 page type-page status-publish hentry"> 111 <header class="entry-header"> 112 <h1 class="entry-title">About Jeff</h1> 113 </header> 114 115 <div class="entry-content"> 116 <p style="color: #666666;">Jeffrey T. Fritz – or simply “Fritz” is a Program Manager for Microsoft on the ASP.NET and .NET Community Outreach teams. He has lead the ASP.NET Web Forms, and WCF teams and managed the <a href="blogs.msdn.com/b/webdev/" target="_blank" rel="noopener noreferrer">MSDN Web Developer Tools blog</a>. He plans and assists in delivering all .NET and Visual Studio developer content at major Microsoft conferences. Additionally, he manager the Microsoft MVP program’s interactions with the Visual Studio and .NET product teams. Previously at Microsoft, he ran the NuGet package manager for a year. Prior to joining Microsoft, he was a Microsoft MVP, ASPInsider, INETA Community Champion and Developer Advocate for Telerik.  He is the author of several e-books about<img fetchpriority="high" decoding="async" class="size-medium wp-image-211 alignright" src="http://fritzblog2.azurewebsites.net/wp-content/uploads/2014/07/Twitter9bdec9a_jpg-e1407873672918-253x300.jpg" alt="Jeff the Pirate" width="253" height="300" srcset="https://jeffreyfritz.com/wp-content/uploads/2014/07/Twitter9bdec9a_jpg-e1407873672918-253x300.jpg 253w, https://jeffreyfritz.com/wp-content/uploads/2014/07/Twitter9bdec9a_jpg-e1407873672918.jpg 567w" sizes="(max-width: 253px) 100vw, 253px" /> ASP.NET development practices, and he has over 15 years of experience building large-scale multi-tenant web applications in the softw
116are-as-a-service model. He is a Penn State graduate with a degree in Management Sciences and Information Systems,and speaks regularly at developer events through the INETA speaker program.</p> 117<p>His first book, “<a href="https://www.amazon.com/ASP-NET-Core-Hours-Teach-Yourself/dp/0672337665/ref=sr_1_fkmr0_1?ie=UTF8&qid=1511357811&sr=8-1-fkmr0&keywords=learn+asp.net+core+in+24+hours">Learn ASP.NET Core in 24 Hours</a>” is available from Amazon.</p> 118<p style="color: #666666;">Jeffrey holds the unique distinction of being the only person to have his comments read on the <a href="http://dotnetrocks.com">DotNetRocks podcast</a>, a winner of the DotNetRocks fanclub give-away, and appear as a guest on DotNetRocks and TheTabletShow.</p> 119<p style="color: #666666;">Jeffrey got started coaching others in software programming as early as age 9, when he was selected to assist other students in another classroom with their <a style="color: blue;" href="https://en.wikipedia.org/wiki/Logo_(programming_language)" target="_blank" rel="noopener noreferrer">LOGO programming</a> assignments.  Helping those students move the little turtle around the screen just set in motion a lifetime of teaching computing.  Years later, Jeffrey graduated from the <a style="color: blue;" href="http://www.psu.edu/">Pennsylvania State University </a>with a degree in Management Sciences and Information Systems.  A degree that gave him a programmers skill-set and a manager’s eye for marketing, accounting, and finance.</p> 120<p style="color: #666666;">After school, the first job presented to Jeffrey was a consultant role for First Consulting Group in the Pharmaceutical industry.  After bouncing around several assignments and learning some elementary coding style, Jeffrey left to join a .com startup in the financial industry.  This startup Advisorport.com, relied on Jeffrey to build their first website that featured a collection of original reporting and data collection features.  Jeffrey built a financial proposal generation wizard, that would output PDF documents tailored for customer’s specific financial needs.</p> 121<p style="color: #666666;">After departing Advisorport, Jeffrey became a Technical Lead at Telerx – a customer service call-center company.  At Telerx, Jeffrey would sharpen his toolset in the .Net space and start to embrace agile methodologies to deliver cutting edge solutions to customers.  As this mindset started to sink in with Jeffrey, he departed Telerx for Frontline Technologies.</p> 122<p style="color: #666666;">At Frontline, Jeffrey participated in the development of one of the busiest “software as a service” applications in the United States.  He brought innovative ideas, development standards, and raised the level of software quality being delivered through agile methodology techniques like unit testing.  While at Frontline, Jeffrey started to engage the INETA (International .Net User Group Association) and participated in lecturing at several user groups, code camps, and other events.  This lecturing / coaching experience caught on with Jeffrey and he began documenting and sharing his experiences on Twitter and his blog.  With some success in those areas, he reached for more and joined Telerik.</p> 123<p style="color: #666666;">Telerik gave Jeff a tremendous opportunity to reach more developers than ever before.  He spent a lot of time writing blog posts, e-books, presentations, webinars, and the occasional training course.  While preparing for a webinar at the end of October, the trademark pirate hat gimmick was launched.  With that look, Jeff became the ASP.NET pirate – with the ability to force ASP.NET web forms and applications to do extraordinary things they were never intended to do.  All good things must come to an end, and Jeff departed Telerik when the right opportunity with Microsoft came about.</p> 124 </div><!-- .entry-content --> 125 <footer class="entry-meta"> 126 </footer><!-- .entry-meta --> 127 </article><!-- #post --> 128 129<div id="disqus_thread"></div> 130 131 </div><!-- #content --> 132 </div><!-- #primary --> 133 134 135 <div id="secondary" class="widget-area" role="complementary"> 136 <aside id="text-5" class="widget widget_text"> <div class="textwidget"><p><strong><a href="http://twitch.tv/csharpfritz">Follow me on Twitch</a>!</strong></p> 137<p><strong><a href="https://mas.to/@csharpfritz" rel="me">Follow me on Mastodon</a></strong></p> 138<p><strong><a href="https://youtube.com/csharpfritz" rel="me">Watch my videos on YouTube</a></strong></p> 139</div> 140 </aside><aside id="search-6" class="widget widget_search"><form role="search" method="get" id="searchform" class="searchform" action="https://jeffreyfritz.com/"> 141 <div> 142 <label class="screen-reader-text" for="s">Search for:</label> 143 <input type="text" value="" name="s" id="s" /> 144 <input type="submit" id="searchsubmit" value="Search" /> 145 </div> 146 </form></aside> 147 <aside id="recent-posts-6" class="widget widget_recent_entries"> 148 <h3 class="widget-title">Recent Posts</h3> 149 <ul> 150 <li> 151 <a href="https://jeffreyfritz.com/2024/07/adding-antivirus-to-net-aspire-systems/">Adding Antivirus to .NET Aspire Systems</a> 152 </li> 153 <li> 154 <a href="https://jeffreyfritz.com/2024/04/seamless-navigation-in-net-maui-hybrid-apps-my-net-maui-hybrid-journey-part-1/">Seamless Navigation in .NET MAUI Hybrid Apps – My .NET MAUI Hybrid Journey (part 1)</a> 155 </li> 156 <li> 157 <a href="https://jeffreyfritz.com/2024/02/from-iot-to-the-cloud-a-net-ecosystem-showcase-with-github-raspberry-pi-and-azure/">From IoT to the Cloud: A .NET Ecosystem Showcase with GitHub, Raspberry Pi, and Azure</a> 158 </li> 159 </ul> 160 161 </aside><aside id="text-3" class="widget widget_text"><h3 class="widget-title">My Courses</h3> <div class="textwidget"><h3>WintellectNow</h3> 162<ul> 163<li><a href="https://wintellectnow.com/Videos/Watch?videoId=getting-started-with-angular-2-and-aspdotnet-core">Get Started with Angular 2 and ASP.NET Core</a></li> 164<li><a href="https://wintellectnow.com/Videos/Watch?videoId=getting-started-with-aspdotnet-core-1.0">Getting Started with ASP.NET Core 1.0</a></li> 165<li><a href="https://wintellectnow.com/Videos/Watch?videoId=docker-for-aspdotnet-core-developers">Docker for ASP.NET Core Developers</a></li> 166<li><a href="https://www.wintellectnow.com/Videos/Watch?videoId=aspdotnet-core-middleware">ASP.NET Core Middleware</a></li><li><a href="https://www.wintellectnow.com/Videos/Watch?videoId=building-aspdotnet-core-web-uis-with-razor">Building ASP.NET Core Web UIs with Razor</a></li><li><a href="https://www.wintellectnow.com/Videos/Watch?videoId=authentication-and-authorization-in-aspdotnet-core">Authentication and Authorization in ASP.NET Core</a></li><li><a href="https://www.wintellectnow.com/Videos/Watch?videoId=net-standard-for-mere-mortals">.NET Standard for Mere Mortals</a></li> 167</ul> 168<img src="/wp-content/uploads/2014/11/pslogo_3.png" alt="Pluralsight"/> 169<br/>
169 170<ul> 171<li><a href="http://www.pluralsight.com/courses/mobilize-aspdotnet-web-forms">Mobilize Your ASP.NET Web Forms</a></li> 172 <li><A HREF="http://www.pluralsight.com/courses/one-aspdotnet-from-scratch">One ASP.NET from Scratch</a></li> 173</ul></div> 174 </aside> </div><!-- #secondary --> 175 </div><!-- #main .wrapper --> 176 <footer id="colophon" role="contentinfo"> 177 <div class="site-info"> 178 <a class="privacy-policy-link" href="https://jeffreyfritz.com/privacy-policy/" rel="privacy-policy">Privacy Policy</a><span role="separator" aria-hidden="true"></span> <a href="https://wordpress.org/" class="imprint" title="Semantic Personal Publishing Platform"> 179 Proudly powered by WordPress </a> 180 </div><!-- .site-info --> 181 </footer><!-- #colophon --> 182</div><!-- #page --> 183
184<script type="text/javascript" id="disqus_count-js-extra"> 185/* <![CDATA[ */ 186var countVars = {"disqusShortname":"jeffreyfritz"}; 187/* ]]> */ 188</script>
vendor: 1 bytes, line 188
188
189<script type="text/javascript" src="https://jeffreyfritz.com/wp-content/plugins/disqus-comment-system/public/js/comment_count.js?ver=3.1.5" id="disqus_count-js"></script>
vendor: 1 bytes, line 189
189
190<script type="text/javascript" id="disqus_embed-js-extra"> 191/* <![CDATA[ */ 192var embedVars = {"disqusConfig":{"integration":"wordpress 3.1.5 6.5.12"},"disqusIdentifier":"101 http:\/\/fritzblog2.azurewebsites.net\/?page_id=101","disqusShortname":"jeffreyfritz","disqusTitle":"About Jeff","disqusUrl":"https:\/\/jeffreyfritz.com\/about\/","postId":"101"}; 193/* ]]> */ 194</script>
vendor: 1 bytes, line 194
194
195<script type="text/javascript" src="https://jeffreyfritz.com/wp-content/plugins/disqus-comment-system/public/js/comment_embed.js?ver=3.1.5" id="disqus_embed-js"></script>
vendor: 1 bytes, line 195
195
196<script type="text/javascript" src="https://jeffreyfritz.com/wp-includes/js/comment-reply.min.js?ver=6.5.12" id="comment-reply-js" async="async" data-wp-strategy="async"></script>
vendor: 1 bytes, line 196
196
197<script type="text/javascript" src="https://jeffreyfritz.com/wp-content/themes/twentytwelve/js/navigation.js?ver=20141205" id="twentytwelve-navigation-js"></script>
197 198</body> 199</html> 200<!-- 201Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com 202 203Retrieved 670 objects (318 KB) from Redis using Predis (v2.1.2). 204-->
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.