1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6<meta name='robots' content='max-image-preview:large' /> 7<!-- Jetpack Site Verification Tags --> 8<meta name="google-site-verification" content="z5ea3j8b-SpDJ2TbXTETFTODYUpqnKyrJb2naxwsPF4"> 9<title>About – Dirk Riehle's Industry and Research Publications</title> 10<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 11<link rel='dns-prefetch' href='//jetpack.wordpress.com' /> 12<link rel='dns-prefetch' href='//s0.wp.com' /> 13<link rel='dns-prefetch' href='//public-api.wordpress.com' /> 14<link rel='dns-prefetch' href='//secure.gravatar.com' /> 15<link rel='dns-prefetch' href='//widgets.wp.com' /> 16<link rel='preconnect' href='//c0.wp.com' /> 17<link rel="alternate" type="application/rss+xml" title="Dirk Riehle's Industry and Research Publications » Feed" href="https://dirkriehle.com/feed/" /> 18<link rel="alternate" type="application/rss+xml" title="Dirk Riehle's Industry and Research Publications » Comments Feed" href="https://dirkriehle.com/comments/feed/" /> 19<link rel="alternate" type="application/rss+xml" title="Dirk Riehle's Industry and Research Publications » About Comments Feed" href="https://dirkriehle.com/about/feed/" /> 20<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://dirkriehle.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdirkriehle.com%2Fabout%2F" /> 21<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://dirkriehle.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdirkriehle.com%2Fabout%2F&format=xml" /> 22<style id="wp-img-auto-sizes-contain-inline-css"> 23img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 24/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 25</style> 26<link rel='stylesheet' id='jetpack_related-posts-css' href='https://c0.wp.com/p/jetpack/16.2/modules/related-posts/related-posts.css' media='all' /> 27<style id="wp-block-site-title-inline-css"> 28.wp-block-site-title{box-sizing:border-box}.wp-block-site-title :where(a){color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit} 29/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/site-title/style.min.css */ 30</style> 31<style id="wp-block-image-inline-css"> 32.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;
32cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}
32@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} 33/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/image/style.min.css */ 34</style> 35<style id="wp-block-group-inline-css"> 36.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} 37/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/group/style.min.css */ 38</style> 39<style id="wp-block-search-inline-css"> 40.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){-webkit-appearance:initial;-moz-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right} 41/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/search/style.min.css */ 42</style> 43<style id="wp-block-navigation-link-inline-css"> 44.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{outline:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-left:8px;text-transform:uppercase} 45/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/navigation-link/style.min.css */ 46</style> 47<link rel='stylesheet' id='wp-block-navigation-css' href='https://c0.wp.com/c/7.1.2/wp-includes/blocks/navigation/style.min.css' media='all' /> 48<style id="wp-block-post-title-inline-css"> 49.wp-block-post-title{box-sizing:border-box;word-break:break-word}.wp-block-post-title :where(a){display:inline-block;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit} 50/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/post-title/style.min.css */ 51</style> 52<style id="wp-block-paragraph-inline-css"> 53.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} 54/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/paragraph/style.min.css */ 55</style> 56<style id="wp-block-list-inline-css"> 57ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em} 58/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/list/style.min.css */ 59</style> 60<style id="wp-block-heading-inline-css"> 61h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} 62/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/heading/style.min.css */ 63</style> 64<style id="wp-block-post-content-inline-css"> 65.wp-block-post-content{display:flow-root} 66/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/post-content/style.min.css */ 67</style> 68<style id="wp-block-post-comments-form-inline-css"> 69:where(.wp-block-post-comments-form input:not([type=submit])),:where(.wp-block-post-comments-form textarea){border:1px solid #949494;font-family:inherit;font-size:1em}
69:where(.wp-block-post-comments-form input:where(:not([type=submit]):not([type=checkbox]))),:where(.wp-block-post-comments-form textarea){padding:calc(.667em + 2px)}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form :where(input[type=submit]){box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em} 70/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/post-comments-form/style.min.css */ 71</style> 72<style id="wp-block-buttons-inline-css"> 73.wp-block-buttons{box-sizing:border-box}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons .wp-block-button__link{width:100%}.wp-block-button.aligncenter{text-align:center} 74/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/buttons/style.min.css */ 75</style> 76<style id="wp-block-button-inline-css"> 77.wp-block-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button[class*=wp-block-button__width]{width:calc(var(--wp--block-button--width)*1% - var(--wp--style--block-gap, .5em)*(1 - var(--wp--block-button--width)/100))}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button[class*=wp-block-button__width]{width:calc(var(--wp--block-button--width)*1%)}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:transparent;background-image:none} 78/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/button/style.min.css */ 79</style> 80<style id="wp-block-avatar-inline-css"> 81.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center} 82/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/avatar/style.min.css */ 83</style> 84<style id="wp-block-comment-author-name-inline-css"> 85.wp-block-comment-author-name{box-sizing:border-box} 86/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comment-author-name/style.min.css */ 87</style> 88<style id="wp-block-comment-date-inline-css"> 89.wp-block-comment-date{box-sizing:border-box} 90/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comment-date/style.min.css */ 91</style> 92<style id="wp-block-comment-content-inline-css">
93.comment-awaiting-moderation{display:block;font-size:.875em;line-height:1.5}.wp-block-comment-content{box-sizing:border-box} 94/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comment-content/style.min.css */ 95</style> 96<style id="wp-block-comment-reply-link-inline-css"> 97.wp-block-comment-reply-link{box-sizing:border-box} 98/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comment-reply-link/style.min.css */ 99</style> 100<style id="wp-block-columns-inline-css"> 101.wp-block-columns{box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns{align-items:normal!important}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} 102/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/columns/style.min.css */ 103</style> 104<style id="wp-block-comment-template-inline-css"> 105.wp-block-comment-template{box-sizing:border-box;list-style:none;margin-bottom:0;max-width:100%;padding:0}.wp-block-comment-template li{clear:both}.wp-block-comment-template ol{list-style:none;margin-bottom:0;max-width:100%;padding-left:2rem}.wp-block-comment-template.alignleft{float:left}.wp-block-comment-template.aligncenter{margin-left:auto;margin-right:auto;width:-moz-fit-content;width:fit-content}.wp-block-comment-template.alignright{float:right} 106/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comment-template/style.min.css */ 107</style> 108<style id="wp-block-comments-inline-css"> 109.wp-block-post-comments{box-sizing:border-box}.wp-block-post-comments .alignleft{float:left}.wp-block-post-comments .alignright{float:right}
109.wp-block-post-comments .navigation:after{clear:both;content:"";display:table}.wp-block-post-comments .commentlist{clear:both;list-style:none;margin:0;padding:0}.wp-block-post-comments .commentlist .comment{min-height:2.25em;padding-left:3.25em}.wp-block-post-comments .commentlist .comment p{font-size:1em;line-height:1.8;margin:1em 0}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;margin-top:.5em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{font-size:.875em;line-height:1.5}.wp-block-post-comments .comment-meta b{font-weight:400}.wp-block-post-comments .comment-meta .comment-awaiting-moderation{display:block;margin-bottom:1em;margin-top:1em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.875em}.wp-block-post-comments .comment-form-author label,.wp-block-post-comments .comment-form-comment label,.wp-block-post-comments .comment-form-email label,.wp-block-post-comments .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments .comment-reply-title{margin-bottom:0}.wp-block-post-comments .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-comments .reply{font-size:.875em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}:where(.wp-block-post-comments input[type=submit]){border:none}.wp-block-comments{box-sizing:border-box} 110/*# sourceURL=https://dirkriehle.com/wp-includes/blocks/comments/style.min.css */ 111</style> 112<style id="jetpack-block-cookie-consent-inline-css"> 113.wp-block-jetpack-cookie-consent{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.wp-block-jetpack-cookie-consent .wp-block-button__link{white-space:nowrap!important}.wp-block-jetpack-cookie-consent:not([role=document]){animation:cookie-consent-slide-in .2s ease-in-out;bottom:50px;position:fixed;transition:opacity .2s ease-in-out;z-index:50001}.wp-block-jetpack-cookie-consent:not([role=document]) span{display:none}.wp-block-jetpack-cookie-consent:not([role=document]) .wp-block-button{white-space:nowrap}@keyframes cookie-consent-slide-in{0%{opacity:0}to{opacity:1}}.wp-block-jetpack-cookie-consent:not([role=document]).is-dismissed{opacity:0;pointer-events:none}.wp-block-jetpack-cookie-consent:not([role=document]).alignleft,.wp-block-jetpack-cookie-consent:not([role=document]).alignright{flex-wrap:nowrap;max-width:50%}.wp-block-jetpack-cookie-consent:not([role=document]).alignright{margin-left:auto!important;right:10px}.wp-block-jetpack-cookie-consent:not([role=document]).alignleft{left:10px}.wp-block-jetpack-cookie-consent:not([role=document]).alignwide{left:5%!important;max-width:90%!important;width:100vw!important}.wp-block-jetpack-cookie-consent:not([role=document]).alignfull{width:100%}@media screen and (max-width:768px){.wp-block-jetpack-cookie-consent:not([role=document]).alignleft,.wp-block-jetpack-cookie-consent:not([role=document]).alignright{flex-wrap:wrap;left:5%;margin-left:0!important;max-width:90%;width:100vw}} 114/*# sourceURL=https://dirkriehle.com/wp-content/plugins/jetpack/_inc/blocks/cookie-consent/view.css?minify=false */ 115</style> 116<link rel='stylesheet' id='wp-block-social-links-css' href='https://c0.wp.com/c/7.1.2/wp-includes/blocks/social-links/style.min.css' media='all' /> 117<style id="wp-emoji-styles-inline-css"> 118 119 img.wp-smiley, img.emoji { 120 display: inline !important; 121 border: none !important; 122 box-shadow: none !important; 123 height: 1em !important; 124 width: 1em !important; 125 margin: 0 0.07em !important; 126 vertical-align: -0.1em !important; 127 background: none !important; 128 padding: 0 !important; 129 } 130/*# sourceURL=wp-emoji-styles-inline-css */ 131</style> 132<style id="wp-block-library-inline-css"> 133:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}
133.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 134/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 135</style> 136<style id="global-styles-inline-css"> 137: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--color--base: #ffffff;--wp--preset--color--contrast: #000000;--wp--preset--color--primary: #9DFF20;--wp--preset--color--secondary: #345C00;--wp--preset--color--tertiary: #F6F6F6;--wp--preset--color--custom-color-1: #000000;--wp--preset--color--custom-color-2: #ffffff;--wp--preset--color--custom-color-3: #404040;--wp--preset--color--custom-color-4: #808080;--wp--preset--color--custom-color-5: #d0d0d0;--wp--preset--color--custom-color-6: #69488e;--wp--preset--color--custom-color-7: #ffa400;--wp--preset--color--custom-color-8: #6abf4b;--wp--preset--color--custom-color-9: #448aff;--wp--preset--color--custom-color-10: #d50d01;--wp--preset--color--custom-color-11: #34a3c5;--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,
1370,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: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.227), 1rem);--wp--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.227), 1.125rem);--wp--preset--font-size--large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.227), 1.875rem);--wp--preset--font-size--x-large: 2.25rem;--wp--preset--font-size--xx-large: clamp(4rem, 4rem + ((1vw - 0.2rem) * 10.909), 10rem);--wp--preset--font-family--dm-sans: "DM Sans", sans-serif;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--inter: "Inter", sans-serif;--wp--preset--font-family--system-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--wp--preset--font-family--source-serif-pro: "Source Serif Pro", serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: clamp(1.5rem, 5vw, 2rem);--wp--preset--spacing--40: clamp(1.8rem, 1.8rem + ((1vw - 0.48rem) * 2.885), 3rem);--wp--preset--spacing--50: clamp(2.5rem, 8vw, 4.5rem);--wp--preset--spacing--60: clamp(3.75rem, 10vw, 7rem);--wp--preset--spacing--70: clamp(5rem, 5.25rem + ((1vw - 0.48rem) * 9.096), 8rem);--wp--preset--spacing--80: clamp(7rem, 14vw, 11rem);--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);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}.wp-block-post-featured-image{--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--color--base: #ffffff;--wp--preset--color--contrast: #000000;--wp--preset--color--primary: #9DFF20;--wp--preset--color--secondary: #345C00;--wp--preset--color--tertiary: #F6F6F6;--wp--preset--color--custom-color-1: #000000;--wp--preset--color--custom-color-2: #ffffff;--wp--preset--color--custom-color-3: #404040;--wp--preset--color--custom-color-4: #808080;--wp--preset--color--custom-color-5: #d0d0d0;--wp--preset--color--custom-color-6: #69488e;--wp--preset--color--custom-color-7: #ffa400;--wp--preset--color--custom-color-8: #6abf4b;--wp--preset--color--custom-color-9: #448aff;--wp--preset--color--custom-color-10: #d50d01;--wp--preset--color--custom-color-11: #34a3c5;--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,
1370,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: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.227), 1rem);--wp--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.227), 1.125rem);--wp--preset--font-size--large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.227), 1.875rem);--wp--preset--font-size--x-large: 2.25rem;--wp--preset--font-size--xx-large: clamp(4rem, 4rem + ((1vw - 0.2rem) * 10.909), 10rem);--wp--preset--font-family--dm-sans: "DM Sans", sans-serif;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--inter: "Inter", sans-serif;--wp--preset--font-family--system-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--wp--preset--font-family--source-serif-pro: "Source Serif Pro", serif;--wp--preset--spacing--30: clamp(1.5rem, 5vw, 2rem);--wp--preset--spacing--40: clamp(1.8rem, 1.8rem + ((1vw - 0.48rem) * 2.885), 3rem);--wp--preset--spacing--50: clamp(2.5rem, 8vw, 4.5rem);--wp--preset--spacing--60: clamp(3.75rem, 10vw, 7rem);--wp--preset--spacing--70: clamp(5rem, 5.25rem + ((1vw - 0.48rem) * 9.096), 8rem);--wp--preset--spacing--80: clamp(7rem, 14vw, 11rem);}.wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder{--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);}:root { --wp--style--global--content-size: 650px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: var(--wp--preset--spacing--30); margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: var(--wp--preset--spacing--30); }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: var(--wp--preset--spacing--30);margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: var(--wp--preset--spacing--30);margin-block-end: 0;}:root :where(.is-layout-flex){gap: var(--wp--preset--spacing--30);}:root :where(.is-layout-grid){gap: var(--wp--preset--spacing--30);}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained >
137 :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--custom-color-5);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium);line-height: 1.5;--wp--style--root--padding-top: 0;--wp--style--root--padding-right: var(--wp--preset--spacing--30);--wp--style--root--padding-bottom: 0;--wp--style--root--padding-left: var(--wp--preset--spacing--30);}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--contrast);text-decoration: underline;}:root :where(a:where(:not(.wp-element-button)):hover){text-decoration: none;}:root :where(a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;}:root :where(a:where(:not(.wp-element-button)):active){color: var(--wp--preset--color--secondary);text-decoration: none;}h1, h2, h3, h4, h5, h6{font-weight: 400;line-height: 1.5;}h1{font-size: var(--wp--preset--font-size--x-large);font-style: normal;font-weight: 700;line-height: 1.5;}h2{font-size: var(--wp--preset--font-size--large);font-style: normal;font-weight: 700;line-height: 1.5;}h3{font-size: var(--wp--preset--font-size--medium);font-style: normal;font-weight: 700;}h4{font-size: var(--wp--preset--font-size--medium);}h5{font-size: var(--wp--preset--font-size--medium);font-weight: 700;text-transform: none;}h6{font-size: var(--wp--preset--font-size--medium);text-transform: none;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--custom-color-7);border-radius: 0;border-width: 0;color: var(--wp--preset--color--custom-color-2);font-family: inherit;font-size: var(--wp--preset--font-size--medium);font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}:root :where(.wp-element-button:visited, .wp-block-button__link:visited){color: var(--wp--preset--color--contrast);}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: var(--wp--preset--color--contrast);color: var(--wp--preset--color--base);}:root :where(.wp-element-button:focus, .wp-block-button__link:focus){background-color: var(--wp--preset--color--contrast);color: var(--wp--preset--color--base);}:root :where(.wp-element-button:active, .wp-block-button__link:active){background-color: var(--wp--preset--color--secondary);color: var(--wp--preset--color--base);}.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-base-color{color: var(--wp--preset--color--base) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-tertiary-color{color: var(--wp--preset--color--tertiary) !important;}.has-custom-color-1-color{color: var(--wp--preset--color--custom-color-1) !important;}.has-custom-color-2-color{color: var(--wp--preset--color--custom-color-2) !important;}.has-custom-color-3-color{color: var(--wp--preset--color--custom-color-3) !important;}.has-custom-color-4-color{color: var(--wp--preset--color--custom-color-4) !important;}.has-custom-color-5-color{color: var(--wp--preset--color--custom-color-5) !important;}.has-custom-color-6-color{color: var(--wp--preset--color--custom-color-6) !important;}.has-custom-color-7-color{color: var(--wp--preset--color--custom-color-7) !important;}.has-custom-color-8-color{color: var(--wp--preset--color--custom-color-8) !important;}.has-custom-color-9-color{color: var(--wp--preset--color--custom-color-9) !important;}.has-custom-color-10-color{color: var(--wp--preset--color--custom-color-10) !important;}.has-custom-color-11-color{color: var(--wp--preset--color--custom-color-11) !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-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-background-color{background-color: var(--wp--preset--color--tertiary) !important;}.has-custom-color-1-background-color{background-color: var(--wp--preset--color--custom-color-1) !important;}.has-custom-color-2-background-color{background-color: var(--wp--preset--color--custom-color-2) !important;}.has-custom-color-3-background-color{background-color: var(--wp--preset--color--custom-color-3) !important;}.has-custom-color-4-background-color{background-color: var(--wp--preset--color--custom-color-4) !important;}.has-custom-color-5-background-color{background-color: var(--wp--preset--color--custom-color-5) !important;}.has-custom-color-6-background-color{background-color: var(--wp--preset--color--custom-color-6) !important;}.has-custom-color-7-background-color{background-color: var(--wp--preset--color--custom-color-7) !important;}.has-custom-color-8-background-color{background-color: var(--wp--preset--color--custom-color-8) !important;}.has-custom-color-9-background-color{background-color: var(--wp--preset--color--custom-color-9) !important;}.has-custom-color-10-background-color{background-color: var(--wp--preset--color--custom-color-10) !important;}.has-custom-color-11-background-color{background-color: var(--wp--preset--color--custom-color-11) !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-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-border-color{border-color: var(--wp--preset--color--tertiary) !important;}.has-custom-color-1-border-color{border-color: var(--wp--preset--color--custom-color-1) !important;}.has-custom-color-2-border-color{border-color: var(--wp--preset--color--custom-color-2) !important;}.has-custom-color-3-border-color{border-color: var(--wp--preset--color--custom-color-3) !important;}.has-custom-color-4-border-color{border-color: var(--wp--preset--color--custom-color-4) !important;}.has-custom-color-5-border-color{border-color: var(--wp--preset--color--custom-color-5) !important;}.has-custom-color-6-border-color{border-color: var(--wp--preset--color--custom-color-6) !important;}.has-custom-color-7-border-color{border-color: var(--wp--preset--color--custom-color-7) !important;}.has-custom-color-8-border-color{border-color: var(--wp--preset--color--custom-color-8) !important;}.has-custom-color-9-border-color{border-color: var(--wp--preset--color--custom-color-9) !important;}.has-custom-color-10-border-color{border-color: var(--wp--preset--color--custom-color-10) !important;}.has-custom-color-11-border-color{border-color: var(--wp--preset--color--custom-color-11) !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;}
137.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;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-system-font-font-family{font-family: var(--wp--preset--font-family--system-font) !important;}.has-source-serif-pro-font-family{font-family: var(--wp--preset--font-family--source-serif-pro) !important;}:where(.wp-block-post-featured-image).has-black-color{color: var(--wp--preset--color--black) !important;}:where(.wp-block-post-featured-image).has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}:where(.wp-block-post-featured-image).has-white-color{color: var(--wp--preset--color--white) !important;}:where(.wp-block-post-featured-image).has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}:where(.wp-block-post-featured-image).has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}:where(.wp-block-post-featured-image).has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}:where(.wp-block-post-featured-image).has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}:where(.wp-block-post-featured-image).has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}:where(.wp-block-post-featured-image).has-base-color{color: var(--wp--preset--color--base) !important;}:where(.wp-block-post-featured-image).has-contrast-color{color: var(--wp--preset--color--contrast) !important;}:where(.wp-block-post-featured-image).has-primary-color{color: var(--wp--preset--color--primary) !important;}:where(.wp-block-post-featured-image).has-secondary-color{color: var(--wp--preset--color--secondary) !important;}:where(.wp-block-post-featured-image).has-tertiary-color{color: var(--wp--preset--color--tertiary) !important;}:where(.wp-block-post-featured-image).has-custom-color-1-color{color: var(--wp--preset--color--custom-color-1) !important;}:where(.wp-block-post-featured-image).has-custom-color-2-color{color: var(--wp--preset--color--custom-color-2) !important;}:where(.wp-block-post-featured-image).has-custom-color-3-color{color: var(--wp--preset--color--custom-color-3) !important;}:where(.wp-block-post-featured-image).has-custom-color-4-color{color: var(--wp--preset--color--custom-color-4) !important;}:where(.wp-block-post-featured-image).has-custom-color-5-color{color: var(--wp--preset--color--custom-color-5) !important;}:where(.wp-block-post-featured-image).has-custom-color-6-color{color: var(--wp--preset--color--custom-color-6) !important;}:where(.wp-block-post-featured-image).has-custom-color-7-color{color: var(--wp--preset--color--custom-color-7) !important;}:where(.wp-block-post-featured-image).has-custom-color-8-color{color: var(--wp--preset--color--custom-color-8) !important;}:where(.wp-block-post-featured-image).has-custom-color-9-color{color: var(--wp--preset--color--custom-color-9) !important;}:where(.wp-block-post-featured-image).has-custom-color-10-color{color: var(--wp--preset--color--custom-color-10) !important;}:where(.wp-block-post-featured-image).has-custom-color-11-color{color: var(--wp--preset--color--custom-color-11) !important;}:where(.wp-block-post-featured-image).has-black-background-color{background-color: var(--wp--preset--color--black) !important;}:where(.wp-block-post-featured-image).has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}:where(.wp-block-post-featured-image).has-white-background-color{background-color: var(--wp--preset--color--white) !important;}:where(.wp-block-post-featured-image).has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}:where(.wp-block-post-featured-image).has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}:where(.wp-block-post-featured-image).has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}:where(.wp-block-post-featured-image).has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}:where(.wp-block-post-featured-image).has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}:where(.wp-block-post-featured-image).has-base-background-color{background-color: var(--wp--preset--color--base) !important;}:where(.wp-block-post-featured-image).has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}:where(.wp-block-post-featured-image).has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}:where(.wp-block-post-featured-image).has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}:where(.wp-block-post-featured-image).has-tertiary-background-color{background-color: var(--wp--preset--color--tertiary) !important;}:where(.wp-block-post-featured-image).has-custom-color-1-background-color{background-color: var(--wp--preset--color--custom-color-1) !important;}:where(.wp-block-post-featured-image).has-custom-color-2-background-color{background-color: var(--wp--preset--color--custom-color-2) !important;}:where(.wp-block-post-featured-image).has-custom-color-3-background-color{background-color: var(--wp--preset--color--custom-color-3) !important;}:where(.wp-block-post-featured-image).has-custom-color-4-background-color{background-color: var(--wp--preset--color--custom-color-4) !important;}:where(.wp-block-post-featured-image).has-custom-color-5-background-color{background-color: var(--wp--preset--color--custom-color-5) !important;}:where(.wp-block-post-featured-image).has-custom-color-6-background-color{background-color: var(--wp--preset--color--custom-color-6) !important;}:where(.wp-block-post-featured-image).has-custom-color-7-background-color{background-color: var(--wp--preset--color--custom-color-7) !important;}:where(.wp-block-post-featured-image).has-custom-color-8-background-color{background-color: var(--wp--preset--color--custom-color-8) !important;}:where(.wp-block-post-featured-image).has-custom-color-9-background-color{background-color: var(--wp--preset--color--custom-color-9) !important;}:where(.wp-block-post-featured-image).has-custom-color-10-background-color{background-color: var(--wp--preset--color--custom-color-10) !important;}:where(.wp-block-post-featured-image).has-custom-color-11-background-color{background-color: var(--wp--preset--color--custom-color-11) !important;}:where(.wp-block-post-featured-image).has-black-border-color{border-color: var(--wp--preset--color--black) !important;}:where(.wp-block-post-featured-image).has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}:where(.wp-block-post-featured-image).has-white-border-color{border-color: var(--wp--preset--color--white) !important;}:where(.wp-block-post-featured-image).has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}:where(.wp-block-post-featured-image).has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}:where(.wp-block-post-featured-image).has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}:where(.wp-block-post-featured-image).has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}:where(.wp-block-post-featured-image).has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}:where(.wp-block-post-featured-image).has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}:where(.wp-block-post-featured-image).has-base-border-color{border-color: var(--wp--preset--color--base) !important;}:where(.wp-block-post-featured-image).has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}:where(.wp-block-post-featured-image).has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}:where(.wp-block-post-featured-image).has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}:where(.wp-block-post-featured-image).has-tertiary-border-color{border-color: var(--wp--preset--color--tertiary) !important;}:where(.wp-block-post-featured-image).has-custom-color-1-border-color{border-color: var(--wp--preset--color--custom-color-1) !important;}:where(.wp-block-post-featured-image).has-custom-color-2-border-color{border-color: var(--wp--preset--color--custom-color-2) !important;}:where(.wp-block-post-featured-image).has-custom-color-3-border-color{border-color: var(--wp--preset--color--custom-color-3) !important;}:where(.wp-block-post-featured-image).has-custom-color-4-border-color{border-color: var(--wp--preset--color--custom-color-4) !important;}:where(.wp-block-post-featured-image).has-custom-color-5-border-color{border-color: var(--wp--preset--color--custom-color-5) !important;}:where(.wp-block-post-featured-image).has-custom-color-6-border-color{border-color: var(--wp--preset--color--custom-color-6) !important;}:where(.wp-block-post-featured-image).has-custom-color-7-border-color{border-color: var(--wp--preset--color--custom-color-7) !important;}:where(.wp-block-post-featured-image).has-custom-color-8-border-color{border-color: var(--wp--preset--color--custom-color-8) !important;}:where(.wp-block-post-featured-image).has-custom-color-9-border-color{border-color: var(--wp--preset--color--custom-color-9) !important;}:where(.wp-block-post-featured-image).has-custom-color-10-border-color{border-color: var(--wp--preset--color--custom-color-10) !important;}:where(.wp-block-post-featured-image).has-custom-color-11-border-color{border-color: var(--wp--preset--color--custom-color-11) !important;}:where(.wp-block-post-featured-image).has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}:where(.wp-block-post-featured-image).has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}:where(.wp-block-post-featured-image).has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
137:where(.wp-block-post-featured-image).has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}:where(.wp-block-post-featured-image).has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}:where(.wp-block-post-featured-image).has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}:where(.wp-block-post-featured-image).has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}:where(.wp-block-post-featured-image).has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}:where(.wp-block-post-featured-image).has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}:where(.wp-block-post-featured-image).has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}:where(.wp-block-post-featured-image).has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}:where(.wp-block-post-featured-image).has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}:where(.wp-block-post-featured-image).has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}:where(.wp-block-post-featured-image).has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}:where(.wp-block-post-featured-image).has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}:where(.wp-block-post-featured-image).has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}:where(.wp-block-post-featured-image).has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}:where(.wp-block-post-featured-image).has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}:where(.wp-block-post-featured-image).has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}:where(.wp-block-post-featured-image).has-system-font-font-family{font-family: var(--wp--preset--font-family--system-font) !important;}:where(.wp-block-post-featured-image).has-source-serif-pro-font-family{font-family: var(--wp--preset--font-family--source-serif-pro) !important;} 138:root :where(.wp-block-navigation){font-size: var(--wp--preset--font-size--medium);} 139:root :where(.wp-block-navigation a:where(:not(.wp-element-button))){text-decoration: none;} 140:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover){text-decoration: underline;} 141:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;} 142:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):active){text-decoration: none;} 143:root :where(.wp-block-post-content a:where(:not(.wp-element-button))){color: var(--wp--preset--color--custom-color-6);} 144:root :where(.wp-block-post-title){font-style: normal;font-weight: 700;margin-top: 1.25rem;margin-bottom: 1.25rem;} 145:root :where(.wp-block-post-title a:where(:not(.wp-element-button))){text-decoration: none;} 146:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;} 147:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;} 148:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):active){color: var(--wp--preset--color--secondary);text-decoration: none;} 149:root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button))){text-decoration: none;} 150:root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button)):hover){text-decoration: underline;} 151:root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;} 152:root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button)):active){color: var(--wp--preset--color--secondary);text-decoration: none;} 153:root :where(.wp-block-comment-date){font-size: var(--wp--preset--font-size--medium);}
154:root :where(.wp-block-comment-date a:where(:not(.wp-element-button))){text-decoration: none;} 155:root :where(.wp-block-comment-date a:where(:not(.wp-element-button)):hover){text-decoration: underline;} 156:root :where(.wp-block-comment-date a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;} 157:root :where(.wp-block-comment-date a:where(:not(.wp-element-button)):active){color: var(--wp--preset--color--secondary);text-decoration: none;} 158:root :where(.wp-block-comment-reply-link){font-size: var(--wp--preset--font-size--medium);} 159:root :where(.wp-block-site-title){font-size: var(--wp--preset--font-size--large);font-weight: normal;line-height: 1.4;} 160:root :where(.wp-block-site-title a:where(:not(.wp-element-button))){text-decoration: none;} 161:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;} 162:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):focus){text-decoration: underline dashed;} 163:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):active){color: var(--wp--preset--color--secondary);text-decoration: none;} 164:root :where(.wp-block-search){font-size: var(--wp--preset--font-size--medium);} 165:root :where(.wp-block-post-comments-form){font-size: var(--wp--preset--font-size--medium);} 166/*# sourceURL=global-styles-inline-css */ 167</style> 168<style id="core-block-supports-inline-css"> 169.wp-container-core-group-is-layout-5f3fe452{gap:0px;}.wp-container-core-group-is-layout-d344c601{justify-content:space-between;}.wp-container-core-navigation-is-layout-fa838b63{justify-content:flex-start;}.wp-container-core-columns-is-layout-f06e4358{flex-wrap:nowrap;}.wp-container-core-group-is-layout-f01d84c1{justify-content:space-between;}.wp-container-core-group-is-layout-11295aa2 > .alignfull{margin-right:calc(var(--wp--preset--spacing--30) * -1);margin-left:calc(var(--wp--preset--spacing--30) * -1);}.wp-container-core-group-is-layout-11295aa2 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-11295aa2 > * + *{margin-block-start:0;margin-block-end:0;} 170/*# sourceURL=core-block-supports-inline-css */ 171</style> 172<style id="wp-block-template-skip-link-inline-css"> 173/*! This file is auto-generated */ 174.skip-link.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal!important}.skip-link.screen-reader-text:focus{background-color:#eee;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} 175/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */ 176</style> 177<link rel='stylesheet' id='jetpack-instant-search-css' href='https://dirkriehle.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.chunk-main-payload.css?minify=false&ver=25d86678d0b48f702f8f' media='all' /> 178<style id="jetpack-stats-inline-css"> 179img#wpstats{display:none} 180/*# sourceURL=jetpack-stats-inline-css */ 181</style>
182<script id="jetpack-blocks-assets-base-url-js-before"> 183var Jetpack_Block_Assets_Base_Url="https://dirkriehle.com/wp-content/plugins/jetpack/_inc/blocks/"; 184//# sourceURL=jetpack-blocks-assets-base-url-js-before 185</script>
vendor: 1 bytes, line 185
185
186<script id="wp-dom-ready-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/dom-ready.min.js"></script>
vendor: 1 bytes, line 186
186
187<script data-wp-strategy="defer" defer id="jetpack-cookie-consent-view-script-js" src="https://c0.wp.com/p/jetpack/16.2/_inc/blocks/cookie-consent/view.js"></script>
187 188 189<!-- Google tag (gtag.js) snippet added by Site Kit --> 190<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 190-191
190 191<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
191GT-WKRWKSFZ
vendor: 18 bytes, line 191
191" async></script>
192<script id="google_gtagjs-js-after"> 193window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 194gtag("set","linker",{"domains":["dirkriehle.com"]}); 195gtag("js", new Date()); 196gtag("set", "developer_id.dZTNiMT", true); 197gtag("config", "GT-WKRWKSFZ"); 198//# sourceURL=google_gtagjs-js-after 199</script>
199 200<link rel="https://api.w.org/" href="https://dirkriehle.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://dirkriehle.com/wp-json/wp/v2/pages/5375" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://dirkriehle.com/xmlrpc.php?rsd" /> 201<meta name="generator" content="WordPress 7.1.2" /> 202<link rel="canonical" href="https://dirkriehle.com/about/" /> 203<link rel='shortlink' href='https://dirkriehle.com/?p=5375' /> 204<meta name="generator" content="Site Kit by Google 1.188.0" />
204<script id="wp-importmap" type="importmap"> 205{"imports":{"@wordpress/interactivity":"https://dirkriehle.com/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1"}} 206</script>
206 207<link rel="modulepreload" href="https://dirkriehle.com/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=efaa5193bbad9c60ffd1" id="@wordpress/interactivity-js-modulepreload" fetchpriority="low"> 208<meta name="description" content="I'm a professor of computer science at a large university in Germany. I became a professor after working in the software industry for 15 years. I have lived and worked in Germany, Switzerland, and the U.S.A. Also, project travel brings me to S/E Asia a lot. I can be reached by Email at [email protected] or…" /> 209 210<!-- Jetpack Open Graph Tags --> 211<meta property="og:type" content="article" /> 212<meta property="og:title" content="About" /> 213<meta property="og:url" content="https://dirkriehle.com/about/" /> 214<meta property="og:description" content="I’m a professor of computer science at a large university in Germany. I became a professor after working in the software industry for 15 years. I have lived and worked in Germany, Switzerlandâ¦" /> 215<meta property="article:published_time" content="2008-01-08T04:24:50+00:00" /> 216<meta property="article:modified_time" content="2025-10-17T12:29:49+00:00" /> 217<meta property="og:site_name" content="Dirk Riehle's Industry and Research Publications" /> 218<meta property="og:image" content="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351.png" /> 219<meta property="og:image:width" content="510" /> 220<meta property="og:image:height" content="510" /> 221<meta property="og:image:alt" content="" /> 222<meta property="og:locale" content="en_US" /> 223<meta name="twitter:site" content="@dirkriehle" /> 224<meta name="twitter:text:title" content="About" /> 225<meta name="twitter:image" content="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351-300x300.png" /> 226<meta name="twitter:card" content="summary" /> 227 228<!-- End Jetpack Open Graph Tags --> 229<style class="wp-fonts-local"> 230@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular.woff2') format('woff2');font-stretch:normal;} 231@font-face{font-family:"DM Sans";font-style:italic;font-weight:400;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular-Italic.woff2') format('woff2');font-stretch:normal;} 232@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold.woff2') format('woff2');font-stretch:normal;} 233@font-face{font-family:"DM Sans";font-style:italic;font-weight:700;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold-Italic.woff2') format('woff2');font-stretch:normal;} 234@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:300;font-display:block;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2') format('woff2');font-stretch:normal;} 235@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:block;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2') format('woff2');font-stretch:normal;} 236@font-face{font-family:"IBM Plex Mono";font-style:italic;font-weight:400;font-display:block;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2') format('woff2');font-stretch:normal;} 237@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:block;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2') format('woff2');font-stretch:normal;} 238@font-face{font-family:Inter;font-style:normal;font-weight:200 900;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf') format('truetype');font-stretch:normal;} 239@font-face{font-family:"Source Serif Pro";font-style:normal;font-weight:200 900;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2') format('woff2');font-stretch:normal;} 240@font-face{font-family:"Source Serif Pro";font-style:italic;font-weight:200 900;font-display:fallback;src:url('https://dirkriehle.com/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2') format('woff2');font-stretch:normal;} 241</style> 242<link rel="icon" href="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351-150x150.png" sizes="32x32" /> 243<link rel="icon" href="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351-300x300.png" sizes="192x192" /> 244<link rel="apple-touch-icon" href="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351-300x300.png" /> 245<meta name="msapplication-TileImage" content="https://dirkriehle.com/wp-content/uploads/2023/06/wp-1685822180351-300x300.png" /> 246</head> 247 248<body class="wp-singular page-template-default page page-id-5375 page-parent wp-embed-responsive wp-theme-twentytwentythree jps-theme-twentytwentythree">
249<script id='jetpack-search-theme-token-sampler'>(function(){try{var c=getComputedStyle(document.body),r=document.documentElement,ink=c.color,bg=c.backgroundColor;if(ink){r.style.setProperty('--jp-search-page-ink',ink);}if(bg&&bg!==ink&&bg!=='rgba(0, 0, 0, 0)'&&bg!=='transparent'){r.style.setProperty('--jp-search-page-surface',bg);}}catch(e){}})();</script>
249 250<a class="skip-link screen-reader-text" id="wp-skip-link" href="#wp--skip-link--target">Skip to content</a><div class="wp-site-blocks"><header class="wp-block-template-part"> 251<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"><p class="has-text-align-left alignwide wp-block-site-title"><a href="https://dirkriehle.com" target="_self" rel="home">Dirk Riehle's Industry and Research Publications</a></p> 252 253 254<div class="wp-block-group alignwide is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-d344c601 wp-block-group-is-layout-flex"> 255<div class="wp-block-group is-layout-flex wp-container-core-group-is-layout-5f3fe452 wp-block-group-is-layout-flex"> 256<figure class="wp-block-image size-medium is-resized"><a href="https://bayave.com/"><img decoding="async" width="300" height="77" src="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-1-Services-Framed-Dark-300x77.png" alt="" class="wp-image-16691" style="width:160px;height:40px" srcset="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-1-Services-Framed-Dark-300x77.png 300w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-1-Services-Framed-Dark-768x198.png 768w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-1-Services-Framed-Dark.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure> 257 258 259 260<figure class="wp-block-image size-medium is-resized"><a href="https://dirkriehle.com/"><img decoding="async" width="300" height="77" src="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-2-Industry-Framed-300x77.png" alt="" class="wp-image-16692" style="width:160px;height:40px" srcset="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-2-Industry-Framed-300x77.png 300w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-2-Industry-Framed-768x198.png 768w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-2-Industry-Framed.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure> 261 262 263 264<figure class="wp-block-image size-medium is-resized"><a href="https://profriehle.com/"><img decoding="async" width="300" height="77" src="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-3-Academia-Framed-Dark-300x77.png" alt="" class="wp-image-16695" style="width:160px;height:40px" srcset="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-3-Academia-Framed-Dark-300x77.png 300w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-3-Academia-Framed-Dark-768x198.png 768w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-3-Academia-Framed-Dark.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure> 265 266 267 268<figure class="wp-block-image size-medium is-resized"><a href="https://uni1.de/"><img decoding="async" width="300" height="77" src="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-4-Teaching-Framed-Dark-300x77.png" alt="" class="wp-image-16697" style="width:160px;height:40px" srcset="https://dirkriehle.com/wp-content/uploads/2023/05/Menu-4-Teaching-Framed-Dark-300x77.png 300w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-4-Teaching-Framed-Dark-768x198.png 768w, https://dirkriehle.com/wp-content/uploads/2023/05/Menu-4-Teaching-Framed-Dark.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure> 269</div> 270 271 272<form role="search" method="get" action="https://dirkriehle.com/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper" ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></div> 273 274 275<nav class="is-responsive items-justified-left alignwide wp-block-navigation is-content-justification-left is-layout-flex wp-container-core-navigation-is-layout-fa838b63 wp-block-navigation-is-layout-flex" aria-label="Header Menu" 276 data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Menu"}'><button aria-haspopup="dialog" aria-label="Open menu" class="wp-block-navigation__responsive-container-open" 277 data-wp-on--click="actions.openMenuOnClick" 278 data-wp-on--keydown="actions.handleMenuKeydown" 279 ><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
279<path d="M4 7.5h16v1.5H4z"></path><path d="M4 15h16v1.5H4z"></path></svg></button> 280 <div class="wp-block-navigation__responsive-container" id="modal-2" 281 data-wp-class--has-modal-open="state.isMenuOpen" 282 data-wp-class--is-menu-open="state.isMenuOpen" 283 data-wp-watch="callbacks.initMenu" 284 data-wp-on--keydown="actions.handleMenuKeydown" 285 data-wp-on--focusout="actions.handleMenuFocusout" 286 tabindex="-1" 287 > 288 <div class="wp-block-navigation__responsive-close" tabindex="-1"> 289 <div class="wp-block-navigation__responsive-dialog" 290 data-wp-bind--aria-modal="state.ariaModal" 291 data-wp-bind--aria-label="state.ariaLabel" 292 data-wp-bind--role="state.roleAttribute" 293 > 294 <button aria-label="Close menu" class="wp-block-navigation__responsive-container-close" 295 data-wp-on--click="actions.closeMenuOnClick" 296 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg></button> 297 <div class="wp-block-navigation__responsive-container-content" 298 data-wp-watch="callbacks.focusFirstElement" 299 id="modal-2-content"> 300 <ul class="wp-block-navigation__container is-responsive items-justified-left alignwide wp-block-navigation"><li class="wp-block-navigation-item current-menu-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/about" aria-current="page"><span class="wp-block-navigation-item__label">About</span></a></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/open-source/"><span class="wp-block-navigation-item__label">Open Source</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="Open Source submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/open-source/software/"><span class="wp-block-navigation-item__label">Open-Source Software</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="Open-Source Software submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter
300="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/"><span class="wp-block-navigation-item__label">Free and open-source software</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="Free and open-source software submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/why-use-reasons-for/"><span class="wp-block-navigation-item__label">Why use open-source software?</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/intellectual-property-rights/"><span class="wp-block-navigation-item__label">Intellectual property rights</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/licenses/"><span class="wp-block-navigation-item__label">Open-source software licenses</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/end-users-and-distributors/"><span class="wp-block-navigation-item__label">End-users and distributors</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/free-and-open/the-copyleft-obligation/"><span class="wp-block-navigation-item__label">The copyleft obligation</span></a></li></ul></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/program-offices/"><span class="wp-block-navigation-item__label">Open source program offices</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/open-source/software/bill-of-materials/"><span class="wp-block-navigation-item__label">The software bill of materials</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-source/software/license-compliance/"><span class="wp-block-navigation-item__label">License compliance</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/open-source/software/supply-chain-security/"><span class="wp-block-navigation-item__label">Supply chain security</span></a></li></ul></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/publications"><span class="wp-block-navigation-item__label">Publications</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="Publications submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false">
300<path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2026-selected/"><span class="wp-block-navigation-item__label">2026 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2026 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/2026-selected/single-vendor-open-source-its-not-a-project-it-is-a-feature/"><span class="wp-block-navigation-item__label">Single-Vendor Open Source: Itâs not a Project, it is a Feature!</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2023-selected/"><span class="wp-block-navigation-item__label">2023 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2023 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2023-selected/the-future-of-the-open-source-definition/"><span class="wp-block-navigation-item__label">The Future of the Open Source Definition</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2023-selected/mit-open-source-und-offenheit-gewinnen/"><span class="wp-block-navigation-item__label">Mit Open Source und Offenheit gewinnen</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter
300="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2021-selected/"><span class="wp-block-navigation-item__label">2021 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2021 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2021-selected/the-open-source-distributor-business-model/"><span class="wp-block-navigation-item__label">The Open Source Distributor Business Model</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2020-selected/"><span class="wp-block-navigation-item__label">2020 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2020 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2020-selected/single-vendor-open-source-firms-and-their-intellectual-property-strategies/"><span class="wp-block-navigation-item__label">Single-Vendor Open Source Firms (and Their Intellectual Property Strategies)</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2019-selected/"><span class="wp-block-navigation-item__label">2019 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2019 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false">
300<path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2019-selected/the-innovations-of-open-source/"><span class="wp-block-navigation-item__label">The Innovations of Open Source</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2017-selected/"><span class="wp-block-navigation-item__label">2017 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2017 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2017-selected/license-clearance-in-software-product-governance/"><span class="wp-block-navigation-item__label">Open Source License Compliance in Software Supply Chains</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2014-selected/"><span class="wp-block-navigation-item__label">2014 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2014 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2014-selected/the-five-stages-of-open-source-volunteering/"><span class="wp-block-navigation-item__label">The Five Stages of Open Source Volunteering</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2014-selected/the-open-source-software-developer-career-and-its-benefits/"><span class="wp-block-navigation-item__label">The Open Source Software Developer Career and Its Benefits</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter
300="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2011-selected/"><span class="wp-block-navigation-item__label">2011 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2011 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2011-selected/control-points-and-steering-mechanisms-in-open-source-software-projects/"><span class="wp-block-navigation-item__label">Control Points and Steering Mechanisms in Open Source Software Projects</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2010-selected/"><span class="wp-block-navigation-item__label">2010 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2010 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2010-selected/the-economic-case-for-open-source-foundations/"><span class="wp-block-navigation-item__label">The Economic Case for Open Source Foundations</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2009-selected/"><span class="wp-block-navigation-item__label">2009 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2009 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false">
300<path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2009-selected/open-collaboration-within-corporations-using-software-forges/"><span class="wp-block-navigation-item__label">Open Collaboration within Corporations Using Software Forges</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2009-selected/the-commercial-open-source-business-model/"><span class="wp-block-navigation-item__label">The Single-Vendor Commercial Open Source Business Model</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2008-selected/"><span class="wp-block-navigation-item__label">2008 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2008 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2008-selected/bringing-open-source-best-practices-into-corporations-using-a-software-forge/"><span class="wp-block-navigation-item__label">Bringing Open Source Best Practices into Corporations Using a Software Forge</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2008-selected/the-total-growth-of-open-source/"><span class="wp-block-navigation-item__label">The Total Growth of Open Source</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2008-selected/wiki-creole/"><span class="wp-block-navigation-item__label">Wiki Creole Grammar, Schema, and Transformations</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2007-selected/"><span class="wp-block-navigation-item__label">2007 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2007 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false">
300<path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://riehle.org/computer-science/research/2007/computer-2007-article.html"><span class="wp-block-navigation-item__label">The Economic Motivation of Open Source Software: Stakeholder Perspectives</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2000-selected/"><span class="wp-block-navigation-item__label">2000 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="2000 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/2000-selected/framework-design-a-role-modeling-approach/"><span class="wp-block-navigation-item__label">Framework Design: A Role Modeling Approach</span></a></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/1998-selected/"><span class="wp-block-navigation-item__label">1998 (Selected)</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="1998 (Selected) submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://dirkriehle.com/publications/1998-selected/values-in-object-systems/"><span class="wp-block-navigation-item__label">Values in Object systems</span></a></li></ul></li></ul></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--pointerenter
300="actions.openMenuOnHover" data-wp-on--pointerleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/open-books"><span class="wp-block-navigation-item__label">Open Books</span></a><button data-wp-bind--aria-expanded="state.isSubmenuOpen" data-wp-on--click="actions.toggleMenuOnClick" aria-label="Open Books submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-books/open-source-expanded-column/"><span class="wp-block-navigation-item__label">Open Source (IEEE Computer Column)</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/open-books/a-geeks-tour-of-silicon-valley/"><span class="wp-block-navigation-item__label">A Photo Tour of Silicon Valley</span></a></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://uni1.de/photo-galleries/"><span class="wp-block-navigation-item__label">Photo Galleries</span></a></li></ul></li><li class="wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://profriehle.com/open-courses"><span class="wp-block-navigation-item__label">Open Courses</span></a></li></ul> 301 302 </div> 303 </div> 304 </div> 305 </div></nav></div> 306</header> 307 308 309<main id="wp--skip-link--target" class="wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)"> 310<div class="wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow"><h1 class="wp-block-post-title">About</h1> 311 312 313 314<div class="entry-content wp-block-post-content is-layout-flow wp-block-post-content-is-layout-flow"> 315<p class="wp-block-paragraph">I’m a professor of computer science at a large university in Germany. I became a professor after working in the software industry for 15 years. I have lived and worked in Germany, Switzerland, and the U.S.A. Also, project travel brings me to S/E Asia a lot. I can be reached by</p> 316 317 318 319<ul class="wp-block-list"> 320<li>Email at <strong><a href="mailto:[email protected]">[email protected]</a></strong> or</li> 321 322 323 324<li>Phone at <strong>+49 157 8153 4150.</strong></li> 325</ul> 326 327 328 329<p class="wp-block-paragraph">If you are so inclined, you can also check out the <a href="/legal-notices/">legal notices</a> for this site.</p> 330 331 332 333<h2 class="wp-block-heading">Short Biography (English)</h2> 334 335 336 337<p class="wp-block-paragraph">Dirk Riehle is a <a href="https://oss.cs.fau.de/">professor of computer science</a> at FAU Erlangen. They are also the CEO of <a href="https://bayave.com/">Bayave GmbH</a>, a training and consulting firm. Their work helps companies succeed in and through software, with a specialization in open source, inner source, and product strategy. Before joining academia, Prof. Riehle led the open source research group at SAP Labs in Palo Alto, California (Silicon Valley). They also worked for software startups and large corporations in Boston, MA and Zurich, Switzerland, as a software developer, architect, and engineering manager. Riehle holds a Ph.D. in computer science from <a href="https://ethz.ch/">ETH Zurich</a> and an M.B.A. from <a href="https://gsb.stanford.edu/">Stanford Graduate School of Business</a>. They welcome email at <a href="mailto:[email protected]">[email protected]</a>, blog at <a href="https://dirkriehle.com">https://dirkriehle.com</a>, and tweet as <a href="https://twitter.com/dirkriehle">@dirkriehle</a>.</p> 338 339 340 341<p class="wp-block-paragraph">(768 characters)</p> 342 343 344 345<h2 class="wp-block-heading">Kurzbiographie (Deutsch)</h2> 346 347 348 349<p class="wp-block-paragraph">Dirk Riehle ist Professor für Informatik an der FAU Erlangen. Zudem ist er Geschäftsführer der Bayave GmbH, einem Trainings- und Beratungsunternehmen. Spezialisiert auf Open Source, Inner Source, und Produktstrategie, hilft er Unternehmen, mit Software erfolgreich zu sein. Bevor er in die Wissenschaft wechselte, leitete Prof. Riehle die Open-Source-Forschungsgruppe der SAP Labs in Palo Alto, Kalifornien (Silicon Valley). AuÃerdem arbeitete er für Startups und groÃe Unternehmen in Boston und Zürich als Softwareentwickler, Architekt und Entwicklungsleiter. Riehle promovierte in Informatik an der ETH Züric
349h und besitzt einen M.B.A. der Stanford Graduate School of Business. Er ist per E-Mail unter <a>[email protected]</a> erreichbar, bloggt unter <a href="https://dirkriehle.com">https://dirkriehle.com</a> und twittert als <a href="https://twitter.com/dirkriehle">@dirkriehle</a>.</p> 350 351 352 353<p class="wp-block-paragraph">(796 Zeichen)</p> 354 355 356 357<p class="wp-block-paragraph"></p> 358</div> 359 360<div class="wp-block-template-part"> 361<div class="wp-block-comments alignwide"> 362<h2 class="wp-block-heading">Comments</h2> 363 364 365 366 <div id="respond" class="comment-respond wp-block-post-comments-form"> 367 <h3 id="reply-title" class="comment-reply-title">Leave a Reply<small><a rel="nofollow" id="cancel-comment-reply-link" href="/about/#respond" style="display:none;">Cancel reply</a></small></h3> <form id="commentform" class="comment-form"> 368 <iframe 369 title="Comment Form" 370 src="https://jetpack.wordpress.com/jetpack-comment/?blogid=3355508&postid=5375&comment_registration=0&require_name_email=1&stc_enabled=0&stb_enabled=1&show_avatars=1&avatar_default=mystery&greeting=Leave+a+Reply&jetpack_comments_nonce=44cc4926fa&greeting_reply=Leave+a+Reply+to+%25s&color_scheme=light&lang=en_US&jetpack_version=16.2&iframe_unique_id=3&show_cookie_consent=10&has_cookie_consent=0&is_current_user_subscribed=0&token_key=%3Bnormal%3B&sig=57f303dbc3e755bb06d013ca40832c32ecca9380#parent=https%3A%2F%2Fdirkriehle.com%2Fabout%2F" 371 name="jetpack_remote_comment" 372 style="width:100%; height: 430px; border:0;" 373 class="jetpack_remote_comment" 374 id="jetpack_remote_comment" 375 sandbox="allow-same-origin allow-top-navigation allow-scripts allow-forms allow-popups" 376 > 377 </iframe> 378 <!--[if !IE]><!--> 379
379<script> 380 document.addEventListener('DOMContentLoaded', function () { 381 var commentForms = document.getElementsByClassName('jetpack_remote_comment'); 382 for (var i = 0; i < commentForms.length; i++) { 383 commentForms[i].allowTransparency = false; 384 commentForms[i].scrolling = 'no'; 385 } 386 }); 387 </script>
387 388 <!--<![endif]--> 389 </form> 390 </div> 391 392 393 <input type="hidden" name="comment_parent" id="comment_parent" value="" /> 394 395 <p class="akismet_comment_form_privacy_notice">This site uses Akismet to reduce spam. <a href="https://akismet.com/privacy/" target="_blank" rel="nofollow noopener">Learn how your comment data is processed.</a></p> 396 397<ol style="padding-top:0;padding-bottom:0" class="wp-block-comment-template"><li id="comment-5441" class="pingback even thread-even depth-1"> 398 399<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 400<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 401 402 403 404<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://inspohub.de/software-testing-open-source-sicher-und-einfach-einsetzen/" target="_self" >Software Testing: Open Source sicher und einfach einsetzen - Inspohub</a></div> 405 406 407<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2025-07-22T09:21:18+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-5441">2025-07-22</a></time></div> 408 409</div> 410 411 412<div class="wp-block-comment-content"><p>[…] Software Testing über die zentrale Rolle von Open Source in der heutigen Softwareentwicklung. Dirk Riehle, Informatik-Professor an der Universität Erlangen, erläutert, warum es für Unternehmen […]</p> 413</div> 414 415<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=5441#respond" data-commentid="5441" data-postid="5375" data-belowelement="comment-5441" data-respondelement="respond" data-replyto="Reply to Software Testing: Open Source sicher und einfach einsetzen - Inspohub" aria-label="Reply to Software Testing: Open Source sicher und einfach einsetzen - Inspohub">Reply</a></div></div> 416</div> 417 418</li><li id="comment-5257" class="pingback odd alt thread-odd thread-alt depth-1"> 419 420<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 421<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 422 423 424 425<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://inspohub.de/software-architektur-tv-open-source-komponenten-rechtssicher-verwenden-heise-online/" target="_self" >software-architektur.tv: Open-Source-Komponenten rechtssicher verwenden | heise online - Inspohub</a></div> 426 427 428<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2025-07-04T11:18:44+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-5257">2025-07-04</a></time></div> 429 430</div> 431 432 433<div class="wp-block-comment-content"><p>[…] Prof. Dirk Riehle ist Professor für Open-Source-Software und diskutiert diese und andere Fragen in Eberhard Wolffs Videocast. Weitere Informationen über den heutigen Gast finden sich auf dessen Website. […]</p> 434</div> 435 436<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=5257#respond" data-commentid="5257" data-postid="5375" data-belowelement="comment-5257" data-respondelement="respond" data-replyto="Reply to software-architektur.tv: Open-Source-Komponenten rechtssicher verwenden | heise online - Inspohub" aria-label="Reply to software-architektur.tv: Open-Source-Komponenten rechtssicher verwenden | heise online - Inspohub">Reply</a></div></div> 437</div> 438 439</li>
439<li id="comment-168" class="pingback even thread-even depth-1"> 440 441<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 442<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 443 444 445 446<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://dirkriehle.com/2019/03/08/levels-of-complexity-in-inner-source-projects/" target="_self" >Escalating Levels of Complexity in Inner Source Projects - Software Research and the Industry</a></div> 447 448 449<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2020-05-09T21:38:23+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-168">2020-05-09</a></time></div> 450 451</div> 452 453 454<div class="wp-block-comment-content"><p>[…] About […]</p> 455</div> 456 457<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=168#respond" data-commentid="168" data-postid="5375" data-belowelement="comment-168" data-respondelement="respond" data-replyto="Reply to Escalating Levels of Complexity in Inner Source Projects - Software Research and the Industry" aria-label="Reply to Escalating Levels of Complexity in Inner Source Projects - Software Research and the Industry">Reply</a></div></div> 458</div> 459 460</li><li id="comment-167" class="pingback odd alt thread-odd thread-alt depth-1"> 461 462<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 463<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 464 465 466 467<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://dirkriehle.com/2019/08/08/why-self-enlightened-contribution-to-open-source-projects-is-difficult/" target="_self" >Why Self-Enlightened Contribution to Open Source Projects is Difficult - Software Research and the Industry</a></div> 468 469 470<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2019-08-08T16:52:44+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-167">2019-08-08</a></time></div> 471 472</div> 473 474 475<div class="wp-block-comment-content"><p>[…] About […]</p> 476</div> 477 478<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=167#respond" data-commentid="167" data-postid="5375" data-belowelement="comment-167" data-respondelement="respond" data-replyto="Reply to Why Self-Enlightened Contribution to Open Source Projects is Difficult - Software Research and the Industry" aria-label="Reply to Why Self-Enlightened Contribution to Open Source Projects is Difficult - Software Research and the Industry">Reply</a></div></div> 479</div> 480 481</li><li id="comment-166" class="pingback even thread-even depth-1"> 482 483<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 484<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 485 486 487 488<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://bayave.com/2016/05/10/about-bayave-gmbh/" target="_self" >About Bayave GmbH – BAYAVE GMBH</a></div> 489 490 491<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2019-07-24T14:53:37+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-166">2019-07-24</a></time></div> 492 493</div> 494 495 496<div class="wp-block-comment-content"><p>[…] learn more about Prof. Riehle, please see his professional blog and his short resume. He also leads the Open Source Research Group at [̷
4960;]</p> 497</div> 498 499<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=166#respond" data-commentid="166" data-postid="5375" data-belowelement="comment-166" data-respondelement="respond" data-replyto="Reply to About Bayave GmbH – BAYAVE GMBH" aria-label="Reply to About Bayave GmbH – BAYAVE GMBH">Reply</a></div></div> 500</div> 501 502</li><li id="comment-165" class="pingback odd alt thread-odd thread-alt depth-1"> 503 504<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 505<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"></div></div> 506 507 508 509<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://dirkriehle.com/2016/08/30/an-example-charter-for-inner-source-programs/" target="_self" >An Example Charter for Inner Source Programs - Software Research and the Industry</a></div> 510 511 512<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2019-03-08T16:41:32+01:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-165">2019-03-08</a></time></div> 513 514</div> 515 516 517<div class="wp-block-comment-content"><p>[…] About […]</p> 518</div> 519 520<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=165#respond" data-commentid="165" data-postid="5375" data-belowelement="comment-165" data-respondelement="respond" data-replyto="Reply to An Example Charter for Inner Source Programs - Software Research and the Industry" aria-label="Reply to An Example Charter for Inner Source Programs - Software Research and the Industry">Reply</a></div></div> 521</div> 522 523</li><li id="comment-164" class="comment even thread-even depth-1"> 524 525<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 526<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"><img alt='Dirk Riehle Avatar' src='https://secure.gravatar.com/avatar/4841e86fba7986e38d1aa30c0e39a90e46a889814b7294d696eab1e3c4c5897b?s=40&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/4841e86fba7986e38d1aa30c0e39a90e46a889814b7294d696eab1e3c4c5897b?s=80&d=mm&r=g 2x' class='avatar avatar-40 photo wp-block-avatar__image' height='40' width='40' style="border-radius:20px;" loading='lazy' decoding='async'/></div></div> 527 528 529 530<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://dirkriehle.com" target="_self" >Dirk Riehle</a></div> 531 532 533<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2010-08-14T17:42:12+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-164">2010-08-14</a></time></div> 534 535</div> 536 537 538<div class="wp-block-comment-content"><p>Hi Mekki,<br /> 539thanks for the note. I make a point of being explicit in licensing but the default is indeed (C) by me unless specified otherwise, i.e. no license.<br /> 540Fair use rights let’s you take things in reasonable quantities but if you want to reuse whole works and I didn’t specify a license, I’d prefer if you talk to me. (Always curious.)<br /> 541Cheers,<br /> 542Dirk</p> 543</div> 544 545<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=164#respond" data-commentid="164" data-postid="5375" data-belowelement="comment-164" data-respondelement="respond" data-replyto="Reply to Dirk Riehle" aria-label="Reply to Dirk Riehle">Reply</a></div></div> 546</div> 547 548</li>
548<li id="comment-163" class="comment odd alt thread-odd thread-alt depth-1"> 549 550<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 551<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"><img alt='Mekki MacAulay Avatar' src='https://secure.gravatar.com/avatar/1756d8d76ed7cc90fe9ac5bead28ec207fddeab40a1273b71324ce6849c4af1f?s=40&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/1756d8d76ed7cc90fe9ac5bead28ec207fddeab40a1273b71324ce6849c4af1f?s=80&d=mm&r=g 2x' class='avatar avatar-40 photo wp-block-avatar__image' height='40' width='40' style="border-radius:20px;" loading='lazy' decoding='async'/></div></div> 552 553 554 555<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="http://osstrategy.org" target="_self" >Mekki MacAulay</a></div> 556 557 558<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2010-08-13T06:54:59+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-163">2010-08-13</a></time></div> 559 560</div> 561 562 563<div class="wp-block-comment-content"><p>I note that a lot of your work is CC licensed. Great stuff! I came across your page when doing research for an IEEE conference presentation on open source.<br /> 564It would be really helpful for people like me if there were a general copyright statement in the “About” section. Something like “Unless otherwise specified, things on this page are licensed as CC BY-SA-NC”, or whatever license you feel comfortable with (or none, if that’s your choice).<br /> 565I make a point of respecting the choices of authors with their work and it’s helpful to locate that choice in an easy to see place on the page.<br /> 566Keep up the great work! ð</p> 567</div> 568 569<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=163#respond" data-commentid="163" data-postid="5375" data-belowelement="comment-163" data-respondelement="respond" data-replyto="Reply to Mekki MacAulay" aria-label="Reply to Mekki MacAulay">Reply</a></div></div> 570</div> 571 572</li><li id="comment-162" class="comment byuser comment-author-dirk-riehle bypostauthor even thread-even depth-1"> 573 574<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 575<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"><img alt='Dirk Riehle Avatar' src='https://secure.gravatar.com/avatar/4841e86fba7986e38d1aa30c0e39a90e46a889814b7294d696eab1e3c4c5897b?s=40&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/4841e86fba7986e38d1aa30c0e39a90e46a889814b7294d696eab1e3c4c5897b?s=80&d=mm&r=g 2x' class='avatar avatar-40 photo wp-block-avatar__image' height='40' width='40' style="border-radius:20px;" loading='lazy' decoding='async'/></div></div> 576 577 578 579<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="https://dirkriehle.com" target="_self" >Dirk Riehle</a></div> 580 581 582<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2010-07-10T14:47:17+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-162">2010-07-10</a></time></div> 583 584</div> 585 586 587<div class="wp-block-comment-content"><p>Check out our current project at <a href="http://dosis.sf.net" rel="nofollow ugc">http://dosis.sf.net</a>; also, there is so much that I can’t list it all here; try your local or country’s SIG (special interest group) on the subject. –Dirk</p> 588</div> 589 590<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=162#respond" data-commentid="162" data-postid="5375" data-belowelement="comment-162" data-respondelement="respond" data-replyto="Reply to Dirk Riehle" aria-label="Reply to Dirk Riehle">Reply</a></div></div> 591</div> 592 593</li>
593<li id="comment-161" class="comment odd alt thread-odd thread-alt depth-1"> 594 595<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f06e4358 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:var(--wp--preset--spacing--40)"> 596<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40px"><div class="wp-block-avatar"><img alt='Fernando Crespo Avatar' src='https://secure.gravatar.com/avatar/536dfb779a067e8e97bb87fe81e7698f8299ba1dfeafc9a98d874b96b16ec7ab?s=40&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/536dfb779a067e8e97bb87fe81e7698f8299ba1dfeafc9a98d874b96b16ec7ab?s=80&d=mm&r=g 2x' class='avatar avatar-40 photo wp-block-avatar__image' height='40' width='40' style="border-radius:20px;" loading='lazy' decoding='async'/></div></div> 597 598 599 600<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-comment-author-name"><a rel="external nofollow ugc" href="http://www2.ing.puc.cl/~fcrespo" target="_self" >Fernando Crespo</a></div> 601 602 603<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex" style="margin-top:0px;margin-bottom:0px"><div class="wp-block-comment-date"><time datetime="2010-05-16T07:56:59+02:00"><a href="https://dirkriehle.com/about/comment-page-1/#comment-161">2010-05-16</a></time></div> 604 605</div> 606 607 608<div class="wp-block-comment-content"><p>I read your paper of Computer’s IEEE. And I like to know over links to research over open source medical software. This report was more important to me.<br /> 609Bye,<br /> 610Fernando Crespo R.</p> 611</div> 612 613<div class="wp-block-comment-reply-link"><a rel="nofollow" class="comment-reply-link" href="https://dirkriehle.com/about/comment-page-1/?replytocom=161#respond" data-commentid="161" data-postid="5375" data-belowelement="comment-161" data-respondelement="respond" data-replyto="Reply to Fernando Crespo" aria-label="Reply to Fernando Crespo">Reply</a></div></div> 614</div> 615 616</li></ol> 617 618</div> 619</div></div> 620</main> 621 622 623<footer class="wp-block-template-part"> 624<div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-11295aa2 wp-block-group-is-layout-constrained" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30);padding-top:0;padding-right:var(--wp--preset--spacing--30);padding-bottom:0;padding-left:var(--wp--preset--spacing--30)"><div class="wp-block-jetpack-cookie-consent"> 625<div class="wp-block-jetpack-cookie-consent alignwide has-text-color has-background" style="color:var(--wp--preset--color--contrast, #000000);background-color:var(--wp--preset--color--tertiary, #f0f0f0);padding-top:1em;padding-right:1em;padding-bottom:1em;padding-left:1em" role="dialog" aria-modal="true"><p>This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: <a href="https://automattic.com/cookies/">Cookie Policy</a>.</p> 626<div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Accept</a></div> 627<span>365</span></div> 628</div> 629 630 631<div class="wp-block-group alignwide is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-f01d84c1 wp-block-group-is-layout-flex"> 632<div class="wp-block-group is-layout-flex wp-block-group-is-layout-flex"> 633<p class="wp-block-paragraph"><strong>Follow me on</strong></p> 634 635 636 637<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://www.linkedin.com/in/dirkriehle/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,
6371.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul> 638 639 640 641<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://twitter.com/dirkriehle/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li></ul> 642 643 644 645<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://youtube.com/dirkriehle" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul> 646 647 648 649<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-mastodon wp-block-social-link"><a href="https://hachyderm.io/@dirkriehle" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z"/></svg><span class="wp-block-social-link-label screen-reader-text">Mastodon</span></a></li></ul> 650 651 652 653<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/dirkriehle/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
653<path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li></ul> 654</div> 655 656 657<nav class="is-responsive wp-block-navigation is-layout-flex wp-block-navigation-is-layout-flex" aria-label="Footer Menu" 658 data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Menu"}'><button aria-haspopup="dialog" aria-label="Open menu" class="wp-block-navigation__responsive-container-open" 659 data-wp-on--click="actions.openMenuOnClick" 660 data-wp-on--keydown="actions.handleMenuKeydown" 661 ><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 7.5h16v1.5H4z"></path><path d="M4 15h16v1.5H4z"></path></svg></button> 662 <div class="wp-block-navigation__responsive-container" id="modal-4" 663 data-wp-class--has-modal-open="state.isMenuOpen" 664 data-wp-class--is-menu-open="state.isMenuOpen" 665 data-wp-watch="callbacks.initMenu" 666 data-wp-on--keydown="actions.handleMenuKeydown" 667 data-wp-on--focusout="actions.handleMenuFocusout" 668 tabindex="-1" 669 > 670 <div class="wp-block-navigation__responsive-close" tabindex="-1"> 671 <div class="wp-block-navigation__responsive-dialog" 672 data-wp-bind--aria-modal="state.ariaModal" 673 data-wp-bind--aria-label="state.ariaLabel" 674 data-wp-bind--role="state.roleAttribute" 675 > 676 <button aria-label="Close menu" class="wp-block-navigation__responsive-container-close" 677 data-wp-on--click="actions.closeMenuOnClick" 678 ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg></button> 679 <div class="wp-block-navigation__responsive-container-content" 680 data-wp-watch="callbacks.focusFirstElement" 681 id="modal-4-content"> 682 <ul class="wp-block-navigation__container is-responsive wp-block-navigation"><li class="wp-block-navigation-item menu-item menu-item-type-post_type menu-item-object-page wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/legal-notices" title=""><span class="wp-block-navigation-item__label">Legal Notices</span></a></li></ul> 683 684 </div> 685 </div> 686 </div> 687 </div></nav></div> 688</div> 689</footer></div>
690<script type="speculationrules"> 691{"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/twentytwentythree/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 692</script>
692 693 <div class="jetpack-instant-search__widget-area" style="display: none"> 694 <div id="jetpack-search-filters-1" class="widget jetpack-filters widget_search"> <div id="jetpack-search-filters-1-wrapper" class="jetpack-instant-search-wrapper"> 695 </div></div> </div> 696
696<script data-wp-router-options="{"loadOnClientNavigation":true}" fetchpriority="low" id="@wordpress/block-library/navigation/view-js-module" src="https://dirkriehle.com/wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=1bf28ded04f9f188bdcb" type="module"></script>
vendor: 1 bytes, line 696
696
697<script id="wp-script-module-data-@wordpress/interactivity" type="application/json"> 698{"state":{"jetpack-search":{"siteId":3355508,"apiRoot":"https://dirkriehle.com/wp-json/","nonce":"c62cbfc067","isPrivateSite":false,"isWpcom":false,"isPhotonEnabled":false,"disableTracking":false,"isWooCommerceBlocksEnabled":false,"homeUrl":"https://dirkriehle.com","locale":"en-US","dateFormat":"Y-m-d","searchQuery":"","hasSearchParam":false,"searchParamName":"q","sortOrder":"relevance","activeFilters":[],"filterLogic":[],"priceRange":null,"staticFilterSelections":{},"filterConfigs":[],"results":[],"aggregations":{},"retainedFilterOptions":{},"totalResults":0,"pageHandle":null,"isLoading":false,"isLoadingMore":false,"hasError":false,"resultsCountText":"","strings":{"searching":"Searchingâ¦","resultsCountSingle":"Found %d result","resultsCountPlural":"Found %d results","removeFilter":"Remove %s","ratingStarsTop":"5 stars","ratingStarsAndUpSingle":"%d star and up","ratingStarsAndUpPlural":"%d stars and up","priceRangeFromTo":"%1$s â %2$s","priceRangeFrom":"%s+","priceRangeUpTo":"Under %s","priceLabel":"Price","suggestionLabelQuery":"Suggestions","suggestionLabelTaxonomy":"Popular Filters","suggestionLabelPost":"Articles","aiErrorMessage":"Sorry, an error occurred while generating an answer.","aiErrorCode":"Error code: %s"},"priceCurrencySymbol":"$","aiExtendedLoadingHints":["Searching harder","Looking deeper into this","Finding a more complete answer","Analyzing additional sources","Gathering more details","Pulling in more context","Expanding the search","Rolling up my virtual sleeves","Digging through the archives","Putting on my reading glasses","Checking under the digital couch cushions","Consulting the oracle","Asking a smarter algorithm","Brewing a fresh batch of insights","Unleashing the full power of search"],"wcStockStatusLabels":{"instock":"In stock"},"highlightPhraseOnly":false,"highlightFilterStopwords":[],"highlightFields":null,"additionalBlogIds":[],"adminQueryFilter":null,"customResults":[]}}} 699</script>
vendor: 1 bytes, line 699
699
700<script defer id="akismet-frontend-js" src="https://dirkriehle.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1787198076"></script>
vendor: 1 bytes, line 700
700
701<script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/comment-reply.min.js"></script>
vendor: 1 bytes, line 701
701
702<script data-wp-strategy="defer" defer id="jetpack-block-cookie-consent-js" src="https://dirkriehle.com/wp-content/plugins/jetpack/_inc/blocks/cookie-consent/view.js?minify=false&ver=16.2"></script>
vendor: 1 bytes, line 702
702
703<script id="wp-hooks-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/hooks.min.js"></script>
vendor: 1 bytes, line 703
703
704<script id="wp-i18n-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/i18n.min.js"></script>
vendor: 1 bytes, line 704
704
705<script id="wp-i18n-js-after"> 706wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 707//# sourceURL=wp-i18n-js-after 708</script>
vendor: 1 bytes, line 708
708
709<script id="wp-jp-i18n-loader-js" src="https://dirkriehle.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-assets/build/i18n-loader.js?minify=true&ver=5ba5dddc04be2306aaf0"></script>
vendor: 1 bytes, line 709
709
710<script id="wp-jp-i18n-loader-js-after"> 711wp.jpI18nLoader.state = {"baseUrl":"https://dirkriehle.com/wp-content/languages/","locale":"en_US","domainMap":{"jetpack-account-protection":"plugins/jetpack","jetpack-activity-log":"plugins/jetpack","jetpack-admin-ui":"plugins/jetpack","jetpack-agents-manager":"plugins/jetpack","jetpack-assets":"plugins/jetpack","jetpack-boost-core":"plugins/jetpack","jetpack-boost-speed-score":"plugins/jetpack","jetpack-config":"plugins/jetpack","jetpack-connection":"plugins/jetpack","jetpack-explat":"plugins/jetpack","jetpack-ip":"plugins/jetpack","jetpack-jitm":"plugins/jetpack","jetpack-licensing":"plugins/jetpack","jetpack-menu-badges":"plugins/jetpack","jetpack-my-jetpack":"plugins/jetpack","jetpack-password-checker":"plugins/jetpack","jetpack-plugins-installer":"plugins/jetpack","jetpack-protect-models":"plugins/jetpack","jetpack-protect-status":"plugins/jetpack","jetpack-sync":"plugins/jetpack","jetpack-transport-helper":"plugins/jetpack-protect","jetpack-waf":"plugins/jetpack","jetpack-wp-build-polyfills":"plugins/jetpack","jetpack-backup-pkg":"plugins/jetpack","jetpack-blaze":"plugins/jetpack","jetpack-block-delimiter":"plugins/jetpack","jetpack-classic-theme-helper":"plugins/jetpack","jetpack-comments":"plugins/jetpack","jetpack-compat":"plugins/jetpack","jetpack-external-connections":"plugins/jetpack","jetpack-external-media":"plugins/jetpack","jetpack-feature-flags":"plugins/jetpack","jetpack-forms":"plugins/jetpack","jetpack-image-cdn":"plugins/jetpack","jetpack-import":"plugins/jetpack","jetpack-jwt":"plugins/jetpack","jetpack-masterbar":"plugins/jetpack","jetpack-newsletter":"plugins/jetpack","jetpack-paypal-payments":"plugins/jetpack","jetpack-podcast":"plugins/jetpack","jetpack-post-list":"plugins/jetpack","jetpack-post-media":"plugins/jetpack","jetpack-premium-analytics-pkg":"plugins/jetpack","jetpack-publicize-pkg":"plugins/jetpack","jetpack-scan-page":"plugins/jetpack","jetpack-search-pkg":"plugins/jetpack","jetpack-seo":"plugins/jetpack","jetpack-stats-admin":"plugins/jetpack","jetpack-stats-pkg":"plugins/jetpack","jetpack-videopress-pkg":"plugins/jetpack","jetpack-wp-abilities":"plugins/jetpack"},"domainPaths":{"jetpack-account-protection":"jetpack_vendor/automattic/jetpack-account-protection/","jetpack-activity-log":"jetpack_vendor/automattic/jetpack-activity-log/","jetpack-admin-ui":"jetpack_vendor/automattic/jetpack-admin-ui/","jetpack-agents-manager":"jetpack_vendor/automattic/jetpack-agents-manager/","
711jetpack-assets":"jetpack_vendor/automattic/jetpack-assets/","jetpack-boost-core":"jetpack_vendor/automattic/jetpack-boost-core/","jetpack-boost-speed-score":"jetpack_vendor/automattic/jetpack-boost-speed-score/","jetpack-config":"jetpack_vendor/automattic/jetpack-config/","jetpack-connection":"jetpack_vendor/automattic/jetpack-connection/","jetpack-explat":"jetpack_vendor/automattic/jetpack-explat/","jetpack-ip":"jetpack_vendor/automattic/jetpack-ip/","jetpack-jitm":"jetpack_vendor/automattic/jetpack-jitm/","jetpack-licensing":"jetpack_vendor/automattic/jetpack-licensing/","jetpack-menu-badges":"jetpack_vendor/automattic/jetpack-menu-badges/","jetpack-my-jetpack":"jetpack_vendor/automattic/jetpack-my-jetpack/","jetpack-password-checker":"jetpack_vendor/automattic/jetpack-password-checker/","jetpack-plugins-installer":"jetpack_vendor/automattic/jetpack-plugins-installer/","jetpack-protect-models":"jetpack_vendor/automattic/jetpack-protect-models/","jetpack-protect-status":"jetpack_vendor/automattic/jetpack-protect-status/","jetpack-sync":"jetpack_vendor/automattic/jetpack-sync/","jetpack-transport-helper":"jetpack_vendor/automattic/jetpack-transport-helper/","jetpack-waf":"jetpack_vendor/automattic/jetpack-waf/","jetpack-wp-build-polyfills":"jetpack_vendor/automattic/jetpack-wp-build-polyfills/","jetpack-backup-pkg":"jetpack_vendor/automattic/jetpack-backup/","jetpack-blaze":"jetpack_vendor/automattic/jetpack-blaze/","jetpack-block-delimiter":"jetpack_vendor/automattic/block-delimiter/","jetpack-classic-theme-helper":"jetpack_vendor/automattic/jetpack-classic-theme-helper/","jetpack-comments":"jetpack_vendor/automattic/jetpack-comments/","jetpack-compat":"jetpack_vendor/automattic/jetpack-compat/","jetpack-external-connections":"jetpack_vendor/automattic/jetpack-external-connections/","jetpack-external-media":"jetpack_vendor/automattic/jetpack-external-media/","jetpack-feature-flags":"jetpack_vendor/automattic/jetpack-feature-flags/","jetpack-forms":"jetpack_vendor/automattic/jetpack-forms/","jetpack-image-cdn":"jetpack_vendor/automattic/jetpack-image-cdn/","jetpack-import":"jetpack_vendor/automattic/jetpack-import/","jetpack-jwt":"jetpack_vendor/automattic/jetpack-jwt/","jetpack-masterbar":"jetpack_vendor/automattic/jetpack-masterbar/","jetpack-newsletter":"jetpack_vendor/automattic/jetpack-newsletter/","jetpack-paypal-payments":"jetpack_vendor/automattic/jetpack-paypal-payments/","jetpack-podcast":"jetpack_vendor/automattic/jetpack-podcast/","jetpack-post-list":"jetpack_vendor/automattic/jetpack-post-list/","jetpack-post-media":"jetpack_vendor/automattic/jetpack-post-media/","jetpack-premium-analytics-pkg":"jetpack_vendor/automattic/jetpack-premium-analytics/","jetpack-publicize-pkg":"jetpack_vendor/automattic/jetpack-publicize/","jetpack-scan-page":"jetpack_vendor/automattic/jetpack-scan-page/","jetpack-search-pkg":"jetpack_vendor/automattic/jetpack-search/","jetpack-seo":"jetpack_vendor/automattic/jetpack-seo/","jetpack-stats-admin":"jetpack_vendor/automattic/jetpack-stats-admin/","jetpack-stats-pkg":"jetpack_vendor/automattic/jetpack-stats/","jetpack-videopress-pkg":"jetpack_vendor/automattic/jetpack-videopress/","jetpack-wp-abilities":"jetpack_vendor/automattic/jetpack-wp-abilities/"}}; 712//# sourceURL=wp-jp-i18n-loader-js-after 713</script>
vendor: 1 bytes, line 713
713
714<script id="wp-polyfill-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/vendor/wp-polyfill.min.js"></script>
vendor: 1 bytes, line 714
714
715<script id="wp-url-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/url.min.js"></script>
vendor: 1 bytes, line 715
715
716<script id="jetpack-instant-search-js-before"> 717var JetpackInstantSearchOptions={"overlayOptions":{"colorTheme":"light","enableInfScroll":true,"enableFilteringOpensOverlay":true,"enablePostDate":true,"enableProductPrice":true,"enableSort":true,"highlightColor":"#FFC","overlayTrigger":"submit","resultFormat":"expanded","showPoweredBy":true,"defaultSort":"relevance","excludedPostTypes":[],"fallbackImageUrl":"","enableFallbackImage":false},"homeUrl":"https://dirkriehle.com","locale":"en-US","postsPerPage":6,"siteId":3355508,"searchSuggestionsEnabled":false,"postTypes":{"post":{"singular_name":"Post","name":"Posts"},"page":{"singular_name":"Page","name":"Pages"},"attachment":{"singular_name":"Media","name":"Media"}},"webpackPublicPath":"https://dirkriehle.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/","isPhotonEnabled":false,"isFreePlan":true,"apiRoot":"https://dirkriehle.com/wp-json/","apiNonce":"c62cbfc067","isPrivateSite":false,"isWpcom":false,"hasOverlayWidgets":true,"widgets":[{"filters":[{"name":"Categories","type":"taxonomy","taxonomy":"category","count":5,"widget_id":"jetpack-search-filters-1","filter_id":"taxonomy_0"},{"name":"Tags","type":"taxonomy","taxonomy":"post_tag","count":5,"widget_id":"jetpack-search-filters-1","filter_id":"taxonomy_1"},{"name":"Year","type":"date_histogram","count":5,"field":"post_date","interval":"year","widget_id":"jetpack-search-filters-1","filter_id":"date_histogram_2"}],"widget_id":"jetpack-search-filters-1"}],"widgetsOutsideOverlay":[],"hasNonSearchWidgets":false,"preventTrackingCookiesReset":false,"disableTracking":false,"aiAnswersEnabled":false,"aiMasterEnabled":true}; 718//# sourceURL=jetpack-instant-search-js-before 719</script>
vendor: 1 bytes, line 719
719
720<script id="jetpack-instant-search-js" src="https://dirkriehle.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&ver=25d86678d0b48f702f8f"></script>
vendor: 1 bytes, line 720
720
721<script id="jp-tracks-js" src="//stats.wp.com/w.js?ver=202640"></script>
vendor: 1 bytes, line 721
721
722<script id="jetpack-stats-js-before"> 723_stq = window._stq || []; 724_stq.push([ "view", {"v":"ext","blog":"3355508","post":"5375","tz":"2","srv":"dirkriehle.com","j":"1:16.2"} ]); 725_stq.push([ "clickTrackerInit", "3355508", "5375" ]); 726//# sourceURL=jetpack-stats-js-before 727</script>
vendor: 1 bytes, line 727
727
728<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202640.js"></script>
vendor: 1 bytes, line 728
728
729<script id="wp-emoji-settings" type="application/json"> 730{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://dirkriehle.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 731</script>
vendor: 1 bytes, line 731
731
732<script type="module"> 733/*! This file is auto-generated */ 734var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 735//# sourceURL=https://dirkriehle.com/wp-includes/js/wp-emoji-loader.min.js 736</script>
736 737
737<script type="text/javascript"> 738 (function () { 739 const iframe = document.getElementById( 'jetpack_remote_comment' ); 740 const watchReply = function() { 741 // Check addComment._Jetpack_moveForm to make sure we don't monkey-patch twice. 742 if ( 'undefined' !== typeof addComment && ! addComment._Jetpack_moveForm ) { 743 // Cache the Core function. 744 addComment._Jetpack_moveForm = addComment.moveForm; 745 const commentParent = document.getElementById( 'comment_parent' ); 746 const cancel = document.getElementById( 'cancel-comment-reply-link' ); 747 748 function tellFrameNewParent ( commentParentValue ) { 749 const url = new URL( iframe.src ); 750 if ( commentParentValue ) { 751 url.searchParams.set( 'replytocom', commentParentValue ) 752 } else { 753 url.searchParams.delete( 'replytocom' ); 754 } 755 if( iframe.src !== url.href ) { 756 iframe.src = url.href; 757 } 758 }; 759 760 cancel.addEventListener( 'click', function () { 761 tellFrameNewParent( false ); 762 } ); 763 764 addComment.moveForm = function ( _, parentId ) { 765 tellFrameNewParent( parentId ); 766 return addComment._Jetpack_moveForm.apply( null, arguments ); 767 }; 768 } 769 } 770 document.addEventListener( 'DOMContentLoaded', watchReply ); 771 // In WP 6.4+, the script is loaded asynchronously, so we need to wait for it to load before we monkey-patch the functions it introduces. 772 document.querySelector('#comment-reply-js')?.addEventListener( 'load', watchReply ); 773 774 775 const commentIframes = document.getElementsByClassName('jetpack_remote_comment'); 776 777 window.addEventListener('message', function(event) { 778 if (event.origin !== 'https://jetpack.wordpress.com') { 779 return; 780 } 781 782 if (!event?.data?.iframeUniqueId && !event?.data?.height) { 783 return; 784 } 785 786 const eventDataUniqueId = event.data.iframeUniqueId; 787 788 // Change height for the matching comment iframe 789 for (let i = 0; i < commentIframes.length; i++) { 790 const iframe = commentIframes[i]; 791 const url = new URL(iframe.src); 792 const iframeUniqueIdParam = url.searchParams.get('iframe_unique_id'); 793 if (iframeUniqueIdParam == event.data.iframeUniqueId) { 794 iframe.style.height = event.data.height + 'px'; 795 return; 796 } 797 } 798 }); 799 })(); 800 </script>
800 801 </body> 802</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.