
I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe
Learn how a better way of generating HTML than generating HTML in Java classes.
/posts/2014/02/how-not-to-generate-html.htmlA comparison of the performance of top Java Virtual Machine implementations in running Apache Sling.
/posts/2020/08/apache-sling-jvm-performance-comparison.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.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.htmlHow to use JConsole do diagnose a "bricked" AEM instance
/posts/2021/09/bringing-aem-back-to-life-with-jconsole.htmlTips on using Java's Lambda Expressions, Streams and Optionals with Apache Sling
/posts/2021/05/slinging-optionally.htmlThe Apache Sling project just released the latest version of the Apache Sling Starter, version 11. This artifact is an aggregator of the modules making up Apache Sling and is used by many downstream applications as a basis for the "stable" version of the Apache Sling codebase.
/posts/2018/10/lucky-num-11-sling-11-java-11-support.htmlThis new Resource Filter API allows AEM / Sling developers to be significantly more succinct and readable and how they perform common repository traversals. It's not a pure replacement of JCR queries, but for simple content structures you can do a lot more with a lot less code.
/posts/2018/10/resource-streams-apache-sling.html