Friday, September 28, 2007

Address Resolution Protocol Cache

Viewing the ARP Cache

If you would like to view your ARP cache, this can be accomplished using the `arp` command:

C:\>arp -a

Interface: 192.168.1.100 --- 0x10004

Internet Address Physical Address Type
192.168.1.1 00-0f-66-37-22-32 dynamic

If Clearing the ARP Cache Fails

Occasionally, clearing your ARP cache will fail due to a bug in Microsoft Windows.

If you try to use Microsoft Windows to repair the network connection, you will receive an error message that says:

“Windows could not finish repairing the problem because the following operation could not be completed:
Clearing the ARP cache for assistance, contact the person who manages your network”

This bug occurs when Routing and Remote Services is enabled. Routing and Remote Services is almost unnecessary and can be turned off unless you know that you are using it.

To disable Routing and Remote Services:
  • Click the “Start” button
  • Click the “Control Panel” button
  • Switch to "Classic View" if you are in "Category View"
  • Click “Administrative Tools
  • Click “Computer Management
  • Double-click “Services and Applications
  • Double-click “Services
  • Scroll down to “Routing and Remote Services
  • Double-click “Routing and Remote Services"
  • Examine the "Startup Type"
  • The options are "Automatic", "Manual", and "Disabled"
  • Set the "Startup Type" to "Disabled"
  • Examine the "Service status"
  • Make sure that the service status is stopped. If it is not Stopped, click the “Stop” button
  • Click the “OK" button
Now, try clearing the ARP cache again and it should complete with no error messages.

Wednesday, September 26, 2007

Oracle Database Lite 10g: What's the Difference With Other Oracle Database Editions?

Oracle Database Lite is another edition, however the Oracle Database Lite Edition functions as a feature for either Oracle Database Enterprise Edition or Oracle Database Standard Edition. Oracle Database Lite does not replace other database editions. Oracle Database Lite is designed to make your existing Oracle Database mobile.

Oracle Database

A relational database management system (RDBMS) from Oracle, which runs on more than 80 platforms. Introduced in the late 1970s, Oracle was the first database product to run on a variety of platforms from micro to mainframe. The Oracle database is Oracle's flagship product, and the current version is Oracle10g, introduced in 2005.

Version 8 (Oracle8) added object-oriented extensions, and Version 8i (Oracle8i) added Internet enhancements in 1999, including support for XML and Java. A JVM (Java interpreter) is built into the DBMS so that triggers and stored procedures can be written and executed in Java rather than PL/SQL. It enables Internet developers to write applications and database procedures in the same language. In addition, the JVM can also execute Enterprise JavaBeans (EJBs), turning the DBMS into an application server. See PL/SQL and Oracle Content Management SDK.

coding standards

Purpose of coding standards and best practices

To develop reliable and maintainable applications, you must follow coding standards and best practices.

The naming conventions, coding standards and best practices described in this document are compiled from our own experience and by referring to various Microsoft and non Microsoft guidelines.

There are several standards exists in the programming industry. None of them are wrong or bad and you may follow any of them. What is more important is, selecting one standard approach and ensuring that everyone is following it.

How to follow the standards across the team

If you have a team of different skills and tastes, you are going to have a tough time convincing everyone to follow the same standards. The best approach is to have a team meeting and developing your own standards document. You may use this document as a template to prepare your own document.

Distribute a copy of this document (or your own coding standard document) well ahead of the coding standards meeting. All members should come to the meeting prepared to discuss pros and cons of the various points in the document. Make sure you have a manager present in the meeting to resolve conflicts.

Discuss all points in the document. Everyone may have a different opinion about each point, but at the end of the discussion, all members must agree upon the standard you are going to follow. Prepare a new standards document with appropriate changes based on the suggestions from all of the team members. Print copies of it and post it in all workstations.

After you start the development, you must schedule code review meetings to ensure that everyone is following the rules. 3 types of code reviews are recommended:

Peer review – another team member review the code to ensure that the code follows the coding standards and meets requirements. This level of review can include some unit testing also. Every file in the project must go through this process.

  1. Architect review – the architect of the team must review the core modules of the project to ensure that they adhere to the design and there is no “big” mistakes that can affect the project in the long run.
  2. Group review – randomly select one or more files and conduct a group review once in a week. Distribute a printed copy of the files to all team members 30 minutes before the meeting. Let them read and come up with points for discussion. In the group review meeting, use a projector to display the file content in the screen. Go through every sections of the code and let every member give their suggestions on how could that piece of code can be written in a better way. (Don’t forget to appreciate the developer for the good work and also make sure he does not get offended by the “group attack”!)

Naming Conventions and Standards

Note :

The terms Pascal Casing and Camel Casing are used throughout this document.

Pascal Casing - First character of all words are Upper Case and other characters are lower case.

Example: BackColor

Camel Casing - First character of all words, except the first word are Upper Case and other characters are lower case.

Example: backColor

1. Use Pascal casing for Class names

public class HelloWorld

{

...

}

2. Use Pascal casing for Method names

void SayHello(string name)

{

...

}

3. Use Camel casing for variables and method parameters

int totalCount = 0;

void SayHello(string name)

{

string fullMessage = "Hello " + name;

...

}

4. Use the prefix “I” with Camel Casing for interfaces ( Example: IEntity )

5. Do not use Hungarian notation to name variables.

In earlier days most of the programmers liked it - having the data type as a prefix for the variable name and using m_ as prefix for member variables. Eg:

string m_sName;

int nAge;

However, in .NET coding standards, this is not recommended. Usage of data type and m_ to represent member variables should not be used. All variables should use camel casing.

Some programmers still prefer to use the prefix m_ to represent member variables, since there is no other easy way to identify a member variable.

6. Use Meaningful, descriptive words to name variables. Do not use abbreviations.

Good:

string address

int salary

Not Good:

string nam

string addr

int sal

7. Do not use single character variable names like i, n, s etc. Use names like index, temp

One exception in this case would be variables used for iterations in loops:

for ( int i = 0; i <>

{

...

}

If the variable is used only as a counter for iteration and is not used anywhere else in the loop, many people still like to use a single char variable (i) instead of inventing a different suitable name.

8. Do not use underscores (_) for local variable names.

9. All member variables must be prefixed with underscore (_) so that they can be identified from other local variables.

10. Do not use variable names that resemble keywords.

11. Prefix boolean variables, properties and methods with “is” or similar prefixes.

Ex: private bool _isFinished

12. Namespace names should follow the standard pattern

...

13. Use appropriate prefix for the UI elements so that you can identify them from the rest of the variables.

There are 2 different approaches recommended here.

a. Use a common prefix ( ui_ ) for all UI elements. This will help you group all of the UI elements together and easy to access all of them from the intellisense.

b. Use appropriate prefix for each of the ui element. A brief list is given below. Since .NET has given several controls, you may have to arrive at a complete list of standard prefixes for each of the controls (including third party controls) you are using.

Control

Prefix

Label

lbl

TextBox

txt

DataGrid

dtg

Button

btn

ImageButton

imb

Hyperlink

hlk

DropDownList

ddl

ListBox

lst

DataList

dtl

Repeater

rep

Checkbox

chk

CheckBoxList

cbl

RadioButton

rdo

RadioButtonList

rbl

Image

img

Panel

pnl

PlaceHolder

phd

Table

tbl

Validators

val


14. File name should match with class name.

For example, for the class HelloWorld, the file name should be helloworld.cs (or, helloworld.vb)

15. Use Pascal Case for file names.

Tuesday, September 25, 2007

BASIC SQL

What is SQL?
  • SQL stands for Structured Query Language
SQL Data Manipulation Language (DML)

SQL (Structured Query Language) is syntax for executing queries. But the SQL language also includes a syntax to update, insert, and delete records.

These query and update commands together form the Data Manipulation Language (DML) part of SQL:
  • SELECT - extracts data from a database table
  • UPDATE - updates data in a database table
  • DELETE - deletes data from a database table
  • INSERT INTO - inserts new data into a database table
SQL Data Definition Language (DDL)

The Data Definition Language (DDL) part of SQL permits database tables to be created or deleted. We can also define indexes (keys), specify links between tables, and impose constraints between database tables.

The most important DDL statements in SQL are:
  • CREATE TABLE - creates a new database table
  • ALTER TABLE - alters (changes) a database table
  • DROP TABLE - deletes a database table
  • CREATE INDEX - creates an index (search key)
  • DROP INDEX - deletes an index
The SQL SELECT Statement

The SELECT statement is used to select data from a table. The tabular result is stored in a result table (called the result-set).

Syntax

SELECT column_name(s) FROM table_name

SELECT LastName,FirstName FROM Persons

SELECT * FROM Persons

SELECT DISTINCT column_name(s) FROM table_name (The SELECT DISTINCT Statement)

SELECT column FROM table WHERE column operator value

Operator

Description

=

Equal

<>

Not equal

>

Greater than

<

Less than

>=

Greater than or equal

<=

Less than or equal

BETWEEN

Between an inclusive range

LIKE

Search for a pattern

IN

If you know the exact value you want to return for at least one of the columns


SELECT * FROM Persons WHERE City='Sandnes' (Using the WHERE Clause)

SELECT column FROM table WHERE column LIKE pattern (The LIKE Condition)

The INSERT INTO Statement

The INSERT INTO statement is used to insert new rows into a table.

Syntax

INSERT INTO table_name VALUES (value1, value2,....)
You can also specify the columns for which you want to insert data:
INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....)

The Update Statement

The UPDATE statement is used to modify the data in a table.

Syntax

UPDATE table_name SET column_name = new_value
WHERE column_name = some_value

Update one Column in a Row

We want to add a first name to the person with a last name of "Rasmussen":
UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'

Update several Columns in a Row

We want to change the address and add the name of the city:
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'

The DELETE Statement

The DELETE statement is used to delete rows in a table.

Syntax

DELETE FROM table_name
WHERE column_name = some_value

Delete All Rows

It is possible to delete all rows in a table without deleting the table. This means that the table structure, attributes, and indexes will be intact:

DELETE FROM table_name
or
DELETE * FROM table_name

Sort the Rows

The ORDER BY clause is used to sort the rows.
SELECT column_name1, column_name2 FROM table_name
ORDER BY column_name1

Thursday, September 20, 2007

Yahoo scoops up Zimbra for $350 million

Yahoo has been on an acquisition binge late, but mostly to expand its advertising business. Now Yahoo is buying its way deeper into the applications business with the acquisition of Zimbra for a reported $350 million, mostly in cash. Zimbra developed a leading edge, Web 2.0 open source messaging and collaboration software suite, with email, calendar, document processing and a spreadsheet.

Thursday, September 13, 2007

Apple - iPhone

iphone is a revolutionary new mobile phone that allows you to make a call by simply pointing your finger at a name or number in your address book

www.apple.com/iphone/