Julia applet, object, classid, codebase, …

The tags “embed” and “applet” are deprecated and even dropped in the new browser standards like XHTML 1.1. To embed objects within a document, the tag “object” should be used. The main attributes of “object” are:

  • classid : This attribute contains a URL for an object’s implementation. The URL syntax depends upon the object’s type. With ActiveX controls (Internet Explorer), the value of this attribute is not a URL, but an object-id with the prefix clsid. The way to access a Java applet is to use classid=”java: classname.class”. The pseudo-URL java: is used to indicate a Java applet.
  • data : This attribute contains a URL for data required by an object.
  • archive : This attribute contains a URL for the location of an archive file. An archive file typically is used to contain multiple object files to improve the efficiency of access.
  • codebase : This attribute contains a URL to use as a relative base to access the object specified by the classid attribute.
  • codetype : This attribute specifies an object’s MIME type.
  • type : This attribute specifies the MIME type for the object’s data.
  • declare : This attribute declares an object without instantiating it. This is useful when the object will be a parameter to another object.
  • name : Under the Microsoft definition, this attribute defines the name of the control so scripting can access it.
  • standby : This attribute contains a text message to be displayed while the object is loading.
  • width, height : the size of the object

The tag “param” specifies the parameters that are needed by the object to run. Most attributes exist also as parameter elements, but should never be used duplicated, except for the codebase attribute. In the “object” tag, the codebase attribute represents the location from which to download the object (for instance the Java plugin) when it is not found on the local machine. In the “applet” tag, the codebase attribute represents the location from which to download additional class and jar files. To resolve this conflict, the codebase attribute is mapped into a “param” codebase in the “object” tag.

Specific parameters are the following:

  • scriptable : Specifies whether the applet is scriptable from the HTML page using JavaScript or VBScript. The value can be either “true” or “false”.
  • mayscript : Specifies whether the applet is allowed to access “netscape.javascript.JSObject”. The value can be either “true” or “false”.
  • code : Specifies the name of the Java applet or JavaBeans component witout the extension “class”. It cannot be used with “param” element “object” nested inside the same “object” tag.

Microsoft Internet Explorer handles the “object” tag differently than other browser like Firefox, mainly due to the different implementation of the “classid” attribute. To provide multiple browser support, it is necessary to program a conditional settings of the “object”  tag by nesting the tags for IE and for other browsers. An example is shown below with the tiny Julia applet (128 bytes)  created by the russian programmer Konstantin Victorovich Morshnev (alias MoKo).

A detailed tutorial about (Multiple Browser Supported) Java applet using XHTML ‘object’ tag is given by Shayne Steele. A user guide to embed applets in documents with the “object” tag is published by Sun.

My VOKI speaking avatar

Today I created my first VOKI character, a customized speaking (voice enabled) avatar based on the Oddcast-Sitepal technology. VOKI is a combination of “VOX” (for voice) and “LOKI”.
[HTML1]
VOKI is solely and exclusively for personal, non-commercial use only. Business users can use the commercial Sitepal-product. Visit the chatbot ALICE at the website of LESLIE’S ARTGALLERY to see an example.

A tutorial how to integrate a VOKI in the WordPress Blo sidebar is shown in Edublogger.

Apache Ant Build Tool

Last update : 26 November 2013

Today Apache Ant is the build tool of choice for a lot of java projects because the classical  “make” buildtools like make, gnumake, nmake, jam and others have a lot of wrinkles and limitations.

According to Ant’s original author, James Duncan Davidson, the name Ant is an acronym for “Another Neat Tool”. Later explanations go along the lines of “ants do an extremely good job at building things”, or “ants are very small and can carry a weight dozens of times their own” – describing what Ant is intended to be. The latest version of Apache Ant is 1.9.2, released July 12, 2013.

Apache Ant uses XML to describe the build process and its dependencies, the corresponding file is named by default build.xml.

Ant can be integrated in the universal tool platform Eclipse and in other Integrated Development Environments (IDE).

FLV MetaData Viewer

Last update : January 30, 2013
FLV MetaData Viewer (FLVMDV) is a property sheet extension DLL for Windows XP. FLVMDV adds ‘FLV Details’ tab to the file properties dialog of FLV (Flash Video) files.

 

FLVMDV

Version 1 of FLVMDV was released by Manitu Group on september 14th, 2006.

FLVMDV tab displays FLV information (dimensions, video and audio codecs, frames rate and duration) and also onMetaData event data found in the FLV.

It can be used free, but it cannot be distributed.

RoboRealm : robotic vision software

Last update : December 15, 2014

RoboRealm® is a powerful robotic vision software application for use in computer vision, image processing, and robot vision tasks. Using an easy to use point and click interface complex image analysis and robot control becomes easy!

RoboRealm™ (vision for machines) costs $49.95 for a personal non-commercial license. The current version is v2.67.45, released on December 11, 2014.

A tutorial explains how RoboRealm robofiles can help a Rovio to develop a new independent personality.

Filmer V2.0 – A program for creating fractal animation

last update : august 2010

Filmer is a front-end program for Fractint that generates amazing fractal animation. Fractint is a program for calculating still fractal images (you need Fractint installed to use Filmer). Filmer uses Fractint parameter (.par) files to specify the coordinates and other parameters of a fractal. It then calculates the intermediate frames and calls Fractint to make a continuous animation. Filmer also has many options for pallete rotation and generation.

Filmer has been developed by Julian Haight.

Sphinx-4 : a Java speech recognizer

Sphinx-4 is a state-of-the-art speech recognition system written in Java. It was created via a joint collaboration between the Sphinx group at Carnegie Mellon University, Sun Microsystems Laboratories, Mitsubishi Electric Research Labs (MERL), and Hewlett Packard (HP), with contributions from the University of California at Santa Cruz (UCSC) and the Massachusetts Institute of Technology (MIT).

Sphinx-4 contains the following demo programs :

  • Hello World Demo: a command line application that recognizes simple phrases
  • Hello Digits Demo: a command line application that recognizes connected digits
  • Hello N-Gram Demo: a command line application using an N-gram language model for speech recognition
  • ZipCity Demo: a Java Web Start technology application that recognizes spoken zip codes and locates the associated city and state
  • WavFile Demo: a simple demo program to show how to decode audio files (e.g., .wav, .au files)
  • Transcriber Demo: a simple demo program showing how to transcribe a continuous audio file that has multiple utterances separated by silences
  • JSGF Demo: a simple demo program showing how a program can swap between multiple JSGF grammars
  • Dialog Demo: a demo program showing how a program can swap between multiple JSGF and dictation grammars
  • Action Tags Demo: a demo program showing how to use action tags for post-processing of RuleParse objects obtained from JSGF grammars
  • Confidence Demo: a simple demo program showing how to obtain confidence scores for result
  • Lattice Demo: a simple demo program showing how to extract lattices from recognition results

A number of tests and demos rely on having JSAPI installed. Sphinx-4 can be combined wit FreeTTS to set up a complete voice interface or a VoiceXML server.

FreeTTS : a Java speech synthesizer

FreeTTS is a speech synthesis system written entirely in Java. It is based upon Flite, a small run-time speech synthesis engine developed at Carnegie Mellon University. Flite is derived from the Festival Speech Synthesis System from the University of Edinburgh and the FestVox project from Carnegie Mellon University.
Free TTS was built by the Speech Integration Group of Sun Microsystems Laboratories.

Possible uses of FreeTTS are:

  • JSAPI (Java Speech API) speech synthesizer
  • Remote TTS Server, to act as a back-end text-to-speech engine that works with a speech/telephony system, or does the “heavy lifting” for a wireless PDA
  • Workstation/Desktop TTS engine
  • Downloadable Web Application (FreeTTS can not be used in an applet)

FreeTTS includes the following demos :

  •  JSAPI/HelloWorld: uses the JSAPI 1.0 Synthesis interface to speak “Hello, World”
  • JSAPI/MixedVoices: demonstrates using multiple voices and speech synthesizers in a coordinated fashion using JSAPI 1.0
  • JSAPI/Player: Swing-based GUI (graphical user interface) that allows the user to monitor and manipulate a JSAPI 1.0 Speech Synthesizer
  • JSAPI/JTime: JSAPI program that uses a limited-domain, high quality voice to tell the time
  • JSAPI/Emacspeak: uses JSAPI 1.0 to provide a text-to-speech server for Emacspeak
  • JSAPI/WebStartClock: JSAPI talking clock that can be downloaded from the web using Java Web Start
  • freetts/HelloWorld: low-level (non-JSAPI) program that speaks a greeting to the world
  • freetts/ClientServer: low-level (non-JSAPI) socket-based TTS server with sample clients written in the C programming language and the Java programming language.

To write software with FreeTTS, it is recommended to use the Java Speech API (JSAPI) 1.0 to interface with FreeTTS. The JSAPI interface provides the best method of controlling and using FreeTTS.

Currently, the FreeTTS distribution comes with these 3 voices:

  • a low quality, unlimited domain, 8kHz diphone voice, called kevin
  • a medium quality, unlimited domain, 16kHz diphone voice, called kevin16
  • a high quality, limited domain, 16kHz cluster unit voice, called alan

FreeTTS interfaces with the MBROLA synthesizer and can use MBROLA voices. It’s also possible to import voice data from Festival and FestVox or CMU ARCTIC voices.

A full implementation of Sun’s Java Speech API for Windows platforms, allowing a large range of SAPI4 and SAPI5 compliant Text-To-Speech and Speech-Recognition engines (in many different languages) to be programmed using the standard Java Speech API has been developped by CloudGarden. Packages and additional classes augment the capabilities of the JSAPI by, for example integrating with Sun’s JMF, allowing, amongst other things, MPEG audio files to be created and read, and compressed audio data to be transmitted across a network

 

WURFL = Wireless Universal Resource File

last update: 22 august 2011

The WURFL is an XML configuration file which contains information about capabilities and features of many mobile devices. The main scope of the file is to collect as much information as we can about all the existing mobile devices that access WAP pages so that developers will be able to build better applications and better services for the users. WURFL is an open-source project and is intended for developers working with the WAP and Wireless.

The WURFL project was launched by Luca Passani. He is the author of the web-tutorial Global Authoring Practices for the Mobile Web.

In June 2011 the WURFL Team launched the new US company ScientiaMobile and turned WURFL into a commercial reality.