
I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe
Introduction to the new Sling Adapters Console, available in Adobe CQ5.
/posts/2012/05/new-cq-55-sling-adapters-console.htmlHow can you find the source or JavaDocs for an Apache Sling dependency of AEM? The answer is trickier than you'd think, but I've got a new tool to make it easier!
/posts/2018/07/misconceptions-missing-modules-apache-sling.htmlAnnouncing my webinar Easy Access to Critical Information: Content Reports in AEM
/posts/2018/04/upcoming-webinar-easy-access-to-critical-information-content-reports-in-aem.htmlGroup membership in AEM struggles with large numbers of user, group associations. Learn how to use Jackrabbit Oak's Dynamic Group Membership to support hundreds of thousands of users in AEM.
/posts/2020/03/crossing-performance-chasm-mass-users-groups.htmlHow to clear AEM's Compiled JSP cache in your Continuous Integration build
/posts/2016/08/clearing-aem-jsp-cache-jenkins-build.htmlUsing Apache Server Side Includes (SSI) allows you to share content between AEM and non-AEM websites such as header and footers.
/posts/2017/10/mastering-aem-dispatcher-part-4-sharing-content-ssi.htmlI created a small script AEM Package Manager to make it easier to manage AEM packages via the command line
/posts/2016/07/aem-package-manager-cli.htmlWouldn't it be nice if there were a tool that made it easy to map legacy content into AEM with a simple, flexible and concise templating language? That would be Groovy baby!
/posts/2019/04/migrating-aem-content-groovy.htmlUnfortunately, AEM did not provide a mechanism to interact with Markdown content, nor were any of the Java markdown libraries compatible with OSGi. Recently, I worked with the Flexmark team to produce an OSGi bundle version of the Flexmark markdown library.
/posts/2018/08/markdown-aem-flexmark.htmlI've seen and written a lot of background jobs in my career and in my experience, they are most common culprits to hard-to-diagnose issues in website operations. This is why, with background jobs, it's even more important than your standard component code to ensure the job executes successfully.
/posts/2018/08/anatomy-ideal-background-job.html