Pages

Welcome !!!

Hi,
Welcome to the Tech-Info world where you will be provided with the latest Tech-Updates and much more !!!

Just have a look !!!

Monday, May 30, 2011

New Red Programming Language Gets Syllable Backend

 New Red Programming Language Gets Syllable Backend


There's a new REBOL like programming language in town. It's called Red, it's BSD licensedand contrary to REBOL and Boron, Red is a compiled language. The Syllable project is proud to announce that Red programs now run on Syllable Desktop. Here is a screenshotfrom a demo program. Syllable is the third Red target platform, after Windows and Linux.
Red was introduced at the REBOL & Boron conference in the Netherlands in February by its creator Nenad Rakocevic from Paris, previously of Cheyenne fame. The project is less than half a year old and has been public for a mere three months, but the first phase of the language, the design and implementation of the Red/System dialect is already nearing completion. It will be presented at theCht'i RUG 2011 in Lille, France. If you are in time for the conference, you can follow it live on Twitter.
Red's name hints at its goal to offer a reduced REBOL dialect that is suitable for compilation, while still being as much like REBOL as possible. The new language is currently being bootstrapped in an ingenious way. The demo program is not written in Red yet, but in Red/System, yet another REBOL like dialect. Red/System is a low level language comparable to C, with similar capabilities. It will be used in the next phase to implement the higher level Red language.
Red was ported to Syllable in a collaboration with the REBOL community. Syllable Desktop has its own in-kernel ELF loader. Red has its own ELF executable format emitter. At first they didn't match, because both try to be lean and don't implement the full ELF specification. Syllable always generates its own program executables as Position Independent Code, as if they were shared libraries. As such, Syllable expects all binaries to have section headers. Red's backend doesn't support PIC yet and didn't strictly need section headers. Andreas Bolka implemented them for Syllable and for the coming PIC implementation in Red. He also implemented proper address alignment, which Syllable requires more strictly than the GNU loader on Linux. Finally, the starting address of the generated binaries was moved to Syllable's user address space, and an embedded kernel syscall was adapted.
Red/System already has several interesting properties. It is a complete compiler toolchain, including a native code generator and a static linker. It is tiny and does not need the huge GCC or even the GNU linker. The LLVM JIT compiler infrastructure was considered, but also deemed unsuitable due to its bloat. The compiler is currently written in REBOL 2, which means it must be run on one of theREBOL 2 platforms: Linux, FreeBSD, OpenBSD, Mac or Windows. However, Red/System can trivially be used as a cross-compiler, so Syllable programs can now be cross-developed from those platforms. Once the Red language is implemented, the compiler will be ported from REBOL to Red. It will then also run on Syllable itself, and it will be possible to use Syllable to cross-develop for other Red platforms. Eventually, a JIT compiler will be added, opening even more possibilities with dynamic compilation.
The goal of the compiler is to reach performance on par with the best JavaScript JIT compilers. Currently, only an x86 code generator is implemented, but the design is prepared for multiple backends. Many different ones are possible. ARM and x64 are the primary bare metal targets. Further, it is a specific goal to be able to target Red at embedded platforms and virtual machine platforms such as the JVM, Dalvik and .Net.

Saturday, May 28, 2011

Sun Releases New Java and JavaFX Software Updates and Previews JavaFX TV; Strong Demand Powers 250 Million JavaFX Downloads


Sun Releases New Java and JavaFX Software Updates and Previews JavaFX TV; Strong Demand Powers 250 Million JavaFX Downloads

SAN FRANCISCO, CA JAVAONE CONFERENCE, June 2, 2009 Sun Microsystems, Inc. (NASDAQ: JAVA) released the latest updates of the JavaFX platform and Java Platform Standard Edition (Java SE). The JavaFX platform provides a unified development and deployment model for building expressive, rich Internet applications (RIAs) across browsers, desktops, mobile devices and TVs. JavaFX 1.2 delivers a new user interface library and performance enhancements to improve the user experience associated with JavaFX applications. JavaFX has gained significant market momentum with more than 250 million installations of the JavaFX runtime environment and 400,000 downloads of the JavaFX SDK since its release in December 2008. Java SE 6 Update 14 includes expanded Windows support, a streamlined installer and performance enhancements. Download the latest version of JavaFX and Java SE at: http://www.javafx.com.

The JavaFX 1.2 platform release is complemented by the first public preview of JavaFX TV, which completes the vision of JavaFX applications running across browsers, desktops, mobile devices, and TVs. Sun also previewed the JavaFX Authoring Tool, which allows designers and Web developers to visually create JavaFX applications.
"The latest version of JavaFX, combined with updates to Java SE, delivers an enhanced user experience for JavaFX applications," said Jeet Kaul, senior vice president of Java technologies at Sun. "JavaFX opens a vast global market for developers and content authors who want to deploy rich, expressive applications, services and experiences across all the screens of their customers' lives. We continue to strengthen the JavaFX ecosystem by helping to enable more people to create content across more device types and establishing a channel, the Java Store, for developers and ISVs to directly deploy JavaFX applications to hundreds of millions of worldwide Java technology users."
With more than 6.5 million software developers around the globe, Java is one of the world's most popular software platforms and is present on more than 800 million desktop computers and over seven billion Internet-connected devices. Worldwide industry studies show that Java technology is already on more than 90 percent of desktops and laptops, 85 percent of mobile devices and is a technology leader in next-generation televisions, Blu-ray disc players and TV set-top boxes. JavaFX software extends the capabilities of the Java platform by delivering high-fidelity audio and video, rich text, vector graphics, animation and Web services via a simple but powerful scripting language.
JavaFX 1.2 Platform
JavaFX 1.2 includes a new cross-platform user interface (UI) library, faster application start-up, streaming media support through Real Time Streaming Protocol (RTSP) and other performance enhancements across desktop, browser and mobile. JavaFX 1.2's new UI library allows for easier and faster creation of rich user interfaces including components for data visualization and business intelligence applications. JavaFX 1.2 includes early access availability of the JavaFX runtime environment and tools for OpenSolaris and Linux, making it one of the most widely deployed RIA platforms available across all major consumer and enterprise operating systems. To help developers and technical designers get a jump-start on building JavaFX applications, updated samples, tutorials, articles and screen-casts are available at http://www.javafx.com.
JavaSE 6 Update 14
Java SE 6 Update 14 delivers Java Hotspot Client VM with Garbage-First Collector. The new "Garbage-first" or "G1" Garbage Collector, is a more efficient and effective dynamic memory management scheme designed to minimize the program interruptions needed to reclaim system memory. It also provides new enterprise capabilities via 64-bit plug-in support, as well as support for Internet Explorer 8 web browser and the upcoming Windows 7 operating system. In addition Java SE 6 Update 14 continues to enhance recently introduced consumer-oriented features such as the Java plug-in and improved native graphics support, as well as performance updates, including faster start-up time with Java Quick Starter, Java Kernel and the new Java webstart/plug-in cache.
JavaFX TV
At the JavaOne conference, Sun demonstrated a proof of concept of JavaFX TV running on a next-generation LG Electronics TV. JavaFX TV extends the JavaFX platform vision, bringing rich and expressive interactive content to televisions and set-top boxes. It is built on the same family of Java technologies as the Blu-ray Disc standard BD-J, tru2way and other global TV standards, helping to enable developers and content authors to leverage existing skills and tools. JavaFX TV makes it significantly easier for developers to target TV platforms and create customizable and interactive viewing experiences.
JavaFX Authoring Tool
At the JavaOne conference, Sun delivered the first public demonstration of the JavaFX Authoring Tool, a collaborative environment for visual content developers to easily create cloud-based interactive rich applications. The tool allows for simple importing and compositing of graphical, audio and video assets. Authors can easily add interactions, animations and visual effects to create rich experiences that can be deployed across browser, desktop, and mobile.
About 2009 JavaOne Conference
Located at the Moscone Center in San Francisco June 2 - 5, the JavaOne Conference is the definitive venue to highlight the latest implementations, innovations and success stories in Java technology, scripting languages, Rich Internet Applications (RIAs), cloud computing, open source and more. Attendees can get hands-on experience, network with their peers, and have the opportunity to connect with technology experts and industry leaders.


About Sun Microsystems, Inc.

Sun Microsystems develops the technologies that power the global marketplace. Guided by a singular vision -- "The Network is the Computer" -- Sun drives network participation through shared innovation, community development and open source leadership. Sun can be found in more than 100 countries and on the Web at http://sun.com.

Thursday, May 26, 2011

Future of Java Technology


Future of Java Technology

When Java was developed initially as OAK even its developers were not sure in which direction the technology will grow. And actually Java has taken an unexpected turn around as a development technology. It started its journey with embedded applications but people found it somewhat slow when compare to C++. Java made foray into web in the form of applets and ruled the world for sometime. But then came enterprise era with crusade of .NET and J2EE. In this article let us examine possible directions where there are chances Java will grow as development technology.
Go Mobile
Mobile phone applications are very wide scope area where Java is being used for its portability and independence. Most of mobile phones operate over Java implementations. Sun has its own implementations names as J2ME (Java 2 Micro Edition), but most mobile phone vendors have developed their own version of J2ME.
Apart from mobile phones Java applications are also significant for other small devices like palmtops, digital diaries etc. Because of its portability and independence from underlying hardware Java is being widely used to develop applications those can be accessed through small devices.
After examining scope, usage and potential of different areas of Java technology we can summarize that it has still long way to go. Java has got a lot of potential to develop and grow in many areas. For existing areas like desktop applications and enterprise applications there are chances for Java to gain better role. Also it has got to grow in new areas of embedded applications in future.

Wednesday, May 25, 2011

Top 5 Websites for Java Application Examples


Top 5 Websites for Java Application Examples

Planet Source Code

A valuable database full of Java programs, Planet Source Code boasts one of the largest Java code databases I’ve seen on the internet. Within the website, you’ll find the source code for thousands of Java applications, games, and utilities. Some of the categories on Planet Source Code even include programs dealing with security, data structure, and applets–to name a few.
java application examplesWhile you’re there, I would highly recommend viewing PSC’s java program Hall of Fame, where the most impressive or well written code submissions from the past few years are displayed. I personally found that the programs in the Hall of Fame were useful and professional. Oh, and of course–the source for all of the programs is free for you to use, monkey with, and recompile on your computer.

Freeware Java

Hands down one of my favorite sites as a Java Resource, Freeware Java provides source code for hundreds and hundreds of games and applications. This is by far one of the most valuable websites I’ve had access to over the past year for learning Java. My suggestion for using this as a resource is to look at a game or application similar to an area of interest you have, or even a program you want to write. If I want to write an air hockey game, it would be very beneficial to get coding ideas from another programmer’s “Classic Pong” source code, and improve on his or her methods and ideas.
If nothing else, Freeware Java gives you source code access to quite a few well written Java applets and Java application examples. I’d recommend you go straight to the appletspage to check out the source for chat rooms, games, website scripts and more.

Java Galaxy

java application examplesJava Galaxy is another internet database with hundreds of applications and games complete with free source codes for your learning pleasure. The difference between Java Galaxy and some of the other source code databases in this article is that Java Galaxy source codes are smaller and simpler–the programs aren’t as complex. I would recommend that if you’re a new Java programmer looking for simple examples, you check this site out before the others.
If you’re only about the source code itself, then just go straight to that page. However, feel free to take a look at some of the other interesting features that Java Galaxy has to offer, such as sample interview questions for java developers, or a practice test for the SCJP exam.

Java2s

Java2s is a relatively popular resource for Java developers because it contains a useful database of example code for different aspects of the Java language. An aspiring coder would be hard pressed to find something java related that isn’t contained somewhere in the Java2s website. One valuable resource that the site offers is a very structured Java Tutorial section which especially centers on file I/O and Swing, but has a section on almost everything.
Caution; this site doesn’t have any eye candy or pretty flashing lights that many websites today thrive off of–you can expect a practical, organized java resource and nothing else. While the site is not 100% dedicated to program source codes, I decided to include it because it still offers a large amount of code, but in a structured and ordered manner that I found extremely helpful.

Java DB

java application examplesJava DB provides access to a database of Java programming tips and example Java code for certain problems. The site’s layout is relatively simple and convenient as far as content management goes. Code examples and tutorials are separated into small box-categories on the home page, and there is a Google site search box for accessing quicker, more targeted results. Also on this site is an excellent free Java Language Tutorial. Although a work in progress, the tutorial is comprehensive, informative, and clear.
Learning Java can be an extremely daunting process, especially if you’re preparing for the SCJP exam or something to that effect (if you are, I feel your pain). I often find that one of the best ways you can gain an understanding of something is by jumping headlong into it. Learn from other people, get your hands dirty, ask questions and make mistakes (I certainly do). Hopefully this article gave you a few resources to use in learning Java or getting a feel for its practical uses.

Sun, HP Vague on Java Talks


Sun, HP Vague on Java Talks




Hewlett-Packard and Sun officials are reportedly discussing their different approaches to implementing embedded Java. Officially, at least, the talks are proceeding, but neither company is saying what, if anything, is being resolved.
"We are having very productive talks," said Sun spokeswoman Elizabeth McNichols, declining to elaborate further.
During last month's JavaOne conference, Hewlett-Packard said it had developed its own Java virtual machine to embed in consumer electronics devices. The salt in the wound for Sun was the announcement that Microsoft would be the technology's first licensee.
This was a blow to Sun's goal of putting its own specification for a scaled-down Java in most any computer environment, no matter how small. HP said it would challenge Sun's control of the embedded Java standard by offering its own implementation as a standards contender.
Following HP's bombshell, Sun extended an olive branch in the hope that the two companies could come to terms over the matter. A brief meeting between company executives was reportedly conciliatory.
But although Sun characterizes the current discussions as "productive," HP officials merely said the talks are aimed at "doing the right thing" when it comes to embedded Java. In part, said HP's Byron Ryono, worldwide marketing manager for embedded software technology, the subject is a standard for embedded Java.
He denied that there is any new development in relations between the companies.
"Part of the tune here is that we are ready for talks. The other part of the tune is still strong," Ryono said, referring to the company's intention to continue developing Java for the embedded marketplace. "There's no tune change," he said, extending the musical metaphor, except to the extent "that we can come to some place that we can do what's right for the embedded market.
"We're overcoming whatever inhibitors there are for us [to] achieving the basic goals for meeting the customers needs."
Asked why the two companies are holding discussions, Ryono said, "We do have a desire to do what's right." Right now, he said, that simply means talking with Sun.
Sun has yet to submit its specifications for defining Java standards, even though the International Standards Organization endorsed the company as the language's standard bearer last November. Although Sun says the specifications will come later this year, HP's move shows that frustrated companies wanting to incorporate Java into their products are moving ahead on their own.
Speculating on the content of the talks, one industry observer said Sun may be trying to lure HP toward its own embedded Java by lowering the licensing fees for its use. HP has said however, that licensing issues are not the primary motivation in developing its own virtual machine.
It's about "being open and free to be competitive," Ryono said. The company has also argued that write-once, run-anywhere -- Java's cross-platform mantra -- is not as relevant in embedded devices like printers. Rather, HP says, that any Java virtual machine should be optimized for the embedded environment, and it feels Sun restricts vendors from developing partial, customized implementations of the language.
But HP has also said Sun's per-unit licensing is a poor fit for HP's high-volume, low-cost production of printers and other devices.

Saturday, May 21, 2011

What Is JavaFX


What Is JavaFX

JavaFX logoJavaFX extends your web experience by delivering rich media and content across all the screens of your life. As users, you will be able to run JavaFX applications in a browser or drag and drop them onto the desktop. It's a seamless interface!
JavaFX is powered by Java: JavaFX extends the power of Java by allowing developers to use any Java library within JavaFX applications. This way developers can expand their capabilities in Java and make use of the revolutionary presentation technology that JavaFX provides to build engaging visual experiences.
Highlights of JavaFX:
  • Allows users to view JavaFX applications in a browser or break free of the browser by dragging and dropping the same application onto the desktop
  • Enables an efficient designer-to-developer workflow with Project Nile: designers can work in their tools of choice while collaborating with Web scripters who use the NetBeans IDE with JavaFX
  • Extends Java technology by enabling use of any Java library within a JavaFX application
  • Allows developers to integrate vector graphics, animation, audio, and video Web assets into a rich, interactive, immersive application
To learn more about JavaFX technology, visit javafx.com or java.sun.com/javafx web sites for more information.

Some Ways Software Developers Learn Java


Some Ways Software Developers Learn Java

Many colleges and universities offer courses in programming for the Java platform. In addition, developers can also enhance their Java programming skills by reading Oracle's Java developer web site, subscribing to Java technology-focused newsletters, using the Java Tutorial and the New to Java Programming Center, and signing up for Web, virtual, or instructor-led courses.
OTN logoThe Oracle Technology Network is the world's largest community of application developers, database admins, system admins/developers, and architects using industry-standard technologies in combination with Oracle products. It is also the home of oracle.com/technetwork/java, the ultimate, complete, and authoritative source of technical information about Java. Membership is free, join today! (In your Profile, check the Oracle Technology Network box under My Community Memberships.)

the Da Vinci Machine Project


the Da Vinci Machine Project

a multi-language renaissance
for the Java™ Virtual Machine architecture
virtual flying machine

Mission

We are extending the JVM with first-class architectural support for languages other than Java, especially dynamic languages. This project will prototype a number of extensions to the JVM, so that it can run non-Java languages efficiently, with a performance level comparable to that of Java itself.
Our emphasis is on completing the existing bytecode and execution architecture with general purpose extensions, as opposed to a new feature for just one language, or adjoining an unrelated new execution model.
We want the new languages to co-exist gracefully with Java in the JVM, and to benefit (like Java) from its powerful and mature technologies.
We are looking to remove “pain points” already observed by implementors of successful or influential languages, as opposed to attempting more speculative work on unproven features or niche languages.
Sub-projects with major activity include dynamic invocationcontinuations,tail-calls, and interface injection.  There is a large number of more speculative, lower-priority sub-projects. These are included in hopes that someone in the community will become excited with us at the prospects of a more dynamic JVM, to the point of sharing in its creation.

Community






Extra! Recently rediscovered diagrams prove Leonardo invented the first JVM:
lost VM invention diagram

Tuesday, May 17, 2011

6.x Java Extensions CookBook


6.x Java Extensions CookBook
This document provides quick snippets of code organized by theme that will get you started with most of the server side coding tasks. Feel free to suggest more "recipes" by sending us an email or posting in our support forums
» Using ActionscriptObject
The ActionscriptObject class provides an easy way to manipulate Actionscript data coming from the client as well as sending data from the server side. You can learn about all the methods of this class in the javadoc. The followning is a selection of recipes to use ActionscriptObject.
Recipe #1:
The client sends an object containing a string and a number. The sfs object is a instance of the SmartFoxClient class and the three parmeters passed to the sendXtMessage() method are: the name of the extension, the "command" name and the parameters object.
var obj:Object = {}
obj.str = "Hello World!"
obj.num = 54321

sfs.sendXtMessage("test", "cmd", obj)
You will receive an ActionscriptObject:
public void handleRequest(String cmd, ActionscriptObject ao, User u, int fromRoom)
{
 String str = ao.getString("str");
 int num = (int) ao.getNumber("num");
}
Please note that numbers in ActionscriptObjects are typed as double, and you should cast them to other formats if you need it.
Recipe #2:
A slightly more complex example showing how to deal with nested objects. This time we also have an array of numbers.
var obj:Object = {}
obj.str = "Hello World!"
obj.num = 54321
obj.arr = [1,2,3,4,5]

sfs.sendXtMessage("test", "cmd", obj)
On the server side you will receive an ActionscriptObject instance, called ao:
public void handleRequest(String cmd, ActionscriptObject ao, User u, int fromRoom)
{
 String str = ao.getString("str");
 int num = (int) ao.getNumber("num");
 ActionscriptObject arr = ao.getObj("arr");

 // Cycle through all items
 for (int i = 0; i < arr.size(); i++)
 {
  System.out.println("Item " + i + " = " + arr.getNumber(i));
 }
}
Recipe #3:
This example shows how to create an Actionscript object to send to the client. We want the client to receive an AS object like this:
var obj:Object = {}
obj.name = "King Arthur"
obj.from = "Camelot"
obj.age = 36
obj.roundTable = true
obj.inventory = {
  weapons: ["knife", "sword", "long sword"],
  food:["apple", "cheese", "bread", "wine"],
  garments:["boots", "armor", "helmet"]
  }
Here's how we can create the object in Java:
ActionscriptObject ao = new ActionscriptObject();
ao.put("name", "King Arthur");
ao.put("from", "Camelot");
ao.putNumber("age", 36);
ao.putBool("roundTable", true);

// Create the inventory object 
ActionscriptObject aoInventory = new ActionscriptObject();

// Weapons array
ActionscriptObject aoWeapons = new ActionscriptObject();
aoWeapons.put(0, "knife");
aoWeapons.put(1, "sword");
aoWeapons.put(2, "long sword");

// Food array
ActionscriptObject aoFood = new ActionscriptObject();
aoFood.put(0, "apple");
aoFood.put(1, "cheese");
aoFood.put(2, "bread");
aoFood.put(3, "wine");

// Garments array
ActionscriptObject aoGarments = new ActionscriptObject();
aoGarments.put(0, "boots");
aoGarments.put(1, "armor");
aoGarments.put(2, "helmet");

// Add objects to inventory
aoInventory.put("weapons", aoWeapons)
aoInventory.put("food", aoFood)
aoInventory.put("garments", aoGarments)

// Add the invetory object to the main ActionscriptObject
ao.put("inventory", aoInventory);

Sunday, May 15, 2011

Web Developer Tutorial: JavaScript and CSS Minification


Web Developer Tutorial: JavaScript and CSS Minification



When a user visits a website for the first time, any external JavaScript and CSSfiles are downloaded to their cache. Depending on the size of the file, this can take more time for the page to render. With more people surfing using mobile platforms, it is a good idea to minify your JavaScript and CSS files.
External JavaScript and CSS files are external to the page. These usually have an extension of .js or .css. These files can become very large on massive web sites. You can even minify the inline JavaScript and CSS in your web pages. Inline JavaScript and CSS refer to the code that is contained directly in your web page.
If you look at some popular JavaScript libraries like jQuery, you will notice there are two versions. One of the versions has ".min" in the filename. This is a minified version of jQuery. The regular version is 179KB and the minified version is 26KB. That is a substantial savings. If you have thousands of web surfers downloading your JavaScript and CSS files, you can save bandwidth and make the pages load faster.

What Does Minification Do?

For JavaScript, minification typically will remove comments, remove white-spaces and line breaks, and obfuscate variables using the smallest variable name possible. JavaScript comments are really only there for the developer so these just take up space and add to the download size.
Since JavaScript statements are terminated using a semicolon, white-spaces and line breaks can be removed. White-space just refers to the spacing between certain characters and line breaks are new lines. When you open the minified version of your JavaScript or CSS file, it will be mostly all on one line.
Obfuscating variables means it will take any variables and change the name to something smaller. Usually it starts with "a" and then goes to "b" and so on. Your variables will still work like always but now will take up less space.

How Do I Minify?

There are several programs out there to minify your files. The one we will focus on today is YUI Compressor. There will be links at the end of the article to this and others like it. The YUI compressor is by Yahoo! and has been around a long time.
The first step is to download the YUI Compressor and un-pack it. The YUI Compressor uses Java so you will need to make sure you have Java on your system.
I am using Windows 7 x64 so it may be a little different for your operating system. After YUI Compressor is downloaded and un-packed, it is time to start the process. First you will need to open a command prompt. To do this on Windows 7, click the start button, go to All Programs, then to Accessories, and then click on Command Prompt (see figure 1).
Figure 1
Figure 1
You should have a command prompt window open. Next we want to add the folder where Java is located to the path so it will be easier to reference. You can also add this to the global path so you do not have to do this step every time. In the command prompt window, enter the following command:
 
 path %path%;C:Program Files (x86)Javajre6bin
  
Of course, the Java path may be different for you.
Now you can move to the location of your JavaScript and/or CSS files that you want to minify. The command to enter would be:
 java -jar C:yuicompressor-2.4.2build yuicompressor-2.4.2.jar script.js -o script.min.js
  
The first part "java" calls Java to execute the jar file. The jar file's location may be different than my location depending on where you extracted the file. The next part is the script you want to minify. The "-o" option specifies the location of the output file.

That Seems Hard, Is There an Easier Way?

Sure there are easier ways to do this. There are several GUI and other options for your operating system. Just do a search for YUI Compressor and then your operating system. There are even add-ons for Visual Studio and other developer tools to do this for you automatically.

Conclusion

The biggest thing to take away from this is that you can minify your CSS and JavaScript files to make them smaller to allow for faster download. This in turn will make your site load faster and provide a better user experience. The YUI Compressor is not the only option either. Microsoft and a few others have their own versions.

Links