Saturday, December 01, 2012

Discover error message


Monday, November 26, 2012

Sunday, October 14, 2012

Your Current Security Settings Do Not Allow This File To Be Downloaded

Downloads on Windows Server:-


I found that in addition to enabling "File Download" (Tools > Internet Options > Security (tab) > Internet > Custom Level > Downloads >> File Download) you also have to Enable (or set to Prompt) these other two options:
"Launching applications and unsafe files" and
"Launching programs and files in an IFRAME" (this one is only needed if your download occurs in an IFrame),
These 2 options are found under the "Miscellaneous" subsection, on the same settings screen as the "File Download" option.
After making these changes, I was then able to download files from sites, without having to put them into the "Trusted Sites" zone.


Saturday, October 13, 2012

Stop/ Disable / Turn Internet Explorer Enhanced Security Configuration in Windows Server 2008


Select the root of the Service Manager navigation pane, and under the Server Summary click Configure IE ESC, which is part of the Security Information section. A dialog box appears, letting Internet Explorer Enhanced Security Configuration be enabled/disable separately for normal users and administrators.


Friday, October 12, 2012

Trend Micro Titanium Maximum Security 2013

If you have bought Trend Micro Titanium Maximum Security 2013 for your home computer which is a Mac you would be surprized to see they don’t bundle Mac version in it. The only way to install and use Trend Micro Titanium Maximum Security 2013  on Mac or even Macbook Pro (without CD/DVD) is to follow these instructions for activating and installing Internet Security for Mac/Smart Surfing for Mac bundled with Titanium

Wednesday, October 10, 2012

Manually Uninstalling Oracle in Windows

  • Uninstall all Oracle components using the Oracle Universal Installer (OUI).
  • Run regedit and delete the HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE key. This contains registry entires for all Oracle products.
  • Delete any references to Oracle services left behind in the following part of the registry (HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Ora*). It should be pretty obvious which ones relate to Oracle.
  • Reboot your machine.
  • Delete the "C:\Oracle" directory, or whatever directory is your ORACLE_BASE.
  • Delete the "C:\Program Files\Oracle" directory.
  • Empty the contents of your "C:\temp" directory.

Oracle Database connection issues

ORA-12514: TNS:listener does not currently know of service

ORA-12541: TNS:no listener

ORA-12545: Connect failed because target host or object does not exist

ORA-12154: TNS:could not resolve the connect identifier specified

ORA-12560: TNS:protocol adapter error

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor


Ed Stevens has an excellent post for all sorts of Oracle connection problems

Tuesday, September 25, 2012

Packt Publishing reaches 1000 IT titles and celebrates with an open invitation

Birmingham-based IT publisher Packt Publishing is about to publish its 1000th title. Packt books are renowned among developers for being uniquely practical and focused.  Packt books cover highly specific tools and technologies which IT professionals might not expect to see a high quality book on.

Packt published their first book in April 2004. One of the most prolific and fastest growing tech book publishers in the world, they now have books on everything from web development to web graphics, e-learning to e-commerce, IT architecture to games, and app development.

Packt supports many of the Open Source projects covered by its books through a project royalty donation, which has contributed over £300,000 to Open Source projects up to now. As part of the celebration Packt is allocating $30,000 to share between projects and authors in a genuinely unique way, soon to be disclosed on their website.

Dave Maclean, founder of Packt Publishing explains, “At Packt we set out 8 years ago to bring practical, up to date and easy to use technical books to the specialist tools and technologies that had been largely overlooked by IT publishers. Today, I am really proud that with our authors and partners we have been able to make useful books available on over 1000 topics and make our contribution to the development community.”

For more information about Packt, the kind of books they publish, and to sign-up for a free account before the 30th of September, 2012, please visit their website:

Sunday, August 26, 2012

Extending existing Virtual Box/VMware partition

Create new virtual disk with dynamic space DiskNew.vdi with total space
VBoxManage clonehd DiskOld.vmdk DiskNew.vdi --existing
Remove DiskOld.vmdk in Settings
Add DiskNew.vdi
Boot into Windows
Disk Management compmgmt.msc
Right click C:
Click Extend Volume
Select the extra unpartitioned space and click Finish







Friday, August 24, 2012

Install Java plugin for firefox in RHEL/Oracle Linux

  1. Close Firefox
  2. Install Java RPM from here :
  3.  cd /usr/lib64/firefox
  4. mkdir plugins
  5. cd plugins
  6. ll
  7. If there is existing link to java plugin delete it
  8. ln -s /usr/java/jre1.7.0_06/lib/amd64/ .
  9. Start firefox and go to about:plugins to verify if Java plugin is installed

Thursday, August 23, 2012

How to uninstall a Windows service

Method 1 - You can use the SC tool (Sc.exe) included in the Resource Kit.
Open a Command Prompt and enter
sc delete <service-name>
Method 2 - Download and use delserv command line utility. This is a legacy tool developed for Windows 2000. In current Window XP boxes this was superseded by sc described in method 1.

delserv delete <service-name>
Method 3 - manually delete registry entries
Windows services are registered under the following registry key.
Search for the sub-key with the service name under referred key and delete it.

Tuesday, August 21, 2012

Migrating/Copying Database

  1. Login as DBA user and note the tablespace name

SQL> SELECT tablespace_name FROM dba_tablespaces;

  1. Perform a full export from the source database

SQL> exp system/manager FULL=y FILE=export.dmp

  1. Move the dump file to the target database server. If using FTP, be sure to copy it in binary format to avoid file corruption.
  2. Create a database on the target server.
  3. Before importing the dump file, create tablespaces, using the same tablespace name.
  4. Login as DBA user & perform a full import. IGNORE=y instructs Oracle to ignore any creation errors during the import and permit the import to complete.

SQL> imp system/manager FULL=y IGNORE=y FILE=export.dmp

Monday, August 20, 2012

ORA-00904: “MAXSIZE”: invalid identifier

I was trying to export from a database. I use Oracle 11g Release My export activity was terminated due to this error:

EXP-00008: ORACLE error 904 encountered
ORA-00904: “MAXSIZE”: invalid identifier
EXP-00000: Export terminated unsuccessfully

This was what I got from Oracle Support:

Applies to:

Oracle Server - Enterprise Edition - Version: to - Release: 10.1 to 10.2
Information in this document applies to any platform.
***Checked for relevance on 22-SEP-2011***


  • ORA-904 occurs when using a release 11g export client to export from release 10g database.
    Export succeeds when using any 10g export client ( ...

Using export client ( to export from database
exp scott/****** file=d:\exp.dmp
Export: Release - Production on Fri Oct 2 10:14:24 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
server uses WE8ISO8859P15 character set (possible charset conversion)
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user SCOTT
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user SCOTT
About to export SCOTT's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export SCOTT's tables via Conventional Path ...
. . exporting table BONUS
EXP-00008: ORACLE error 904 encountered
ORA-00904: "MAXSIZE": invalid identifier
. . exporting table DEPT
EXP-00008: ORACLE error 1003 encountered
ORA-01003: no statement parsed
. . exporting table EMP
EXP-00008: ORACLE error 904 encountered
ORA-00904: "MAXSIZE": invalid identifier
. . exporting table SALGRADE
EXP-00008: ORACLE error 1003 encountered
ORA-01003: no statement parsed
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
EXP-00008: ORACLE error 942 encountered
ORA-00942: table or view does not exist
EXP-00024: Export views not installed, please notify your DBA
EXP-00000: Export terminated unsuccessfully

  • Analysis shows this occurs when the following query is run by export client:

ksedmp: internal or fatal error
ORA-00904: "MAXSIZE": invalid identifier
Current SQL statement for this session:


When export any objects export client run a query agains dictionary view SYS.EXU9STOU to gather storage parameters about object segments.

Since release 11g this view has been updated by a new column MAXSIZE. When using the release 11g export client the utility expect the MAXSIZE column SYS.EXU9STOU of source database.
Given the fact that this column is unavailable in 10g the ORA-904 is reported.

Name                          Null?    Type
----------------------------- -------- ------------------
OWNERID                       NOT NULL NUMBER
TSNO                          NOT NULL NUMBER
FILENO                        NOT NULL NUMBER
BLOCKNO                       NOT NULL NUMBER
INIEXT                        NOT NULL NUMBER
SEXT                          NOT NULL NUMBER
MINEXT                        NOT NULL NUMBER
MAXEXT                        NOT NULL NUMBER
PCTINC                        NOT NULL NUMBER
BLOCKS                        NOT NULL NUMBER
LISTS                                  NUMBER
GROUPS                                 NUMBER
EXTENTS                       NOT NULL NUMBER
PCACHE                                 VARCHAR2(7)
TS_TYPE                                NUMBER
TSNAME                                 VARCHAR2(30)
ISONLINE                               NUMBER
BLOCKSIZE                              NUMBER
HSCOMPRESS                             NUMBER
MAXSIZE                                NUMBER


  • Please use the release 10g export client to export from a 10g database.
  • Once the export dump has been created you'd have to use the release 11g import client to import into your 11g database.

    To solve this use Oracle 10g client to export the Oracle 10g database and then use the 11g client to import into 11g database

    Wednesday, August 15, 2012

    Workaround for using Subversion 1.7 with Hudson 2.1.2

    Hudson version 2.1.2 has support for SVN 1.6 via Hudson Subversion Plug-in. But I wanted the magic of centralized metadata so upgraded to SVN 1.7. Hudson needs to be upgraded to 2.2.1 to take advantage of SVN 1.7 so as a workaround you can use the following build step:-

    1. Install SVN client 1.7 on the server :
    2. Go to Hudson build job->Configure
    3. Disable Source Code management via Subversion
    4. Add Build Step->Execute Windows batch command:-

    Basically you are deleting code and checking out manually rather than Hudson plugin doing it.

    Tuesday, August 14, 2012

    Accessing windows share from Linux


    Determine your IP Address
    You will need to give your Linux computer a location when trying to access shared folders. This location is your PC's IP address. In the Command Prompt type ipconfig and you will see your IP address (it probably starts with 192). My IP address is shown below as
    Mount a Windows shared folder in Linux

    Accessing the shared folder from Linux
    There are two very easy ways to access shared folders in Linux. The easiest way (in Gnome) is to press (ALT+F2) to bring up the run dialog and type smb:// followed by the IP address and the folder name. As shown below, I need to type smb:// If you have your Windows account that requires a password, you will need to enter the password to access the shared folder.
    Mount a Windows shared folder in Linux

    Accessing all shared folders from Linux
    Linux automatically detects and connects to Windows networks. In Gnome, by going to Places and then Network you will automatically see all the Windows networks. You can then navigate through the Windows networks and connect to the shared folder. This is an easy way to manage your shared folders if you have many Windows networks with shared folders.

    Making it easier
    By bookmarking your shared folder you can access it from the Gnome menu.

    Sunday, August 12, 2012

    Remote Access to the RHEL/Oracle Linux Desktop via Windows

    Remote desktop support should is installed by default during the operating system installation process. If it has been installed, a Remote Desktop option will be available in the RHEL desktop System -> Preferences menu. Another useful way to check whether this package is installed is to run the following command from a terminal window (Applications -> System Tools -> Terminal):

    rpm -q vino

    If the rpm command reports package vino is not installed then the next step is to perform the installation. This can be performed either using the Add/Remove Software tool, launched by selecting Applications -> Add/Remove Software —>search for vino—>select the checkbox next to the item in the results list and click on Apply to install the package. Alternatively, to install from a terminal window, enter the following:

    su -
    yum install vino

    Once the installation is complete, the Remote Desktop option will now appear in the System -> Preferences menu.

    Activating Remote Desktop Access

    The next step in setting up remote desktop access is to activate it and define some basic security settings. These settings are configured in the Remote Desktop Preferences dialog. To access this dialog, open the desktop System menu and select Preferences followed by Remote Desktop. When selected, the following window will appear:

    RHEL 5 Remote Desktop Access preferences

    In this dialog the following configuration options are available:

    • Allow others to view your desktop - Activates remote desktop access for viewing purposes.

    • Allow other users to control your desktop - Allows users accessing your remote desktop to control the desktop. In other words the remote user can do anything to your desktop that they want using their mouse and keyboard as if they were sitting physically at the local system.

    • Ask you for confirmation - When selected, this option causes a dialog to appear warning you of an attempt by a remote user to connect and prompting you to confirm or deny the connection. If you are likely to want to log in remotely you will need to turn this off since you will not be at the local system to accept your own connection.

    • Require the user to enter this password - Specifies a password which must be entered by the remote user to access your desktop. It is strongly advised that you select this option and specify a password.

    Finally this screen specifies the command to run on the remote system to access the desktop. Once you have configured Remote Desktop access you are almost ready to try connecting.

    Firewall Configuration (insecure way)

    By default, the RHEL firewall is both enabled and configured to block insecure remote desktop access. Before proceeding, therefore, it is necessary to allow VNC traffic to pass uneventfully through the firewall. Before performing this task it is important to know that the remote desktop system uses TCP/IP port 5900 to access the screen 0 (the main screen of your desktop) for communicating between the client and server systems.

    1. Start the Firewall configuration tool (System -> Administration -> Security Level and Firewall) and enter your root password when prompted to do so.

    2. Select the Other Ports option and click on the Add button to open the Add Port dialog.

    3. Add port 5900 for protocol tcp and click OK.

    4. Repeat the previous stop for port 5900 udp.

    5. Click on the Apply button followed by OK to exit the firewall tool.

    Accessing a Remote RHEL Desktop using vncviewer

    Remote desktop access from other Linux based systems can be achieved using the vncviewer tool. This tool is contained within a package named vnc which may be installed on RHEL using the following command sequence in a terminal window:

    su -
    yum install vnc

    The vncviewer tool is available for a wide range of operating systems and a quick internet search will likely provide numerous links providing details on how to obtain and install this tool on your chosen platform.

    To access a remote desktop using vncviewer, execute the following command in a terminal window:

    vncviewer hostname:0

    where hostname is either the hostname or IP address of the remote system. Alternatively, run the command without any options to be prompted for the details of the remote server:

    Specifying the remote host for RHEL remote desktop access

    If you configured the remote system to prompt to approve a connection a dialog will appear on the remote system. Until the connection is approved the vncviewer session will wait. Once approved, or if no approval is required, VNC will prompt for the password (assuming one was defined):

    Entering a password to gain access to a remote RHEL desktop

    Accessing a Remote Linux Desktop from a Windows System

    In order to access an RHEL remote desktop from a Windows system the first step is to install a Windows VNC client on the Windows system like TightVNC

    hostname:5900 (screen 0 in VNC uses port 5900). TightVNC assumes port 5900 if none is specified


    Secure sessions can be established by creating SSH tunnel between the systems so that VNC can use this secure tunnel to connect. Similarly you should be able to use WINSCP for FTP or Putty for SSH from Windows to Linux

    Saturday, August 11, 2012

    Please check if this file is opened in another program


    ---> Make sure file/directory is not read-only






    ---> Make sure that User has full control over the file


    Wednesday, August 08, 2012

    Running NUnit in Visual Studio 2010

    It is possible to use NUnit as an external tool in the new 2010 version.

    The first step is download and install the latest version of NUnit since older versions are not compatible with .NET 4.

    Now go to Tools -> External Tools:

    Visual Studio 2010 External Tools

    View -> Toolbars -> Customize:

    Visual Studio 2010 Customize Toolbars

    Press the New button and enter a name. Now open the Commands tab and add the external command (usually External Command 1 when you don’t have any other external commands) to the toolbar:

    Visual Studio 2010 Toolbars

    When clicking the NUnit button in the new toolbar the NUnit GUI starts and loads your test suite.

    Tuesday, August 07, 2012

    Running NUnit on Hudson

    1. Add the NUnit Plugin to Jenkins
    2. In your project go to Configure -> Build -> Add a build step
    3. In the dropdown scroll down to -> Execute Windows Batch Command
    4. Ensure this step is placed after your MSBuild step
    5. Add the following, replacing the variables:

      [PathToNUnit]\bin\nunit-console.exe [PathToTestDll]\Selenium.Tests.dll /xml=nunit-result.xml

    6. Under Post-build Actions, tick Publish NUnit test result report
    7. For the textbox Test report XMLs, enter "nunit-result.xml"
    Once you project has been built, NUNit will now run and the results will be viewable either on the Dashboard(if you hover over the Weather report icon) or on the project page under Last Test Result.

    You could also run the command from within Visual Studio or as part of you local build process.

    Here's two blog posts I used for reference.

    1-Hour Guide to Continuous Integration Setup: Jenkins meets .Net (2011)
    Guide to building .NET projects using Hudson (2008)

    Saturday, August 04, 2012

    Hudson: svn authentication cancelled

    The Hudson was building all projects without any issues since it was installed. All of a sudden yesterday my inbox was filled with failure reports, Hudson was not able to build any of the projects. Stack trace":

    ERROR: svn: authentication cancelled
    org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(
        at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(
        at hudson.scm.FilterSVNAuthenticationManager.getNextAuthentication(
        at hudson.scm.SubversionSCM$DescriptorImpl.checkRepositoryPath(
        at hudson.scm.SubversionSCM.repositoryLocationsExist(
        at hudson.scm.SubversionSCM.checkout(
        at hudson.scm.SubversionSCM.checkout(
        at hudson.model.AbstractProject.checkout(
        at hudson.model.AbstractBuild$AbstractRunner.checkout(
        at hudson.model.AbstractBuild$
        at hudson.model.ResourceController.execute(
    Finished: FAILURE

    This usually results if the authentication has failed. Verify hudson SVN credentials.

    Sunday, July 22, 2012

    Add Clean script to MsBuild

    Add the following Target to the Project.csproj file :

        <Target Name = "Clean">
    <RemoveDir Directories="$(builtdir)" />

    We will have to declare what is builtdir (which will be pointing to something like bin) and for this we will have to add 


    and to create a new directory during build process

    <MakeDir Directories = "$(builtdir)" Condition = "!Exists('$(builtdir)')" />

    Now to clean use the following

    msbuild <file name>.proj /target:Clean

    and to build use

    msbuild <file name>.proj /target:Build

    Saturday, July 21, 2012

    .NET 4.0 build server reference assemblies warnings MSB3644

    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.0" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. [D:\ProjectName\Project.csproj]

    If you get errors like above especially on Hudson build server it means you are missing Framework v 4.0 reference assemblies normally located in the folder C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

    Find a full version of the reference assemblies directory and copy them from the development machine to the directory \Program Files\Reference Assemblies\Microsoft\Framework\v4.0 and use override command to build the project:-
    msbuild -p:FrameworkPathOverride="C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0" Project.sln

    Friday, July 20, 2012 review

    Be careful when buying card from secondary sites like JunkCard. I had a bad experience and then I researched a bit more into this.

    These websites sell electronic gift cards which are not actually gift cards but ecodes. It seems the website is run by some folks in the west coast. Similarly facebook updates will be posted during west coast hours.

    If you go through the reviews online most of the reviews will be 5/5 and very similar in the nature. Notice the punctuation and capitalization which is similar to the capitalization used by their customer care. Most of the reviews will be written by accounts that were open during the same time period and only have 1 review





    TOPOST: Customer care emails

    Tuesday, July 17, 2012

    Oracle SID error

    If you get Oracle TNS listener like error below its probably due to incorrect configuration of the connect string in your application:-

    INFO : - Destroying singletons in defining beans [dataSource,org.springframework.jdbc.datasource.init.DataSourceInitializer#0]; root of factory hierarchy
    ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.jdbc.datasource.init.DataSourceInitializer#0': Invocation of init method failed; nested exception is org.springframework.dao.DataAccessResourceFailureException: Failed to execute database script; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(
        at org.apache.catalina.core.StandardContext.listenerStart(
        at org.apache.catalina.core.StandardContext$
        at org.apache.catalina.core.StandardContext$
        at java.util.concurrent.FutureTask$Sync.innerRun(
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
        at java.util.concurrent.ThreadPoolExecutor$
    Caused by: org.springframework.dao.DataAccessResourceFailureException: Failed to execute database script; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
        at org.springframework.jdbc.datasource.init.DataSourceInitializer.execute(
        at org.springframework.jdbc.datasource.init.DataSourceInitializer.afterPropertiesSet(
        ... 20 more
    Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
        at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(
        at org.apache.commons.dbcp.BasicDataSource.getConnection(
        at org.springframework.jdbc.datasource.init.DataSourceInitializer.execute(
        ... 23 more
    Caused by: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
        at oracle.jdbc.driver.T4CConnection.logon(
        at oracle.jdbc.driver.PhysicalConnection.<init>(
        at oracle.jdbc.driver.T4CConnection.<init>(
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(
        at oracle.jdbc.driver.OracleDriver.connect(
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(
        at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(
        at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(
        ... 26 more
    Caused by: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
        at oracle.jdbc.driver.T4CConnection.connect(
        at oracle.jdbc.driver.T4CConnection.logon(
        ... 34 more
    Jan 26, 2012 7:48:41 PM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Error listenerStart
    Jan 26, 2012 7:48:42 PM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Context [/appname] startup failed due to previous errors
    Jan 26, 2012 7:48:42 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [/appname] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    Make sure that you look into tnsnames.ora file and listener.ora file:-
    My tnsnames.ora looks like
    XE =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (SERVICE_NAME = xe)

    listener.ora looks this
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    Compare these settings to your jdbc url configuration in your web application and it will most likely give you a clue if the string is wrong:-

    Sunday, July 01, 2012

    Saturday, June 30, 2012

    Windows 8 Release preview and USB bootable

    I downloaded Windows 8 release preview but wasn’t able to use the Windows 7 USB/DVD Download Tool since it kept erroring out:-








    So I switched to WinToFlash instead. It is available as free download. WinToFlash needs a directory or drive instead of an ISO so I used 7-zip to extract the ISO

    WinToFlash 1




    Or you can just burn a DVD instead:

    Windows Disk Image Burner

    Now off to installing Windows 8 Release Preview…

    Saturday, June 16, 2012

    Interview Questions

    Benefits of IOC
    -       Minimises code – no need to worry about creation
    -       Testable
    -       Loose coupling – Factory pattern – more intrusive owing to explicitly requesting for compoenents
    -       Eager instantiation and lazy loading

    Dependency Injections vs JNDI
    -       String based name
    -       Lookup code is verbose
    -       Retrieved objects are not checked at compile-time

    Describe Spring framework?
    Difference between Bean factory and Application Context?
    Core Container provides the essential basic functionality. The basic package in the spring framework is the org.springframework.beans package. The Spring framework uses JavaBeans and there are two ways in which clients can use the functionality of Spring framework -- BeanFactory and ApplicationContext. BeanFactory applies the IOC pattern and separates an application’s configuration and dependency specification from the actual application code.
    Spring Application Context is a configuration file that provides context information to Spring framework. The ApplicationContext builds on top of the BeanFactory and inherits all the basic features of Spring framework. In addition to basic features, ApplicationContext provides additional features like event management, internalization support, resource management, JNDI, EJB, email, and scheduling functionality.
    BeanFactory is useful in low memory situations, which does not have the excess baggage an ApplicationContext has. ApplicationContext assist the user to use Spring in a framework oriented way while the BeanFactory offers a programmatic approach.

    RMI vs JMS
    Are messaging applications slow? While there is some overhead in all messaging systems, but this does not
    mean that the applications that are using messaging are necessarily slow. Messaging systems can achieve a
    throughput of 100 messages per second depending on the installation, messaging modes (synchronous versus
    asynchronous, persistent versus non-persistent), and acknowledgment options such as auto mode, duplicates
    okay mode, and client mode etc. The asynchronous mode can significantly boost performance by multi-tasking.
    For example: In an Internet based shopping cart application, while a customer is adding items to his/her shopping
    cart, your application can trigger an inventory checking component, and a customer data retrieval component to
    execute concurrently.
    Are messaging applications reliable? This is basically a trade-off between performance and reliability. If
    reliability is more important then the:
    • Acknowledgment option should be set to automode where once only delivery is guaranteed
    • Message delivery mode should be set to persistent where the MOM writes the messages to a secure
    storage like a database or a file system to insure that the message is not lost in transit due to a system

    Exception Handling?

    ACEGI Security Framework –

    • Authentication
    • authorization ((J2EE declarative & programmatic)
    • Data Integrity
    • Confidentiality and privacy
    • Non-repudiation and auditing

    Java concepts:

    1)     When would we use Vector/hashtable vs ArrayList/HashMap?
    2)     Can you tell me something about Garbage collection in Java.. When does it occur, how does it perform it?
    3)     Describe any memory leak you have encountered and how to go about detecting and minimizing them? Weak references
    4)     What is a singleton pattern? How do you code it in Java?
    A singleton is a class that can be instantiated only one time in a JVM per class loader. Repeated calls always
    return the same instance. Ensures that a class has only one instance, and provide a global point of access. It
    can be an issue if singleton class gets loaded by multiple class loaders.
    public class OnlyOne {
    private static OnlyOne one = new OnlyOne();
    private OnlyOne(){… } //private constructor. This class cannot be instantiated from outside.
    public static OnlyOne getInstance() {
    return one;
    To use it:
    //No matter how many times you call, you get the same instance of the object.
    1)     OnlyOne myOne = OnlyOne.getInstance();

    Write a JAVA function that deletes chars from a String. Any character in remove must be deleted from str. Justify any design decisions & discuss the time and space efficiency of the solution?

    Good architecture?
    Trial center must meet these above goals with a well designed architecture.  Specifically, the Trial Center architecture must be designed to meet the following goals and objectives.
    • Performance – Trial Center must provide speedy response times and efficient navigation.
    • Scalability – Must provide the ability to scale from low to high (thousands) of users.
    • Maintainability – Trial Center must be easy to support and maintain.  The design must accommodate changes to the slicing/dicing of operational metrics without requiring changes to the source system publishers (to the degree possible).
    • Availability – Since Trial Center will be a single point of entry for all studies, the product and metrics it displays must support 99.9% uptime.
    • Near Real Time – Changes to operational metrics should be reflected in Trial Center within 3 – 5 seconds of being committed in a source system.
    • Reliability – The operational data presented must be consistent with the data located in original systems.
    • Aggregation – Trial Center establishes a platform for aggregating operational metrics across all the systems involved in a study. 

    Trial Center will serve as a data aggregator across systems.  This data will grow in size as more studies come online.  The system must be designed to support strategies to provide efficient indexing of data for filtering and aggregation purposes. When appropriate, metric totals may need to be persisted and maintained in order to reduce the number of computation requests to the database.  The system must also take advantage of a caching strategy to improve performance and reduce the general number of database requests to the Trial Center repository.
    Trial Center’s application server must be able to scale horizontally.  Trial center must be able to be supported in a web farm environment.  In order to support this, trial center must not hold state full information in one app server.  Any data state must either be stored in the central repository or be distributed over an in-memory distributed cache server.  This will allow the system to be load balanced as the number of users requests grow.
    Trial Center will be designed in a very modular manner.  Trial Center will adhere to a separation of concerns approach to modular design and approach a more interface based development philosophy.  Trial center will be tiered, whereby each tier will be responsible for specific functionality.  Dependency Injection will be used to decouple the tiers.  This will ensure a clean separation between the business layers.

    Additionally, the web framework will be built using MVC architecture.  This will create a clean separation between HTML design and business logic.
    Trial Center will support a clustering deployment option.  Clustering is generally defined as two or more web servers that closely cooperate with each other to ensure that each server in the group presents the same data to the end user.  High availability will be achieved through the use of creating redundant servers that can be switched over when a failure occurs on the main server.

    Data that is presented using Trial Center will be sourced by other systems.  Other systems will push data to Trial Center when the transaction occurs in the source systems.  This will allow the consolidation of the data to be applied in a timely manner.  In general, data from source system must push the data into Trial Center within 3-5 seconds.

    Since data will be sourced from multiple systems, Trial Center must show data that represents the current state.  Counts in Trial Center must match the current counts in the source system.  In order to accomplish this, the data must arrive in a timely manner and the messaging transport must be reliable. No missed transactions can ever occur during transport.

    Tuesday, May 29, 2012

    DND service in India

    If you want to stop receiving promotional calls/SMS, you have to message STOP DND [toll free] to 1909 (for all operators). However even after messaging STOP DND and START 0 (fully blocking) I was unable to successfully de-register myself.

    The simplest way was to call 1909 and talk to the CSR to get rid of the service.

    Tuesday, May 15, 2012

    Tata DOCOMO Internet settings for Android

    Just SMS internet to 52270 and save the settings as default on your mobile. Then log on to the internet browser of the handset and go to settings option and select “DOCOMO internet” APN(Access Point Name).

    1. Settings->Wireless and Networks->Mobile Networks->Access Point Names->New APN
    2. Give any name (does not matter)
    4. MCC=405
    5. MNC=039

    Nothing else needs to be set. Important point is point 3. Now just purchase voice prepaid services followed by Mobile Prepay Packs and enjoy Smile

    Tuesday, May 08, 2012

    Make Linux (Ubuntu) safe and secure

    Viruses are now written in Java or Adobe/Flash exploits. These are (for the most part) OS independent. Other than those, most of viruses are written for Windows and don't run on Linux. Google "rootkits" if you want to read more about Linux viruses.
    To protect yourself on Linux:
    1. Disable scripts in your web browser or only allow trusted sites. Your browser should have settings which you can control. A quick google will tell you what you need to know. NoScript works well if you use Firefox.
    2. Disbale Flash in your web browser or only allow trusted sites. Your browser should have settings which you can control. A quick google will tell you what you need to know. Flashblock works well if you use Firefox.
    3. Keep Adobe Reader up to date. They send out security updates frequently. Another option is not to use Adobe Reader at all. Just use something else to view PDFs.
    4. Enable your Firewall. Ubuntu ships with UFW (Uncomplicated Firewall). The setup is easy. Start here: Be sure to set it up so everything is blocked by default, then enable what you want.
    5. Enable your router's firewall. Google the security settings for your firewall and beef up your security. Again, disable access by default and enable whatever you want to use.
    6. Scan for rootkits every so often. Rootkit Remover works well. Don't install it on the Linux machine since any good rootkit will look for it and either get rid of it or reconfigure it so it won't be of much use. A Linux Live CD comes in handy here.
    7. Encrypt your data. Ubuntu allows you to encrypt your home directory (which is where most people store their documents, etc.) easily. Take advantage of that.
    8. Change your passwords at least a few times each year. Don't use the same password for everything.
    9. Some sites allow you to see the IP addresses/login times which you account is used from. Check info from time to time. Some sites have a setting to email you if your account is accessed from an unknown IP.
    10. If you are still worried, run an anti-virus program. AVG works well and is free.
    See here: for more info.

    For Macs

    1. Virus Barrier
    2. run a scan with Sophos Antivirus

    Sunday, May 06, 2012

    CloudFoundry NATS server problem

    ejvyas@ubuntu:~$ cd cloudfoundry/
    cd ejvyas@ubuntu:~/cloudfoundry$ cd vcap
    Using /home/ejvyas/.rvm/gems/ruby-1.9.2-p180
    ejvyas@ubuntu:~/cloudfoundry/vcap$ bin/vcap start
    router              : STOPPED
     [2012-01-27 11:06:56] router - 14786 40fa 5678   INFO -- Starting VCAP Router (0.98)
    [2012-01-27 11:06:56] router - 14786 40fa 5678   INFO -- Listening on:
    [2012-01-27 11:06:56] router - 14786 40fa 5678   INFO -- Listening on unix domain socket: '/tmp/router.sock'
    [2012-01-27 11:06:56] router - 14786 40fa 5678   INFO -- Socket Limit:1024
    [2012-01-27 11:06:56] router - 14786 40fa 5678   INFO -- Connections: [Clients: 0, Apps: 0, Total: 5]
    [2012-01-27 11:06:56] router - 14786 40fa 5678  ERROR -- EXITING! NATS connection failed: Could not connect to server on nats://localhost:4222
    cloud_controller    : STOPPED
    dea                 : RUNNING
    health_manager      : STOPPED
     [2012-01-27 11:07:28] hm - 15015 397f a1ab  ERROR -- NATS problem, Could not connect to server on nats://localhost:4222/
    [2012-01-27 11:07:28] hm exception 15015 397f a1ab  ERROR -- NATS::ConnectError("Could not connect to server on nats://localhost:4222/", [])
    stager              : STOPPED
     [2012-01-27 11:07:32] vcap.stager.server - 15133 451b 8e55  ERROR -- NATS error: Could not connect to server on nats://
    [2012-01-27 11:07:32] vcap.stager.server exception 15133 451b 8e55  ERROR -- NATS::ConnectError("Could not connect to server on nats://", [])
    /home/ejvyas/cloudfoundry/vcap/stager/lib/vcap/stager/server.rb:84:in `block in install_error_handlers': Could not connect to server on nats:// (NATS::ConnectError)
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/nats-0.4.22.beta.4/lib/nats/client.rb:541:in `call'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/nats-0.4.22.beta.4/lib/nats/client.rb:541:in `process_disconnect'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/nats-0.4.22.beta.4/lib/nats/client.rb:531:in `unbind'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:1417:in `event_callback'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:256:in `run_machine'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:256:in `run'
    from /home/ejvyas/cloudfoundry/vcap/stager/lib/vcap/stager/server.rb:47:in `run'
    from /home/ejvyas/cloudfoundry/vcap/stager/bin/stager:54:in `<main>'
    redis_gateway       : STOPPED
    redis_node          : RUNNING
    mysql_gateway       : STOPPED
     [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08   INFO -- MyaaS-Provisioner: Initializing
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08  DEBUG -- Register update handle callback with #<Proc:0x0000000188ef18@/home/ejvyas/cloudfoundry/vcap/services/base/lib/base/asynchronous_service_gateway.rb:116>
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08   INFO -- Sending info to cloud controller:
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08   INFO -- Fetching handles from cloud controller @
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08  ERROR -- EXITING! NATS connection failed: Could not connect to server on nats://localhost:4222
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08  ERROR -- Failed registering with cloud controller:
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08  ERROR -- Failed fetching handles:
    [2012-01-27 11:08:01] mysql_gateway - 15242 1dbb 3b08   INFO -- Sending deactivation notice to cloud controller:
    /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:1425:in `event_callback': recieved ConnectionUnbound for an unknown signature: 2 (EventMachine::ConnectionNotBound)
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `release_machine'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `ensure in run'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:280:in `run'
    from /home/ejvyas/cloudfoundry/vcap/services/base/lib/base/gateway.rb:86:in `start'
    from /home/ejvyas/cloudfoundry/vcap/services/mysql/bin/mysql_gateway:27:in `<main>'
    mysql_node          : RUNNING
    mongodb_gateway     : STOPPED
     [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7   INFO -- MongoaaS-Provisioner: Initializing
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7  DEBUG -- Register update handle callback with #<Proc:0x0000000297fbd8@/home/ejvyas/cloudfoundry/vcap/services/base/lib/base/asynchronous_service_gateway.rb:116>
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7   INFO -- Sending info to cloud controller:
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7   INFO -- Fetching handles from cloud controller @
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7  ERROR -- EXITING! NATS connection failed: Could not connect to server on nats://localhost:4222
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7  ERROR -- Failed registering with cloud controller:
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7  ERROR -- Failed fetching handles:
    [2012-01-27 11:08:14] mongodb_gateway - 15304 4fc2 e3e7   INFO -- Sending deactivation notice to cloud controller:
    /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:1425:in `event_callback': recieved ConnectionUnbound for an unknown signature: 2 (EventMachine::ConnectionNotBound)
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `release_machine'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `ensure in run'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:280:in `run'
    from /home/ejvyas/cloudfoundry/vcap/services/base/lib/base/gateway.rb:86:in `start'
    from /home/ejvyas/cloudfoundry/vcap/services/mongodb/bin/mongodb_gateway:27:in `<main>'
    mongodb_node        : RUNNING
    echo_gateway        : STOPPED
     [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde   INFO -- EchoaaS-Provisioner: Initializing
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde  DEBUG -- Register update handle callback with #<Proc:0x000000020e7bd8@/home/ejvyas/cloudfoundry/vcap/services/base/lib/base/asynchronous_service_gateway.rb:116>
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde   INFO -- Sending info to cloud controller:
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde   INFO -- Fetching handles from cloud controller @
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde  ERROR -- EXITING! NATS connection failed: Could not connect to server on nats://localhost:4222
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde  ERROR -- Failed registering with cloud controller:
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde  ERROR -- Failed fetching handles:
    [2012-01-27 11:08:26] echo_gateway - 15368 f297 0cde   INFO -- Sending deactivation notice to cloud controller:
    /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:1425:in `event_callback': recieved ConnectionUnbound for an unknown signature: 2 (EventMachine::ConnectionNotBound)
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `release_machine'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `ensure in run'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:280:in `run'
    from /home/ejvyas/cloudfoundry/vcap/services/base/lib/base/gateway.rb:86:in `start'
    from /home/ejvyas/cloudfoundry/vcap/services/echo/bin/echo_gateway:25:in `<main>'
    echo_node           : RUNNING
    nosql_gateway       : STOPPED
     [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4   INFO -- NosqlaaS-Provisioner: Initializing
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4  DEBUG -- Register update handle callback with #<Proc:0x0000000149d878@/home/ejvyas/cloudfoundry/vcap/services/base/lib/base/asynchronous_service_gateway.rb:116>
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4   INFO -- Sending info to cloud controller:
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4   INFO -- Fetching handles from cloud controller @
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4  ERROR -- EXITING! NATS connection failed: Could not connect to server on nats://localhost:4222
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4  ERROR -- Failed registering with cloud controller:
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4  ERROR -- Failed fetching handles:
    [2012-01-27 11:08:42] nosql_gateway - 15441 799c 98e4   INFO -- Sending deactivation notice to cloud controller:
    /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:1425:in `event_callback': recieved ConnectionUnbound for an unknown signature: 2 (EventMachine::ConnectionNotBound)
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `release_machine'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:263:in `ensure in run'
    from /home/ejvyas/.rvm/gems/ruby-1.9.2-p180/gems/eventmachine-0.12.11.cloudfoundry.3/lib/eventmachine.rb:280:in `run'
    from /home/ejvyas/cloudfoundry/vcap/services/base/lib/base/gateway.rb:86:in `start'
    from /home/ejvyas/cloudfoundry/vcap/services/nosql/bin/nosql_gateway:25:in `<main>'
    nosql_node          : RUNNING