Obfuscating String contents in Java to make reverse engineering just a little bit more effort.

As I was reverse engineering some proprietary Java code that I only had the binaries for. Being able to view the .class files as hex and see the plain text contents of all the String objects made it much easier to figure out what was going on. This reminded me of a simple but old… Read the full article

How to interactively read user input from System.in using java.util.Scanner?

There seems to be dozens of new questions about how to use `Scanner` on Stackoverflow every day. All of them duplicates of the hundreds of questions already asked about how to use this class and it is confusing API. Probably some new text book this year is causing this torrent of craptastic questions from anonymous… Read the full article

CheckedExceptions are an unnecessary anti-pattern!

The argument rages on still to this day about checked exceptions in Java. Personally I think they have always been a bad idea. Python gets along fine without checked exceptions, and I love me some Python. The Java developers don’t even get the concept of checked exceptions correct most of the time and the SDK… Read the full article

Jackson 2.x javax.management.ObjectName Custom JSON Serializer

The following is the source code for a javax.management.ObjectName serializer that recursively serializes and is a good example of how to avoid circular references. This is specifically aimed at dumping the DomainRuntimeServiceMBean and the RuntimeServiceMBean servers from Weblogic 11g, but it should work with any JMX standards compliant MBServer implementations.

How to dynamically load a dropdown with data from an AJAX call and allow selection of the first element in the list.

As detailed in this question on StackOverflow.com, I am dynamically loading data into a series of dropdowns via AJAX. The problem is I want the user to be able to select the first element in the list, but it becomes the default selection and you can’t select it until you have selected some other item… Read the full article

Getting the length of an array in that is passed into a function in C++ using templates.

I found a small template snippet that worked great for getting the length of an array in C++ without having to store the size in a separate variable. But one thing wasn’t working, calling that template function on an array passed into a function/method as an parameter. The helpful denizens of stackoverflow.com came to my… Read the full article

Enforcing Fluent API adherence using Interfaces in Java

This some considerable noise on the internet about Fluent APIs and using them. There was a question on stackoverflow.com about how to enforce calling all the required methods to guarantee you fully materialize an object when using a Builder Pattern with a Fluent API approach. The appropriate way to achieve this is through Interfaces that… Read the full article

close