📧 Fight the Spammers
November 11, 2023This is my playbook for fighting back against the spammers (probably in vain).
Written by Johnathan Gilday. Red Bank, NJ, USA based software developer.
This is my playbook for fighting back against the spammers (probably in vain).
When Java introduced the java.nio.file package for working with files (in version 1.7), Java did not deprecate the existing java.io.File type. Is there a reason to prefer one of these seemingly duplicative strategies for working with files? I argue there is.
On one hand, Java developers love to work with streams of data using the `java.util.stream` package, because it is easy to apply transformations, filtering, and aggregation. On the other hand, the Streaming API for XML (StAX) makes reading XML streamwise easy, but there are no easy ways to filter, transform, and aggregate the data. How can a Java developer connect these two APIs to use the best of both?
Maven users who want to test their Java projects against different JDKs often do so by re-running their Maven build with each such JDK. Maven's Toolchains plugin offers an alternative strategy for testing across JDKs.
I spent a few weeks in "Java XML Hell", and I learned that securely parsing untrusted XML in Java is more difficult than it seems. Contrast Security published my research to its Security Influencers blog, and OWASP accepted my change request to remove misleading guidance from its XXE Cheat Sheet.
Developers on macOS may feel more lost than usual when considering their options for installing Java. In my experience, using Homebrew to install Eclipse Temurin packages is the best general solution for installing Java on macOS.
Let me use my first blog post to explain why I am blogging, why now, and why I am hosting the blog myself.