Posts

False condition comes true?

Image
This is a really weird bug I found in my program. I have an "if" condition, which takes a boolean variable as its condition, the variable's name is bMember. When I saw unexpected behaviour in my code and decided to debug it I saw the above surprising and un-understandable thing, the debug enters a falsed condition!? look at the picture above and see for yourselves. by the way, if someone knows why, please post a comment. Chaiavi

Getting the file names of a given directory as plain text

At the beginning I searched the web for a freeware which does the job, I didn't even think of paying for this simple job to be done. But then I found the simplest of all solution. Just go to the command prompt (Windows button + R) type in cmd and press enter - you are in the command line view. Go to the directory from which you want a file list as text. Then type: dir /B mark the text and press enter (used as copy in the console view) then paste the filelist from the clipboard anywhere you want. If you want the filelist to be in a text file you can shorten the process by executing the following command from the command line console window: dir /B > filename.txt Now the file's list will be in the file you typed (filename.txt). A thought: Some functions just don't need any fancy tool for doing them...

What does: "Fault occurred while processing" in the client mean? and how do you reveal the real exception?

I have this CXF client which sometimes throws normal exceptions but some of the other times it throws me a "Fault occurred while processing", well, what does that mean? When you get back a "Fault occurred while processing" it means that a web service threw an unchecked exception.  The CXF framework catches it and puts together a fault message which it sends back to the client.  The client’s stack trace at that point is pretty-much irrelevant . There may be a way to get CXF to log the server stack trace, but I haven’t found it yet (feel free to comment on the post if you found one).  There may also be a way to stick a handler into the flow to get the exception before constructing the fault message, but I haven’t found that yet either (ditto). If a checked-exception is thrown, then the exception – or at least its message – gets sent back to the client where it’s reconstructed and rethrown to be caught by the client. Debugging a problem like this, o...

Embed Nimbus's look and feel to your Java programs using Netbeans

This one gave me a little headache, cause it shouldn't really be an issue, but it turned out to be a non trivial tweak. What's the story? I use Netbeans 6.5 and Java 1.6.0_11 and I wanted my gui programs to "wear" the nimbus look and feel. How should I configure my netbeans gui builder to dress my program with the nimbus l&f? First thing I needed to configure my current project to use the latest JDK, it used as a default a previous version (1.6.0_07) which doesn't support the nimbus l&f. First thing was to add the latest jdk to the netbeans platform, go to Tools --> java platform and add the new jdk. The next task is to add the new jdk to the specific project; project properties --> Libraries and under the Java platform pick the new JDK to run this program.  Now that the JDK issue is set, it's time to set the actual L&F:  Project properties --> Application --> Desktop app --> Look & Feel --> com.sun.java.swing.plaf.nimbus.Nimb...

Ant Explorer graphical Ant build tool

Every serious java developer needs to create or edit some ant building script. Eclipse offers nice ant handling features which make the task much easier, eclipse's plugin (which is embeded into eclipse since version 3.1 or so) understands the ant scripting language thus enables not only syntax coloring but also nice mouse hovering which reveals values of properties, variable names which enables finding the source of each variable and also some nice debugging features. But, there is one field in which eclipse's ant handling lacks perfection, its in viewing the whole build file in one gaze graphically feature, that feature isn't supported by eclipse. Luckily enough, it is supported by YWorks, which created a nice and free util which loads an ant script file and shows it in a beautiful and so very useful way. I think that this util (which was released as a standalone as well as an eclipse and idea) is a must for any serious java developer. Unluckily, YWorks have remo...

D-link DU-E100 Driver (USB to Lan)

Several years ago (at about 2002) I found this store which got stuck with a large amount of these usb to lan cards, so they sold the card for about 6$ a piece; it's not that I needed one, it was just the great price. I bought with a friend of mine about 10-20 pieces and sold them for double the price. Anyway, I kept one for myself of course, and of course - I didn't use it till... today. My Ethernet card stopped working suddenly and I didn't have any access to the internet, I started looking for a solution, till I found this old card - old but useful (I'm writing this post using the same card). The problem was finding the driver, although I had the original 1.44 inch disk, it is useless when you don't have any slot to insert it - and no, you can't insert a diskette into a USB port. So I started looking in the internet, and I found out that D-Link doesn't have the driver on their site, and I couldn't find it anywhere else! I didn't have any choice but...

Get a feel for what your computer can do

When examining performance with an eye to optimization, it's worth developing a feel for how fast typical software operations actually are on modern hardware. That sense will help you know when to look deeper for the real cause of a bottleneck, or when to look elsewhere, or when to mistrust the results that your profiling tools are giving you. For instance, I ran the following short bit of code: TreeSet tree = new TreeSet (); int found = 0; long time = System.currentTimeMillis(); System.out.println("add #'s to tree"); for (int i = 0; i long time2 = System.currentTimeMillis(); System.out.println("elapsed:  " + (time2 - time)); System.out.println("find #'s in tree"); for (int i = 0; i     if (tree.contains(Math.random())) found++; long time3 = System.currentTimeMillis(); System.out.println("elapsed:  " + (time3 - time2)); Here's the output: add #'s to tree elapsed: 8240 find #'s in tree elapsed: 5476 We see that filling a J...