Wednesday, February 24, 2010

Some ISPF Tips

Tip1:
While trying to open any member in a PDS, we sometimes come across "member in use" message. In that situation, if you want to know who is using the member currently, press F1 twice.

Tip2:
To find the last 10 datasets those we have accessed
1. GO TO ISPF 3.4 option.
2. On the top, there is a MENUBAR. Select REFLIST
3. Select Option 1 in it.
Using this option you can find out the last 30 datasets that you have accessed….

Tip3:
To know what are the last 25 COMMAND LINE commands that issued from ISPF panel.
To get that issue RETP on the Command line.

Tip 4:
Suppose you are in a ISPF Screen and want to know in which TSO Region ( Development, Production, or other TSO regions) you are now .
Issue on the command line : SAREA
ISPF STATISTICS Pop-up window will show you the region( and other info too)

Tip 5:
When we issue CUT , we know that the CUT content are placed in a clipboard. And when we issue PASTE, the clipboard content are pasted. But is it possible for us to view/edit the clipboard ?
One can view the clipboard after any valid CUT command was issued.
To view the clipboard, issue : CUT DISPLAY.
Clipboard manager will pop up and gives us options to edit or browse the content.

Tip 6:
Here is another tip on ISPF CUT. I have a dataset with 10,000 lines.I want to cut the first 10 lines and last 10 lines and paste into another dataset.When I cut the first 10 lines and then again the last 10 lines ,only the last 10 lines are pasted into the new dataset. Is there anyway out (other than doing a 2 cut & paste)?
The answer for the above question is to:
1.first cut 10 lines, then issue CUT APPEND
2.then cut last 10 lines, then issue CUT APPEND
3.When you PASTE it, you got both.

Ref:www.fresherscircle.com

Monday, February 22, 2010

Replace in CF

Replaces occurrences of substring1 in a string with substring2, in a specified scope. The search is case-sensitive.

Syntax:
Replace(string, substring1, substring2 [, scope ])

Parameter Description
string String in which to search
substring1 String for which to search
substring2 String that replaces substring1
scope one: replace the first occurrence (default)
all: replace all occurrences


To remove a string, specify the empty string ("") as substring2.
You do not need to escape comma characters in strings.

Program:
#Replace(FORM.myString, FORM.MySubstring1, FORM.mySubString2)#

Source: http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functa68.htm#wp1111342

Saturday, February 20, 2010

Getting Cookie ID

This code gets the cookie id of current page without using WebUtil in QTP.

theCookie= Browser("micClass:=Browser").Page("micClass:=Page").Object.Cookie
pos=InStr(1,theCookie,"/",1)
cookieID= mid(theCookie, pos + 1, 16)

Thursday, February 18, 2010

Getting Active Object deatils

Browser("").page("").Object.activeElement.Name
Browser("").page("").Object.activeElement.Value
Browser("").page("").Object.activeElement.ID

Tuesday, February 16, 2010

Asynocronous Data Table Loading

When you have a very large datatable and QTP starts to read the datatable objects before it is getting fully loaded. Also if the the .sync is not working
You can use Asynocronous Data Table Loading

oldRowCount=0
While (oldRowCount<>B().P().WebTable().RowCount)

oldRowCount=B().P().WebTable().RowCount
Wait 3Wend

Sunday, February 14, 2010

Point to remember while using Sybase Central

Problem:
Sybase central's SQL window is different from oracle's sql+ in atleast one way. If we have done updates or deletes accidentally in the SQL+ window, in oracle we can just issue a rollback and get back whatever we have lost but sybase central doesnt provide us with any such luxury. The only way to get back the data is to manually insert it again.

Hence it is very important for us to take control of transactions. So before we do any processing give this command
  • begin tran my_tran
  • do all the processing in the transaction andfinally after we are done with everything, if we need to rollback we just have to issue a rollback
  • rollback my_tran which will rollback all the statements issued inside the transaction.
    Hence make sure you start each SQL window of sybase central with begin tran tran_name

Saturday, February 13, 2010

From Browser to ASP.NET

Let’s start at the beginning of the lifetime of a typical ASP.NET Web Request. A request starts on the browser where the user types in a URL, clicks on a hyperlink or submits an HTML form (a POST request). Or a client application might make call against an ASP.NET based Web Service, which is also serviced by ASP.NET. On the server side the Web Server – Internet Information Server 5 or 6 – picks up the request.

At the lowest level ASP.NET interfaces with IIS through an ISAPI extension. With ASP.NET this request usually is routed to a page with an .aspx extension, but how the process works depends entirely on the implementation of the HTTP Handler that is set up to handle the specified extension. In IIS .aspx is mapped through an ‘Application Extension’ (aka. as a script map) that is mapped to the ASP.NET ISAPI dll - aspnet_isapi.dll. Every request that fires ASP.NET must go through an extension that is registered and points at aspnet_isapi.dll.

Depending on the extension ASP.NET routes the request to an appropriate handler that is responsible for picking up requests. For example, the .asmx extension for Web Services routes requests not to a page on disk but a specially attributed class that identifies it as a Web Service implementation. Many other handlers are installed with ASP.NET and you can also define your own. All of these HttpHandlers are mapped to point at the ASP.NET ISAPI extension in IIS, and configured in web.config to get routed to a specific HTTP Handler implementation. Each handler, is a .NET class that handles a specific extension which can range from simple Hello World behavior with a couple of lines of code, to very complex handlers like the ASP.NET Page or Web Service implementations.

For now, just understand that an extension is the basic mapping mechanism that ASP.NET uses to receive a request from ISAPI and then route it to a specific handler that processes the request.

Ref:west-wind

Thursday, February 11, 2010

The ISAPI Connection

ISAPI is a low level unmanged Win32 API. The interfaces defined by the ISAPI spec are very simplistic and optimized for performance. They are very low level – dealing with raw pointers and function pointer tables for callbacks - but they provide he lowest and most performance oriented interface that developers and tool vendors can use to hook into IIS. Because ISAPI is very low level it’s not well suited for building application level code, and ISAPI tends to be used primarily as a bridge interface to provide Application Server type functionality to higher level tools. For example, ASP and ASP.NET both are layered on top of ISAPI as is Cold Fusion, most Perl, PHP and JSP implementations running on IIS as well as many third party solutions such as my own Web Connection framework for Visual FoxPro. ISAPI is an excellent tool to provide the high performance plumbing interface to higher level applications, which can then abstract the information that ISAPI provides. In ASP and ASP.NET, the engines abstract the information provided by the ISAPI interface in the form of objects like Request and Response that read their content out of the ISAPI request information. Think of ISAPI as the plumbing.

For ASP.NET the ISAPI dll is very lean and acts merely as a routing mechanism to pipe the inbound request into the ASP.NET runtime. All the heavy lifting and processing, and even the request thread management happens inside of the ASP.NET engine and your code.

As a protocol ISAPI supports both ISAPI extensions and ISAPI Filters. Extensions are a request handling interface and provide the logic to handle input and output with the Web Server – it’s essentially a transaction interface. ASP and ASP.NET are implemented as ISAPI extensions. ISAPI filters are hook interfaces that allow the ability to look at EVERY request that comes into IIS and to modify the content or change the behavior of functionalities like Authentication. Incidentally ASP.NET maps ISAPI-like functionality via two concepts: Http Handlers (extensions) and Http Modules (filters).

ref:west-wind

Tuesday, February 09, 2010

Retrieving the contents of a ZIP file

This Java tip illustrates a method of listing the contents of a ZIP file. Developer may use this as a functionality for its users to first see the contents of the ZIP file and then decompress the chosen one.
try {
ZipFile sourcefile = new ZipFile("source.zip");
for (Enumeration entries = sourcefile.entries(); entries.hasMoreElements();) {
String zipEntryName = ((ZipEntry)entries.nextElement()).getName();
}
} catch (IOException e) {
}

Source: java-tips.org

Monday, February 08, 2010

cfsilent in CF

cfsilent:
Suppresses output produced by CFML within a tag's scope.
This tag requires an end tag.

Syntax:




Program:

cfsilent



Inside cfsilent block
b-a = #c#


b-a = #c#



Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-pc7.htm#wp1103549

Saturday, February 06, 2010

Factors to differentiate entity bean and session bean

The following factors differentiate entity and session bean. They are - :
  • persistence
  • Shared access
  • Primary key
  • Relationship
  • Container managed persistence
  • Abstract schema
  • Multiplicity in container managed relationship
  • Direction in container managed relationship

Source : http://www.hi.is/pub/cs/2002-03/hv1/j2eetutorial/doc/EJBConcepts4.html

Friday, February 05, 2010

How do you make a link open in a new window or tab?

This tip that helps us to make links open up in new tabs or windows. When you create the hyperlink, add target="_blank" just after you mention the url and before you close the tag.

For example, you want to hyperlink Click here to navigate to Google Maps and you want that to open up in a new window, then this is how you do it --
you say: Click Here

Wednesday, February 03, 2010

Change the Internet Properties in a single command!!

1) Press WINDOWS+ R key to get the Run command box.
2) Type "Inetcpl.cpl" to get the Internet Properties window. Make the necessary changes in that Screen.

Monday, February 01, 2010

View your site in different Browsers

I usually test my site for Firefox and Internet Explorer 6. Firefox has a very useful extension called IE Tab than allows you to view web pages in Firefox using the Internet Explorer engine.
This is where Browsershots.org will come in handy for many. Browsershots takes screenshots of your web page for different browsers.
To view the web design for different browsers:
1. Go to Browsershots.
2. Submit your URL and Click Start.
This will lead you to a 'Select browsers and configurations' page where you can specify the browsers and other configurations like javascript, screen resolutions, color depth etc…Click Submit Jobs.
3. On submission, your website will be added to a job queue. You can view the queue status from the Queue page.The screenshots of your site will appear after some time in the Screenshots page.

Source: http://txpress.blogspot.com/2006_12_01_archive.html

Saturday, January 30, 2010

Sharing info on MQ Cluster

A cluster is a network of queue managers that are logically associated in some way. In a Web Sphere MQ network using distributed queuing without clustering, every queue manager is independent. If one queue manager needs to send messages to another it must have defined a transmission queue and a channel to the remote queue manager.If you group queue managers in a cluster, the queue managers can make the queues that they host available to every other queue manager in the cluster.

Then, assuming that you have the necessary network infrastructure in place, any queue manager can send a message to any other queue manager in the same cluster without the need for explicit channel definitions, remote queue definitions, or transmission queues.There are two different reasons for using clusters: to reduce system administration and to improve availability and workload balancing.

Thursday, January 28, 2010

Use special characters from Windows

Symbols like £ (UK Pound), © (Copyright), ¥(Japanese Yen) can be easily used by following a few simple steps:
1. Firstly, these characters are not provided as keys with the keyboard. So stop staring at the keyboard.
2. Go to Start >> Programs >> Accessories >> System Tools >> Character Map.This opens the Character Map as shown below.
3. This window displays all the possible charaters you can enter.
  • Click on any of the symbols to get an enlarged view.
  • Then, click on the Select button to select a character.
  • To copy the selected symbol, press the Copy button (the symbol is actually copied to the clipboard).

4. That's it! Now you can paste the character where you need it.

Also notice the lower-right corner of the Character Map screen. This displays the keystroke required to produce the character you want.
In the figure above its Alt+0163. This means if you Press and Hold the ALT key and type 0163, you will get the UK Pound symbol.
( NOTE: the numbers must be typed from the keys to the right of your keyboard and NOT from the keys above the character keys).

Source: http://txpress.blogspot.com/2006/11/use-special-characters-from-windows.html

Tuesday, January 26, 2010

Few commands on MQM

To create a queue manager: crtmqm (to make it the default, specify theParameter /q)To start the queue manager: strmqm
To start the utility in an interactive mode: runmqsc
To run Mq commands in a wrapper : runmqadm

Sunday, January 24, 2010

cfinclude in ColdFusion

cfinclude
Embeds references to ColdFusion pages in CFML.
You can embed cfinclude tags recursively.

Syntax :


ColdFusion searches for included files in the following sequence:
In the directory of the current page
In directories mapped in the ColdFusion Administrator for the included file
The included file must be a syntactically correct and complete CFML page.For example, to output data from within the included page, you must have a cfoutput tag, including the end tag, on the included page, not the referring page. Similarly, you cannot span a cfif tag across the referring page and the included page; it must be complete within the included page.

Program:


Source :
http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-p63.htm#wp1100248

Friday, January 22, 2010

Flex Development on Visual Studio

Well, this is came a little late but I think anticipated. Though not from Microsoft itself, but seems developers on Visual studio are also feeling it. After all the noise regarding the new front ends from all around; AJAX, SilverLight, JAVAFX etc, SWF seems to be on top. Here are two more IDEs for SWF development and that to on Flex Framework and on top of Visual Studio. Amethyst and Tofino.

Amethyst comes in 2 flavors Personal and Professional. Personal Edition is Free as well. According to its makers, SapphireSteel Software, The personal edition will be completely free and may optionally be installed into the free Visual Studio ‘shell’ edition. Amethyst Personal (beta) will be available from Amethyst site in the 2nd week of December 2008. Amethyst Professional will be released in beta in the first quarter of 2009 and the final version is expected to ship in the 2nd quarter.

Tofino is from the company named Ensemble . Its ready to be downloaded from their site and as per the company, Ensemble Tofino is available for free.

Wednesday, January 20, 2010

Some of the Control commands in CICS

Interval Control: All these commands can control the intervals(time)
- ASKTIME
- FORMATTIME
- DELAY
- POST
- WAIT EVENT
- START
- RETRIEVE
- CANCEL

ASKTIME:
- To request the current data and time

FORMATTIME:
- To receive information of date and time in various formats

DELAY:
- Used to DELAY the processing of a task

START:
- Used to start a transaction at the specified terminal and at the specified time or interval
- Data can be passed to the new transaction

RETRIEVE:
- Used to retrieve the data passed by the START

CANCEL:
- Used to cancel the Interval Control requests like DELAY,POST and START
- Identified by REQID.

Monday, January 18, 2010

Task control commands in CICS

Task Control: We have some commands to control the Task, and command are given below.
- SUSPEND
- ENQ
- DEQ

SUSPEND:
- After the execution of higher priority tasks, control will be returned to the suspended task

EXEC CICS
SUSPEND
END-EXEC

ENQ:
- To gain exclusive control over a resource

Syntax:
EXEC CICS ENQ
RESOURCE(data area)
[LENGTH(data value)]
[NOSUSPEND]
END-EXEC

DEQ:
- To free the exclusive control from the resource gained by ENQ

Syntax:
EXEC CICS DEQ
RESOURCE(data_area)
[LENGTH(data_value)]
[NOSUSPEND]
END-EXEC.

Saturday, January 16, 2010

cfhtmlhead in ColdFusion

Writes text to the head section of a generated HTML page. It is useful for embedding JavaScript code, or putting other HTML tags, such as meta, link, title, or base in an HTML page header.
Syntax:


Note:
If you use this tag after the cfflush tag on a page, an error is thrown.

Program:

">


Source: http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-p57.htm#wp1099843

Thursday, January 14, 2010

Rich Internet Applications(RIA’s)

Rich Internet applications (RIAs) offer a rich, engaging experience that improves user satisfaction and increases productivity. Using the broad reach of the Internet, RIAs can be deployed across browsers and desktops.

Benefits of RIAs:
RIAs offer organizations a proven, cost-effective way to deliver modern applications with real business benefits:
  • Offer users a richer, more engaging experience.
  • Keep pace with users' rising expectations.
  • Increase customer loyalty and generate higher profits.
  • Leverage existing personnel, processes, and infrastructure.


Source : http://www.adobe.com/resources/business/rich_internet_apps/

Tuesday, January 12, 2010

Technologies to develop Rich Applications

Technologies for building Rich applications:

Sunday, January 10, 2010

Building first Flex App

Prerequisites:
1.Download Flex Builder 3 from
http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email
2.Install Flex Builder
3.Install Adobe Flash player 9 plugin for Internet explorer

Creating first project in Flex:
1.Run the Flex builder
2.Click on File -> New -> Flex Project
3.In the New Flex Project dialog: >Enter Project Name as "MyFirstApp" >Check the Use Default Location checkbox >Select Web application as Application type >Select Application Server type as None >Click on Finish
4.MyFirstApp.mxml will be opened in the editor
5.In between the tag add the line below, which adds a label with text My First Appin blue color to the application:

Friday, January 08, 2010

Windows tabs Shortcut

Try this shortcut !
Instead of using ALT + TAB,
Try, windows key + TAB.
Press ENTER to open the active window

Wednesday, January 06, 2010

END task in windows

If an application or a page is hanged, normally we would go to task manager and select that application or page and then we would click on End Task !
It would take sometime to end that application, we got look at the hanged monitor till it closes it and then resume our work.
But, do we know that we have an easier way to close that application ?
Here is it !
Goto the task manager window, and select the Processes tab, and then select the corresponding process and say end process.
It will immediately close it !
The only difficulty is, to find the corresponding process.
The key is that the process would be named in relation to the application.
For eg : notepad.exe, OUTLOOK.EXE, iexplore.exe ( Browser window )
You will get used to finding the process, once you start using it !

Monday, January 04, 2010

Unix Command on sessions

Unix command to check all the active sessions which are currently running.
ps –ef grep rts
ps : Reports the process status
-e: List information about every process now running.
-f: Generate a full listing
rts:Request To Send, RTS is a signal sent by a communications device, such as a modem, to verify if the other device is ready for data to be sent to it.

If you have some issues in unix for example like “license on the server expired”, by giving the above command you can find all the active sessions running on that server.So by killing all the unused or expired sessions your issue may be resolved.Command to kill the session
kill %pid
Kill: cancels a job
Pid-A job control job ID that identifies a background process group to be signaled.

Saturday, January 02, 2010

Reading a zip file

This sample code read the name of all files from a zip file. It uses ZipInputStream to read zip file.


import java.io.*;
import java.util.zip.*;

public class ZipFileRdrExp {

public static void main(String[] args) {

try {

FileInputStream fis = new FileInputStream("C:\\MyZip.zip");
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry ze;
while((ze=zis.getNextEntry())!=null){
System.out.println(ze.getName());
zis.closeEntry();
}

zis.close();

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


Source: java-tips.org

Thursday, December 31, 2009

Writing a Zip file

This sample code shows the method to create a Zip file and add files to it. It uses ZipOutputStream to write zip file.


import java.io.*;
import java.util.zip.*;

public class ZipFileWrtExp {

public static void main(String[] args) {

try {
FileOutputStream fos = new FileOutputStream("C:\\MyZip.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
ZipEntry ze= new ZipEntry("C:\\file1.txt");
zos.putNextEntry(ze);
zos.closeEntry();

ze= new ZipEntry("C:\\file2.txt");
zos.putNextEntry(ze);
zos.closeEntry();
zos.close();

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
}

Source: java-tips.org

Tuesday, December 29, 2009

Sample MAP complier in CICS.

This is the samle map complier, you can use this to compile the maps.

//MAPCOM@ JOB MSGCLASS=X,MSGLEVEL=(1,1),CLASS=A,
// REGION=5M,NOTIFY=&SYSUID
//STEP1 EXEC DFHMAPS,
// DSCTLIB='&HLQ.CICS.COPY',
// MAPLIB='&LOADHLQ.CICS.LOAD',
// MAPNAME='&MAPNAME'
//COPY.SYSUT1 DD DSN=&HLQ.CICS.BMS(MEMBER),DISP=SHR

Sunday, December 27, 2009

Listing the image formats that can be read and written

This Java tip illustrates a method of listing the image formats that can be read and written. The complete list of available readable and writeable formats can be retrieved by calling ImageIO.getReaderFormatNames() and ImageIO.getWriterFormatNames(). By default, the javax.imageio package can read GIF, PNG, and JPEG images and can write PNG and JPEG images.


// Get list of unique supported read formats
String[] formatNames = ImageIO.getReaderFormatNames();
formatNames = unique(formatNames);
// e.g. png jpeg gif jpg

// Get list of unique supported write formats
formatNames = ImageIO.getWriterFormatNames();
formatNames = unique(formatNames);
// e.g. png jpeg jpg

// Get list of unique MIME types that can be read
formatNames = ImageIO.getReaderMIMETypes();
formatNames = unique(formatNames);
// e.g image/jpeg image/png image/x-png image/gif

// Get list of unique MIME types that can be written
formatNames = ImageIO.getWriterMIMETypes();
formatNames = unique(formatNames);
// e.g. image/jpeg image/png image/x-png

// Converts all strings in 'strings' to lowercase
// and returns an array containing the unique values.
// All returned values are lowercase.
public static String[] unique(String[] strings) {
Set set = new HashSet();
for (int i=0; i String name = strings[i].toLowerCase();
set.add(name);
}
return (String[])set.toArray(new String[0]);
}

source:java-tips.org

Friday, December 25, 2009

cfobjectcache in CF

The main function is to clear the occupied memory
and free the memory space.Flushes the query cache.

Syntax:




Attribute Req/Opt Description

action Required clear:Clears queries from the cache in the Application scope

Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-b11.htm#wp2310692

Wednesday, December 23, 2009

Risks to e-mail

There are several inherent risks in the way e-mail functions. When you send e-mail to a recipient, it travels to an SMTP (Simple Mail Transfer Protocol) server either directly (if you’re using an e-mail client such as Outlook) or via a Web server (if you’re using Web-based mail, such as Hotmail). The recipient will receive your e-mail directly from the SMTP server or via a Web server.
During this journey, any unauthorized person can access your messages by exploiting vulnerabilities on the SMTP or Web servers. Your messages can be read and copied by anyone who has access to the computers and networks through which your messages travel. In fact, authorized system administrators on the SMTP servers can also read, copy, save, delete, and modify your messages before sending them on.
During this ‘eavesdropping’, it may be possible to gain access to your usernames and passwords. The mischief-monger can then wreak havoc by sending messages on your behalf. You may also receive messages from known e-mail IDs that have been created and sent by unauthorized users; such messages usually contain viruses, Trojans or ask you to reply to the message with sensitive personal information, such as bank-account or credit-card details.
What’s more, mail backups on SMTP servers store the e-mail in plain text; sometimes, messages that you sent or received years ago are easily available on these backups, long after you have deleted them.
The issues with e-mail are, therefore, manifold - the sender’s e-mail ID may be stolen and misused, without the recipient knowing about it; messages may be intercepted; or messages may be stored such that their content is easily accessible.
Encryption, digital signatures, and digital certificates are some ways of securing e-mail from these threats.

Ref:India syndicate

Monday, December 21, 2009

Reading an Image from a file, inputStream, or URL

This Java tip illustrates a method of reading an Image from a file, inputStream, or URL. This tip also includes displaying of an image on the screen. Further, javax.imageio package is used to read an image from a file. This example works only above J2SE 1.4.


Image image = null;
try {
File sourceimage = new File("source.gif");
image = ImageIO.read(sourceimage);

InputStream is = new BufferedInputStream(
new FileInputStream("source.gif"));
image = ImageIO.read(is);

URL url = new URL("http://java-tips.org/source.gif");
image = ImageIO.read(url);
} catch (IOException e) {
}

JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);

Ref: java-tips.org

Saturday, December 19, 2009

Need to know more about file extensions?

Its a very intresting site to search more about the file extensions….

There are just TOO many of them this days.

ComputerFileExtensions.com that seem to be a nice resource for file extension and file formats.

On that site there exist a big database of all kind of file extensions you may come across and a good search facility to make it easier to find any file type you may looking for. I found there MXML and as too. Anyway, there is a way to see details on each file extension and it tells that extension.

Thursday, December 17, 2009

Compiling Flex application from command line

Prerequisites:
1. If Flex builder is not installed download Flex 3 SDK from http://www.adobe.com/products/flex/flexdownloads/index.html#sdk
2. Unzip it to c:\adobe\. In this case installDir = c:\adobe\
3. If Flex builder 3 is already installed check the install directory. Assuming installDir = c:\Adobe\
4. Java should be installed in the system.
5. Flash player should be installed in the system.

Creating and compiling Flex Application:
Open notepad or any editor and copy the code below:


http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%">



1. Save it as Text.mxml in c:\temp\
2. Open command prompt window.
3. installDir\sdks\3.x.x\bin\mxmlc.exe c:\temp\Test.mxml (installDir = c:\adobe)
4. It should be compiled to Test.swf in c:\temp

Tuesday, December 15, 2009

MVS SYSTEM CODES -S80A

The storage needed to execute the program was not available.
1. The region parameter did not specify enough storage.
2. The region parameter was omitted, and the default storage amount was too small to run the correct program.
3. Block sizes were increased or buffers were added, and the region size was not increased.
4. A logic error caused excessive storage to be obtained but not freed.

1. Increase the region size.
2. Look for logic errors which may cause excessive calls to other programs or requests for storage.

Ref: www.ibmmainframes.com

Sunday, December 13, 2009

Digital IDs and Signatures

Having a digital ID enables you to add another layer of security to your e-mail via digital signatures. A digital ID ties your identity information—name or e-mail ID, for instance—with your public key.
When you use this ID to digitally sign your messages, a part of your message is encrypted with your private key, so that the recipient knows that the message came from you; if you encrypt the message in addition, then the signature and the message are encrypted with your public key. This enables the recipient to know whether the message has been accessed or modified en route.
Digital IDs are provided via e-mail certificates, which are usually issued by external certification authorities (CAs). In organizations, sometimes, the administrator of your Exchange Server generates these certificates for users.
If you use Outlook, you can get e-mail certificates from CAs. Some like Comodo offer these free of charge for personal use; for commercial use, different schemes are available from various CAs. source:India syndicate

Friday, December 11, 2009

Concept of 3G

There will be a wide range, from simple single-application devices such as voice-only phones, to multi-purpose communicators capable of handling several voice, data and video services in parallel.

To date, the "terminal" for accessing mobile services has been the mobile phone. With the coming of 3G, we can expect to see a broadening of this concept to include a whole host of new terminals. These will be both general-purpose computing and communications devices, and devices with more specific purposes to serve particular marker segments. There will still be recognizable mobile phones. But many of these will have larger screens to display Internet pages or the face of the person being spoken to. There will be smaller "smart-phones" with limited web browsing and e-mail capabilities. The addition of mobile communications capabilities to laptop and palmtop computers will speed up the convergence of communications and computing, and bring to portable computing all the functions and features available on the most powerful desktop computers. There will be videophones, wrist communicators, palmtop computers, and radio modem cards for portable computers. Innovative new voice based interfaces will allow people to control their mobile communication services with voice commands.

We will also see the integration of 3G into a very wide range of devices and products other than user terminals. For example, the "telephone-on-a-card" will allow mobile services to be built into business equipment, vehicles and household appliances, for dedicated applications. Devices such as phones, computers and digital cameras will also be able to communicate with each other using short-range radio. Digital cameras will be able to use wide-area radio communications in real time and reduce the need for bulky memory and other components.

Wednesday, December 09, 2009

How to enable HOT deployment scanner in JBoss ?

Steps :
  • Open the file $JBOSS_HOME/server/[Instance Name]/conf/jboss-service.xml
  • Search for "ScanEnabled"
  • The enable to the Hot deployment scanner as below
    true
  • You can set the Automatic scan period for Hot deployment,
    5000
  • Restart the service once you made the changes.

Monday, December 07, 2009

cfupdate in CF

Updates records in a data source from data in a ColdFusion form or form Scope.

Syntax :


Attribute - description

dataSource- Name of the data source that contains the table. tableName- Name of table to update. tableOwner- For data sources that support table ownership tableQualifier- For data sources that support table qualifiers. username- Overrides username value specified in ODBC setup.password- Overrides password value specified in ODBC setup.formFields-Comma-delimited list of form fields to update.

Note :
If a form field is not matched by a column name in the database, ColdFusion throws an error.
The formFields lies must include the database table primary key field, which must be present in the form. It can be hidden.

Program :

SELECT Course_Number, Course_ID, DescriptFROM CoursesWHERE Course_ID = #Trim(url.Course_ID)#ORDER by Course_Number

Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-c19.htm#wp1104662

Saturday, December 05, 2009

Saving a BufferedImage to a PNG file

You can save a BufferedImage object using write method of the javax.imageio.ImageIO class. The signutaure of the method is like this:
public static boolean write(RenderedImage im,
String formatName,
File output)
throws IOException

Here im is the RenderedImage to be written, formatName is the String containg the informal name of the format (e.g. png) and output is the file object to be written to. An example usage of the method for PNG file format is shown below:
ImageIO.write(image, "png", file);

You can also use getReaderFormatNames method of the same class to learn available informal format names understood by the current set of registered readers.

source: java-tips.org

Thursday, December 03, 2009

Protecting Worksheet Names in Excel!!

If you are developing workbooks for others to use, you may want your worksheets to retain whatever names you give them. Excel normally allows users to change worksheet names, as desired. If you don't want them to change, the only way to prevent it is to lock the workbook. You can take these steps if you are using a version of Excel prior to Excel 2007:

1.Display the Review tab of the ribbon.
2.Click Protect Workbook in the Changes group. Excel displays the Protect Structure and Windows dialog box. (Click here to see a related figure.)
3.Make sure that the Structure check box is selected.
4.Enter a password in the Password box.
5.Click on OK. Excel displays the Confirm Password dialog box, prompting you to reenter the password.
6.Reenter the password and click on OK.

The user can no longer make changes to the names of the worksheet tabs, nor to anything else that affects the structure of the workbook. (For instance, they cannot enter new worksheets or delete existing ones.)

If you want to protect the workbook under the control of a macro, then you can use this code:
ActiveWorkbook.Protect Password:="MyPassword", Structure:=TrueAll you need to do is provide password you want to use in place of the "MyPassword" example.

Source: http://excel2007.tips.net/Pages/T0102_Protecting_Worksheet_Names.html

Tuesday, December 01, 2009

Adobe squeezes AIR out of beta for Linux users

Adobe just released the beta version of Adobe AIR for Linux on Adobe Labs!
This Labs release of AIR has all features implemented for Linux, except support for DRM and badge installations. Major new features include support for system tray icons, keyboard shortcuts, localization, internationalized input (IME support), filetype registration, SWF and PDF in HTML, multi-monitor support, fullscreen mode, encrypted local storage, support for V4L2 cameras and printing.

The list of supported distributions has also been updated to:
1. Ubuntu 7.10
2. Fedora 8
3. OpenSuSE 10.3

Any AIR application that works on Windows/Mac AIR release version 1.1 should ideally work on Linux too

Monday, November 30, 2009

IIS 6 – Viva the Application Pool

IIS 6 changes the processing model significantly in that IIS no longer hosts any foreign executable code like ISAPI extensions directly. Instead IIS 6 always creates a separate worker process – an Application Pool – and all processing occurs inside of this process, including execution of the ISAPI dll. Application Pools are a big improvement for IIS 6, as they allow very granular control over what executes in a given process. Application Pools can be configured for every virtual directory or the entire Web site, so you can isolate every Web application easily into its own process that will be completely isolated from any other Web application running on the same machine. If one process dies it will not affect any others at least from the Web processing perspective.

In addition, Application Pools are highly configurable. You can configure their execution security environment by setting an execution impersonation level for the pool which allows you to customize the rights given to a Web application in that same granular fashion. One big improvement for ASP.NET is that the Application Pool replaces most of the ProcessModel entry in machine.config. This entry was difficult to manage in IIS 5, because the settings were global and could not be overridden in an application specific web.config file. When running IIS 6, the ProcessModel setting is mostly ignored and settings are instead read from the Application Pool. I say mostly – some settings, like the size of the ThreadPool and IO threads still are configured through this key since they have no equivalent in the Application Pool settings of the server.

Because Application Pools are external executables these executables can also be easily monitored and managed. IIS 6 provides a number of health checking, restarting and timeout options that can detect and in many cases correct problems with an application. Finally IIS 6’s Application Pools don’t rely on COM+ as IIS 5 isolation processes did which has improved performance and stability especially for applications that need to use COM objects internally.

ref:west-wind

Saturday, November 28, 2009

MVS SYSTEM CODES-S804

The storage needed to execute the program was not available.

1. The region parameter did not specify enough storage.
2. The region parameter was omitted, and the default storage amount was too small to run the correct program.
3. Block sizes were increased or buffers were added, and the region size was not increased.
4. A logic error caused excessive storage to be obtained but not freed.

1. Increase the region size.
2. Look for logic errors which may cause excessive f calls to other programs or requests for storage.

Ref: www.ibmmainframes.com

Thursday, November 26, 2009

Encrypting e-mail

Encryption means scrambling the text of your message to a seemingly gibberish combination of letters and numbers, so that anyone who reads it en route can make no sense of it. Only the recipient is able to decrypt the message.
Using public keys is the most common form of encryption. This requires the use of two keys - a public key and a private key. The private key resides on your computer and you share the public key with the recipients to which you wish to send encrypted messages. When you wish to send the message, you encrypt it with the public key. On the other end, the recipient needs its own private key and your public key to decrypt the message. Since the message is decrypted using your public key, it proves that you sent the message. You can encrypt messages as well as attachments.
If you use Outlook as your e-mail client, encryption is built into it via digital IDs, which enable you to encrypt your message and digitally sign it as well. You can also use the popular public-key encryption system, PGP (Pretty Good Privacy), with Outlook itself and with other e-mail clients. This utility is available as freeware on Source: www.pgpi.org.

Tuesday, November 24, 2009

IIS 6 – Viva the Application Pool

Although IIS 6 application pools are separate EXEs, they are highly optimized for HTTP operations by directly communicating with a kernel mode HTTP.SYS driver. Incoming requests are directly routed to the appropriate application pool. InetInfo acts merely as an Administration and configuration service – most interaction actually occurs directly between HTTP.SYS and the Application Pools, all of which translates into a more stable and higher performance environment over IIS 5. This is especially true for static content and ASP.NET applications.

An IIS 6 application pool also has intrinsic knowledge of ASP.NET and ASP.NET can communicate with new low level APIs that allow direct access to the HTTP Cache APIs which can offload caching from the ASP.NET level directly into the Web Server’s cache. In IIS 6, ISAPI extensions run in the Application Pool worker process. The .NET Runtime also runs in this same process, so communication between the ISAPI extension and the .NET runtime happens in-process which is inherently more efficient than the named pipe interface that IIS 5 must use. Although the IIS hosting models are very different the actual interfaces into managed code are very similar – only the process in getting the request routed varies a bit.

Sunday, November 22, 2009

MVS SYSTEM CODES-S806

A module requested by the program could not be found.

1. The module requested did not exist in the data sets specified in the STEPLIB or JOBLIB.
2. A JCL STEPLIB or JOBLIB DD statement was missing or incorrect.
3. The module name was misspelled.
4. An I/O error occurred in searching for the module in the library directory.

1. Verify that the correct program is being requested.
2. Ensure that the appropriate STEPLIB or JOBLIB DD statements are in the JCL.
3. If necessary, recreate the data set.
Ref: www.ibmmainframes.com

Friday, November 20, 2009

AS/400 Tip 2

Data Areas are chunks of memory to hold a few control values. A typical use is to keep track of the last invoice number for a system.

To create a data area, use the command
CRTDTAARA (Create Data Area).
For example, to create a 100 character data area named LASTINV#:
CRTDTAARA DTAARA(MYLIB/LASTINV#) TYPE(*CHAR) LEN(100)
Now, load the first 10 positions with the value "AA12345678" with the CHGDTAARA (Change Data Area) command
CHGDTAARA DTAARA(QTEMP/LASTINV# (1 10)) VALUE('AA12345678')
Look at the value of the data area with DSPDTAARA (Display Data Area):
DSPDTAARA MYLIB/LASTINV# A CL program can retrieve the value with RTVDTAARA.
An RPG program uses the "IN" operation to retrieve the value and the "OUT" operation to change it. There is a special Data Area known as the LDA (Local Data Area). It is 1024 characters and is associated with a job. So, any display session has an LDA associated with it. Not only that, when a job is submitted to run in batch, the LDA gets sent with the job so the batch job can read the LDA of the display session that submitted it.

View and change your LDA by using *LDA instead of a data area name:
DSPDTAARA *LDA CHGDTAARA DTAARA(*LDA (1 10)) VALUE('AA12345678')
Using the LDA is considered by many to be an obsolete style. Older programs use the LDA to store and pass parameters.

Source: http://www.texas400.com/b400tip1.html

Wednesday, November 18, 2009

AS/400 Tip 1

Converting an AS/400 database file to a CSV file
You may find yourself in a situation where you want to run a Query on a file, save the information to a database,and then convert that information to a Comma Separated Variable (CSV) file. This is especially true when you need the data to be used in a "spread sheet" format like Excel.
The simplest way to do this is to copy the information from the data file to your newly created CSV file.

Enter this command:
CPYTOIMPF FROMFILE(*LIBL/DTAFIL) TOFILE(USER999/CSVPC)
Hit Enter, and then again 3 times and you have now created a Comma Separated Variable (CSV) File.
Remember that you need a 'destination file' before you can use this command. To create a 'destination file', you will need to use the Create Physical File command. To create a file named CSVPC that is 200 characters in length, type in the command:
CRTPF FILE(USER999/CSVPC)
Hit F4 to prompt the command, and type in the record length you need, for Member, be sure to name it CSV.

Source: http://www.texas400.com/b400tip23.html

Monday, November 16, 2009

CHARSET Statement

The CHARSET statement specifies the contents of one or more of the character segments of a library character set module. A library character set module consists of header information followed by 64 character segments. Each character segment contains the character's 6-bit code for a WCGM location, its scan pattern, and its pitch. You can use the INCLUDE statement to copy an entire module, minus any segments deleted using the DELSEG keyword. In addition, you can use the CHARSET statement to select character segments from any module named with a library character set ID or the GCM keyword. The CHARSET statement can also specify the scan pattern and characteristics for a new character.

The CHARSET statement must always be followed by a NAME statement, another CHARSET statement, or one or more data statements. The CHARSET statement must be preceded by an OPTION statement with the DEVICE parameter if you want to create library character set modules in the 3800 Model 3 compatibility mode module format. The CHARSET statement can be preceded by an INCLUDE statement. More than one CHARSET statement can be coded in the operation group. The operation group can include CHARSET statements that select characters from existing modules and CHARSET statements that create new characters. The CHARSET statement, preceded by an INCLUDE statement, can be used to delete one or more segments from the copy of an existing module to create a new module.

A CHARSET statement with no operands specified, followed by a NAME statement that identifies a library character set module, is used to format and print the module.

Source : http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt1u104/7.5.7?DT=19990113105507

Saturday, November 14, 2009

INCLUDE Statement

When an IEBIMAGE operation group is used to create a new module, the INCLUDE statement can identify an existing image library module to be copied and used as a basis for the new module. When the operation group is used to update an image library module, the INCLUDE statement identifies the module to be referred to and must be specified.

When the INCLUDE statement is coded in an operation group, it must precede any FCB, COPYMOD, TABLE, GRAPHIC, or CHARSET statements.

Only one INCLUDE statement should be coded for each operation group. If more than one is coded, only the last is used; the others are ignored.

You can code an INCLUDE statement for an FCB module only if the DEVICE=4248 parameter is specified on the OPTION statement. Either 3211 format or 4248 format FCBs may be included. IEBIMAGE tries to locate the 4248 format FCB first; if it is not found, IEBIMAGE looks for the 3211 format. You cannot copy a 3800 FCB module with INCLUDE.

Source : http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt1u104/7.5.8?DT=19990113105507

Thursday, November 12, 2009

Different ways to shut down your PC

There are so many different ways to turn off your Windows XP computer, let's look at some of them:
1. The standard approach - click the Start Button with your mouse, then select the Turn Off menu and finally click the Turn Off icon on the Turn Off computer dialog.
2. Press Ctrl+Esc key or the Win key and press U two times - the fastest approach.
3. Get the Shutdown utility from Download.com - it adds the shut down shortcuts for you. Else create them yourself using approach (4).
4. Create a shutdown shortcut on your desktop. Right click on the desktop, choose New Shortcut and type shutdown -s -t 00 in the area where you are asked to specify the location of the program file. Now you can just double click this icon to turn off the computer. The best location would be your quick launch bar.
5. Press the Win key + R key to open the run window. Type shutdown -s -t 00. [s means shutdown while t means the duration after which you want to initiate the shutdown process]. If some open processes or application won't let you turn off, append a -f switch to force a shutdown by closing all active processes.
6. Win+M to minimize all windows and then Alt+F4 to bring the Turn Off computer dialog.
7. Open Windows Task manager (by right clicking the Windows Task bar or Alt+Ctrl+Del) and choose Shut down from the menu. Useful when the Windows are not responding.
8. open task manager - click on shutdown - hold the ctrl key and click on Turn off, pc will be turned off in 3 secs. Fastest method other than hard shutdown.

Tuesday, November 10, 2009

Create and Format an Excel in Asp.net

A simple code snippet to create excel and write some date to cell from C#.
Step 1: Add reference to " microsoft excel 12.0 object library " in the project.
Step 2: Include the namespace " using Excel = Microsoft.Office.Interop.Excel; "
Step 3: In the click event of export button:
string strCurrentDir = Server.MapPath(".") + "\\";
Excel.Application excel = new Excel.ApplicationClass();
excel.Visible = false;
Excel._Workbook workbook = excel.Workbooks.Add(Missing.Value);
Excel.Sheets sheets = workbook.Worksheets;
Excel._Worksheet exlSheet = (Excel.Worksheet)sheets.get_Item("Sheet1");
summarySheet.Name = "Report Name";
Excel.Range headerRng = (Excel.Range)exlSheet .get_Range("A1", "B1");
headerRng.MergeCells = true; headerRng.Value2 = "Report Header";
headerRng.Font.Bold = true;
headerRng.Font.Name = "Arial";
headerRng.Font.Size = 18;
headerRng.WrapText = true;
headerRng.HorizontalAlignment = Excel.Constants.xlCenter;
headerRng.Interior.Color = System.Drawing.Color.Gray.ToArgb();
headerRng.Borders.Weight = 3;
headerRng.Borders.LineStyle = Excel.Constants.xlSolid;
headerRng.Cells.RowHeight = 30;
headerRng.EntireColumn.AutoFit();

workbook.SaveAs(strCurrentDir + "ExportReport.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, false, false, null, null, null);

Sunday, November 08, 2009

Verifying a connection between the AS/400 and RPM

To make a TCP/IP connection to RPM, the TELNET command may be used. To verify a connection, perform the following telnet test.
  • At the AS/400 command prompt, type TELNET and press F4
  • In the Start TCP/IP TELNET (TELNET) screen, press F9 to view "all parameters."
  • In the Remote System field, type *INTNETADR. Enter the IP address of the RPM host in the Internet Address field.
  • Locate the Port parameter and enter 515, then press Enter.

If RPM is configured to relax the 'port in range' requirement, this will input-inhibit the session if a connection is made. Close RPM (Windows 9x) or restart the RPM service (RPM Elite/Select) to release the AS/400 session. Then restart RPM and check the RPM log for new message.

If RPM is not configured this way, a new message should be displayed in the RPM log stating:
Client port xxxx out of range
Although this message is a warning, it verifies that a connection was made to RPM at port 515.

Source: http://www.brooksnet.com/faq/101-11.html

Friday, November 06, 2009

Finding and displaying hyperlinks in a web page

The Java application written below uses regular expressions to find and display hyperlinks contained within a Web page. After compiling the file, you should save a Web page to the same folder that contains ShowLinks.class.

import java.io.*;
import java.util.regex.*;
public class ShowLinks {
public static void main(String[] arguments) {
if (arguments.length < 1) {
System.out.println("Usage: java ShowLinks [page]");
System.exit(0);
}
String page = loadPage(arguments[0]);
Pattern pattern = Pattern.compile(" Matcher matcher = pattern.matcher(page);
while (matcher.find()) {
System.out.println( matcher.group(1));
}
}

private static String loadPage(String name) {
StringBuffer output = new StringBuffer();
try {
FileReader file = new FileReader(name);
BufferedReader buff = new BufferedReader(file);
boolean eof = false;
while (!eof) {
String line = buff.readLine();
if (line == null)
eof = true;
else
output.append(line + "\n");
}
buff.close();
} catch (IOException e) {
System.out.println("Error – " + e.toString());
}
return output.toString();
}
}

java-tips.org

Wednesday, November 04, 2009

Compressing a Byte Array

This Java tip illustrates an example of compressing a Byte Array. Developer may compress a byte array with the help of Deflater class.
byte[] input = "compression string".getBytes();
Deflater compressor = new Deflater();
compressor.setLevel(Deflater.BEST_COMPRESSION);
compressor.setInput(input);
compressor.finish();
ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length);
byte[] buf = new byte[1024];
while (!compressor.finished()) {
int count = compressor.deflate(buf);
bos.write(buf, 0, count);
}
try {
bos.close();
} catch (IOException e) {
}
byte[] compressedData = bos.toByteArray();

java-tips.org

Monday, November 02, 2009

What is Adobe Text Layout Framework

The Text Layout Framework is an extensible library, built on the new text engine in Adobe Flash Player 10, which delivers advanced, easy-to-integrate typographic and text layout features for rich, sophisticated and innovative typography on the web. The framework is designed to be used with Adobe Flash CS4 Professional or Adobe Flex®, and is already included in the next version of Flex, code named Gumbo. Developers can use or extend existing components, or use the framework to create their own text components.

Together with the new text engine in Flash Player 10 and AIR 1.5, the Text Layout Framework delivers multi-lingual, print-quality typography for the web, including support for:
  • Bidirectional text, vertical text and over 30 writing systems including Arabic, Hebrew, Chinese, Japanese, Korean, Thai, Lao, the major writing systems of India, and others.
    >Selection, editing and flowing text across multiple columns and linked containers, and around inline images
  • Vertical text, Tate-Chu-Yoko (horizontal within vertical text) and justifier for East Asian typography
  • Rich typographical controls, including kerning, ligatures, typographic case, digit case, digit width and discretionary hyphens
  • Cut, copy, paste, undo and standard keyboard and mouse gestures for editing
  • Rich developer APIs to manipulate text content, layout, markup and create custom text components.

Saturday, October 31, 2009

EXCEL SHORTCUT KEYS

F2 Edit the selected cell
F5 Go to a specific cell
F7 Spell check selected text and/or document
F11 Create chart
Ctrl + Shift + ; Enter the current time
Ctrl + ; Enter the current date
Alt + Shift + F1 Insert new worksheet
Shift + F3 Open the Excel® formula window
Shift + F5 Bring up search box
Ctrl + A Select all contents of worksheet
Ctrl + B Bold highlighted selection
Ctrl + I Italicize highlighted selection
Ctrl + C Copy selected text
Ctrl + V Paste
Ctrl + D Fill
Ctrl + K Insert link
Ctrl + F Open find and replace options
Ctrl + G Open go-to options
Ctrl + H Open find and replace options
Ctrl + U Underline highlighted selection
Ctrl + Y Underline selected text
Ctrl + 5 Strikethrough highlighted selection
Ctrl + O Open options
Ctrl + N Open new document
Ctrl + P Open print dialog box
Ctrl + S Save
Ctrl + Z Undo last action
Ctrl + F9 Minimize current window
Ctrl + F10 Maximize currently selected window
Ctrl + F6 Switch between open workbooks/windows
Ctrl + Page up & Page Down Move between Excel® worksheets in the same document
Ctrl + Tab Move between two or more open Excel® files
Alt + = Create formula to sum all of above cells
Ctrl + ‘ Insert value of above cell into current cell
Ctrl + Shift + ! Format number in comma format
Ctrl + Shift + $ Format number in currency format
Ctrl + Shift + # Format number in date format
Ctrl + Shift + % Format number in percentage format
Ctrl + Shift + ^ Format number in scientific format
Ctrl + Shift + @ Format number in time format
Ctrl + g Move to next section of text
Ctrl + Space Select entire column
Shift + Space Select entire row
Ctrl + W Close document

Thursday, October 29, 2009

Applying Regular Expressions on the contents of a file

This Java tip illustrates a method of applying Regular Expressions on the contents of a file. The matching routines in java.util.regex require that the input be a CharSequence object. This tip implements a method that efficiently returns the contents of a file in a CharSequence object.

public CharSequence fromFile(String filename) throws IOException {
FileInputStream input = new FileInputStream(filename);
FileChannel channel = input.getChannel();
ByteBuffer bbuf = channel.map(FileChannel.MapMode.READ_ONLY, 0, (int)channel.size());
CharBuffer cbuf = Charset.forName("8859_1").newDecoder().decode(bbuf);
return cbuf;
}

Here is sample code that uses the above method:
try {
Pattern pattern = Pattern.compile("pattern");
Matcher matcher = pattern.matcher(fromFile("infile.txt"));
while (matcher.find()) {
String match = matcher.group();
}
} catch (IOException e) {
}
java-tips.org

Tuesday, October 27, 2009

Divergence Index in Distributed Databases with Replication

This post is basically a synopsis of database architecture/design I recently worked on for a RFP response.

Suppose that in a geographically distributed database deployment scenario, two databases (with copies of the same data) at geographically separated locations accept DMLs simultaneously. To ensure data convergence, these databases also engage in asynchronous bi-directional replication with each other along with standard measures like conflict detection and resolution. However, since the replication overhead is finite, at any instant in time, it is acceptable that a particular record in the database at one site is not available in the database at the other site. Let's assume that the total time taken for a record (after it is updated at the database at one site) to appear in the database at the other site is T. Thus T will comprise of the capture overhead at the source site, the network latency across sites and the apply overhead at the destination site. A very important consideration here is that the capture and apply processes at the databases are assumed to be not specific to tables - meaning that replication across any given pair of tables will undergo a total lag of T. This kind of an arrangement requires strict vigil on the replication throughput to ensure that severe data divergence does not occur. We need to develop metrics to quantify which site 'lags' and by how much. Let's give this metric a jazzy name - the 'Divergence Index' a.k.a DI. I'll put forward a simple approach toward calculating and interpreting the value of DI.

Oracle's documentation on Streams replication discusses the concept of a 'heartbeat table' that is something like this: assume that using some mechanism like NTP (network time protocol), the system date of the databases at both sites are synchronized. At both databases, we create a table 'heartbeat' with just two columns - a siteID (varchar) and a timestamp (defaults to the current time). Using a scheduled recurring job, we update (or insert) a record in this table. Thus this table will contain a record with values corresponding to that site's ID and the timestamp of the last update. Now, this table is configured as a publisher as well as a subscriber to the corresponding table of the other database. Therefore, at any instant in time, this table will tell us (i)when it was locally updated last and (ii)the timestamp of the most current update at the other database that has appeared locally. Neat, isn't it?. Note that this concept is nowhere specific to Oracle - you could do this with any decent RDBMS. So, what does this heartbeat table have to do with calculating DI?
Let's see.
DI measured at site A can be calculated as
DI(A) =( t(A) - t(B) ) / T
where,t(A) represents the highest value of the timestamp column with siteID = A andt(B) represents the highest value of the timestamp column with siteID = B

There are some very interesting and useful deductions possible from this. But before that, remember that the heartbeat tables are merely instrumented tables. The actual replication load is generated by other tables that are configured for application data. So, the updates on the heartbeat tables alone can never be of significance as far as calculating DI is concerned. Agreed? great!

Quite obviously, the ideal value of DI is 1.If DI > 1, either records from one database are taking longer than T to get applied at the other database or the scheduled update of the heartbeat table is not happening at the other site.If DI <> DI(B), updates from A reach B mach faster than they reach A from B - this means that the database at site B is relatively much more loaded with DMLs than A. This indicates that (possibly) the load balancing across databases is improper.

For DI to be an useful metric, it should be measured at an interval not less than the heartbeat update interval. A lot can be achieved by maintaining a history of the value of DI and charting them over a period of hours, days and weeks. For example, if you notice that over a period of time, the DI at both sites keep increasing, then you could additionally see, for a given site, say A, how the value of t(B) has changed over the same period. In the worst case, if t(B) has not changed (thereby DI has increased), it clearly means that A has stopped applying B's updates. If you notice similar behaviour at the other site, you could well have a total replication breakdown.

Sunday, October 25, 2009

How do touch-screen monitors recognize your touch?

There are three basic systems that are used to recognize a person's touch:
  • Resistive
  • Capacitive
  • Surface acoustic wave

The resistive system consists of a normal glass panel that is covered with a conductive and a resistive metallic layer. These two layers are held apart by spacers, and a scratch-resistant layer is placed on top of the whole setup. An electrical current runs through the two layers while the monitor is operational. When a user touches the screen, the two layers make contact in that exact spot. The change in the electrical field is noted and the coordinates of the point of contact are calculated by the computer. Once the coordinates are known, a special driver translates the touch into something that the operating system can understand, much as a computer mouse driver translates a mouse's movements into a click or a drag.

In the capacitive system, a layer that stores electrical charge is placed on the glass panel of the monitor. When a user touches the monitor with his or her finger, some of the charge is transferred to the user, so the charge on the capacitive layer decreases. This decrease is measured in circuits located at each corner of the monitor. The computer calculates, from the relative differences in charge at each corner, exactly where the touch event took place and then relays that information to the touch-screen driver software. One advantage that the capacitive system has over the resistive system is that it transmits almost 90 percent of the light from the monitor, whereas the resistive system only transmits about 75 percent. This gives the capacitive system a much clearer picture than the resistive system.

On the monitor of a surface acoustic wave system, two transducers (one receiving and one sending) are placed along the x and y axes of the monitor's glass plate. Also placed on the glass are reflectors — they reflect an electrical signal sent from one transducer to the other. The receiving transducer is able to tell if the wave has been disturbed by a touch event at any instant, and can locate it accordingly. The wave setup has no metallic layers on the screen, allowing for 100-percent light throughput and perfect image clarity. This makes the surface acoustic wave system best for displaying detailed graphics.

Source:- http://www.howstuffworks.com

Friday, October 23, 2009

To make the application user friendly to your customers.

Do you aware of the 'Usability Testing' which is a part of non-functional testing?
Usability Testing is to make the application user-friendly to your customers.
If your customers want to do usability testing in the application (or) want to know about Usability testing, let me know.

Wednesday, October 21, 2009

Siebel Mobile Client Debugging (Using Environment Variable)

We often come across errors and problems in Siebel application whose source cannot be easily identified. The standard spooling (/s method in the Target of the siebel exe) of queries is helpful many times.
But many other times there is need of more detailed logging than the one produced by simple spool.
I am listing an already existing very simple method of detailed logging here. Many of you might already be aware and using this method. I have always found this method gives me the exact source of the problem.
Ok so say you are getting an error, which cannot be linked to any configuration or any change you have done.

The steps to increase the logging detail are:
1. Right-Click My Computer select Properties.
2. Goto Advanced tab in the system properties.
3. Click on the environment variables
4. In the environment variables window, create a new system variable by clicking the New button
5. Add variable name as SIEBEL_LOG_EVENTS, the variable value can be 4 or 5. I would recommend using value 4 to start, if that is not helpful increase it to 5.
6. Restart the system after making this change.
7. Start the Siebel application, reproduce the problem which needs debugging.
8. Goto the Log folder in the Webclient directory, open the Siebel.log file (it will be large in size) present there.
9. Search for error in this log file.

IMPORTANT: Remember to remove this System Variable after you are done with your debugging, otherwise the size of the file will go on increasing and eat up you system memory. And yes you will again need to restart your system for the removal to take effect.

The size of the log file generated by using this method is quite large. It might become a bit difficult to handle these files if you are not used to handling very large files. You can use the wordpad to open these files which will be a little bit faster than usual notepad. I use a different method involving a file splitting tool. I will handle that in my next post.

Have a successful debugging!!!

Monday, October 19, 2009

How to print webpage without images and background colors?

Today tip will help you to print any website page in readable form (only text) without any extra graphics or images. There is a option on many websites "Print" to print a page in text format only, but if there is no print option then you can print out any webpage without its background colors and images using Internet Explorer setting.
Generally Internet Explorer setting "Print background colors and images" is disable, another advantage of printing webpage without background colors, you can speed up your printing process and also save printer ink. But important thing to always preview WebPages before you print, in Internet Explorer go to File menu, then click on Print Preview option.

1)To enable or disable print background colors option, open your system Internet Explorer.
2)Click the Tools menu and then go to Internet Options and open it. Here click the Advanced tab then scroll down to find the option Printing section.
3)Now check the option "Print background colors and images" then Apply and press Ok button.

Saturday, October 17, 2009

Shell script - Compare two files

#!/bin/bash
clear
ARGV=3
if [ $# -eq 3 ];
then
echo "The following lines are Missing in the Destination File $2" >$3
echo -e "#######################################################################################"echo -e "#\t Please wait…."
while read LINE
do
grep -F "$LINE" $2>/dev/null
if [ $? -eq 0 ];
then
echo "">/dev/null
else
echo "$LINE" >>$3
fi
done <$1
else
echo "Syntax Usage: ./filecompare.sh source destination output"
fi
echo -e "#\t Script Done"
echo -e "#\t `cat $3wc -l` lines are missing in the file $2. Output file is $3"
echo -e "#######################################################################################"

Thursday, October 15, 2009

JBOSS Default Ports Configuration

Below listed are Default ports which can see after starting the default JBOSS instance…….
——————————————————————————————————————
8009 Apache java portocol connector
8080 HTTP 1.1 Connector
1099 Naming Bootstrap
1098 Naming Remote Method invocation
4444 EJB Invoker
4445 Alernative Pooled EJB Invoker
8083 Class Loading Service
8093 Messaging UIL2
———————–
Clustering
———————–
1100 Clustered Naming Service
1102 Naming Discovery

Tuesday, October 13, 2009

Months as string in Cf

MonthAsString
Determines the name of the month that corresponds to month_number.
A string; the name of a month.
Syntax :
MonthAsString(month_number)


Parameter Description
month_number An integer in the range 1 - 12.

MonthAsString Example



More information about your date:



Your date, #DateFormat(yourDate)#.

It is #DayofWeekAsString(DayOfWeek(yourDate))#, day #DayOfWeek(yourDate)# in the week.

This is day #Day(YourDate)
# in the month of #MonthAsString(Month(yourDate))#, which has
#DaysInMonth(yourDate)# days.

We are in week #Week(yourDate)
# of #Year(yourDate)# (day #DayofYear(yourDate)# of
#DaysinYear(yourDate)#).



This is a leap year
This is not a leap year




Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functa46.htm#wp1109961

Sunday, October 11, 2009

DatePart CF function

DatePart
Extracts a part from a date value.
Part of a date, as an integer.

Syntax :
DatePart("datepart", "date")
Parameter Description datepart String:
yyyy: Year
q: Quarter
m: Month
y: Day of year
d: Day
w: Weekday
ww: Week
h: Hour
n: Minute
s: Second
l: Millisecond
When passing a date/time object as a string, you must enclose it in quotation
marks. Otherwise, it is interpreted as a numeric representation of a date/time object.



  • year: #DatePart("yyyy", todayDate)#
  • quarter: #DatePart("q", todayDate)#
  • month: #DatePart("m", todayDate)#
  • day of year: #DatePart("y", todayDate)#
  • day: #DatePart("d", todayDate)#
  • weekday: #DatePart("w", todayDate)#
  • week: #DatePart("ww", todayDate)#
  • hour: #DatePart("h", todayDate)#
  • minute: #DatePart("n", todayDate)#
  • second: #DatePart("s", todayDate)#



source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functi60.htm#wp1103355

Friday, October 09, 2009

MVS SYSTEM CODES-S713

An error occurred in opening a data set on tape. 1. An attempt was made to output to the data set, before the expiration date specified had been reached. 2. The incorrect volume was requested.

Ref: www.ibmmainframes.com

Wednesday, October 07, 2009

Create Dblink Without Tnsnames Ora

It's possible to create a database link without having a alias in your tnsnames.ora file. This is beneficial when you use a remote database only for one time or when your tnsnames.ora is shared on a fileserver and you don't have the privileges to update the file.

create database link
connect to
identified by
using '(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)
(HOST = )
(PORT = 1521)))
(CONNECT_DATA = (SID = )))'

Monday, October 05, 2009

MVS SYSTEM CODES-S714

An error occurred in closing a tape data set. 1. An I/O error occurred while writing a trailer label or tapemark. Rerun the job specifying another volume or device.

Ref: www.ibmmainframes.com

Saturday, October 03, 2009

SQL query tuning tips

“A solution is a state when you are tired of thinking“
This proverb indeed holds good for us in majority of the situations. The solutions that we provide to our customers have room for improvement by all means.
I have tried to list down a few of observations I made in my SQL performance tuning exercises. And I hope it is useful for the readers as well..

Using a Subset in SELECT:
It is always advisable to use the subset of fields that you require to process in a SELECT statement rather than *. Using a SELECT * consumes more resource and time in turn reducing the overall performance of the system.

IN / BETWEEN – Which clause works well for me ?
In case of a choice of using the IN or the BETWEEN clauses in the query, it is advantageous to use the BETWEEN clause, as it is much more efficient.
For example:
SELECT empid,empnameFROM employeeWHERE empid in (1,2,3,4,5,6,7,8,9,10);
is less efficient than:

SELECT empid,empnameFROM employeeWHERE empid BETWEEN 1 and 10;

Assuming there is a useful index on empid, the Query Optimizer can locate a range of numbers much faster (using BETWEEN) than it can find a series of numbers using the IN clause. As it is implied, checking for the list is going to go for N comparisons and BETWEEN would ideally be going for a check against the lower limit and the upper limit.
LIKE clauseIf LIKE is used in a WHERE clause, it is better to try to use one or more leading character in the clause, if at all possible.
For example :
Use
LIKE 'a%' not LIKE '%'
If a leading character is used in the LIKE clause, the query optimizer has the ability to potentially use an index to perform the query thereby, speeding performance. But if the leading character in a LIKE clause is a wildcard, a complete table scan has to be performed to process the query which in turn would bring down the performance.

DISTINCT clauseAt times this clause is added to every SELECT statement, even when it is not necessary. The DISTINCT clause should be used in SELECT statements when it is known that there would be duplicates and having duplicate rows in the result set would cause problems. DISTINCT would return the complete resultset to the temporary space, performs a SORT on the rows and eliminates the duplicates. So it uses the resources exhaustively.The DISTINCT clause reduces the efficiency if not used properly.

I would share some more in near future…Happy Reading !!!

Thursday, October 01, 2009

Top 10 most useful secret moves in Office products!!!

Here are my top 10 most useful secret ninja moves to increase your productivity and win friends and lovers.

1: Format painter (Office)The Format Painter tool replicates the formatting from one part of a document to another. So instead of manually redoing all the formatting yourself, you can use the Format Painter. First, select the text whose formatting you want to replicate. Then, click the Format Painter toolbar button. Finally, select the text you want to imbue with the format. For bonus points, you can double-click the Format Painter button to replicate the formatting to multiple areas of the document!

2: Paragraph in/out/up/down (Office)You can easily move a paragraph in four directions by pressing Alt+Shift+[Arrow]. To increase or decrease the indentation level of a paragraph or bullet point, press Alt+Shift+Right and Alt+Shift+Left respectively. To move a paragraph up or down, press Alt+Shift+Up or Alt+Shift+Down. This works especially well in PowerPoint, where it's common to reorder bullet points or change indentation levels.

3: Increase or decrease font size (Office)To quickly increase the font size of selected text, press Ctrl+Shift+>. To decrease the size, press Ctrl+Shift+<. I find it easy to remember these keyboard shortcuts because the one with the greater-than symbol increases the font size while the less-than symbol decreases it.

4: Quick Access Toolbar (Office)Office 2007 has a Quick Access Toolbar that can be customized to include buttons for your favorite commands. The Quick Access Toolbar is in the top left corner of many Office applications. You customize it by clicking on the drop-arrow on its right.

5: Fill handle (Excel)Excel can auto-fill cells in eerily smart ways. Instead of manually typing a sequence in cells, you can simply type the first few values of the sequence and drag the fill handle to auto-fill the rest of the cells. The fill handle is the little black square at the lower right corner of a selected cell's border. Drag it to automatically fill adjacent cells.
If you drag the fill handle with only one cell selected, it will repeat that cell's value into adjacent cells. However, if you drag the fill handle with multiple cells selected, Excel is smart enough to figure out the series. For instance, in the following example, Excel will fill subsequent cells with the increasing series of odd numbers. This even works for other types of series, like dates and percentages.

6: Moving and copying cells by dragging selection borders (Excel)Quite possibly the most useful yet completely undiscoverable feature in Excel is the ability to move and copy cells by dragging selection borders.
For instance, to move row four between rows one and two, select row four and drag the selection border while holding down the Shift key in order to insert it in its new position. If you drag the border without holding down the Shift key, the selected cells will instead replace the cells you drop them on. Conversely, if you hold down Ctrl while dragging a selection border, the selected cells are copied to their new location.

7: Status bar statistics (Excel)The status bar in Excel shows handy statistics when multiple cells are selected. In Excel 2007, the status bar shows the selected cells' average, count, and sum. This is an easy way to quickly analyze data without authoring formulas.

8: Clear formatting (Word and PowerPoint)To remove formatting from selected text, press Ctrl+Spacebar.

9: Advanced field search (Outlook)In Outlook, you can quickly search through a mail folder by using the Instant Search box. In addition to searching for keywords, you can do a fielded search by prefixing your search text with a variety of field names.
For instance, the above example searches for all mail from people named "jimmy" sent in May with attachments that have "jpg" in the filename. I most often use this feature for two things: to easily find email from a specific person, and to find specific attachments.

10: Presenter view (PowerPoint)PowerPoint has for many years had a great feature called Presenter View, which allows you as the presenter to see a different view of the presentation from your audience. In Presenter View, your monitor shows not only the slides, but also your notes as well as the current elapsed time in the presentation. This makes giving a presentation far easier. To enable Presenter view, go to the Slide Show ribbon and check Use Presenter View. In that same section, you can also change the monitor which the presentation is shown on. One note: the Use Presenter View checkbox can only be checked if you already have a second monitor connected and enabled.

Source: http://office.microsoft.com/en-us/help/HA102750211033.aspx

Tuesday, September 29, 2009

Convert a table to text in Word!!!

To convert a table into text:
Select the rows or the table you want to convert to text. Under Table Tools, on the Layout tab, within the Data group, click Convert to Text. Under Separate text at, click the option for the separator character that you want to use in place of the column boundaries. Word will automatically convert the rows or table into text.

Source: http://www.lockergnome.com/windows/2008/09/08/convert-a-table-to-text-in-word-2007/

Sunday, September 27, 2009

How handle exception in VB.NET ?

VB.NET has an inbuilt class that deals with errors. The Class is called Exception. When an exception error is found, an Exception object is created. The coding structure VB.NET uses to deal with such Exceptions is called the Try … Catch structure.

Syntax:TryCatch ex As ExceptionEnd TryThe Try word means "Try to execute this code". The Catch word means "Catch any errors here". The ex is a variable, and the type of variable it is an Exception object.

Example:Tryrt1.LoadFile ("C:\test10.txt", RichTextBoxStreamType.PlainText)Catch ex As Exception MsgBox (ex. Message) End Try

When you run your program, VB.net will try to execute any code in the Try part. If everything goes well, then it skips the Catch part. However, if an error occurs, VB.NET jumps straight to Catch and exception message in message box is executed.

Friday, September 25, 2009

Designing for Web 2.0

Designing for web 2.0 is nothing but making our design look simple,so that the pages download faster and making elements look very clear.For example, user larger font (font-size:12px) is the latest trend.Like-wise there are so many things which makes different from non-web2.0 websites.
Few of them are separating header from the content, Using cute icons, using larger font-size, etc,

Wednesday, September 23, 2009

Ingenium product Vs Mainframe Technology

Ingenium Knowledge
• Exposure to Domain and end to end knowledge of Policy Administration system
• Various Insurance Product Implementation / business processes exposure
• Specific Products knowledge is valued against technologies in the market
• Quick recognition and faster growth perspective
• Opportunity to play multiple roles and responsibilities based on experience and exposure

Open/Mainframe System Knowledge
• Limited to technology and not much exposure to domain
• Knowledge is restricted only towards technology / business process of that applications
• Niche technical skills alone are valued in the market
• Quick recognition and Growth perspective is not very encouraging
• Career Path is limited with pre-defined roles and responsibilities

Monday, September 21, 2009

Pseudo conversational transaction in CICS

Pseudo conversational transaction:
There are some advantages in CICS online system.

Multitasking: CICS allows multiple transactions (tasks) to execute at the same time
Multithreading: CICS allows multiple concurrent tasks to share the same program
Re-entrance: Programs running under CICS do not change themselves so that they can continue from where they left off after an interruption.

CICS –> Transaction to trigger application and It is also batch job to the mainframe.
Transaction –> 4 Character unique identification and all these transaction is controlled by control tables.

Saturday, September 19, 2009

Sample Procedure

To run procedure(proc) in sql+ or sql develpoer there are two methods:
1) begin
proc_name;
end;

2) proc proc_name;

Thursday, September 17, 2009

Handling Dropdown elements using Selenium IDE

Here is an example on how to handle Dropdown elements in selenium IDE.
Example:





Select From Dropdown











































































Select From Dropdown
store 58058 option1
store 30 index1
open http://pages.ebay.com/sitemap.html
select category0 label=Toys & Hobbies
storeSelectedLabel category0 label1
assertSelectedIndex category0 ${index1}
assertSelectedLabel category0 ${label1}
select category0 label=Computers & Networking
storeSelectedLabel category0 label2
assertSelectedLabel category0 ${label2}
assertSelectedValue category0 ${option1}




Tuesday, September 15, 2009

Different BitMapset Macros in CICS.

Mapset:
- Group of maps link edited together and mapset consisting of several maps
Map:
- Representation of one screen format

Different Macros:
DFHMSD - Mapset macro
DFHMDI - Map macro
DFHMDF - Field macro

Example:
DFHMSD - Mapset macro
Mapname DFHMSD TYPE = &&SYSPARM,
CTRL= (FREEKB, FRSET), LANG=COBOL, STORAGE=AUTO, TIOAPFX=YES, MODE=INOUT, TERM=3270
DFHMDI - Map macro
Mapname DFHMDI SIZE = (24,80), LINE=01, COLUMN=01,
CTRL=(FREEKB,FRSET)
DFHMDF - Field macro
DFHMDF POS= (01,01), LENGTH=4, INITIAL=‘SCR1’,
ATTRB=ASKIP

Sunday, September 13, 2009

General CICS commands.

CICS Commands Structure:
EXEC CICS CICS COMMAND OPTION (value) (Parameters as needed)END-EXEC.

OPTIONS:
RECEIVE
- Used to receive incoming data from the terminal. - A receiving area must be defined in the working storage section.
SEND - Used to send outgoing data to the terminal. - A receiving area must be defined in the working storage section and specified in FROM parameter.
RETURN - Used to terminate the transaction and return control to CICS.
XCTL - Used to pass control between application programs at same logical level.
LINK - Used to pass control between application programs. - Control passed from higher logical level to next lower logical level.
HANDLE AID - Used to specify paragraph name to which control is passed.

Friday, September 11, 2009

Oracle Data Management Solution

Oracle Site Hub is a location mastering solution that enables organizations to centralize site and location specific information from heterogeneous systems, creating a single view of site information that can be leveraged across all functional departments and analytical systems. Site Hub helps organizations eliminate the problem of distributed, fragmented, incomplete and inconsistent site data resulting from isolated silos of data, lack of centralized data repository, rapid business expansion or mergers and acquisitions.

What does it delivers
1. A pre-built extensible data model for mastering site information both internal and external such as competitor, supplier, customer sites
2. A single enterprise wide 360 degree view of the sites
3. Unlimited number of pre-defined and user-defined attributes for consolidating site-specific information
4. Mass maintenance capabilities to manage updates to multiple sites
5. Site mapping and view using Google Maps
6. Pre-built integration with Oracle Inventory, Oracle Property Manager and Oracle
7. Enterprise Asset Management to manage site-specific inventory, property lease and assets 8. Web services to consolidate and share site data across disparate systems and processes
http://www.oracle.com/master-data-management/site-hub.html

Wednesday, September 09, 2009

Cocomo, Build real-time social app. with Flex

Add social features to your existing Flex apps or build totally new ones, such as real-time productivity/collaboration apps, multiplayer games, and audio/video chat.

Features of the Cocomo beta include the following:
  • VoIP Audio
  • Webcam Video
  • Chat
  • Multi-User Whiteboards
  • Real-Time File Sharing
  • User Management
  • Roles and Permissions
  • Robust Data Messaging

To get started:
To get access to the Cocomo service and Cocomo SDK, you will need to create a developer account. Follow these steps to create a developer account:

1.Navigate to the Developer Portal (http://cocomo.acrobat.com/)
2.Enter your existing Adobe ID or create a new Adobe ID with different email address and password. Your Cocomo developer account will be automatically created based on your Adobe ID.
3.Download and unzip the Cocomo SDK, check out the documentation, and start developing.
4.Ask questions and share your feedback in the Cocomo forums

Monday, September 07, 2009

Example for accessing a control in the master page from a content page

The following code shows an example that accesses a control in the master page from a content page.

<%@ master language="C#" %>


Master Page














Left Navigation












ref:devx

Saturday, September 05, 2009

How to access the Header control from a content page

<%@ page language="C#" master="~/ExposeHeader.master" %>


This content is generated from the content page.

ref:devx

Thursday, September 03, 2009

Accessing super-super class variables

In core java, Sub-classes can use super keyword to access the shadowed variables in super-classes. This technique allows for accessing only the immediate super-class. super.super is not valid. But casting the 'this' reference to classes up above the hierarchy will do the trick. By this way, variables in super-classes above any level can be accessed from a sub-class, since variables are resolved at compile time, when we cast the 'this' reference to a super-super-class, the compiler binds the super-super-class variable. But this technique is not possible with methods since methods are resolved always at runtime, and the method gets called depends on the type of object, not the type of reference variable. So it is not at all possible to access a method in a super-super-class from a subclass.

Example:
class A{
int c=1;
public void disp(){
System.out.println("A");
}
}

class B extends A{
int c=2;
public void disp(){
System.out.println("B");
}
}

class C extends B{
int c=3;
public void disp(){
System.out.println("C");
}

void demo(){
disp();
super.disp();
((A)this).disp();
System.out.println(c);
System.out.println(super.c);
System.out.println(((A)(this)).c);
}
}
public class G{
public static void main(String args[]){
new C().demo();
}
}

Output:-
C
B
C
3
2
1

Tuesday, September 01, 2009

Want to browse the web from Outlook

How great it will be if you are able to browse the web from outlook.Yes,you can surf the web without leaving your outlook.
Find the coolest information here.
To surf the web you need web toolbar,so display the web toolbar you have to go to view menu,toolbar submenu,then select web.
Now you can find web toolbar below menu option .Enter the web address in web toolbar and hit enter key.
You can see the main screen becomes browser,but oulook navigation pane on left side will be as it is..
To return to outlook you just have to click the navigation pane.
That's it.You have discovered browser in oulook.How cool is it!!
Computers Add to Technorati Favorites Programming Blogs - BlogCatalog Blog Directory