Thursday, December 31, 2009
Writing a 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.
//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
// 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
set.add(name);
}
return (String[])set.toArray(new String[0]);
}
source:java-tips.org
Friday, December 25, 2009
cfobjectcache in CF
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
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
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?
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
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:
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
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
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
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 ?
- 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
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 :
Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-c19.htm#wp1104662
Saturday, December 05, 2009
Saving a BufferedImage to a PNG file
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!!
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
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
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
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
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
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
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
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
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 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 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
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
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
- 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
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("
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
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
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
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
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
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?
- 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.
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)
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?
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
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
——————————————————————————————————————
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
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)#).
Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functa46.htm#wp1109961
Sunday, October 11, 2009
DatePart CF function
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
Ref: www.ibmmainframes.com
Wednesday, October 07, 2009
Create Dblink Without Tnsnames Ora
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
Ref: www.ibmmainframes.com
Saturday, October 03, 2009
SQL query tuning tips
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!!!
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!!!
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 ?
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
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
• 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
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
1) begin
proc_name;
end;
2) proc proc_name;
Thursday, September 17, 2009
Handling Dropdown elements using 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.
- 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.
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
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
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
<%@ master language="C#" %>
ref:devx
Saturday, September 05, 2009
How to access the Header control from a content page
ref:devx
Thursday, September 03, 2009
Accessing super-super class variables
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
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!!
Saturday, August 29, 2009
Automate Web Service Testing the Right Way
In the project our team was working on when this was written, there were many different Web services in need of testing. We needed to check not only the format of the request and response, but also the business logic, data returned by the services and the service behavior after significant changes were made in the architecture. From the very beginning we intended to automate as many of these tests as possible. Some of the techniques we used for automated verification of Web services functionality were as follows:
1.Response schema validation.
This is the most simple and formal procedure of response structure verification. There are free schema validators out there that can easily be built into automated scripts. However, schema validation is not sufficient of you also need to validate the Web services logic based on data returned from a service.
2.Comparison of the actual response with the expected response.
This is a perfect method for Web service regression testing because it allows for checking of both response structure and data within the response. After the successful manual validation, all valid responses are considered correct and saved for future reference. The response of all next versions of that Web service will then be compared with these template files. There is absolutely no need to write your own script for XML file comparison; just find the most suitable free tool and use it within your scripts. However, this method is not applicable when dealing with dynamic data or if a new version of Web services involves changes in the request structure or Web services architecture.
3.Check XML nodes and their values.
In the case of dynamic data, it can be useful to validate only the existence of nodes using XPath query and/or check the node values using patterns.
4.Validate XML response data against original data source.
As a “data source” it’s possible to use database, another service, XML files, non-XML files and in general, everything that can be considered a “data provider” for Web services. In combination with response schema validation, this method could be the perfect solution for testing any service with dynamic data. On the other hand, it requires additional skills to write your own scripts for fetching data from data source and comparing it with service response data.
5.Scenario testing.
This is used when the test case is not a single request but a set of requests sent in sequence to check Web services behavior. Usually the Web services scenario testing includes checking one Web service operation using another. For example, you can check that the CreateUser request works properly by sending a GetUser request and validating the GetUser response. In general, any of the above techniques can be used for Web services scenarios. Just be careful to send requests one after another in the correct order. Also be mindful of the uniqueness of test data during the test. The service might not allow you to create, for example, several users with the same name. It’s also common for one request in a sequence to require data from a previous response. In this case you need to think about storing that data and using it on the fly.
All of these techniques were implemented using a home-grown tool which we were using in our day-to-day work. Using that tool, we are able to automate about 70 percent of our test cases. This small utility that was originally created by developers for developers to cover typical predefined test conditions and gradually evolved into rather powerful tool. Having such a tool in your own organization could help your testing efforts well into the future.
Source: http://www.stpmag.com
Thursday, August 27, 2009
W3C XML schema
…
source: java-tips.org
Tuesday, August 25, 2009
User Extension for gotoLabel command
Here is the user extension for gotoLabel command.
Selenium.prototype.doGotolabel = function( label ) {
if( undefined == gotoLabels[label] ) {
throw new Error( "Specified label '" + label + "' is not found." );
}
this.continueFromRow( gotoLabels[ label ] );
};
Sunday, August 23, 2009
Increase your system performance
To optimize your Windows XP:-
1. Click Start => Setting => Control Panel
2. Click System => Advance Tab
3. Click Settings button under Performance
4. Under Visual Effects tab, select Adjust for best performance (all the check boxes will be unchecked)
5. Scroll down the list and check “Use Common Tasks in Folders”
6. Click OK and OK again.
Your Windows XP will now has less colourful and lesser visual effect and it will look like MS Windows 98 but do not forget that your system performance would have been by increased now !!!
Source: www.techiecorner.com
Friday, August 21, 2009
Example for gotoLabel command in Selenium IDE
Extension for Label Command:
Selenium.prototype.doLabel = function(){};
Example:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
http://selenium-ide.openqa.org/profiles/test-case">
http://www.google.co.in/" />
New Test | ||
open | http://www.google.co.in/ | |
verifyText | link=Go to Google.com | Go to Google.com |
gotolabel | label1 | |
clickAndWait | link=Go to Google.com | |
verifyTextPresent | this wont execute | |
clickAndWait | link=Go to Google India | |
label | label1 | |
verifyTitle |
Wednesday, August 19, 2009
Learn Vocabulary through SMS
Here are few internet sites which will send you a word a day thru SMS.
http://labs.google.co.in/smschannels/subscribe/wordoftheday
http://www.kaaledge.com
Do register your mobile in these sites and improve your vocabulary.
Monday, August 17, 2009
Restarting Windows Without Restarting Your PC!!!
Sometimes, you need to reboot Windows (e.g. when installing new software), but there is no need to restart BIOS, too. However, the default is to reboot both. (That’s called doing a “cold boot,” rather than a “warm boot.”) There’s a trick that works on both XP and Vista to get it to do a warm boot instead, thus saving you 30 seconds per cycle.
The trick is to hold down the SHIFT key when invoking the restart.
Windows Vista:
Select Start, then hover over the right arrow that is to the right of the padlock icon until the pop-up menu appears that contains “restart” as one of it’s choices. Hold down the SHIFT key while clicking on the “restart” choice.
Windows XP:
Select Start. Select “Shut Down…”. Change the drop-down combo box under “What do you want the computer to do?” to “Restart”. Hold down the SHIFT key while clicking on the “OK” button.
Source: http://pcpandit.com/index.php/windows/restarting-windows-without-restarting-your-pc.html
Saturday, August 15, 2009
Generating random number
Random random = new Random();
Then, you can get your random number by calling:
int pick = random.nextInt(maxvalue);
This would return a value from 0 (inclusive) to maxvalue (exclusive).
For a more cryptographically strong pseudo random generator you may check out java.security.SecureRandom class. Here the caller may specify the algorithm name and (optionally) the package provider. Here is a sample code of using SecureRandom class:
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
random.setSeed(seed);
int randInt = random.nextInt(maxvalue);
source:java-tips.org
Thursday, August 13, 2009
PureMVC Framework for JavaScript Available
Download the Javascript port from the following links.
PureMVC Port for JavaScript - http://trac.puremvc.org/PureMVC_JS PureMVC JS Employee Admin - http://trac.puremvc.org/Demo_JS_EmployeeAdmin
Tuesday, August 11, 2009
Nesting Master Pages
Using the master pages architecture, you could implement a consistent look and feel across all the developer centers. For example, you can have the main MSDN page derive from a root master page. Each developer center can have its own master page, each of which uses the root master page as its master. This means a content page in any of the developer centers will inherit the root master page look and feel settings that provide overall MSDN branding, and will also inherit the custom look and feel specific to that developer center. This nested approach provides each developer center with the freedom to develop customized content while maintaining a consistent overall branding for the entire site.
ref:devx
Sunday, August 09, 2009
Configuring Master Pages
You're not limited by setting the default master page in the web.config file. Even when you use this method to specify the name of a default master page, you can still override the global value by specifying a different master page in the master attribute of the Page directive. Any values you specify using the Page directive takes precedence over the web.config file entry.
To sum up, ASP.NET's new Master Pages feature provides a clean approach to encapsulate common functionality and content a centralized location, allowing other pages to inherit from those master pages, thereby greatly reducing the maintenance. Using master pages, you can also create one set of controls and code and apply the results to all your content pages. Apart from providing a fine-grained control over the layout of the content pages, master pages also expose an object model that allows you to access the master page controls, properties and methods from content pages.
ref:devx
Friday, August 07, 2009
Ten things you might not know about Google
2) The reason the google page is so bare is because the founder didn't know HTML and just wanted a quick interface. Due to the sparseness of the homepage, in early user tests they noted people just kept sitting staring at the screen, waiting for the rest to appear. To solve the particular problem the Google Copyright message was inserted to act as an end of page marker.
3) Google started as a research project by Larry page and Sergey Brin when they were 24 and 23 years respectively. Google's mission statement is to organize the world's information and make it universally accessible and useful. The company's first office was in a garage, in Menlo Park, California. Google's first employee was Craig Silverstein, now Google's director of technology. The basis of Google's search technology is called PageRank that assigns an "importance" value to each page on the web and gives it a rank to determine how useful it is. However, that is not why it is called PageRank. It is actually named after Google co-founder Larry Page.
4) Google receives about 20 million search queries each day from every part of the world, including Antarctica and Vatican. You can have the Google homepage set up in as many as 116 different languages –including Urdu, Latin, Cambodia, Tonga, and Yoruba. In fact, Google has the largest network of translators in the world.
5) In the earliest stage of Google, there was no submit button, rather the Enter key needed to be pressed.Google has banned computer-generated search requests, which can sop up substantial system resources and help unscrupulous marketers manipulate its search rankings.
6) The Google's free web mail service Gmail was used internally for nearly two years prior to launch to the public. The researchers found out six types of email users, and Gmail has been designed to accommodate these six. The free e-mail service recently changed its name for new UK users. Following a trademark dispute with a London-based Independent International Investment Research, the mail account has been renamed Google Mail.
7) It would take 5,707 years for a person to search Google's 3 billion pages. The Google software does it in 0.5 seconds. Google Groups comprises more than 845 million Usenet messages, which is the world's largest collection of messages or the equivalent of more than a terabyte of human conversation
8) The logos that appear on the Google homepage during noteworthy days and dates and important events are called Google Doodle. The company has also created an online museum where it has all the logos it has put on various occasions so far.Dennis Hwang, a Korean computer artist in the United States, is the guy behind these witty Doodles. Hwang has been drawing the face of Google for over two years.
9) You have heard of Google Earth, but not many know there is a site called Google Moon, which maps the Lunar surface. Google Moon is an extension of Google Maps and Google Earth that, courtesy of NASA imagery, enables you to surf the Moon's surface and check out the exact spots that the Apollo astronauts made their landings
10) Keyhole, the satellite imaging company that Google acquired in October 2004 was funded by CIA.Keyhole's technology runs Google's popular program Google Earth that allows users to quickly view stored satellite images from all around the world.
Wednesday, August 05, 2009
Folder Option Missing
Here is the solution—>
1.Open Run and Type "gpedit.msc"
2.Now goto User Configuration>Administrative templates>Windows Component>Windows Explorer
3.Click on windows Explorer you will find the thrid option on the right side of screen "Removes the Folder Option menu item from the tools menu"
4.just check it,if it is not configured then change it to enable by double clicking on it and after applying again set it to not configured.
5.I hope that you will find the option after restarting windows.
Monday, August 03, 2009
Multi Google Talk
1.Right click on google talk shortcut,
2.click on properties
3.Go to shortcut tab on google talk properties window
4.on the target textbox,add in the /nomutex to the end of the line so that it looks like below(or you can simply copy and paste the below syntex and replace the original)
"c:\program files\google\google talk\googletalk.exe" /nomutex
5.click on ok
I didnt have to do anything after this and clicking on the shortcut multiple times just gave me different google talk window.
Saturday, August 01, 2009
How Do You Speed Up Flex Builder?
Here are some of things we do:
1.Build every application in one project using multiple source paths (instead of using extra library projects)
2.Build parts of the applications as SWCs (instead of referencing their source paths)
3.Close extra projects
4.Use a system font instead of embedding fonts
5.Run "eclipse -clean" occasionally
6.Turn off "Copy non-embedded files to source folder"
7.Turn off "Build Automatically"
Things we haven't tried or just trying now and which may be helpful:
1.Build a lot of the application as SWCs or anything as an RSL
2.The Hellfire compiler (http://stopcoding.wordpress.com/2008/06/17/hellfire_compiler/)3.Use the Flex 4 SDK (or just the compiler portion) with Flex Builder
4.Merge some of the many Flex 4 compiler performance changes into a Flex 3 SDK, and using this in Flex Builder
Thursday, July 30, 2009
Want to Add your site to all search engines.
i will give you some list of search engines url submission link,try this link and submit your urls.Your site will be indexed in all search engines in less time and your pages will be displayed in the search results.
Google - http://www.google.com/addurl/
Yahoo - https://siteexplorer.search.yahoo.com/submit
MSN/LIVE - http://search.live.com/docs/submit.aspx
Cipinet - http://cipinet.com/addurl/
Alexa - http://www.alexa.com/site/help/webmasters#crawl_site
Aesop - http://www.aesop.com/cgi-bin/sub/submiturl.cgi
Burf - http://www.burf.com/submit.php
guruji - http://dir.guruji.com/misc/SubmitSite.php
Accoona - http://www.accoona.com/public/submit_website.jsp
Entireweb - http://www.entireweb.com/free_submission/
FyberSearch - http://www.fybersearch.com/add-url.php
MixCat - http://www.mixcat.com/addurl.php
OneSeek - http://www.oneseek.com/listings.htm
WhatUseek - http://www.whatuseek.com/addurl.shtml
Scrub The Web - http://www.scrubtheweb.com/addurl.html
Search Site - http://searchsight.com/submit.htm
SonicRun - http://www.sonicrun.com:8081/add
Abacho - http://www.uk.abacho.com/anmelden.html#nogo
Acoon.com - http://www3.acoon.com/addurl.html
Amfibi - http://addurl.amfibi.com/
homerweb - http://www.homerweb.com/submit_site.html
JGDO - http://www.jdgo.com/add.html
Myahint - http://www.myahint.com/addurlmyahint.html
Walhello - http://www.walhello.com/addlinkgl.html
Stopdog - http://www.stopdog.com/submit
Searchengine.com - http://www.searchengine.com/List_Your_Site/Basic_Submit/
eXactBot - http://www.campubco.com/cgi-bin/exactsearch.cgi?action=showadd
Megaglobe - http://www.megaglobe.com/urlSubmit
Find Once - http://www.findonce.co.uk/submit/
Net Search - http://www.netsearch.org/adds/addurl.php
Susy Search - http://www.susysearch.com/addsite/
Try this links and make your site popular..