Many people refer to me as a Java evangelist, Java super-freak, and many other terms that tend to suggest that any language other than Java is outside of the realm of consideration. Though true that I do my fair share of bashing of languages like Ruby or Groovy, it is because I really have longed…
Author: mhicks
Java Delegates
If you’re searching the internet for the title of this post you’ll see a lot of people ranting about how Java doesn’t have Delegate support. Though I have been one of these people, and continue to be frustrated that there is no native solution, that is not the purpose of this post. I write this…
Some Rules Can’t Be Broken
I’m a big lover of Reflection in Java. It’s extremely powerful and lets you do things that technically shouldn’t be allowed. For example, an Object with a private method cannot be invoked outside of that method by virtue of the “private” keyword. However, if you use reflection: public class MyObject {private void doSomethingHidden() {System.out.println(“I’m hidden…
Fastest Deep Cloning
I recently needed to do deep cloning of my Java objects and began to do the old-school style I’ve used for years: Use ObjectOutputStream and ObjectInputStream to do a “poor-boys” deep clone. However, the performance of this on large Objects is absolutely awful not to mention the amount of memory and CPU it takes to…
Myth Assistant
Though I actually wrote this a couple years ago I finally decided to contribute this utility back to the community. This tool allows a graphical remote connection to a MythTV database and can copy and delete recordings over a Samba share. It is a graphical utility written in Java to search recordings, see details of…
Smarter Beans?
In Java, Beans are an important part of good programming practices and good Object-Oriented coding. There has been a lot of discussion recently about monitoring changes on beans other such functionality that is not inherently built into Java. With my Magic Beans project I’ve already done a lot of things along these lines, but recently…
Multithreaded Unzip?
A co-worker and I were discussing the possibilities of performance gain doing extraction of ZIP files using multiple threads rather than the typically single-threading extraction that the majority (if not all) mainstream archive extraction utilities use and given Java’s great ZIP file support built-in it seemed rather trivial to give this a shot, thus, UberZip…
Flex Native Drag-and-Drop: The Massive Hack
I had made the commitment a while back that I was going to add complete and perfect drag-and-drop support to jSeamless. The Flex Implementation proclaims support for DnD so I’ve just pushed off the investigation up until recently. However, now that I’ve come to implement this great functionality I realize that there is absolutely no…
Applet Roadblock
My massive hack for native drag-and-drop in jSeamless Flex implementation is functional, but only in Firefox. Apparently there is an interesting “feature” in IE that even though you may sign your Applet and the user grants that they way to trust said Applet, it still never gives you read access to the file system. That…
Flash/Flex URLRequest Upload Security Hack – Part 2
So I lied, apparently my hackery wasn’t enough to appease IE even though Firefox happily worked going forward. Apparently in IE it determines, “Oh, I’ve been authenticated on this URL before…so lets send broken authentication information instead of an upload”, and then no matter what you respond back to the request with it just ignores…