Archive for September, 2008

Java: OSGi Enterprise Distribution »

The goal of ModuleFusion is to help programmers to use the OSGi Service Platform as their underlying runtime environment. ModuleFusion contains a full stack typical for Java enterprise applications. This stack currently consists of best-of-breed open source frameworks from the Java ecosystem. Additionally, ModuleFusion contains the necessary glue code to easily use these frameworks within [...]

Java DB in JDK 6 »

Java DB is Sun’s supported distribution of the open source Apache Derby 100% Java technology database. It is fully transactional, secure, easy-to-use, standards-based — SQL, JDBC API, and Java EE — yet small, only 2MB. The Apache Derby project has a strong and growing community that includes developers from large companies such as Sun Microsystems [...]

Gant: An Alternative to Ant »

Gant is  a Groovy-based build system that uses Ant tasks, but no XML. It can be considered an alternative to Ant. Gant is a build tool for scripting Ant tasks using Groovy instead of XML to specify the build logic. A Gant build specification is a Groovy script and so can bring all the power [...]

Java: Static Initializer Problem »

Have a look at the following code 1: public class StaticTest { 2: 3: static { 4: name = “my name”; 5: } 6:  7: public static String name = null; 8:  9:  10: public static void main(String[] args) { 11: System.out.println(StaticTest.name); 12:  13: } 14: } The output is “null”, which may surprise some [...]

Java: Gmaps for JSF »

GMaps4JSF aims at integrating Google maps with JSF. JSF users will be also able to construct complex Streetview Panoramas and Maps with just few lines of code (JSF tags). GMaps4JSF is one of the JSF Mashups libraries that enables JSF users to build web 2.0 mashup applications in JSF easily. The library provides JSF tags [...]

Apache Tomcat Servlet Error in GenericServlet.getServletName »

Here is the error I got for one of the Java servlet 1: 2008-09-30 02:36:50,915 | ERROR | [StandardWrapperValve:260 invoke | http-8881-Processor20] – Servlet.service() for servlet myServlet threw 2: exception 3: java.lang.NullPointerException 4: at javax.servlet.GenericServlet.getServletName(GenericServlet.java:322) 5: 6: The servlet is configured to be invoked upon certain URL pattern in web.xml. In other word, it will [...]

Performance Analysis Tool for Java »

Performance Analysis Tool for Java™ is much different than other widely available performance tools. Because it does not employ profiling, it does not have high overhead; therefore, the likelihood of possible down time is greatly reduced. This characteristic makes this tool particularly attractive for production environments, where starting and stopping to evaluate performance results can [...]

Performance Analysis Tool for Java »

Performance Analysis Tool for Java™ is much different than other widely available performance tools. Because it does not employ profiling, it does not have high overhead; therefore, the likelihood of possible down time is greatly reduced. This characteristic makes this tool particularly attractive for production environments, where starting and stopping to evaluate performance results can [...]

Grinder: Alternative to JMeter »

Grinder is a Java load testing framework that makes it easy to run a distributed test using many load injector machines. It is freely available under a BSD-style open-source license. It features Generic Approach Load test anything that has a Java API. This includes common cases such as HTTP web servers, SOAP and REST web [...]

Free EBook: The JavaServer Faces Jumpstarter Book »

The JSF Jumpstarter book is a short, tutorial introduction to JSF, suitable for JSF newbies. In a short 65 pages, this book teaches you how to build dynamic web sites in Java using JavaServer Faces, using a hands-on, practical approach. Little or no prior experience in web development is necessary (though a bit of Java [...]

Java: Automate Your Load Test using JMeter »

In all critical applications when response, throughput and transaction processing time are important factors to determine the success of the system, load test is definitely a must. In my projects normally I used JMeter to carry out load testing by running JMeter across multiple machines. The problem is that the server can only be load [...]

F#: A New Promising Language »

F# is described as a succinct, type-inferred, expressive, efficient functional and object-oriented language for the .NET platform. It is developed as a research programming language to provide the much sought-after combination of type safety, succinctness, performance, expresivity and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system. This combination has [...]

Java: Automate Your Documentation Process »

In any project, documentation is definitely necessary. Problem is that software documentation is always out of sync with the software itself as software is ever evolving. Software documentation is always outdated if they are managed in a manual way. Here are some open source software that can be used to automate software documentation, and thus [...]

Open Source Real Time 3D Engine »

The Irrlicht Engine is an open source high performance real time 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines. It comes with an [...]

Free Speech Acoustic Model »

VoxForge was set up to collect transcribed speech for use in Open Source Speech Recognition Engines (“SRE”s) such as such as ISIP, HTK, Julius and Sphinx. In order to recognize speech, Speech Recognition Engines require two types of files: the first, called an Acoustic Model, is created by taking a very large number of transcribed [...]

Java: Insert Copyright Header into Source Code »

The Eclipse repository contains a tool that will fix copyrights in your code. It will insert copyrights into any files that are missing them, and will also attempt to insert the additional year for modified files (e.g. “2007, 2008″). To do the latter, the tool compares all files against the last revision from the previous [...]

Java: Open Source Clustering Software »

Terracotta is an open source clustering product for Java. With Terracotta, JEE Applications scale simply and reliably without databases, EJBs or other complex infrastructure. It is an open source infrastructure software that makes it easy to scale a Java application to as many computers as needed, without the usual custom application code and databases used [...]

How Large Websites Work »

Digg Digg is running on the followings Caching (Memcache) Distributed file system (MogileFS) Monitoring (Nagios) Asynchronous Processing (Gearman) To know more about the architecture, you can read the followings How Digg works Digg Database Architecture High Scalability – Digg Architecture   eBay Existing eBay website is built using Java. There is a good presentation on [...]

Develop Browser Based Desktop Application »

Cappuccino is an open source application framework for developing applications that look and feel like the desktop software users are familiar with. Cappuccino is built on top of standard web technologies like JavaScript, and it implements most of the familiar APIs from GNUstep and Apple’s Cocoa frameworks. When you program in Cappuccino, you don’t need [...]

Java Generics Summary »

A short note on Java Generics Generics are not covariant. 1: List<Integer> li = new ArrayList<Integer>(); 2: List<Number> ln = li; // illegal Construction Delays 1: public void doSomething(T param) { 2: T copy = new T(param); // illegal 3: } Constructing wildcard references 1: class Foo { 2: public void doSomething(Set<?> set) { 3: [...]