Javascript: Make independent copy of array using slice() method

Sometime it happens that we need to make copy of an array but in javascript when we assign an array to new it assign it with reference means if you delete anything from new array it will delete it from the main array as well :(

To create a copy of an array that is independent of another array:
Use the Array object’s slice() method.

For example, the following statements create an array and then use slice() to make an independent copy of the array.

 // JavaScript syntax

var oldArray = ["1", "b", "3"];

var newArray = oldArray.slice();

Comments

HSQLDB : java.sql.SQLException: Access is denied in statement [SELECT * FROM TBALE]

This error appears when you have not specified required privileges to user in SCRIPT file for running the statements. Use the commands as follows just after user creation grant access as DBA like below:

CREATE USER SA PASSWORD ""
GRANT DBA TO SA

Comments

HSQLDB : java.sql.SQLException: User not found: SA

While running HSQLDB in standalone mode you may face the error

  java.sql.SQLException: User not found: SA

This is because while creating the DB using script file you are not creating the user

CREATE USER SA PASSWORD ""

The above command you have to include in your db.script file db is your database name) this will creates a user by name SA with blank password.

Comments

Nokia E71 Memory card not detected as disconnects from PC Suite

Few days back I purchased a New E71. I face a weired issue with the phone when ever I connect to PC Suite via USB and after work  disconnects it from USB
It stop reading Memory card. After restart the phone it again start reading it , in gallery it says corrupt library repairing.

I saw many forums and read many articles about this issue and people suggested following solutions:
-try reset by *#7370#
-hard reset '*' '3' 'Call Key' and Power button
-Replace simm card
-Format memory card
-Replace memory card  etc

But nothing of the above method seems to me working for me.

I noticed whenever after closing PC Suite, I try to disconnect it using USB "Safely Remove Hardware" Option in taskbar, it says "The device '…..Nokia…..' cannot be stopped right now. Try stopping the device again later." Then I saw in the task list there are following services are running:
NclUSBSrv.exe
NclRSSrv.exe
MclMSBTSrv.exe

All of the above services are related to E71 Nokia PC Suite .
Now I have end task the NclUSBSrv.exe service after that I again tried removing USB using "Safely Remove Hardware" Option. And this time it works Perfectly.

My issue got resolved :)

Suggestion: Always connect in PC Suite Mode

2/7/2009 Updates - Update to latest PC Suite  this will also resolve the issue. No need to kill the services

Comments (2)

Remove element from Array

What if you want to delete an element from Array ??

Mostly people use delete command  but it leaves undefined behind it

>>> var list = [1,2,3];

>>> delete list[1];

>>> list

[1, undefined, 3]

Now try splice instead of delete

>>> var list = [1,2,3];
>>> list.splice(1, 1); // Remove one element, returns the removed ones.
[5]
>>> list[4, 6]
And it's done... 

Comments

IE - Expected identifier, string or number

If you're getting this error, chances are you have an extra comma after a curly brace:

  a = {
            b: function() { },
            c: function() { }, }  

Get rid of the trailing comma and your JS error woes will disappear!

Comments

org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

Today while running following  JSP

<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:redirect url="/index.htm"/>

I was hitting a error 

org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV 

I checked my classpath and found that standard.jar was missing in my WEB-INF/lib.

I added the same and all set..it works fine :)

Comments

Client does not support authentication protocol requested by server; consider upgrading MySQL client

I have installed MySql 5.1 version on my lappy and when I try to connect with the DB it was giving me following error:

"Client does not support authentication protocol requested by server; consider upgrading MySQL client"

MySQL 5.1 uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older (pre-4.1) clients. If you upgrade the server from 4.0, attempts to connect to it with an older client may fail with the above message.

To solve this problem, you should use one of the following approaches:

  • Upgrade all client programs to use a 4.1.1 or newer client library.

  • When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.

  • Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:

    mysql> SET PASSWORD FOR     -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

    Alternatively, use UPDATE and FLUSH PRIVILEGES:

    mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')     -> WHERE Host = 'some_host' AND User = 'some_user'; mysql> FLUSH PRIVILEGES;

Earlier to this command password look like this

 mysql> select Host,User,Password  from mysql.user;
+———–+——-+——————————————-+
| Host      | User  | Password                                  |
+———–+——-+——————————————-+
| localhost | root  | *F02BB955B742538740F1CF4B7196B8804001C74F |
| %         | nitin | *F02BB955B742538740F1CF4B7196B8804001C74F |
+———–+——-+——————————————-+

 After the command it changed it to this.

mysql> select Host,User,Password  from mysql.user;
+———–+——-+——————————————-+
| Host      | User  | Password                                  |
+———–+——-+——————————————-+
| localhost | root  | *F02BB955B742538740F1CF4B7196B8804001C74F |
| %         | nitin   | 5b58a62e4240429c                          |
+———–+——-+——————————————-+

This works for me. Hope this will help

Reference:http://dev.mysql.com/doc/refman/5.1/en/old-client.html

Comments

DB2 SQL0407N : Assignment of a NULL value to a NOT NULL column “TBSPACEID=2, TABLEID=26, COLNO=0″ is not allowed.

SQL0407N Assignment of a NULL value to a NOT NULL column name is not allowed.

If you encounter this error and If the value for name is of the form “TBSPACEID=n1, TABLEID=n2, COLNO=n3”, you can determine the table name and column name using the following query:


 
SELECT C.TABSCHEMA,
C.TABNAME, C.COLNAME FROM SYSCAT.TABLES AS T,
SYSCAT.COLUMNS AS C WHERE
T.TBSPACEID = 2 AND  T.TABLEID = 26 AND  C.COLNO = 0 AND
C.TABSCHEMA = T.TABSCHEMA AND  C.TABNAME = T.TABNAME

Comments

: bad interpreter: No such file or directory

Today I was running a Shell Script on linux server that I uploaded from windows OS to Solaris machine.When I initiated that script I get ": bad interpreter: No such file or directory" error on the command line.

Some History behind this issue will make you understand this clearlly :-

Text files are often incompatible across operating systems. Why? Because each operating systems use different markers to indicate the end of a line. This will really create a big mess you up if you are trying to transfer files from one operating system to another.

The carriage return is often referred to by the capital letters CR. On a Macintosh, every line has a CR (^M - 13) at the end.

Under Linux (a variant of Unix), the end of a line is indicated by a line feed. Every line ends with a line feed or LF (^J - 10).

These are 2 characters with 2 very separate numeric representations on a computer. A CR is a 13 in the ASCII table of characters and an LF is a 10 in the ASCII table of characters.

Contributing to the confusion is that fact that Microsoft Windows does things yet another way. Under Microsoft Windows, lines end with a combination of 2 characters — a CR followed by a LF. Symbolically, this is represented as CRLF or carriage return, line feed.

Solution:
I am having ultraedit editor. In this editor when ever you open any file in the status bar it shouws you its type (DOS/MAC/UNIX)
if you  want to convert a file from DOS to UNIX

File > Conversions > DOS to UNIX

And if you want to make each file bydefault to DOS/MAC/UNIX  Advanced > Configuration > General Tab inside Editing go to "Default file types for new file" and select desired default type.

You can also refer Ultraedit FAQs http://www.ultraedit.com/support/faq.html

OR

Just create a new file inside UNIX and copy paste your DOS type content. When you save it, it will be converted to UNIX.

Comments