Posts

Cell Lazurus

Image
I pulled all the pieces back together after 24 hours of drying time, and my patience was rewarded with a working cell phone. You might notice that the phone didn't make it out all together unscathed, as there are some strange bright spots on the screen now. They aren't really noticeable except with a solid color background, so I consider myself somewhat lucky. All the buttons are working, no data was lost, and the speakers and microphone work just fine. The camera is working, and I can even complete calls with the thing! Steve Jobs won't see any (more) of my money for at least a little while longer.

Cell Phone, Deconstructed

Image
Honestly, I was just trying to be helpful. I figured, "Hey! I know how I can help! Laundry needs to be done, so I'll start with the blue jeans..." Of course, my wife doesn't own a waterproof cell phone, and I don't remember to check pockets, so my efforts to "help" ended up with a freshly washed cell phone smelling faintly like a clean breeze and water under the plastic cover for the display. Knowing that electricity and water don't do very much good for the metal in the phone, I removed the battery immediately. The one thing I think I might have going for me is that we have one of those front-loading, water-saving clothes washers. They don't fully submerge clothes for very long, so I'm hoping that with a good drying out for a few days, the phone may be salvageable. Big ups to LG for making a very easy to disassemble phone . I'm crossing my fingers, even though my wife is probably hoping for the worst .

Workaround for Issue with @Any Mapping in Hibernate Tools Plugin

There is a slight problem with 3.2.3.GA release of Hibernate Tools when specifically dealing with the @Any (or the <any> element if you are using xml to configure hibernate) type of relationship. The problem manifests itself with an exception that contains the message "org.hibernate.MappingException: property mapping has wrong number of columns" when you try to open the session factory in Eclipse. I've found a work-around to this problem by updating some of the hibernate jars in the base plugin for Hibernate tools in eclipse. (In the instructions below, replace <eclipse-home> with the location that you've installed Eclipse. Also, the direction of the slashes may be different for you depending on what platform you are on.) First, stop Eclipse. Next grab the hibernate-3.2.6.ga.jar and put it at <eclipse-home>\plugins\org.hibernate.eclipse_3.2.3.GA\lib\hibernate\hibernate3.jar Grab hibernate-annotations-3.3.1.GA.jar and put at <eclipse-home...

Great Eclipse Keyboard Shortcuts

I remembered, at some point prior to Eclipse 3.3, I was able to simply hit F11(Debug) or Ctrl-F11(Run) to launch the last launch that you performed in Eclipse.  This was great for making small, incremental changes and then just smacking F11 to re-run the failing unit test you are trying to get working again. Eclipse 3.3 changed this behavior and I was just living without it until I found a series of blog entries (referenced at the end) that held the answer to my problem.  Eclipse 3.3 changed the default setting for those hot keys and clicking the respective buttons on the tool bar for launches.  To get the pre-3.3 functionality back, all I had to do was go to Window -> Preferences  on the menu, and then into the "type filter text" input box, type "Launching".  If you select the item under the Run/Debug  category, you'll see a dialog that will let you set up the launch function to your liking.  I personally prefer the Launch Operation  section to have the Laun...

Yet Another Google Chrome Post

Doubtless, there are already lots of blog entries about Google's entry into the browser wars with Google Chrome .  There are probably a large number of these entries that are focused on performance already out there, and countless more tests will be done using much more scientifically methods than I've used here.  Am I breaking new ground?  Probably not.  I'm merely lending my small voice to the crowds that are already disecting Google's actions and motives around this recent move. I, like many others, rushed out and downloaded Chrome as soon as the site was up.  I've been an avid user of Firefox since 2.0, and I used Firefox 3.0 to download the installer for Windows.  The download was fast, because it seems that like many other application installers out there, Google opted for an installer that is small and downloads the real packages to be installed from the web after you launch it. After waiting a few moments to get the rest of the data needed for the install, ...

Fear, Magic, and Maven

For the longest time, I was an Ant bigot. Before Ant, builds in Java were either all manual calls to javac, perhaps shell scripts if you were lucky, or done via some IDE magic for you. Ant, like the venerable GNU make and other tools before it, helped provide an automated, repeatable way to build and assemble complex projects. Write a little XML file with the steps for your process, and then a simple call to "ant" would start things happening. Ant was a god-send in large projects since it could eventually handle everything from generating source code all the way to deploying your project to a server. No more builds by hand! So why would anyone go to any other tool? Well, putting together Ant scripts slowly became a development effort unto themselves. The scripts themselves got more and more complex. You had to start downloading extra jars to extend the functionality of Ant (although the Ant team very quickly rectified this by bundling up the most popular plug-ins int...

Fedora, Ant, and Optional Tasks

I've tried to be good. I've tried a number of times to use the version of ant that Fedora packages up into an RPM from the JPackage repos rather than caving to the temptation to install it myself manually. I also like to use optional tasks like ReplaceRegExp in my scripts to do all sorts of cool things. Of course, I see most of the installation instructions that refer to ant via RPM mention that I need to yum install ant-apache-regexp to get my optional task jars installed for this very nice task. Every time I've tried this, ant yells at me saying that it can't find the taskdef class for ReplaceRegExp. Huh? But I installed the proper, RPMs...didn't I? Usually at this point, I fall back to what works and just install ant by hand. However, I've finally realized why I've had so much trouble with this. There is one additional RPM that should be installed to get the classes that define all the optional tasks for ant called ant-nodeps. Before getting int...