Buy anything from HongKong - Dealextreme

You can buy any kind of electronic gadgets from DealExtreme with free shipping option.
Please visit DealExtreme for very low prices.
Here is the link to the site : www.dealextreme.com

16 February 2007

The world's smallest and thinnest RFID tags

The world's smallest and thinnest RFID tags were introduced yesterday by Hitachi. Tiny miracles of miniaturization, these RFID chips (Radio Frequency IDentification chips) measure just 0.05 x 0.05 millimeters.
The previous record-holder, the Hitachi mu-chip, is just 0.4 x 0.4 millimeters. Take a look at the size of the mu-chip RFID tag on a human fingertip.
(Hitachi mu-chip tiny RFID tag)
Now, compare that with the new RFID tags. The "powder type" tags are some sixty times smaller.
(Powder RFID chips next to a human hair)
The new RFID chips have a 128-bit ROM for storing a unique 38 digit number, like their predecessor. Hitachi used semiconductor miniaturization technology and electron beams to write data on the chip substrates to achieve the new, smaller size.

07 February 2007

Free Download Manager

Free Download Manager (FDM) is a light-weight, powerful and easy-to-use application. Also this software product is well-known for its intuitive and user-friendly interface. FDM can function as a site manager, accelerator, site explorer and scheduler.
http://www.freedownloadmanager.org/

06 February 2007

How to: using ant to deploy to OC4j

First the Ant build.xml file itself:


<?xml version="1.0" encoding="windows-1252" ?>
<
project default="all" xmlns:oracle="antlib:oracle"
xmlns="antlib:org.apache.tools.ant"
xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<
property file="build.properties"/>
<!--
============================================================================
== properties
============================================================================
-->
<!-- directories -->
<property name="src.dir" value="src"/>
<
property name="classes.dir" value="classes"/>
<
property name="log.dir" value="log"/>
<
property name="web.dir" value="public_html"/>
<
property name="deploy.dir" value="deploy"/>
<
property name="doc.dir" value="doc"/>
<!-- deliverables -->
<property name="webjar.file" value="${app.name}-web.jar"/>
<
property name="war.file" value="${app.name}-web.war"/>
<
property name="ejbjar.file" value="${app.name}-ejb.jar"/>
<
property name="ear.file" value="${app.name}.ear"/>
<!--
============================================================================
== class path
============================================================================
-->
<path id="class.path">
<
fileset dir="lib">
<
include name="**/*.jar"/>
</
fileset>
<
pathelement path="${classes.dir}"/>
</
path>
<!--
============================================================================
== init
============================================================================
-->
<target name="init">
<
tstamp/>
<
mkdir dir="${log.dir}"/>
<
mkdir dir="${classes.dir}"/>
</
target>
<!--
============================================================================
== compile
============================================================================
-->
<target name="compile" depends="init">
<
javac srcdir="${src.dir}" destdir="${classes.dir}"
classpathref="class.path"/>
<
copy todir="${classes.dir}">
<
fileset dir="${src.dir}">
<
include name="**/*.xml"/>
<
include name="**/*.properties"/>
</
fileset>
</
copy>
</
target>
<!--
============================================================================
== war
============================================================================
-->
<target name="war" depends="compile">
<
war destfile="${deploy.dir}/${war.file}" webxml="${web.dir}/WEB-INF/web.xml">
<
fileset dir="${classes.dir}">
<
include name="**/*.class"/>
<
exclude name="test/**/*.class"/>
</
fileset>
<
fileset dir="${web.dir}">
<
include name="**/*.jspx"/>
<
include name="**/*.html"/>
<
include name="WEB-INF/*.xml"/>
</
fileset>
<
lib dir="lib">
<
exclude name="ivy-1.1.jar"/>
<
exclude name="ejb.jar"/>
<
exclude name="ejb30.jar"/>
<
exclude name="junit.jar"/>
<
exclude name="oc4jclient.jar"/>
</
lib>
</
war>
</
target>
<!--
============================================================================
== ejb jar
============================================================================
-->
<target name="ejb" depends="compile">
<
jar destfile="${deploy.dir}/${ejbjar.file}">
<
fileset dir="${classes.dir}">
<
include name="**/model/**/*.class"/>
<
exclude name="test/**/*.class"/>
</
fileset>
</
jar>
</
target>
<!--
============================================================================
== Ear
============================================================================
-->
<target name="ear" depends="war,ejb">
<
ear destfile="${deploy.dir}/${ear.file}"
appxml="${classes.dir}/META-INF/application.xml">
<
fileset dir="${deploy.dir}/" includes="${war.file}"/>
<
fileset dir="${deploy.dir}/" includes="${ejbjar.file}"/>
</
ear>
</
target>
<!--
============================================================================
== deploy
============================================================================
-->
<target name="deploy" depends="init">
<
oracle:deploy moduletype="ear" host="${oc4j.host}"
port="${oc4j.admin.port}" userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${deploy.dir}/${ear.file}"
deploymentname="${app.name}"
logfile="${log.dir}/deploy-ear.log"/>
<
oracle:bindWebApp host="${oc4j.host}" port="${oc4j.admin.port}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
deploymentname="${app.name}" webmodule="${web.name}"
websitename="${oc4j.binding.module}"
contextroot="/${app.name}"
/>
</
target>
<!--
============================================================================
== clean
============================================================================
-->
<target name="clean">
<
delete quiet="true">
<
fileset dir="lib" includes="**/*.jar" excludes="**/ivy-1.1.jar"/>
<
fileset dir="${classes.dir}" includes="**/*"/>
<
fileset dir="deploy" includes="*"/>
</
delete>
</
target>
<!--
============================================================================
== deploy
============================================================================
-->
<target name="all" depends="clean,ear,deploy"/>
</
project>

Next the build.properties file:


app.name=test1
web.name=test1-web

oc4j.binding.module=default-web-site
oc4j.admin.port=23791
oc4j.admin.user=oc4jadmin
oc4j.http.port=8888
oc4j.admin.password=admin
oc4j.host=localhost

java.home=c:\\Program Files\\Java\\jdk1.5.0_01
oracle.home=c:\\programs\\oracle\\oc4j1013-dp4

And finally a shell script to start ant.


set JAVA_HOME=c:\Program Files\Java\jdk1.5.0_01
set ANT_HOME=c:\programs\oracle\oc4j1013-dp4\ant
set ORACLE_HOME=c:\programs\oracle\oc4j1013-dp4

set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%

%ANT_HOME%\bin\ant %1 %2 %3

Use Multibox to Manage Checkboxes

Many applications need to use a large number of checkboxes to track options or selected items. To help with this, Struts provides the multibox control. It's quite handy but a little tricky to understand at first.

The multibox leverages the way HTML handles checkboxes. If the box is not checked, the browser does not submit a value for the control. If the box is checked, then the name of the control and its value are submitted. This behavior is the reason there
is a reset() method on the ActionForm. Since the browser will never signal that a box has been un-checked, the only solution is to reset all the boxes, and then check the ones that are now present in the request.

The multibox control is designed to use an array of Strings. Each element in the array represents a checked box. To check a box, add a String to the array with the box's value. To uncheck a box, remove the element from the array. (Sound familiar?)


When passed a value, the multibox control scans the elements of its array to see if there is a match. If so, the box is checked. If not, the box is left unchecked. If the user checks the box and submits the form, the box's value will be included in the
request. The controller will then add that box to the "checked" array. If a box is unchecked, nothing is submitted, and nothing is added to the array. If the ActionForm bean is kept in the session context, in between requests, the reset() method
needs to reduce the array to zero length (but not null).

In this example,

<logic:iterate id="item" property="items">

<html:multibox property="selectedItems">

<bean:write name="item"/>

</html:multibox>

<bean:write name="item"/>

</logic:iterate>

The labels for the individual checkboxes is in the items property. The list of selected items is in an array named selectedItems. Items that are not selected are not present in the selectedItems array. The multibox checks the selectedItems array for
the current item. If it is present, it writes a checked checkbox. If not, it writes an unchecked checkbox.

Given an ActionForm setup like this

private String[] selectedItems = {};

private String[] items = {"UPS","FedEx","Airborne"};

public String[] getSelectedItems() {

return this.selectedItems;

}

public void setSelectedItems(String[] selectedItems) {

this.selectedItems = selectedItems;

}

The markup in the example would generate three checkboxes, labeled UPS, FedEx, and Airborne.

<input type="checkbox" name="selectedItems" value="UPS">UPS

<input type="checkbox" name="selectedItems" value="FedEx">FedEx

<input type="checkbox" name="selectedItems" value="AirBorne">AirBorne

Initially, the selectedItems array would be empty. If UPS were checked and submitted, it would become the equivalent of

private String[] selectedItems = {"UPS"};

If UPS and Airborne were both checked, it would become the equivalent of

private String[] selectedItems = {"UPS","Airborne"};

And when the checkboxes are rendered, the appropriate elements are automagically checked by the multibox tag.

<input type="checkbox" name="selectedItems" value="UPS" checked="checked">UPS

<input type="checkbox" name="selectedItems" value="FedEx">FedEx

<input type="checkbox" name="selectedItems" value="AirBorne" checked="checked">AirBorne

To provide different sets of labels and values, the standard LabelValueBean class [org.apache.struts.util.LabelValueBean] (since 1.1) can be used with the multibox control.

<logic:iterate id="item" property="items">

<html:multibox property="selectedItems">

<bean:write name="item" property="value"/>

</html:multibox>

<bean:write name="item" property="label"/>

</logic:iterate>

Open Source Software For Mobile Phones

Members of the open source GPE project (GPE Palmtop Environment) today announced a new offspring project to create a fully open source software stack for mobile phones, GPE Phone Edition. GPE Phone Edition is a fully open source project based on developments from the GPE project adding necessary components for mobile phone usage. Based on standards defined by the LiPS Forum a complete application software stack is built. The current implementation is based on code contributed to the LiPS Forum by Orange/France Telecom's research and development lab located in Beijing China in collaboration with GPE project members. The result is now an open sourced software stack which can handle a GSM compliant mobile modem for making voice calls, handling the SIM address book and sending and receiving SMS. Also some additional application exists e.g. for media playback, instant messaging and email. They have some screenshots there and even a downloadable VMware image using which you can try the whole thing in a virtual phone on your PC — if you connect a GSM Modem (like an existing phone) to /dev/GSM-Modem you should probably even be able to use the full phone functionality (access SIM card, send/receive SMS, make a call!).