Making Java web development easier
After a very long time of infrastructure development I have taken some time to get myself familiar again with web development and web frameworks. I did not keep my search contained to the Java domain but I kept coming back to Java because I like java and because Java provided me with everything I needed.
Well almost anything….
Most people interact with applications via graphical user interface. Graphical user interface (such as web interface) exposes the functionality of the application; it should be easy to use, nice to look at, personalized and customized to meet all the end-user needs. This is a very hard task as is and should not be made more complex by cumbersome web frameworks. The main problem in J2EE was that developers must face 100 percent of Java EE's complexity even if they only need 20 percent of the services.
Theory VS. Practice
Last week in my blog I wrote a bit about the progress of my thesis. This week I want to share with you something interesting I found. As I have mentioned before, a large portion of my thesis was practical in the sense that it involved a lot of coding. I chose a more practical approach because I feel that it is much easier to validate claims made by other researchers that way.
I have studied and implemented quite a bit of existing mutual exclusion algorithms, and one of the things I came to realize is that a lot of them had flaws (at least in the original publication) despite a lot of effort to minimize mistakes. For example, a well known algorithm first proposed by Mamuro Maekawa stipulated that it is possible to achieve mutual exclusion using only C*SQRT(N) messages. Where N is the number of participating processes and C is a constant between 3 and 5. Later on this claim was disproved by Ye-In Chang . Chang showed that in some cases the algorithm only works with N messages. Oops….
Build your own Geo-Locating solution
Many websites use Geo-Locating services to provide location aware content, so users will get the content in their language and currency, and will "enjoy" from some targeted adverts.
Geo-location is also required when providing content that is protected by DRM (Digital Rights Management) and has some geographical constraints.
On top of that, webmasters can benefit from Geo-Locating logs to analysis their web traffic.
This article explains how to build your own GeoLocating solution by translating IP address to Country.
At the end of this article, I'll show an example of simple Java implementation of IP-to-Country Geo-Locating tool.
Distributed CVS
A few weeks ago I received an email from a person called Giorgio who stumbled across one of the blog I posted about my thesis work and the uses of MantaRay in that kind of environment. We started talking about an idea he had to create a distributed file repository; in other words, a distributed CVS. A repository such as the one he proposed wouldn’t have to relay on a centralized server!
I have spent the last three years designing and developing distributed applications that had a lot of similarities with the one Giorgio proposed, and as a result I was able to point out some of the many potential obstacles and pitfalls one had to overcome before such an idea could become a reality.
How to fix live msn messenger 8.0 when it hangs while “signing in”
I have several accounts in my msn messenger. Yesterday one of my accounts just wouldn’t sign-in.
My live messenger kept trying to sign-in forever, setting a false password returned an error message and I had no problem sign-in with my other msn account.
After spending two hours on this problem and in the spirit of 16bytes, I decided to post the solution to this problem.
Develop a JavaServer Faces application with Eclipse, FacesIDE and Tomcat
In a previous blog I showed how you may configure eclipse with FacesIDE and Tomcat plugins. This configuration gives you an IDE for JSF development.
In this blog we will use this configuration to build a first JSF application.
The application is simple. It asks you for your age, and then calculates it in dog years, based on the ever-true formula of manYears / 7.
However, this has enough JSF in it to show how eclipse, FacesIDE and SysDeo's Tomcat plugin join make for an adequate development platform.
