I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe
Introduction to the new Dependency finder, available in Adobe CQ5.
/posts/2012/05/new-cq-55-dependency-finder.htmlIn CQ 5.5, by default you cannot compile code with CRXDE, learn about how to fix this.
/posts/2012/05/scr-javadoc-tags-deprecated-cq-55.htmlIn this post, I'll show you how to easily and cleanly create a dynamic dropdown in an AEM Content Fragment Model driven by an ACS AEM Commons Generic List.
/posts/2019/09/dynamic-dropdowns-aem-content-fragments.htmlWorkflows are a powerful tool in AEM, however, due to questionable UI choices, they are buried. Here's how to cleanly overlay the default AEM experience using Sling Resource Merger.
/posts/2019/06/wheres-the-workflow.htmlIntroducing AEM DataLayer, a new framework for AEM developers to easily create and populate Digital Marketing DataLayers from the data in the AEM repository.
/posts/2017/04/aemrockstar-using-aem-datalayer.htmlConflating completion and success makes developer's jobs harder. These two ideas are similar, but there are significant differences in the meaning and situations where the two concepts are useful.
/posts/2021/06/completion-v-success.htmlIntroducing a new tool I’ve been working on the parse and analyze Slong Recent Requests logs
/posts/2023/08/sling-recent-requests-parser.htmlHow SAML can break Permissions-Sensitive Caching in AEM Dispatcher
/posts/2021/04/saml-authentication-aem-permissions-sensitive-caching.htmlFollow up on my initial performance comparison of Java Virtual Machine implementations in running Apache Sling using more iterations to get better data
/posts/2020/08/apache-sling-jvm-performance-followup.htmlHow to use JConsole do diagnose a "bricked" AEM instance
/posts/2021/09/bringing-aem-back-to-life-with-jconsole.html