feedme java project

is free software, licensed under the terms of the GNU General Public License, that feeds/imports media from anywhere to xbox360 media center extenders, ipods, web servers, file servers, etc. using Java.

Please read the license here.

Thursday, September 6, 2007

CMalloc.java


Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.

Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
modify and redistribute this software in source and binary code form,
provided that i) this copyright notice and license appear on all copies of
the software; and ii) Licensee does not utilize the software in a manner
which is disparaging to Sun.

This software is provided "AS IS," without a warranty of any kind. ALL
EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

This software is not designed or intended for use in on-line control of
aircraft, air traffic, aircraft navigation or aircraft communications; or in
the design, construction, operation or maintenance of any nuclear
facility. Licensee represents and warrants that it will not use or
redistribute the Software for such purposes.

/*
* @(#)CMalloc.java 1.6 98/03/22
*
* Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
*
* See also the LICENSE file in this distribution.
*/

/**
* A CPtr to memory obtained from the C heap via a call to
* malloc.
*


* In some cases it might be necessary to use memory obtained from
* malloc. For example, CMalloc helps accomplish
* the following idiom:
*


* void *buf = malloc(BUF_LEN * sizeof(char));
* call_some_function(buf);
* free(buf);
*

*


* Remember to free any malloc space
* explicitly
. This class could perhaps contain a finalize
* method that does the free, but note that in Java you should
* not use finalizers to free resources.
*
* @author Sheng Liang
* @see CPtr
*/
public class CMalloc extends CPtr {

/**
* Allocate space in the C heap via a call to C's malloc.
*
* @param size number of bytes of space to allocate
*/
public CMalloc(int size) {
this.size = size;
peer = malloc(size);
if (peer == 0) {
throw new OutOfMemoryError();
}
}

/**
* De-allocate space obtained via an earlier call to malloc.
*/
public void free() {
free(peer);
peer = 0;
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,byte[],int,int)
*/
public void copyIn(int bOff, byte[] buf, int index, int length) {
boundsCheck(bOff, length * 1);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,short[],int,int)
*/
public void copyIn(int bOff, short[] buf, int index, int length) {
boundsCheck(bOff, length * 2);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,char[],int,int)
*/
public void copyIn(int bOff, char[] buf, int index, int length) {
boundsCheck(bOff, length * 2);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,int[],int,int)
*/
public void copyIn(int bOff, int[] buf, int index, int length) {
boundsCheck(bOff, length * 4);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,long[],int,int)
*/
public void copyIn(int bOff, long[] buf, int index, int length) {
boundsCheck(bOff, length * 8);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,float[],int,int)
*/
public void copyIn(int bOff, float[] buf, int index, int length) {
boundsCheck(bOff, length * 4);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyIn. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyIn(int,double[],int,int)
*/
public void copyIn(int bOff, double[] buf, int index, int length) {
boundsCheck(bOff, length * 8);
super.copyIn(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,byte[],int,int)
*/
public void copyOut(int bOff, byte[] buf, int index, int length) {
boundsCheck(bOff, length * 1);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,short[],int,int)
*/
public void copyOut(int bOff, short[] buf, int index, int length) {
boundsCheck(bOff, length * 2);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,char[],int,int)
*/
public void copyOut(int bOff, char[] buf, int index, int length) {
boundsCheck(bOff, length * 2);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,int[],int,int)
*/
public void copyOut(int bOff, int[] buf, int index, int length) {
boundsCheck(bOff, length * 4);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,long[],int,int)
*/
public void copyOut(int bOff, long[] buf, int index, int length) {
boundsCheck(bOff, length * 8);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,float[],int,int)
*/
public void copyOut(int bOff, float[] buf, int index, int length) {
boundsCheck(bOff, length * 4);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.copyOut. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#copyOut(int,double[],int,int)
*/
public void copyOut(int bOff, double[] buf, int index, int length) {
boundsCheck(bOff, length * 8);
super.copyOut(bOff, buf, index, length);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getByte. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getByte(int)
*/
public byte getByte(int offset) {
boundsCheck(offset, 1);
return super.getByte(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getShort. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getShort(int)
*/
public short getShort(int offset) {
boundsCheck(offset, 2);
return super.getShort(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getInt. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getInt(int)
*/
public int getInt(int offset) {
boundsCheck(offset, 4);
return super.getInt(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getLong. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getLong(int)
*/
public long getLong(int offset) {
boundsCheck(offset, 8);
return super.getLong(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getFloat. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getFloat(int)
*/
public float getFloat(int offset) {
boundsCheck(offset, 4);
return super.getFloat(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getDouble. But this method performs a bounds checks
* to ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getDouble(int)
*/
public double getDouble(int offset) {
boundsCheck(offset, 8);
return super.getDouble(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getCPtr. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getCPtr(int)
*/
public CPtr getCPtr(int offset) {
boundsCheck(offset, SIZE);
return super.getCPtr(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.getString. But this method performs a bounds checks
* to ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#getString(int)
*/
public String getString(int offset) {
boundsCheck(offset, 0);
return super.getString(offset);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setByte. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setByte(int)
*/
public void setByte(int offset, byte value) {
boundsCheck(offset, 1);
super.setByte(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setShort. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setShort(int)
*/
public void setShort(int offset, short value) {
boundsCheck(offset, 2);
super.setShort(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setInt. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setInt(int)
*/
public void setInt(int offset, int value) {
boundsCheck(offset, 4);
super.setInt(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setLong. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setLong(int)
*/
public void setLong(int offset, long value) {
boundsCheck(offset, 8);
super.setLong(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setFloat. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setFloat(int)
*/
public void setFloat(int offset, float value) {
boundsCheck(offset, 4);
super.setFloat(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setDouble. But this method performs a bounds checks
* to ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setDouble(int)
*/
public void setDouble(int offset, double value) {
boundsCheck(offset, 8);
super.setDouble(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setCPtr. But this method performs a bounds checks to
* ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setCPtr(int)
*/
public void setCPtr(int offset, CPtr value) {
boundsCheck(offset, SIZE);
super.setCPtr(offset, value);
}

/**
* Indirect the C pointer to malloc space, a la
* CPtr.setString. But this method performs a bounds checks
* to ensure that the indirection does not cause memory outside the
* malloced space to be accessed.
*
* @see CPtr#setString(int)
*/
public void setString(int offset, String value) {
byte[] bytes = value.getBytes();
int length = bytes.length;
boundsCheck(offset, length + 1);
super.copyIn(offset, bytes, 0, length);
super.setByte(offset + length, (byte)0);
}

/* Size of the malloc'ed space. */
private int size;

/* Call the real C malloc. */
private static native long malloc(int size);

/* Call the real C free. */
private static native void free(long ptr);

/* Private to prevent creation of uninitialized malloc space. */
private CMalloc() {}

/* Check that indirection won't cause us to write outside the malloc'ed
space. */
private void boundsCheck(int off, int sz) {
if (off < 0 || off + sz > size) {
throw new IndexOutOfBoundsException();
}
}
}

CFunc.java



Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.

Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
modify and redistribute this software in source and binary code form,
provided that i) this copyright notice and license appear on all copies of
the software; and ii) Licensee does not utilize the software in a manner
which is disparaging to Sun.

This software is provided "AS IS," without a warranty of any kind. ALL
EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

This software is not designed or intended for use in on-line control of
aircraft, air traffic, aircraft navigation or aircraft communications; or in
the design, construction, operation or maintenance of any nuclear
facility. Licensee represents and warrants that it will not use or
redistribute the Software for such purposes.

/*
* @(#)CFunc.java 1.6 98/03/22
*
* Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
*
* See also the LICENSE file in this distribution.
*/

/**
* An abstraction for a C function pointer. An instance of CFunc
* repesents a pointer to some C function. callXXX methods
* provide means to call the function; select a XXX variant based
* on the return type of the C function.
*


* Beware that the copyIn, copyOut,
* setXXX, and getXXX methods inherited from the
* parent will indirect machine code.
*
* @author Sheng Liang
* @see CPtr
*/
public class CFunc extends CPtr {

/* calling convention, not set now because we only support the "C"
* convention.
*/
private int callingConvention;

/* Find names function in the named dll. */
private native long find(String lib, String fname);

/**
* Create a new CFunc that is linked with a C function that
* follows a given calling convention.
*


* The allocated instance represents a pointer to the named C function
* from the named library, called with the named calling convention.
*


* @param lib library in which to find the C function
* @param fname name of the C function to be linked with
* @param conv calling convention used by the C function
*/
public CFunc(String lib, String fname, String conv) {
if (!conv.equals("C")) {
throw new IllegalArgumentException
("unrecognized calling convention: " + conv);
}
peer = find(lib, fname);
}

/**
* Create a new CFunc that is linked with a C function that
* follows the standard "C" calling convention.
*


* The allocated instance represents a pointer to the named C function
* from the named library, called with the standard "C" calling
* convention.
*


* @param lib library in which to find the C function
* @param fname name of the C function to be linked with
*/
public CFunc(String lib, String fname) {
peer = find(lib, fname);
}

/**
* Call the C function being represented by this object.
*
* @param args arguments to pass to the C function
* @return int value returned by the underlying
* C function
*/
public native int callInt(Object[] args);

/**
* Call the C function being represented by this object.
*
* @param args arguments to pass to the C function
*/
public native void callVoid(Object[] args);

/**
* Call the C function being represented by this object.
*
* @param args arguments to pass to the C function
* @return float value returned by the underlying
* C function
*/
public native float callFloat(Object[] args);

/**
* Call the C function being represented by this object.
*
* @param args arguments to pass to the C function
* @return double value returned by the underlying
* C function
*/
public native double callDouble(Object[] args);

/**
* Call the C function being represented by this object.
*
* @param args arguments to pass to the C function
* @return C pointer returned by the underlying C function
*/
public native CPtr callCPtr(Object[] args);

/* Don't allow creation of unitializaed CFunc objects. */
private CFunc() {}

}

Wednesday, September 5, 2007

Silverlight


Expression Encoder is part of the Microsoft Expression suite of products,
and enables designers and content professionals to enhance,
encode and publish media content for Silverlight.







The Mono team at Novell will implement open source versions of Silverlight 1.0 and Silverlight 1.1.
Silverlight 1.0 is focused on enabling rich media scenarios in a browser. Some of its features include:
  • Built-in codec support for playing VC-1 and WMV video, and MP3 and WMA audio within a browser. The VC-1 codec is a big step forward for incorporating media within a web experience - since it supports very efficiently playing high-quality, high definition video in the browser. It is a standards-based media format that is implemented in all HD-DVD and Blueray DVD players, and is supported by hundreds of millions of mobile devices, XBOX 360s, PlayStation 3s, and Windows Media Centers (enabling you to encode content once and run it on all of these devices + Silverlight unmodified). It enables you to use a huge library of existing video content and provides access to the broad ecosystem of existing Windows Media tools, components, vendors and hardware.
  • Silverlight supports the ability to progressively download and play media content from any web-server. You can point Silverlight at any URL containing video/audio media content, and it will download it and enable you to play it within the browser. No special server software is required, and Silverlight can work with any web-server (including Apache on Linux). We'll also be releasing an IIS 7.0 media pack that enables rich bandwidth throttling features that you can enable on your web-server for free.
  • Silverlight also optionally supports built-in media streaming. This enables you to use a streaming server like Windows Media Server on the backend to efficiently stream video/audio (note: Windows Media Server is a free product that runs on Windows Server). Streaming brings some significant benefits in that: 1) it can improve the end-user's experience when they seek around in a large video stream, and 2) it can dramatically lower your bandwidth costs.

  • Silverlight enables you to create rich UI and animations, and blend vector graphics with HTML to create compelling content experiences. It supports a Javascript programming model to develop these. One benefit of this is that it makes it really easy to integrate these experiences within AJAX web-pages (since you can write Javascript code to update both the HTML and XAML elements together).

  • Silverlight makes it easy to build rich video player interactive experiences. You can blend together its media capabilities with the vector graphic support to create any type of media playing experience you want. Silverlight includes the ability to "go full screen" to create a completely immersive experience, as well as to overlay menus/content/controls/text directly on top of running video content (allowing you to enable DVD like experiences). Silverlight also provides the ability to resize running video on the fly without requiring the video stream to be stopped or restarted.

compression and encryption

Encryption works by scrambling data to produce what amounts to random bits for an attacker. Data compression works by replacing or removing redundant information. It follows that the output of any decent crypto algorithm will not be compressible; therefore if you wish to use both compression and encryption, you must compress the data before encrypting it.

cluster sizes

Each operating system has its own terminology;
Microsoft uses cluster,
Apple uses allocation block.

Operating system
(file system type)

Disk size

<256mb

up to 512MB

up to 1GB

up to 2GB

up to 8GB

up to 16GB

> 16GB

DOS & Windows 95
(FAT16)

4K

8K

16K

32K

N/A
(FAT16 can't handle drives > 4GB)

Win95 OSR2 & Win98
(FAT32)

N/A

4K

8K

16K or 32K

Windows NT
(NTFS)

0.5K to 64K
(0.5K to 4K clusters are most common)

MacOS pre-8.1
(HFS)

0.5K - 4K

4.5K - 8K

8.5K - 16K

16.5K - 32K

N/A
(HFS can't handle disks > 2GB)

MacOS 8.1 and later
(HFS+)

0.5K

1K

2K

Default is 4K; user-selectable up to 4K

CD-ROM, 650MB
(ISO 9660)

always 2K

DVD-ROM
(UDF)

always 2K

id3v2.4.0-structure


ID3v2.4 is the latest version of the standard, dated November 1, 2000.

The bitorder in ID3v2 is most significant bit first (MSB). The
byteorder in multibyte numbers is most significant byte first
(e.g. $12345678 would be encoded $12 34 56 78),
also known as big endian and network byte order.

In some parts of the tag it is inconvenient to use the
unsychronisation scheme because the size of unsynchronised data is
not known in advance, which is particularly problematic with size
descriptors. The solution in ID3v2 is to use synchsafe integers,
in which there can never be any false synchs.
255 (%11111111) encoded as a 16 bit synchsafe integer is 383(000001 01111111).

Overall tag structure:

+-----------------------------+
| Header (10 bytes) |
+-----------------------------+
| Extended Header |
| (variable length, OPTIONAL) |
+-----------------------------+
| Frames (variable length) |
+-----------------------------+
| Padding |
| (variable length, OPTIONAL) |
+-----------------------------+
| Footer (10 bytes, OPTIONAL) |
+-----------------------------+

In general, padding and footer are mutually exclusive. See details in
sections 3.3, 3.4 and 5.

Header:
ID3v2/file identifier "ID3"
ID3v2 version $04 00
ID3v2 flags %abcd0000
ID3v2 size 4 * %0xxxxxxx

Extended Header:
Extended header size 4 * %0xxxxxxx
Number of flag bytes $01
Extended Flags $xx

Footer:
ID3v2 identifier "3DI"
ID3v2 version $04 00
ID3v2 flags %abcd0000
ID3v2 size 4 * %0xxxxxxx

Thursday, August 30, 2007

BSD /usr/pkg/bin/streamripper @import method





/**
* remove "//" below to enable BSD /usr/pkg/bin/streamripper @import method.
* Linux and BSD @import methods added Wed Aug 04 2007.
*/

// Runtime.getRuntime().exec( "/usr/pkg/bin/streamripper http://di.fm:8095/");

Tuesday, August 28, 2007

/* Which OS are we running on? */



/* Which OS are we running on? */
String osName = System.getProperty("os.name");
String libc, libm;
/* JDK1.1 returns "Solaris", 1.2 returns "SunOS". */
if (osName.equals("SunOS") || osName.equals("Solaris")) {
libc = "libc.so";
libm = "libm.so";
} else {
libc = libm = "msvcrt.dll"; // Win32
}

Saturday, August 25, 2007

DeCSS

Mcx1


init:
deps-jar:
Created dir: C:\Users\john\feedme\build\classes
Compiling 3 source files to C:\Users\john\feedme\build\classes
compile:
Created dir: C:\Users\john\feedme\dist
Building jar: C:\Users\john\feedme\dist\feedme.jar
To run this application from the command line without Ant, try:
java -jar "C:\Users\john\feedme\dist\feedme.jar"
jar:
BUILD SUCCESSFUL (total time: 1 second)

/**
* PICK YOUR TV HERE...
*/

/**
* 720x480 wmv media center standard DVD format
*/

//:sout=#transcode{vcodec=WMV2,width=720,height=480,acodec=wma,ab=96,channels=2}
//:duplicate{dst=std{access=file,mux=asf,dst=C:\Users\Mcx1\Videos\out.dvd.wmv}})

/**
* 1280(width) 720(height) native media center HDDVD 720p format
*/

//:sout=#transcode{vcodec=WMV2,width=1280,height=720,acodec=wma,ab=96,channels=2}
//:duplicate{dst=std{access=file,mux=asf,dst=C:\Users\Mcx1\Videos\out.720p.wmv}})


/**
* 1920 (width) x 1080 (height) native media center HDDVD 1080p format
*/

//:sout=#transcode{vcodec=WMV2,width=1920,height=1080,acodec=wma,ab=96,channels=2}
//:duplicate{dst=std{access=file,mux=asf,dst=C:\Users\Mcx1\Videos\out.1080p.wmv}})

Java VM: Java HotSpot(TM) 64-Bit Server VM (1.6.0_02-b05 mixed mode)


System is 64 bit Gentoo Linux

#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00002ba542d1dcf4, pid=2307, tid=1092860240
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.6.0_02-b05 mixed mode)
# Problematic frame:
# C [libc.so.6+0x2dcf4] catgets+0x14
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#

--------------- T H R E A D ---------------

Current thread (0x00002aaac102cc00): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2328]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x0000000000000008

Registers:
RAX=0x00002aaac1ce94d0, RBX=0x00002aaac10ff3d0, RCX=0x00002aaac1bbb40d, RDX=0x0000000000000001
RSP=0x0000000041239340, RBP=0x0000000041239370, RSI=0x0000000000000013, RDI=0x0000000000000000
R8 =0x00002aaac1030f68, R9 =0x0000000000000001, R10=0x0000000000000000, R11=0x00002ba542d1dce0
R12=0x0000000000000128, R13=0x00002aaac1030f68, R14=0x000000000000000f, R15=0x0000000041239850
RIP=0x00002ba542d1dcf4, EFL=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e

Top of Stack: (sp=0x0000000041239340)
0x0000000041239340: 00002aaac10ff3d0 00002aaac1b1a02a
0x0000000041239350: 00002aaac0f22f20 00002aaac1baac9c
0x0000000041239360: 00002aaac1030f68 00002aaac10fcf40
0x0000000041239370: 00000000412393c0 00002aaac1b1ac49
0x0000000041239380: 0000000000ad7c01 0000000000000129
0x0000000041239390: 00000000006d31a8 00002aaac1030f68
0x00000000412393a0: 00002aaac19d8390 0000000000000128
0x00000000412393b0: 0000000000000129 00002aaac10fcf40
0x00000000412393c0: 00002aaac102cd90 00002aaac19d849e
0x00000000412393d0: 00002aaac1cd7230 0000000041239460
0x00000000412393e0: 00002aaac10ff3d0 00002aaac19d9163
0x00000000412393f0: 0000000041239430 00002aaab71df710
0x0000000041239400: 0000000000000000 00002aaac0f27c50
0x0000000041239410: 00002aaac0f27c50 0005001941239430
0x0000000041239420: 00002aaac1030f68 0101000000000000
0x0000000041239430: 00002aaac102dd30 00002aaac0fd1800
0x0000000041239440: 00002aaac21dcee0 0000000000000000
0x0000000041239450: 0000000041239840 0000000000000000
0x0000000041239460: 00002aaac20d2552 0000000000000000
0x0000000041239470: 00002aaac20d25d8 0000000000000001
0x0000000041239480: 00002aaac20d2528 00002aaac0f285d0
0x0000000041239490: 00002aaac20d1afa 0000000000000020
0x00000000412394a0: 00002aaac20d1b03 0000000000000018
0x00000000412394b0: 00002aaac20d1c25 0000000000000000
0x00000000412394c0: 00002aaac20d1dd5 0000000000000005
0x00000000412394d0: 00002aaac20d1dd7 0000000000000019
0x00000000412394e0: 00002aaac20d1dc8 000000000000fff6
0x00000000412394f0: 00002aaac20d1b4a 000000000000ffe2
0x0000000041239500: 00002aaac1ba8f0b 00002aaac1066940
0x0000000041239510: 00002aaac1ba8f27 00002aaac10fcdf0
0x0000000041239520: 00002aaac1ba8f35 00002aaac10fcec0
0x0000000041239530: 00002aaac1baa5df 0000000000000001

Instructions: (pc=0x00002ba542d1dcf4)
0x00002ba542d1dce4: 53 41 89 d1 74 75 ff c6 85 f6 7e 6f 85 d2 78 6b
0x00002ba542d1dcf4: 48 8b 57 08 48 8d 04 95 00 00 00 00 49 89 d0 48

Stack: [0x000000004113b000,0x000000004123c000), sp=0x0000000041239340, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0x2dcf4] catgets+0x14
C [libmawt.so+0x1a5c49]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j sun.awt.motif.MWindowPeer.pCreate(Lsun/awt/motif/MComponentPeer;Ljava/lang/String;)V+0
j sun.awt.motif.MWindowPeer.create(Lsun/awt/motif/MComponentPeer;)V+12
j sun.awt.motif.MComponentPeer.init(Ljava/awt/Component;)V+31
j sun.awt.motif.MWindowPeer.init(Ljava/awt/Window;)V+65
j sun.awt.motif.MFramePeer.(Ljava/awt/Frame;)V+159
j sun.awt.motif.MToolkit.createFrame(Ljava/awt/Frame;)Ljava/awt/peer/FramePeer;+5
j java.awt.Frame.addNotify()V+20
j javax.swing.SwingUtilities$SharedOwnerFrame.addNotify()V+1
j java.awt.Dialog.addNotify()V+28
j java.awt.Dialog.conditionalShow(Ljava/awt/Component;Ljava/util/concurrent/atomic/AtomicLong;)Z+16
j java.awt.Dialog.show()V+52
j java.awt.Component.show(Z)V+5
j java.awt.Component.setVisible(Z)V+2
j java.awt.Window.setVisible(Z)V+2
j java.awt.Dialog.setVisible(Z)V+2
j org.netbeans.license.AcceptLicense.showLicensePanel()V+472
v ~StubRoutines::call_stub
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j org.netbeans.core.startup.Main$1LicenseHandler.run()V+19
j java.awt.event.InvocationEvent.dispatch()V+11
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+156
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x00002aaac1072800 JavaThread "TimerQueue" daemon [_thread_blocked, id=2329]
=>0x00002aaac102cc00 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2328]
0x00002aaac101bc00 JavaThread "AWT-Motif" daemon [_thread_in_native, id=2326]
0x00002aaac101b000 JavaThread "AWT-Shutdown" [_thread_blocked, id=2325]
0x00002aaac0f34400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2323]
0x00002aaac0763400 JavaThread "Timer-0" daemon [_thread_blocked, id=2320]
0x00002aaac0ffc000 JavaThread "main" [_thread_blocked, id=2319]
0x00002aaac0b6c800 JavaThread "CLI Requests Server" daemon [_thread_in_native, id=2318]
0x00002aaac0a7d000 JavaThread "Active Reference Queue Daemon" daemon [_thread_blocked, id=2317]
0x00002aaac0778800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2315]
0x00002aaac0776800 JavaThread "CompilerThread1" daemon [_thread_in_native, id=2314]
0x00002aaac0775000 JavaThread "CompilerThread0" daemon [_thread_in_native, id=2313]
0x00002aaac0773800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2312]
0x00002aaac0755c00 JavaThread "Finalizer" daemon [_thread_blocked, id=2311]
0x00002aaac074f800 JavaThread "Reference Handler" daemon [_thread_blocked, id=2310]
0x0000000040113400 JavaThread "main" [_thread_blocked, id=2308]

Other Threads:
0x00002aaac074ac00 VMThread [id=2309]
0x00002aaac077a800 WatcherThread [id=2316]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 9792K, used 5356K [0x00002aaaae560000, 0x00002aaaaf000000, 0x00002aaab1000000)
eden space 8704K, 61% used [0x00002aaaae560000, 0x00002aaaaea9b170, 0x00002aaaaede0000)
from space 1088K, 0% used [0x00002aaaaede0000, 0x00002aaaaede0000, 0x00002aaaaeef0000)
to space 1088K, 0% used [0x00002aaaaeef0000, 0x00002aaaaeef0000, 0x00002aaaaf000000)
tenured generation total 21888K, used 0K [0x00002aaab1000000, 0x00002aaab2560000, 0x00002aaab6560000)
the space 21888K, 0% used [0x00002aaab1000000, 0x00002aaab1000000, 0x00002aaab1000200, 0x00002aaab2560000)
compacting perm gen total 32768K, used 12919K [0x00002aaab6560000, 0x00002aaab8560000, 0x00002aaac0560000)
the space 32768K, 39% used [0x00002aaab6560000, 0x00002aaab71fdd98, 0x00002aaab71fde00, 0x00002aaab8560000)
No shared spaces configured.

Dynamic libraries:
40000000-40009000 r-xp 00000000 03:43 296244 /opt/jdk1.6.0_02/bin/java
40108000-4010a000 rwxp 00008000 03:43 296244 /opt/jdk1.6.0_02/bin/java
4010a000-4012b000 rwxp 4010a000 00:00 0 [heap]
4012b000-4012e000 ---p 4012b000 00:00 0
4012e000-4022c000 rwxp 4012e000 00:00 0
4022c000-4022d000 ---p 4022c000 00:00 0
4022d000-4032d000 rwxp 4022d000 00:00 0
4032d000-40330000 ---p 4032d000 00:00 0
40330000-4042e000 rwxp 40330000 00:00 0
4042e000-40431000 ---p 4042e000 00:00 0
40431000-4052f000 rwxp 40431000 00:00 0
4052f000-40532000 ---p 4052f000 00:00 0
40532000-40630000 rwxp 40532000 00:00 0
40630000-40633000 ---p 40630000 00:00 0
40633000-40731000 rwxp 40633000 00:00 0
40731000-40734000 ---p 40731000 00:00 0
40734000-40832000 rwxp 40734000 00:00 0
40832000-40835000 ---p 40832000 00:00 0
40835000-40933000 rwxp 40835000 00:00 0
40933000-40934000 ---p 40933000 00:00 0
40934000-40a34000 rwxp 40934000 00:00 0
40a34000-40a37000 ---p 40a34000 00:00 0
40a37000-40b35000 rwxp 40a37000 00:00 0
40b35000-40b38000 ---p 40b35000 00:00 0
40b38000-40c36000 rwxp 40b38000 00:00 0
40c36000-40c39000 ---p 40c36000 00:00 0
40c39000-40d37000 rwxp 40c39000 00:00 0
40d37000-40d3a000 ---p 40d37000 00:00 0
40d3a000-40e38000 rwxp 40d3a000 00:00 0
40e38000-40e3b000 ---p 40e38000 00:00 0
40e3b000-40f39000 rwxp 40e3b000 00:00 0
40f39000-40f3c000 ---p 40f39000 00:00 0
40f3c000-4103a000 rwxp 40f3c000 00:00 0
4103a000-4103d000 ---p 4103a000 00:00 0
4103d000-4113b000 rwxp 4103d000 00:00 0
4113b000-4113e000 ---p 4113b000 00:00 0
4113e000-4123c000 rwxp 4113e000 00:00 0
4123c000-4123f000 ---p 4123c000 00:00 0
4123f000-4133d000 rwxp 4123f000 00:00 0
2aaaaaaab000-2aaaaaaad000 r-xs 00037000 03:43 154085 /usr/share/netbeans-5.5/platform6/lib/boot.jar
2aaaaaaad000-2aaaaaab3000 r-xs 0001e000 03:43 311444 /opt/jdk1.6.0_02/lib/dt.jar
2aaaaaad8000-2aaaaaae0000 r-xp 00000000 03:43 459846 /lib64/librt-2.4.so
2aaaaaae0000-2aaaaabdf000 ---p 00008000 03:43 459846 /lib64/librt-2.4.so
2aaaaabdf000-2aaaaabe1000 rwxp 00007000 03:43 459846 /lib64/librt-2.4.so
2aaaaabe1000-2aaaaabe2000 r-xp 2aaaaabe1000 00:00 0
2aaaaabe2000-2aaaaabe3000 rwxp 2aaaaabe2000 00:00 0
2aaaaabe3000-2aaaaabea000 r-xp 00000000 03:43 296789 /opt/jdk1.6.0_02/jre/lib/amd64/native_threads/libhpi.so
2aaaaabea000-2aaaaaceb000 ---p 00007000 03:43 296789 /opt/jdk1.6.0_02/jre/lib/amd64/native_threads/libhpi.so
2aaaaaceb000-2aaaaaced000 rwxp 00008000 03:43 296789 /opt/jdk1.6.0_02/jre/lib/amd64/native_threads/libhpi.so
2aaaaaced000-2aaaaacee000 rwxp 2aaaaaced000 00:00 0
2aaaaacee000-2aaaaacf6000 rwxs 00000000 03:43 559836 /tmp/hsperfdata_oggy/2307
2aaaaad19000-2aaaaad2b000 r-xp 00000000 03:43 1114650 /lib64/libnsl-2.4.so
2aaaaad2b000-2aaaaae2b000 ---p 00012000 03:43 1114650 /lib64/libnsl-2.4.so
2aaaaae2b000-2aaaaae2d000 rwxp 00012000 03:43 1114650 /lib64/libnsl-2.4.so
2aaaaae2d000-2aaaaae2f000 rwxp 2aaaaae2d000 00:00 0
2aaaaae2f000-2aaaaae36000 r-xp 00000000 03:43 458784 /lib64/libnss_compat-2.4.so
2aaaaae36000-2aaaaaf35000 ---p 00007000 03:43 458784 /lib64/libnss_compat-2.4.so
2aaaaaf35000-2aaaaaf37000 rwxp 00006000 03:43 458784 /lib64/libnss_compat-2.4.so
2aaaaaf37000-2aaaaaf40000 r-xp 00000000 03:43 458883 /lib64/libnss_nis-2.4.so
2aaaaaf40000-2aaaab040000 ---p 00009000 03:43 458883 /lib64/libnss_nis-2.4.so
2aaaab040000-2aaaab042000 rwxp 00009000 03:43 458883 /lib64/libnss_nis-2.4.so
2aaaab042000-2aaaab04c000 r-xp 00000000 03:43 458775 /lib64/libnss_files-2.4.so
2aaaab04c000-2aaaab14b000 ---p 0000a000 03:43 458775 /lib64/libnss_files-2.4.so
2aaaab14b000-2aaaab14d000 rwxp 00009000 03:43 458775 /lib64/libnss_files-2.4.so
2aaaab14d000-2aaaab15a000 r-xp 00000000 03:43 296782 /opt/jdk1.6.0_02/jre/lib/amd64/libverify.so
2aaaab15a000-2aaaab259000 ---p 0000d000 03:43 296782 /opt/jdk1.6.0_02/jre/lib/amd64/libverify.so
2aaaab259000-2aaaab25c000 rwxp 0000c000 03:43 296782 /opt/jdk1.6.0_02/jre/lib/amd64/libverify.so
2aaaab25c000-2aaaab284000 r-xp 00000000 03:43 296800 /opt/jdk1.6.0_02/jre/lib/amd64/libjava.so
2aaaab284000-2aaaab384000 ---p 00028000 03:43 296800 /opt/jdk1.6.0_02/jre/lib/amd64/libjava.so
2aaaab384000-2aaaab38b000 rwxp 00028000 03:43 296800 /opt/jdk1.6.0_02/jre/lib/amd64/libjava.so
2aaaab38b000-2aaaab399000 r-xp 00000000 03:43 296787 /opt/jdk1.6.0_02/jre/lib/amd64/libzip.so
2aaaab399000-2aaaab49b000 ---p 0000e000 03:43 296787 /opt/jdk1.6.0_02/jre/lib/amd64/libzip.so
2aaaab49b000-2aaaab49e000 rwxp 00010000 03:43 296787 /opt/jdk1.6.0_02/jre/lib/amd64/libzip.so
2aaaab49e000-2aaaab70f000 rwxp 2aaaab49e000 00:00 0
2aaaab70f000-2aaaae49f000 rwxp 2aaaab70f000 00:00 0
2aaaae49f000-2aaaae4a9000 rwxp 2aaaae49f000 00:00 0
2aaaae4a9000-2aaaae55f000 rwxp 2aaaae4a9000 00:00 0
2aaaae560000-2aaaaf000000 rwxp 2aaaae560000 00:00 0
2aaaaf000000-2aaab1000000 rwxp 2aaaaf000000 00:00 0
2aaab1000000-2aaab2560000 rwxp 2aaab1000000 00:00 0
2aaab2560000-2aaab6560000 rwxp 2aaab2560000 00:00 0
2aaab6560000-2aaab8560000 rwxp 2aaab6560000 00:00 0
2aaab8560000-2aaac0560000 rwxp 2aaab8560000 00:00 0
2aaac0560000-2aaac0566000 rwxp 2aaac0560000 00:00 0
2aaac0566000-2aaac0575000 rwxp 2aaac0566000 00:00 0
2aaac0575000-2aaac0580000 rwxp 2aaac0575000 00:00 0
2aaac0580000-2aaac05a0000 rwxp 2aaac0580000 00:00 0
2aaac05a0000-2aaac05b0000 rwxp 2aaac05a0000 00:00 0
2aaac05b0000-2aaac05f0000 rwxp 2aaac05b0000 00:00 0
2aaac05f0000-2aaac05fc000 rwxp 2aaac05f0000 00:00 0
2aaac05fc000-2aaac061c000 rwxp 2aaac05fc000 00:00 0
2aaac061c000-2aaac062d000 rwxp 2aaac061c000 00:00 0
2aaac062d000-2aaac066d000 rwxp 2aaac062d000 00:00 0
2aaac066d000-2aaac0795000 rwxp 2aaac066d000 00:00 0
2aaac0795000-2aaac0911000 r-xs 02c8c000 03:43 296231 /opt/jdk1.6.0_02/jre/lib/rt.jar
2aaac0911000-2aaac0976000 r-xp 00000000 03:43 114924 /usr/lib64/locale/locale-archive
2aaac0976000-2aaac09d3000 r-xs 00b3c000 03:43 312260 /opt/jdk1.6.0_02/lib/tools.jar
2aaac0a00000-2aaac0afa000 rwxp 2aaac0a00000 00:00 0
2aaac0afa000-2aaac0b00000 ---p 2aaac0afa000 00:00 0
2aaac0b00000-2aaac0c00000 rwxp 2aaac0b00000 00:00 0
2aaac0c00000-2aaac0c04000 r-xs 00078000 03:43 154835 /usr/share/netbeans-5.5/platform6/core/org-openide-filesystems.jar
2aaac0c04000-2aaac0c08000 r-xs 00089000 03:43 154836 /usr/share/netbeans-5.5/platform6/core/core.jar
2aaac0c08000-2aaac0c0a000 r-xs 00021000 03:43 247049 /usr/share/netbeans-5.5/nb5.5/core/org-netbeans-upgrader.jar
2aaac0c0a000-2aaac0c0b000 r-xs 00017000 03:43 268492 /usr/share/netbeans-5.5/nb5.5/core/locale/core_nb.jar
2aaac0c0b000-2aaac0c0c000 r-xs 00001000 03:43 443518 /usr/share/netbeans-5.5/ide7/core/org-netbeans-modules-utilities-cli.jar
2aaac0c0c000-2aaac0c0e000 r-xs 00005000 03:43 154084 /usr/share/netbeans-5.5/platform6/lib/org-openide-modules.jar
2aaac0c0e000-2aaac0c13000 r-xs 00088000 03:43 154083 /usr/share/netbeans-5.5/platform6/lib/org-openide-util.jar
2aaac0c13000-2aaac0c26000 r-xp 00000000 03:43 296776 /opt/jdk1.6.0_02/jre/lib/amd64/libnet.so
2aaac0c26000-2aaac0d27000 ---p 00013000 03:43 296776 /opt/jdk1.6.0_02/jre/lib/amd64/libnet.so
2aaac0d27000-2aaac0d2a000 rwxp 00014000 03:43 296776 /opt/jdk1.6.0_02/jre/lib/amd64/libnet.so
2aaac0e00000-2aaac0ef5000 rwxp 2aaac0e00000 00:00 0
2aaac0ef5000-2aaac0f00000 ---p 2aaac0ef5000 00:00 0
2aaac0f00000-2aaac11f7000 rwxp 2aaac0f00000 00:00 0
2aaac11f7000-2aaac1200000 ---p 2aaac11f7000 00:00 0
2aaac1200000-2aaac12f9000 rwxp 2aaac1200000 00:00 0
2aaac12f9000-2aaac1300000 ---p 2aaac12f9000 00:00 0
2aaac1300000-2aaac13f2000 rwxp 2aaac1300000 00:00 0
2aaac13f2000-2aaac1400000 ---p 2aaac13f2000 00:00 0
2aaac1400000-2aaac14f9000 rwxp 2aaac1400000 00:00 0
2aaac14f9000-2aaac1500000 ---p 2aaac14f9000 00:00 0
2aaac1500000-2aaac1529000 rwxp 2aaac1500000 00:00 0
2aaac1529000-2aaac1600000 ---p 2aaac1529000 00:00 0
2aaac1600000-2aaac168a000 r-xp 00000000 03:43 296818 /opt/jdk1.6.0_02/jre/lib/amd64/libawt.so
2aaac168a000-2aaac1789000 ---p 0008a000 03:43 296818 /opt/jdk1.6.0_02/jre/lib/amd64/libawt.so
2aaac1789000-2aaac17a2000 rwxp 00089000 03:43 296818 /opt/jdk1.6.0_02/jre/lib/amd64/libawt.so
2aaac17a2000-2aaac17c6000 rwxp 2aaac17a2000 00:00 0
2aaac17c6000-2aaac186f000 r-xp 00000000 03:43 296794 /opt/jdk1.6.0_02/jre/lib/amd64/libmlib_image.so
2aaac186f000-2aaac196e000 ---p 000a9000 03:43 296794 /opt/jdk1.6.0_02/jre/lib/amd64/libmlib_image.so
2aaac196e000-2aaac1975000 rwxp 000a8000 03:43 296794 /opt/jdk1.6.0_02/jre/lib/amd64/libmlib_image.so
2aaac1975000-2aaac1bd8000 r-xp 00000000 03:43 296796 /opt/jdk1.6.0_02/jre/lib/amd64/motif21/libmawt.so
2aaac1bd8000-2aaac1cd7000 ---p 00263000 03:43 296796 /opt/jdk1.6.0_02/jre/lib/amd64/motif21/libmawt.so
2aaac1cd7000-2aaac1d2b000 rwxp 00262000 03:43 296796 /opt/jdk1.6.0_02/jre/lib/amd64/motif21/libmawt.so
2aaac1d2b000-2aaac1d2d000 rwxp 2aaac1d2b000 00:00 0
2aaac1d58000-2aaac1d60000 r-xp 00000000 03:43 906915 /usr/lib64/libXp.so.6.2.0
2aaac1d60000-2aaac1e60000 ---p 00008000 03:43 906915 /usr/lib64/libXp.so.6.2.0
2aaac1e60000-2aaac1e61000 rwxp 00008000 03:43 906915 /usr/lib64/libXp.so.6.2.0
2aaac1e61000-2aaac1e67000 r-xp 00000000 03:43 907013 /usr/lib64/libXtst.so.6.1.0
2aaac1e67000-2aaac1f67000 ---p 00006000 03:43 907013 /usr/lib64/libXtst.so.6.1.0
2aaac1f67000-2aaac1f68000 rwxp 00006000 03:43 907013 /usr/lib64/libXtst.so.6.1.0
2aaac1f68000-2aaac1f7a000 r-xp 00000000 03:43 37194 /usr/lib64/libXext.so.6.4.0
2aaac1f7a000-2aaac207a000 ---p 00012000 03:43 37194 /usr/lib64/libXext.so.6.4.0
2aaac207a000-2aaac207b000 rwxp 00012000 03:43 37194 /usr/lib64/libXext.so.6.4.0
2aaac207b000-2aaac20da000 r-xp 00000000 03:43 906941 /usr/lib64/libXt.so.6.0.0
2aaac20da000-2aaac21d9000 ---p 0005f000 03:43 906941 /usr/lib64/libXt.so.6.0.0
2aaac21d9000-2aaac21e0000 rwxp 0005e000 03:43 906941 /usr/lib64/libXt.so.6.0.0
2aaac21e0000-2aaac22f1000 r-xp 00000000 03:43 907041 /usr/lib64/libX11.so.6.2.0
2aaac22f1000-2aaac23f1000 ---p 00111000 03:43 907041 /usr/lib64/libX11.so.6.2.0
2aaac23f1000-2aaac23f8000 rwxp 00111000 03:43 907041 /usr/lib64/libX11.so.6.2.0
2aaac23f8000-2aaac2400000 r-xp 00000000 03:43 37300 /usr/lib64/libXi.so.6.0.0
2aaac2400000-2aaac2500000 ---p 00008000 03:43 37300 /usr/lib64/libXi.so.6.0.0
2aaac2500000-2aaac2501000 rwxp 00008000 03:43 37300 /usr/lib64/libXi.so.6.0.0
2aaac2501000-2aaac2503000 r-xp 00000000 03:43 36847 /usr/lib64/libXau.so.6.0.0
2aaac2503000-2aaac2603000 ---p 00002000 03:43 36847 /usr/lib64/libXau.so.6.0.0
2aaac2603000-2aaac2604000 rwxp 00002000 03:43 36847 /usr/lib64/libXau.so.6.0.0
2aaac2604000-2aaac260d000 r-xp 00000000 03:43 34294 /usr/lib64/libSM.so.6.0.0
2aaac260d000-2aaac270d000 ---p 00009000 03:43 34294 /usr/lib64/libSM.so.6.0.0
2aaac270d000-2aaac270e000 rwxp 00009000 03:43 34294 /usr/lib64/libSM.so.6.0.0
2aaac270e000-2aaac2725000 r-xp 00000000 03:43 901687 /usr/lib64/libICE.so.6.3.0
2aaac2725000-2aaac2824000 ---p 00017000 03:43 901687 /usr/lib64/libICE.so.6.3.0
2aaac2824000-2aaac2826000 rwxp 00016000 03:43 901687 /usr/lib64/libICE.so.6.3.0
2aaac2826000-2aaac2829000 rwxp 2aaac2826000 00:00 0
2aaac2829000-2aaac282e000 r-xp 00000000 03:43 907027 /usr/lib64/libXdmcp.so.6.0.0
2aaac282e000-2aaac292d000 ---p 00005000 03:43 907027 /usr/lib64/libXdmcp.so.6.0.0
2aaac292d000-2aaac292e000 rwxp 00004000 03:43 907027 /usr/lib64/libXdmcp.so.6.0.0
2aaac292e000-2aaac29ac000 r-xp 00000000 03:43 296785 /opt/jdk1.6.0_02/jre/lib/amd64/libfontmanager.so
2aaac29ac000-2aaac2aab000 ---p 0007e000 03:43 296785 /opt/jdk1.6.0_02/jre/lib/amd64/libfontmanager.so
2aaac2aab000-2aaac2ac1000 rwxp 0007d000 03:43 296785 /opt/jdk1.6.0_02/jre/lib/amd64/libfontmanager.so
2aaac2ac1000-2aaac2ad2000 rwxp 2aaac2ac1000 00:00 0
2aaac2ad2000-2aaac2add000 r-xp 00000000 03:43 907011 /usr/lib64/libXcursor.so.1.0.2
2aaac2add000-2aaac2bdc000 ---p 0000b000 03:43 907011 /usr/lib64/libXcursor.so.1.0.2
2aaac2bdc000-2aaac2bdd000 rwxp 0000a000 03:43 907011 /usr/lib64/libXcursor.so.1.0.2
2aaac2bdd000-2aaac2be6000 r-xp 00000000 03:43 872362 /usr/lib64/libXrender.so.1.3.0
2aaac2be6000-2aaac2ce5000 ---p 00009000 03:43 872362 /usr/lib64/libXrender.so.1.3.0
2aaac2ce5000-2aaac2ce6000 rwxp 00008000 03:43 872362 /usr/lib64/libXrender.so.1.3.0
2aaac2ce6000-2aaac2ceb000 r-xp 00000000 03:43 907037 /usr/lib64/libXfixes.so.3.1.0
2aaac2ceb000-2aaac2dea000 ---p 00005000 03:43 907037 /usr/lib64/libXfixes.so.3.1.0
2aaac2dea000-2aaac2deb000 rwxp 00004000 03:43 907037 /usr/lib64/libXfixes.so.3.1.0
2aaac2deb000-2aaac2df2000 r-xp 00000000 03:43 296777 /opt/jdk1.6.0_02/jre/lib/amd64/libnio.so
2aaac2df2000-2aaac2ef1000 ---p 00007000 03:43 296777 /opt/jdk1.6.0_02/jre/lib/amd64/libnio.so
2aaac2ef1000-2aaac2ef3000 rwxp 00006000 03:43 296777 /opt/jdk1.6.0_02/jre/lib/amd64/libnio.so
2aaac2ef3000-2aaac2ff3000 rwxp 2aaac2ef3000 00:00 0
2ba5428af000-2ba5428ca000 r-xp 00000000 03:43 459826 /lib64/ld-2.4.so
2ba5428ca000-2ba5428cb000 rwxp 2ba5428ca000 00:00 0
2ba5428f6000-2ba5428f7000 rwxp 2ba5428f6000 00:00 0
2ba5429c9000-2ba5429ca000 r-xp 0001a000 03:43 459826 /lib64/ld-2.4.so
2ba5429ca000-2ba5429cb000 rwxp 0001b000 03:43 459826 /lib64/ld-2.4.so
2ba5429cb000-2ba5429db000 r-xp 00000000 03:43 1016524 /lib64/libpthread-2.4.so
2ba5429db000-2ba542adb000 ---p 00010000 03:43 1016524 /lib64/libpthread-2.4.so
2ba542adb000-2ba542adc000 r-xp 00010000 03:43 1016524 /lib64/libpthread-2.4.so
2ba542adc000-2ba542add000 rwxp 00011000 03:43 1016524 /lib64/libpthread-2.4.so
2ba542add000-2ba542ae1000 rwxp 2ba542add000 00:00 0
2ba542ae1000-2ba542ae8000 r-xp 00000000 03:43 296772 /opt/jdk1.6.0_02/jre/lib/amd64/jli/libjli.so
2ba542ae8000-2ba542be9000 ---p 00007000 03:43 296772 /opt/jdk1.6.0_02/jre/lib/amd64/jli/libjli.so
2ba542be9000-2ba542beb000 rwxp 00008000 03:43 296772 /opt/jdk1.6.0_02/jre/lib/amd64/jli/libjli.so
2ba542beb000-2ba542bed000 r-xp 00000000 03:43 459827 /lib64/libdl-2.4.so
2ba542bed000-2ba542ced000 ---p 00002000 03:43 459827 /lib64/libdl-2.4.so
2ba542ced000-2ba542cef000 rwxp 00002000 03:43 459827 /lib64/libdl-2.4.so
2ba542cef000-2ba542cf0000 rwxp 2ba542cef000 00:00 0
2ba542cf0000-2ba542e11000 r-xp 00000000 03:43 459842 /lib64/libc-2.4.so
2ba542e11000-2ba542f11000 ---p 00121000 03:43 459842 /lib64/libc-2.4.so
2ba542f11000-2ba542f14000 r-xp 00121000 03:43 459842 /lib64/libc-2.4.so
2ba542f14000-2ba542f16000 rwxp 00124000 03:43 459842 /lib64/libc-2.4.so
2ba542f16000-2ba542f1c000 rwxp 2ba542f16000 00:00 0
2ba542f1c000-2ba5435c3000 r-xp 00000000 03:43 296806 /opt/jdk1.6.0_02/jre/lib/amd64/server/libjvm.so
2ba5435c3000-2ba5436c4000 ---p 006a7000 03:43 296806 /opt/jdk1.6.0_02/jre/lib/amd64/server/libjvm.so
2ba5436c4000-2ba5437fc000 rwxp 006a8000 03:43 296806 /opt/jdk1.6.0_02/jre/lib/amd64/server/libjvm.so
2ba5437fc000-2ba543837000 rwxp 2ba5437fc000 00:00 0
2ba543862000-2ba5438b5000 r-xp 00000000 03:43 459834 /lib64/libm-2.4.so
2ba5438b5000-2ba5439b5000 ---p 00053000 03:43 459834 /lib64/libm-2.4.so
2ba5439b5000-2ba5439b7000 rwxp 00053000 03:43 459834 /lib64/libm-2.4.so
7fff681e4000-7fff681fb000 rwxp 7fff681e4000 00:00 0 [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vdso]

VM Arguments:
jvm_args: -Djdk.home=/opt/jdk1.6.0_02 -Dnetbeans.osenv=/tmp/nbenv.2266 -Dnetbeans.osenv.nullsep=true -Dnetbeans.dirs=/usr/share/netbeans-5.5/bin/../nb5.5:/usr/share/netbeans-5.5/bin/../ide7:/usr/share/netbeans-5.5/bin/../enterprise3:/usr/share/netbeans-5.5/bin/../harness:/usr/share/netbeans-5.5/bin/../profiler1:/usr/share/netbeans-5.5/bin/../mobility7.3: -Dnetbeans.home=/usr/share/netbeans-5.5/platform6 -Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade -Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense -Xms32m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=160m -Xverify:none -Dapple.laf.useScreenMenuBar=true
java_command: org.netbeans.Main --userdir /home/oggy/.netbeans/5.5 --branding nb
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/home/oggy/.gentoo/java-config-2/current-user-vm
CLASSPATH=.
PATH=/usr/local/bin:/usr/bin:/bin:/usr/libexec/paludis/utils:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.1:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin
LD_LIBRARY_PATH=/opt/jdk1.6.0_02/jre/lib/amd64/server:/opt/jdk1.6.0_02/jre/lib/amd64:/opt/jdk1.6.0_02/jre/../lib/amd64
SHELL=/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x61aed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x61aed0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x4cbcd0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x4cbcd0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x4cbcd0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x4cdef0], sa_mask[0]=0x00000000, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x4cd830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x4cd830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x4cd830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x4cd830], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR2: [libjvm.so+0x4cdef0], sa_mask[0]=0x00000000, sa_flags=0x10000004

Friday, August 24, 2007

JNI 6.0


// Unmanaged.h:

class UnmanagedClass;

typedef void (UnmanagedClass::*PointerToMember)(void);

class UnmanagedClass
{
public:
void Member();
PointerToMember __thiscall GetPointerToMember();
};

// Unmanaged.cpp:
// compile with "cl /c /MD /EHa Unmanaged.cpp"

#include

#include "Unmanaged.h"

PointerToMember __thiscall UnmanagedClass::GetPointerToMember()
{
std::cout << __FUNCSIG__ << std::endl;
return &UnmanagedClass::Member;
}

void UnmanagedClass::Member()
{
std::cout << __FUNCSIG__ << std::endl;
}

// Managed.cpp:
// build with "cl /clr Managed.cpp /link Unmanaged.obj"

#include "Unmanaged.h"

int main()
{
UnmanagedClass myObject;
PointerToMember myPointerToMember = myObject.GetPointerToMember();
(myObject.*myPointerToMember)();
}


Most common reasons for crashes.
1. User JNI code (most likely)
2. Third party JNI code.
3. VM (least likely)








//Test1.java
class Test1
{
static
{
System.loadLibrary("TestDll");
}
public static void main(String ar[])
{
System.out.println("Hello world from Java");
Test1 t=new Test1();
t.inDll();
}
public native void inDll();
}
Go to Project/Settings, on C/C++ tab, go to Project option, insert following lines at the end:
/I ":\\include "
/I ":\\include\win32"

Now compile and generate your DLL, put newly created DLL in system32 directory and then run your class file. It should work properly. If you receive an error like UnsatisfiedLinkError, then recheck your procedure.

Thursday, August 23, 2007

quadruple your Xmx maximum memory


eclipse -vmargs -Xmx2048

LINUX IS EVERYWHERE

db2java.zip contents





\COM

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
08/23/2007 02:52 AM ibm
0 File(s) 0 bytes

\COM\ibm

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
08/23/2007 02:52 AM db2
0 File(s) 0 bytes

\COM\ibm\db2

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
08/23/2007 02:52 AM jdbc
08/23/2007 02:52 AM jndi
08/23/2007 02:52 AM mri
02/10/2007 04:33 PM 27 bldlevel
08/23/2007 02:52 AM jcc
08/23/2007 02:52 AM app
1 File(s) 27 bytes

\COM\ibm\db2\jdbc

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
08/23/2007 02:52 AM app
02/10/2007 04:32 PM 1,875 DB2DataSource.class
02/10/2007 04:32 PM 522 DB2BaseDataSource$1.class
02/10/2007 04:32 PM 5,656 DB2BaseDataSource.class
02/10/2007 04:32 PM 2,994 DB2ConnectionPool.class
02/10/2007 04:32 PM 1,503 DB2ConnectionPoolDataSource.class
02/10/2007 04:32 PM 725 DB2ConnectionInfo.class
02/10/2007 04:32 PM 495 DB2Trace$1.class
02/10/2007 04:32 PM 470 DB2Trace$2.class
02/10/2007 04:32 PM 804 DB2Trace$3.class
02/10/2007 04:32 PM 557 DB2Trace$4.class
02/10/2007 04:32 PM 744 DB2Trace$5.class
02/10/2007 04:32 PM 572 DB2Trace$6.class
02/10/2007 04:32 PM 9,268 DB2Trace.class
02/10/2007 04:32 PM 3,940 DB2PooledConnection.class
02/10/2007 04:32 PM 32,261 DB2BaseConstants.class
02/10/2007 04:32 PM 259 DBMDMapping.class
02/10/2007 04:32 PM 2,059 DB2Exception.class
02/10/2007 04:32 PM 1,099 DB2ConnectionPoolDataSourceFactory.class
02/10/2007 04:32 PM 1,057 DB2DataSourceFactory.class
02/10/2007 04:32 PM 1,962 DB2XAConnection.class
02/10/2007 04:32 PM 1,946 DB2XADataSource.class
02/10/2007 04:32 PM 1,063 DB2XADataSourceFactory.class
02/10/2007 04:32 PM 1,926 DB2Xid.class
23 File(s) 73,757 bytes

\COM\ibm\db2\jdbc\app

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:32 PM 719 DB2Driver$1.class
02/10/2007 04:32 PM 560 DB2Driver$2.class
02/10/2007 04:32 PM 553 DB2Driver$3.class
02/10/2007 04:32 PM 6,995 DB2Driver.class
02/10/2007 04:32 PM 1,845 DB2ReusableConnection.class
02/10/2007 04:32 PM 19,540 DB2Connection.class
02/10/2007 04:32 PM 19,461 DB2Statement.class
02/10/2007 04:32 PM 30,501 DB2ResultSet.class
02/10/2007 04:32 PM 7,791 DB2ResultSetMetaData.class
02/10/2007 04:32 PM 1,021 DB2PreparedStatement$PrimitiveData.class
02/10/2007 04:32 PM 1,861 DB2PreparedStatement$ParamElement.class
02/10/2007 04:32 PM 45,903 DB2PreparedStatement.class
02/10/2007 04:32 PM 8,585 SQLExceptionGenerator.class
02/10/2007 04:32 PM 4,853 DB2InputStream.class
02/10/2007 04:32 PM 165 DB2Constants.class
02/10/2007 04:32 PM 18,731 DB2CallableStatement.class
02/10/2007 04:32 PM 46,068 DB2DatabaseMetaDataTrace.class
02/10/2007 04:32 PM 21,220 DB2DatabaseMetaData.class
02/10/2007 04:32 PM 7,248 DB2ScrollableResultSet.class
02/10/2007 04:32 PM 36,317 DB2ScrollableResultSetTrace.class
02/10/2007 04:32 PM 39,978 DB2ResultSetTrace.class
02/10/2007 04:32 PM 1,443 DB2Binary2AsciiInputStream.class
02/10/2007 04:32 PM 3,155 DB2UnicodeStream.class
02/10/2007 04:32 PM 1,445 DB2Binary2UnicodeInputStream.class
02/10/2007 04:32 PM 7,699 DB2ResultSetMetaDataTrace.class
02/10/2007 04:32 PM 4,164 DB2CharReader.class
02/10/2007 04:32 PM 4,697 DB2Blob.class
02/10/2007 04:32 PM 5,416 DB2Clob.class
02/10/2007 04:32 PM 1,764 DB2Warning.class
02/10/2007 04:32 PM 543 DB2DataTruncation.class
02/10/2007 04:32 PM 2,481 DB2SQLTypeMappingResultSet.class
02/10/2007 04:32 PM 2,291 DB2ColumnMappingResultSet.class
02/10/2007 04:32 PM 2,127 DB2XAResource.class
02/10/2007 04:33 PM 1,465 DB2ParameterMetaData.class
02/10/2007 04:33 PM 4,697 DB2StoredProcDriver.class
02/10/2007 04:33 PM 439 DB2StringToByteArray.class
02/10/2007 04:33 PM 1,788 BlobWithByteBuffer.class
02/10/2007 04:33 PM 2,361 BlobWithDB2Buffer.class
02/10/2007 04:33 PM 2,203 ClobWithByteBuffer.class
02/10/2007 04:33 PM 2,506 ClobWithDB2Buffer.class
40 File(s) 372,599 bytes

\COM\ibm\db2\jndi

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:32 PM 7,185 DB2Context.class
02/10/2007 04:32 PM 1,081 DB2NameClassList.class
02/10/2007 04:32 PM 1,036 DB2NameClassObjectList.class
02/10/2007 04:32 PM 375 DB2InitialContextFactory.class
4 File(s) 9,677 bytes

\COM\ibm\db2\mri

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:32 PM 5,673 DB2ErrorMessages.class
02/10/2007 04:32 PM 8,222 DB2ErrorMessages_bg.class
02/10/2007 04:32 PM 8,225 DB2ErrorMessages_bg_BG.class
02/10/2007 04:32 PM 6,091 DB2ErrorMessages_cs.class
02/10/2007 04:32 PM 6,094 DB2ErrorMessages_cs_CZ.class
02/10/2007 04:32 PM 5,934 DB2ErrorMessages_da.class
02/10/2007 04:32 PM 5,937 DB2ErrorMessages_da_DK.class
02/10/2007 04:32 PM 6,262 DB2ErrorMessages_de.class
02/10/2007 04:32 PM 6,265 DB2ErrorMessages_de_DE.class
02/10/2007 04:32 PM 8,363 DB2ErrorMessages_el.class
02/10/2007 04:32 PM 8,366 DB2ErrorMessages_el_GR.class
02/10/2007 04:32 PM 6,261 DB2ErrorMessages_es.class
02/10/2007 04:32 PM 6,264 DB2ErrorMessages_es_ES.class
02/10/2007 04:32 PM 6,080 DB2ErrorMessages_fi.class
02/10/2007 04:32 PM 6,083 DB2ErrorMessages_fi_FI.class
02/10/2007 04:32 PM 6,289 DB2ErrorMessages_fr.class
02/10/2007 04:32 PM 6,292 DB2ErrorMessages_fr_FR.class
02/10/2007 04:32 PM 6,159 DB2ErrorMessages_hu.class
02/10/2007 04:32 PM 6,162 DB2ErrorMessages_hu_HU.class
02/10/2007 04:32 PM 6,898 DB2ErrorMessages_it.class
02/10/2007 04:32 PM 6,901 DB2ErrorMessages_it_IT.class
02/10/2007 04:32 PM 6,763 DB2ErrorMessages_ja.class
02/10/2007 04:32 PM 6,766 DB2ErrorMessages_ja_JP.class
02/10/2007 04:32 PM 6,693 DB2ErrorMessages_ko.class
02/10/2007 04:32 PM 6,696 DB2ErrorMessages_ko_KR.class
02/10/2007 04:32 PM 6,179 DB2ErrorMessages_nl.class
02/10/2007 04:32 PM 6,182 DB2ErrorMessages_nl_NL.class
02/10/2007 04:32 PM 6,030 DB2ErrorMessages_no.class
02/10/2007 04:32 PM 6,033 DB2ErrorMessages_no_NO.class
02/10/2007 04:32 PM 6,206 DB2ErrorMessages_pl.class
02/10/2007 04:32 PM 6,209 DB2ErrorMessages_pl_PL.class
02/10/2007 04:32 PM 6,298 DB2ErrorMessages_pt_BR.class
02/10/2007 04:32 PM 6,613 DB2ErrorMessages_pt_PT.class
02/10/2007 04:32 PM 7,846 DB2ErrorMessages_ru.class
02/10/2007 04:32 PM 7,849 DB2ErrorMessages_ru_RU.class
02/10/2007 04:32 PM 5,970 DB2ErrorMessages_sl.class
02/10/2007 04:32 PM 5,973 DB2ErrorMessages_sl_SI.class
02/10/2007 04:32 PM 6,107 DB2ErrorMessages_sv.class
02/10/2007 04:32 PM 6,110 DB2ErrorMessages_sv_SE.class
02/10/2007 04:32 PM 6,054 DB2ErrorMessages_tr.class
02/10/2007 04:32 PM 6,057 DB2ErrorMessages_tr_TR.class
02/10/2007 04:32 PM 5,549 DB2ErrorMessages_zh_CN.class
02/10/2007 04:32 PM 5,629 DB2ErrorMessages_zh_TW.class
02/10/2007 04:32 PM 1,217 DB2Messages.class
44 File(s) 279,850 bytes

\COM\ibm\db2\jcc

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:33 PM 218 SQLJCallableStatement.class
02/10/2007 04:33 PM 819 SQLJConnection.class
02/10/2007 04:33 PM 917 SQLJPreparedStatement.class
02/10/2007 04:33 PM 310 SQLJResultSet.class
02/10/2007 04:33 PM 265 SQLJContext.class
5 File(s) 2,529 bytes

\COM\ibm\db2\app

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
08/23/2007 02:52 AM classloader
08/23/2007 02:52 AM util
02/10/2007 04:33 PM 298 Blob.class
02/10/2007 04:33 PM 276 Clob.class
02/10/2007 04:33 PM 2,142 Lob.class
02/10/2007 04:33 PM 251 BlobWithIO.class
02/10/2007 04:33 PM 2,103 BlobInputStream.class
02/10/2007 04:33 PM 1,290 BlobOutputStream.class
02/10/2007 04:33 PM 1,627 BlobWithByteBuffer.class
02/10/2007 04:33 PM 1,777 BlobWithDB2Buffer.class
02/10/2007 04:33 PM 1,362 BlobWithDB2UDFLocator.class
02/10/2007 04:33 PM 251 ClobWithIO.class
02/10/2007 04:33 PM 2,115 ClobReader.class
02/10/2007 04:33 PM 1,282 ClobWriter.class
02/10/2007 04:33 PM 1,594 ClobWithCharBuffer.class
02/10/2007 04:33 PM 1,806 ClobWithDB2Buffer.class
02/10/2007 04:33 PM 1,417 ClobWithDB2UDFLocator.class
02/10/2007 04:33 PM 1,858 StoredProc.class
02/10/2007 04:33 PM 2,405 UDF.class
02/10/2007 04:33 PM 2,713 sqlejProcs.class
02/10/2007 04:33 PM 4,537 DB2StructConstant.class
02/10/2007 04:33 PM 3,233 DB2Struct.class
02/10/2007 04:33 PM 2,568 DereferencedNativeArray.class
02/10/2007 04:33 PM 2,028 NativeArray.class
02/10/2007 04:33 PM 254 DB2StructException.class
02/10/2007 04:33 PM 8,963 DB2StructInput.class
02/10/2007 04:33 PM 7,920 DB2StructOutput.class
02/10/2007 04:33 PM 6,117 SQLJNativeArray.class
02/10/2007 04:33 PM 835 TypeMapTableElement.class
27 File(s) 63,022 bytes

\COM\ibm\db2\app\classloader

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:33 PM 6,523 PowerClassLoader.class
02/10/2007 04:33 PM 1,436 ClassLoaderTemplate.class
02/10/2007 04:33 PM 6,280 DynamicClassLoader.class
02/10/2007 04:33 PM 2,358 ClassLoaderTracer.class
02/10/2007 04:33 PM 611 ClassProvider.class
02/10/2007 04:33 PM 327 ClassLoaderResource.class
02/10/2007 04:33 PM 4,005 DirClassProvider.class
02/10/2007 04:33 PM 1,094 FileDependency.class
02/10/2007 04:33 PM 1,396 FileResource.class
02/10/2007 04:33 PM 3,959 JarDirClassProvider.class
02/10/2007 04:33 PM 4,071 JarFileClassProvider.class
02/10/2007 04:33 PM 2,242 JarResource.class
02/10/2007 04:33 PM 1,069 JarFilenameFilter.class
02/10/2007 04:33 PM 792 NilResource.class
02/10/2007 04:33 PM 5,063 JarFileClassLoader.class
15 File(s) 41,226 bytes

\COM\ibm\db2\app\util

08/23/2007 02:52 AM .
08/23/2007 02:52 AM ..
02/10/2007 04:33 PM 244 Validatable.class
02/10/2007 04:33 PM 959 InvalidationException.class
2 File(s) 1,203 bytes

Total Files Listed:
161 File(s) 843,890 bytes
32 Dir(s)

flower@002f:1d81 of osx mach_kernel

poem@002d:0600 of osx mach_kernel




hexdump mach_kernel

...

2950657 2950657 MOD 374 131 -Y
2950658 2950658 MOD 243 157 -o
2950659 2950659 MOD 174 165 |-u
2950660 2950660 MOD 144 162 d-r
2950661 2950661 MOD 155 40 m-
2950662 2950662 MOD 264 153 -k
2950663 2950663 MOD 122 141 R-a
2950664 2950664 MOD 211 162 -r
2950665 2950665 MOD 127 155 W-m
2950666 2950666 MOD 312 141 -a
2950667 2950667 MOD 235 40 -
2950668 2950668 MOD 23 143 -c
2950669 2950669 MOD 363 150 -h
2950670 2950670 MOD 3 145 -e
2950671 2950671 MOD 323 143 -c
2950672 2950672 MOD 236 153 -k
2950673 2950673 MOD 102 40 B-
2950674 2950674 MOD 275 146 -f
2950675 2950675 MOD 54 157 ,-o
2950676 2950676 MOD 123 162 S-r
2950677 2950677 MOD 314 40 -
2950678 2950678 MOD 150 164 h-t
2950679 2950679 MOD 230 157 -o
2950680 2950680 MOD 332 144 -d
2950681 2950681 MOD 311 141 -a
2950682 2950682 MOD 61 171 1-y
2950683 2950683 MOD 344 72 -:
2950684 2950684 MOD 6 12 -
2950685 2950685 MOD 11 124 -T
2950686 2950686 MOD 26 150 -h
2950687 2950687 MOD 263 145 -e
2950688 2950688 MOD 167 162 w-r
2950689 2950689 MOD 247 145 -e
2950690 2950690 MOD 30 40 -
2950691 2950691 MOD 52 157 *-o
2950692 2950692 MOD 50 156 (-n
2950693 2950693 MOD 327 143 -c
2950694 2950694 MOD 371 145 -e
2950695 2950695 MOD 346 40 -
2950696 2950696 MOD 57 167 /-w
2950697 2950697 MOD 256 141 -a
2950698 2950698 MOD 312 163 -s
2950699 2950699 MOD 300 40 -
2950700 2950700 MOD 251 167 -w
2950701 2950701 MOD 225 141 -a
2950702 2950702 MOD 14 163 -s
2950703 2950703 MOD 225 40 -
2950704 2950704 MOD 120 141 P-a
2950705 2950705 MOD 5 40 -
2950706 2950706 MOD 45 165 %-u
2950707 2950707 MOD 152 163 j-s
2950708 2950708 MOD 362 145 -e
2950709 2950709 MOD 321 162 -r
2950710 2950710 MOD 244 40 -
2950711 2950711 MOD 11 164 -t
2950712 2950712 MOD 154 150 l-h
2950713 2950713 MOD 155 141 m-a
2950714 2950714 MOD 353 164 -t
2950715 2950715 MOD 123 40 S-
2950716 2950716 MOD 275 167 -w
2950717 2950717 MOD 157 150 o-h
2950718 2950718 MOD 10 151 -i
2950719 2950719 MOD 22 156 -n
2950720 2950720 MOD 334 145 -e
2950721 2950721 MOD 4 144 -d
2950722 2950722 MOD 373 12 -
2950723 2950723 MOD 366 150 -h
2950724 2950724 MOD 43 151 #-i
2950725 2950725 MOD 155 163 m-s
2950726 2950726 MOD 364 40 -
2950727 2950727 MOD 31 145 -e
2950728 2950728 MOD 12 170 -x
2950729 2950729 MOD 335 151 -i
2950730 2950730 MOD 132 163 Z-s
2950731 2950731 MOD 127 164 W-t
2950732 2950732 MOD 113 151 K-i
2950733 2950733 MOD 126 156 V-n
2950734 2950734 MOD 206 147 -g
2950735 2950735 MOD 267 40 -
2950736 2950736 MOD 133 117 [-O
2950737 2950737 MOD 73 123 ;-S
2950738 2950738 MOD 301 40 -
2950739 2950739 MOD 313 167 -w
2950740 2950740 MOD 60 141 0-a
2950741 2950741 MOD 332 163 -s
2950742 2950742 MOD 244 40 -
2950743 2950743 MOD 323 163 -s
2950744 2950744 MOD 254 157 -o
2950745 2950745 MOD 355 40 -
2950746 2950746 MOD 371 142 -b
2950747 2950747 MOD 143 154 c-l
2950748 2950748 MOD 203 151 -i
2950749 2950749 MOD 221 156 -n
2950750 2950750 MOD 24 144 -d
2950751 2950751 MOD 335 54 -,
2950752 2950752 MOD 174 12 |-
2950753 2950753 MOD 224 150 -h
2950754 2950754 MOD 23 145 -e
2950755 2950755 MOD 244 47 -'
2950756 2950756 MOD 171 144 y-d
2950757 2950757 MOD 341 40 -
2950759 2950759 MOD 101 157 A-o
2950760 2950760 MOD 131 40 Y-
2950761 2950761 MOD 213 142 -b
2950762 2950762 MOD 123 145 S-e
2950763 2950763 MOD 310 164 -t
2950764 2950764 MOD 103 164 C-t
2950765 2950765 MOD 262 145 -e
2950766 2950766 MOD 275 162 -r
2950767 2950767 MOD 340 40 -
2950768 2950768 MOD 324 164 -t
2950769 2950769 MOD 45 157 %-o
2950770 2950770 MOD 152 40 j-
2950771 2950771 MOD 216 160 -p
2950772 2950772 MOD 164 151 t-i
2950773 2950773 MOD 337 162 -r
2950774 2950774 MOD 25 141 -a
2950775 2950775 MOD 260 164 -t
2950776 2950776 MOD 20 145 -e
2950777 2950777 MOD 151 12 i-
2950778 2950778 MOD 121 141 Q-a
2950779 2950779 MOD 357 156 -n
2950780 2950780 MOD 246 40 -
2950781 2950781 MOD 362 117 -O
2950782 2950782 MOD 326 123 -S
2950783 2950783 MOD 73 40 ;-
2950784 2950784 MOD 53 164 +-t
2950785 2950785 MOD 367 150 -h
2950786 2950786 MOD 112 141 J-a
2950787 2950787 MOD 270 164 -t
2950788 2950788 MOD 332 40 -
2950789 2950789 MOD 77 162 ?-r
2950790 2950790 MOD 231 141 -a
2950791 2950791 MOD 222 156 -n
2950792 2950792 MOD 43 40 #-
2950793 2950793 MOD 43 147 #-g
2950794 2950794 MOD 46 162 &-r
2950795 2950795 MOD 113 145 K-e
2950796 2950796 MOD 42 141 "-a
2950797 2950797 MOD 363 164 -t
2950798 2950798 MOD 21 12 -
2950799 2950799 MOD 321 142 -b
2950800 2950800 MOD 266 165 -u
2950801 2950801 MOD 260 164 -t
2950802 2950802 MOD 226 40 -
2950803 2950803 MOD 327 146 -f
2950804 2950804 MOD 205 157 -o
2950805 2950805 MOD 372 165 -u
2950806 2950806 MOD 162 156 r-n
2950807 2950807 MOD 106 144 F-d
2950808 2950808 MOD 105 40 E-
2950809 2950809 MOD 37 150 -h
2950810 2950810 MOD 344 151 -i
2950811 2950811 MOD 202 163 -s
2950812 2950812 MOD 326 40 -
2950813 2950813 MOD 343 150 -h
2950814 2950814 MOD 302 141 -a
2950815 2950815 MOD 311 162 -r
2950816 2950816 MOD 117 144 O-d
2950817 2950817 MOD 30 167 -w
2950818 2950818 MOD 322 141 -a
2950819 2950819 MOD 201 162 -r
2950820 2950820 MOD 66 145 6-e
2950821 2950821 MOD 36 40 -
2950822 2950822 MOD 335 144 -d
2950823 2950823 MOD 202 145 -e
2950824 2950824 MOD 141 143 a-c
2950825 2950825 MOD 77 154 ?-l
2950826 2950826 MOD 124 151 T-i
2950827 2950827 MOD 151 156 i-n
2950828 2950828 MOD 305 145 -e
2950829 2950829 MOD 136 144 ^-d
2950830 2950830 MOD 235 56 -.
2950831 2950831 MOD 17 12 -
2950832 2950832 MOD 206 120 -P
2950833 2950833 MOD 363 154 -l
2950834 2950834 MOD 77 145 ?-e
2950835 2950835 MOD 65 141 5-a
2950836 2950836 MOD 125 163 U-s
2950837 2950837 MOD 43 145 #-e
2950838 2950838 MOD 25 40 -
2950839 2950839 MOD 11 144 -d
2950840 2950840 MOD 27 157 -o
2950841 2950841 MOD 240 156 -n
2950842 2950842 MOD 227 47 -'
2950843 2950843 MOD 106 164 F-t
2950844 2950844 MOD 364 40 -
2950845 2950845 MOD 241 163 -s
2950846 2950846 MOD 254 164 -t
2950847 2950847 MOD 204 145 -e
2950848 2950848 MOD 322 141 -a
2950849 2950849 MOD 315 154 -l
2950850 2950850 MOD 253 40 -
2950851 2950851 MOD 77 115 ?-M
2950852 2950852 MOD 305 141 -a
2950853 2950853 MOD 172 143 z-c
2950854 2950854 MOD 22 40 -
2950855 2950855 MOD 270 117 -O
2950856 2950856 MOD 151 123 i-S
2950857 2950857 MOD 236 41 -!
2950858 2950858 MOD 206 12 -
2950859 2950859 MOD 44 122 $-R
2950860 2950860 MOD 47 145 '-e
2950861 2950861 MOD 237 141 -a
2950862 2950862 MOD 70 154 8-l
2950863 2950863 MOD 172 154 z-l
2950864 2950864 MOD 64 171 4-y
2950865 2950865 MOD 24 54 -,
2950866 2950866 MOD 25 40 -
2950867 2950867 MOD 203 164 -t
2950868 2950868 MOD 371 150 -h
2950869 2950869 MOD 325 141 -a
2950870 2950870 MOD 62 164 2-t
2950871 2950871 MOD 250 47 -'
2950872 2950872 MOD 221 163 -s
2950873 2950873 MOD 105 40 E-
2950874 2950874 MOD 132 167 Z-w
2950875 2950875 MOD 230 141 -a
2950876 2950876 MOD 232 171 -y
2950877 2950877 MOD 315 40 -
2950878 2950878 MOD 353 165 -u
2950879 2950879 MOD 17 156 -n
2950880 2950880 MOD 355 143 -c
2950881 2950881 MOD 313 157 -o
2950882 2950882 MOD 342 157 -o
2950883 2950883 MOD 370 154 -l
2950884 2950884 MOD 156 56 n-.
2950885 2950885 MOD 53 12 +-
2950886 2950886 MOD 52 40 *-
2950887 2950887 MOD 32 40 -
2950888 2950888 MOD 216 40 -
2950889 2950889 MOD 122 50 R-(
2950890 2950890 MOD 363 103 -C
2950891 2950891 MOD 12 51 -)
2950892 2950892 MOD 121 40 Q-
2950893 2950893 MOD 223 101 -A
2950894 2950894 MOD 155 160 m-p
2950895 2950895 MOD 152 160 j-p
2950896 2950896 MOD 20 154 -l
2950897 2950897 MOD 255 145 -e
2950898 2950898 MOD 347 40 -
2950899 2950899 MOD 106 103 F-C
2950900 2950900 MOD 2 157 -o
2950901 2950901 MOD 50 155 (-m
2950902 2950902 MOD 221 160 -p
2950903 2950903 MOD 31 165 -u
2950904 2950904 MOD 222 164 -t
2950905 2950905 MOD 61 145 1-e
2950906 2950906 MOD 221 162 -r
2950907 2950907 MOD 144 54 d-,
2950908 2950908 MOD 61 40 1-
2950909 2950909 MOD 167 111 w-I
2950910 2950910 MOD 230 156 -n
2950911 2950911 MOD 322 143 -c
2950912 2950912 MOD 230 56 -.

0.5 -10 degrees (Kelvin) above absolute zero




BlueGene/L, Terascale Simulation Facility (TSF), LLNL




New York Blue is an 18 rack IBM Blue Gene/L massively parallel supercomputer located at Brookhaven National Laboratory (BNL) in Upton, Long Island, New York.


Located at IBM’s Thomas J. Watson Research Center in Yorktown Heights, NY, IBM’s Blue Gene Watson (BGW) Operating System CNK/SLES 9 Linux
Processor PowerPC 440 700 MHz (2.8 GFlops)
BGW’s peak performance is approximately 114 teraflops per second.


Abe, named in honor of 16th president Abraham Lincoln, has a peak performance of more than 88 trillion calculations per second (88.3 teraflops).
Abe is a Dell blade system with 1,200 PowerEdge 1955 dual-socket, quad-core Intel Xeon 2.3 GHz processors, and InfiniBand and GigE connections. Each processor has 4 gigabytes of memory, providing a system total of 9.6 terabytes.


"ASCI Red". Part of the US Department of Energy's Accelerated Strategic Computing Initiative at the Sandia National Laboratories in Albuquerque Red is an Intel machine with over nine thousand processors. It performs at 2 teraflops – that's two million million arithmetic operations every second – and runs simulations of nuclear weapons.

BlueGene/L - eServer Blue Gene Solution
IBM
http://www.llnl.gov/asc/computing_resources/bluegenel/systemsoftware.html


BlueGene/L boasts a peak speed of over 360 teraFLOPS, a total memory of 32 tebibytes, total power of 1.5 megawatts, and machine floor space of 2,500 square feet. The full system has 65,536 dual-processor compute nodes. Multiple communications networks enable extreme application scaling:

  • Nodes are configured as a 32 x 32 x 64 3D torus; each node is connected in six different directions for nearest-neighbor communications
  • A global reduction tree supports fast global operations such as global max/sum in a few microseconds over 65,536 nodes
  • Multiple global barrier and interrupt networks allow fast synchronization of tasks across the entire machine within a few microseconds
  • 1,024 gigabit-per-second links to a global parallel file system to support fast input/output to disk

Molecule Cascade

Logic components on a molecular level




A two-input sorter consists of 2 inputs (X and Y) and 2 outputs, which are simultaneously computed. Those outputs are the logic operations a) X AND Y and b) X OR Y. To achieve the simultaneous computation of AND and OR, each input signal is doubled -- split into two cascades by a "fanout" arrangement. Since these cascades operate on a surface in two dimensions, the signals must also pass through each other using the "crossover" construction in the center of the device. Six carbon monoxide (CO) molecules on a copper surface: Logic AND gate in the initial configuration. A single CO in the center becomes part of a chevron when both arms X and Y have propagated to the center. A lone molecule, an adjacent pair and a trio in a v-shaped "chevron" arrangement, which is metastable.

Temperature: IBM's initial cascades were created and operated a 0.5 -10 degrees (Kelvin) above absolute zero. In their paper, the scientists show how cascades operate faster at higher temperatures.


SAN JOSE, Calif. - 24 Oct 2002: IBM researchers have built and operated the world's smallest working computer circuits using an innovative new approach in which individual molecules move across an atomic surface like toppling dominoes.

The new "molecule cascade" technique enabled the IBM scientists to make working digital-logic elements some 260,000 times smaller than those used in today's most advanced semiconductor chips.

The circuits were made by creating a precise pattern of carbon monoxide molecules on a copper surface. Moving a single molecule initiates a cascade of molecule motions, just as toppling a single domino can cause a large pattern to fall in sequence. The scientists then designed and created tiny structures that demonstrated the fundamental digital-logic OR and AND functions, data storage and retrieval, and the "wiring" necessary to connect them into functioning computing circuitry.

The most complex circuit they built -- a 12 x 17-nanometer three-input sorter -- is so small that 190 billion could fit atop a standard pencil-top eraser 7mm (about 1/4-inch) in diameter. A nanometer is a billionth of a meter; the length of five to 10 atoms in a line.

"This is a milestone in the quest for nanometer-scale computer circuitry," said Andreas Heinrich, a physicist at IBM's Almaden Research Center in San Jose, Calif., and one of the lead authors of the research article published in today's online edition of Science Magazine, Science Express. "The molecule cascade is not only a novel way to do computation, but it is also the first time all of the components necessary for nanoscale computation have been constructed, connected and then made to compute. It is way smaller than any operating circuits made to date."

"Molecule cascades show how we are learning to harness the properties of very small structures," added IBM Fellow Don Eigler. "I was amazed at how rapidly we progressed from initial discovery to design and operation of functional circuitry."

This molecule cascade and the quantum mirage that Eigler and colleagues discovered two years ago are intriguing examples of novel nanoscale science and information-processing approaches that also yield new insights in the properties and interactions of atoms, molecules and surfaces.

Heinrich, Eigler and colleagues Christopher Lutz and Jay Gupta are continuing their exploratory research to find additional nanometer-scale computing systems based on the cascade mechanism.

Technical details
IBM's molecule cascade works because carbon monoxide molecules can be arranged on a copper surface in an energetically metastable configuration that can be triggered to cascade into a lower energy configuration, just as with toppling dominoes. The metastability is due to the weak repulsion between carbon monoxide molecules placed only one lattice spacing apart.

This situation is analogous to placing tennis balls next to each other in an egg carton. Since the tennis balls are slightly larger than the lattice spacing of the carton, they push against each other and can't nestle down into the hollows of the carton as deeply as they could if they were more widely separated. Just as placing three tennis balls in a row of an egg carton is unstable, Heinrich and Lutz learned that a triad of carbon monoxide molecules arranged in a chevron-shaped pattern on the copper surface would spontaneously rearrange by the outward motion of the central molecule. They then designed ways to link pairs of molecules so the rearrangement of an initial chevron formed a new chevron, and so on, in a cascade of molecular motion.

What enables computation is that each cascade carries a single bit of information. By analogy, a toppled domino can be thought of as a logical "1," and a untoppled domino can be thought of as a logical "0." Similarly, a cascaded or non-cascaded molecular array can represent a logical "1" or "0," respectively.

The logic AND and OR operations and other features needed for complex circuits are created by cleverly designed intersections of two cascades. Heinrich and Lutz designed molecular arrangements that acted as crossovers (allowing two cascade paths to cross over each other) and fanouts (splitting one cascade into two or more paths).

These molecule cascades are currently assembled by moving one molecule at a time using an ultra-high-vacuum, low-temperature scanning tunneling microscope (STM). It takes several hours to set up the most complicated cascades. Since there is no reset mechanism, these molecule cascades can only perform a calculation once. While these initial cascades rely on the motion of a molecule, Eigler envisions that it should be possible to make nanometer-scale cascades using other fundamental interactions, such as electron spin. Such cascades may also be resettable, allowing repeated calculations, similar to ordinary computer circuitry.

Other features of molecule cascades include:

Energy: An intriguing aspect of molecule cascades is their minuscule energy consumption. The three-input sorter is estimated to expend only 1 electron-volt of energy -- 100,000 times less than the equivalent semiconductor circuit.

Temperature: IBM's initial cascades were created and operated a 0.5 -10 degrees (Kelvin) above absolute zero. In their paper, the scientists show how cascades operate faster at higher temperatures.

Precision construction: IBM's molecule cascades were created by positioning carbon monoxide molecules one at a time, a lengthy process. Other cascade mechanisms may not need to be built so precisely.

Additional information
Cascade images, animations: http://www.research.ibm.com/resources/news/20021024_cascade.shtml

IBM's nanotechnology research projects: http://www.research.ibm.com/pics/nanotech/

# # #