Archive for August, 2008

Windows: Speed up Your Internet Connection »

SG TCP Optimizer SG TCP Optimizer is a free, easy Windows program that provides an intuitive interface for tuning and optimizing your Internet connection. There is no installation required, just download and run. The program can aid both the novice and the advanced user in tweaking related TCP/IP parameters in the Windows Registry, making it [...]

Java: Create Immutable Object using Builder Pattern »

To create immutable Java object, we should use the Builder Pattern, as described in Effective Java. This is the pattern I normally used now for immutable class. 1: public class Person { 2: private final String name; 3: private final int age; 4: private final String email; 5: private final String mobileNo; 6:  7:  8: [...]

Open Source Enterprise Wiki »

TWiki is a flexible, powerful, and easy to use enterprise wiki, enterprise collaboration platform and knowledge management system. It is a Structured Wiki, typically used to run a project development space, a document management system, a knowledge base, or any other groupware tool, on an intranet or on the internet. Web content can be created [...]

Java: Trap in Arithmetic II »

What will you expect from the following code? 1: public static void main(String[] args) { 2: System.out.println(10.00-9.10) ; 3:  4: } Instead of printing “0.90″, it prints “0.9000000000000004″ on my machine. This is a know floating point issue with all languages. To get it correctly done in Java, you need to use BigDecimal class, passing [...]

Java: Trap in Arithmetic »

Have a look at the following code snippet 1: public static void main(String[] args) { 2: long result = 10 * 100 * 1000 * 10000 * 10000; 3: System.out.println(result); 4:  5: } What would you expect? Instead of printing “100000000000000″ , it prints “276447232″ on my machine. This is because the arithmetic is performed [...]

Stress Testing Database System »

Database Opensource Test Suite (DOTS) is a set of test cases designed for the purpose of stress testing and long run testing on database systems to measure database performance and reliability. It has two kinds of test cases – Basic Cases and Advanced Cases. The primary goal of Basic Cases is stress and long run [...]

Java: Find Crappy Code »

Crap4j is a Java implementation of the CRAP (Change Risk Analysis and Predictions) software metric – a mildly offensive metric name to help protect you from truly offensive code. The CRAP metric combines cyclomatic complexity and code coverage from automated tests (e.g. JUnit tests) to help you identify code that might be particularly difficult to [...]

Java: Always Overwrite equals, hashCode and toString in Value Object »

You should always overwrite equals, hashCode and toString in your value objects, this will let you have more control over your value objects or model classes. Also,  always overwrite hashCode and equals in pair. Consider the following code snippet 1: import java.util.Set; 2: import java.util.HashSet; 3:  4: public class EqualTest { 5: private String name; [...]

Java SE Troubleshooting and Diagnostic Guide »

This document helps in troubleshooting problems that might occur with applications that are developed using the Sun Microsystems Inc. release of Java Platform, Standard Edition Development Kit 6 (JDK 6 release or Java SE 6 release). In particular, this guide addressespossible problems between the application and the Java HotSpot virtual machine. This document is currently [...]

Java: Troubleshooting Guide for Desktop Technologies »

This document helps in troubleshooting problems that might occur with applications that use the desktop technologies in the Sun Microsystems Inc. release of Java Platform, Standard Edition Development Kit 6 (JDK 6 release or Java SE 6 release). Publisher: Sun Microsystems Download Link:

Java: GlassFish Metro Web Service Stack »

Metro is a high-performance, extensible, easy-to-use web service stack. It is a one-stop shop for all your web service needs, from the simplest hello world web service to reliable, secured, and transacted web service that involves .NET services. The Metro web service stack is a part of the GlassFish community, but it can be also [...]

Java Language Specification »

Publisher: Addison-Wesley The Java Language Specification, Third Edition – Written by the inventors of the technology, The Java Language Specification, Third Edition is the definitive technical reference for the Java programming language. If you want to know the precise meaning of the language’s constructs, this is the source for you. The book provides complete, accurate, [...]

Java: StringBuilder vs StringBuffer »

StringBuilder is introduced starting JDK 1.5. There are few differences for them StringBuffer is designed to be thread-safe and all public methods in StringBuffer are synchronized. StringBuilder does not handle thread-safety issue and none of its methods is synchronized. StringBuilder has better performance than StringBuffer under most circumstances. So, use StringBuilder if it is not [...]

Java: Understanding JSR14 »

During the development of the Java generics specification (and other language features added in Java 5), experimental support was added to the javac compiler to allow it to consume Java 5 language features and generate bytecode that could be run on a Java 1.4 JVM. While these features are not supported (or even documented), they [...]

Tracking Lost or Stolen Notebook »

Adeona is the first Open Source system for tracking the location of your lost or stolen laptop that does not rely on a proprietary, central service. As quoted from the website, With the growing ubiquity of, and user reliance on, mobile computing devices (laptops, PDAs, smart phones, etc.), loss or theft of a device is [...]

OpenDHT »

OpenDHT is a publicly accessible distributed hash table (DHT) service. In contrast to the usual DHT model, clients of OpenDHT do not need to run a DHT node in order to use the service. Instead, they can issue put and get operations to any DHT node, which processes the operations on their behalf. No credentials [...]

Google AJAX Search API »

The Google AJAX Search API lets you put Google Search in your web pages with JavaScript. You can embed a simple, dynamic search box and display search results in your own web pages or use the results in innovative, programmatic ways. Using it, you can Integrate Web Search, News Search, and Blog Search into your [...]

PlanetLab: Open Platform for Your Application »

PlanetLab is an open platform for developing, deploying and accessing planetary-scale services. It is similar to Google App Engine but is more for academic research purposes.

Large Scale Network Simulation using ModelNet »

ModelNet is a large-scale network emulator that allows users to evaluate distributed networked systems in realistic Internet-like environments. ModelNet enables the testing of unmodified prototypes running over unmodified operating systems across various networking scenarios. In some sense, it combines the repeatability of simulation with the realism of live deployment. The ModelNet user community has deployed [...]

.NET: Open Source Implementation of Atom Publishing Protocol »

BlogSvc is an open source implementation of the Atom Publishing Protocol. It has a flexible design that allows entries to be stored in files or a database. The service is compatible with Live Writer. BlogSvc is written in C# 3.5, uses the new web programming model in WCF, and relies heavily on LINQ and other [...]