I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe
Learn how easy it is to get a complete copy of your Adobe CQ configuration
/posts/2012/09/dumping-cq-configuration.htmlConcurrency issues are challenging to identify, but knowing these 2 common AEM concurrency issues gives you a starting place to look to make sure your code is not affected by concurrency bugs.
/posts/2017/12/avoiding-concurrency-pitfalls-aem.htmlIn this blog post, we'll walk through a simple example showing how to retrieve Adobe Analytics Workspace report data from Adobe Experience Manager using Adobe I/O.
/posts/2019/11/real-recommendations-adobe-analytics-aem.htmlLearn how to configure AEM's LiveCopy Updates and how to enable LiveCopy updates for the jcr:title Property
/posts/2016/11/aem-livecopy-page-titles.htmlDiscusses the process for creating a Sling Service Factory
/posts/2013/08/service-boss-level-service-factories.htmlMiss my presentation on Sling RepoInit? Check out the presentation deck and recording.
/posts/2020/07/repoinit-detroit-adobe-experience-meetup.htmlIt is important to understand the distinction between the two ways of getting the Message Gateway
/posts/2012/08/messagegatewayservice-vs-messagegateway.htmlHow to fix the java.lang.VerifyError: Expecting a stackmap frame at branch target error in AEM
/posts/2014/11/escaping-the-dreaded-verify-error.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.htmlLearn about the most concepts most developers have problems understanding when starting to develop on the AEM platform
/posts/2013/11/5-hardest-aem-concepts-new-developers.html