For my work I’ve been doing a lot of Java development with my oh so favorite tool NetBeans. Unfortunately for me Netbeans doesn’t appear to like me, or any of the other developers using it, very much.
The major advantage of Netbeans is the build in TomCat server, which handles Java applets and JSP pages. Another is its ability for debugging whilst accessing the web pages. These are some of the reasons for my office to switch from JBuilder to Netbeans.
I’ve been developing with it for a few weeks now, and found that yeah it has great debugging capabilities and the built in Tomcat is definitely an advantage. But it isn’t without its flaws. I’ve had it on many occasion that Tomcat ran out of memory due to dumb as deploying of web projects by Netbeans. Or even more often that Netbeans is unable to debug a project.
For the latter of the two problems there is only one solution: recreate the project and add the existing source. Not a good solution, but he it works. The memory problem well prepare to kill any process running on Java otherwise you won’t be able to continue working.
So is the switch to the free and reasonable good Netbeans worth it. Well its a hell of a lot better then JBuilder 4, which we used up to this day. So in that aspect yea it is better. But when you have to compare it in usability I find it crashing, hanging or not responding in the way you expect it to. I just hope they are planning a major update for Netbeans in the near future.
Further information
It’s normal for big companies to make big mistakes, but this one is just so damn stupid. According to rumors the search records of three months of AOL search are downloadable for who ever wants them. If you used AOL search then your ID and all searches performed under this ID is for me and the rest of the world to see.
In a disclaimer attached it says the records are to be used for research purposes only, but any idiot can guess that the records weren’t meant for people like me. So first lets put some of you at ease! No personal information can be found in the records, after all very few people are able to couple the searchers ID to his name. So no worries there.
So why is this embarrassing for AOL! Very simple which self respecting company wants their private information on the internet. You might think that this information is useless, but for search engine optimizers its a pot of gold. Let me explain you why.
For internet marketers it’s important to be found. And to be found you need to know what people are looking for. So in that sense this information is priceless. It tells these people exactly how to advertise their pages so the most people will find them. Not only does it tell which keywords are used often, it also shows which websites were chosen from the search results. This information provides these marketers with a change to see how the searchers think and act in search engines, well AOL search in specific.
If these search records were of a short period like a few days or a week then it would do little good, but as it is I’ve seen data for about three months and over 20 million searches. That’s a lot of information about how people search and what they are looking for!
Some time back I posted about .Net Remoting and its advantages compared to other methods. After that I continued into the overhead and optimization you should apply using remoting. However one thing I did not yet discuss. What different variations of remoting are available.
So lets do that this time round. Lets start with introducing you into the two basic methods that can be used. First of you have serialization. When breaking it down to the basics this works as follows:You send an object across the network, all data of this class is then passed to a serializer. Pending on what type of serialization you choose to use it then generates XML or binary data to send across the network. The second computer application receives this data and de-serializes it. This means you will have some overhead for every time you transfer information between the two applications.
The second method you will use is marshalling. This is somewhat similar to the JAVA rmi protocol. A marshalled object is one that does not actually send data to the receiving application. Instead a proxy-object is sent, this object contains all the information needed to call functions. As soon as you call any of the functions the proxy-object will contact the application that owns the object. This application will respond by returning data or applying business logic.
Now that you now the basic variants available you need to know when to use which one. This is actually very simple. You need a marshalled object to serve data that is serialized. Let me explain. Unless you can somehow place calls between applications you will not be able to send serialized data. So in order to send serialized data you need a marshalled object with some basic functions for sending and receiving objects.
To finish of lets go into some disadvantages of both of the methods. A serialized object has one huge downfall. If you change information on the client then this will not change on the server application. That means that you will have to manually synchronize the information between the two applications.
For marshalled objects the greatest downside is that every call to the object needs to be send across the network. This means that for every call you make the proxy-server prepares a network package, sends it, waits for a reply and decodes the reply. The downside is that it blocks the application until the call cycle is completed.