DiGiT@Li

Unique community. Distinct visions.

Software log
Ali Moradi
Software experiences
By Ali Moradi (Ali)
ali@dgtali.com
8 notes posted
Since
Monday May 01, 2006
Last update
Tuesday April 03, 2007 02:09

Security Tip

Browse the web more securely with FIREFOX and prevent Spyware!

Weblogs
Daily log
My daily events
By Ali Moradi
From Afar
I dream the life
By Fakhteh Moradi
Lililand
Lida's world
By Lida H
Ghazalestan
As simple as the wind
By Ghazaleh E
Login
Username:
 
Password:
 

Tuesday April 03, 2007 02:09
'Unlimited' Inbox: Who Cares?
As webmail providers continue their years-long race to increase their inbox storage, some analysts and users are cheering them on, while others question whether the emphasis on this issue is warranted and even if it can become counterproductive.

This week, Yahoo Inc. pledged that, starting in May, it will begin to offer unlimited storage to Yahoo Mail users, something AOL LLC's AOL Mail has had since September of last year. Meanwhile, Google Inc. continually increases Gmail's storage, which now is at over 2.8G bytes per user.

http://www.pcworld.com/article/130235-1/article.html?tk=nl_dnxnws

Ali
Tuesday 03/04/2007 02:09 | 1386/01/14
 1 Comments -  Permanent link  - Add Comment
Thursday December 21, 2006 17:31
Psiphon



Psiphon is a human rights software project developed by the Citizen Lab at the Munk Centre for International Studies that allows citizens in uncensored countries to provide unfettered access to the Net through their home computers to friends and family members who live behind firewalls of states that censor.

http://psiphon.civisec.org/index.html

سایفون یک نرم افزار جدید هست که اخیرا در دانشگاه تورنتو تولید شده و هدف از تولید اون هم بر مبنای حقوق بشر، ایجاد امکان مشاهده سایت ها برای ساکنین کشورهایی هست که اینترنت در آن فیلتر می شود! فقط کافی هست که هر کسی که دوست یا آشنایی در خارج از کشور داره از اون بخواهد که این نرم افزار را روی کامپیوتر خود نصب کند و آدرسی که در این نرم افزار نشان داده می شود رو به دوست خود در ایران بدهد. فردی که در ایران است می تواند از طریق آن آدرس و در واقع از طریق کامپیوتر دوست خود از اینترنت استفاده کند بدون اینکه فایروالها و فیلترهای ایران بتوانند آن را ردیابی کنند

من این نرم افزار رو امتحان کردم! سرعت خوبی داره و کاملا امن هستش. میتونید از دوستان خارج از کشور خود بخواهید که این امکان رو در اختیار شما بگذارند

تا بعد

Ali
Thursday 21/12/2006 17:31 | 1385/09/30
 3 Comments -  Permanent link  - Add Comment
Monday October 09, 2006 05:08
Windows Vista



Yesterday I received an email from Microsoft (because I subscribe to Microsoft newspaper) to download Windows Vista RC1. It was long time I was looking for a valid copy of Windows Vista, I had found a copy but it was illegal and it didn't work correctly. I downloaded the new one, it was about 2.8 GB.
The installation process is changed and it is so easy and fast. At first look, it's really amazing. Windows interface is totally changed and the new interface is very nice and interesting.

I'm going to discover new things in Windows Vista and I will write more about it


Ali
Monday 09/10/2006 05:08 | 1385/07/17
 0 Comments -  Permanent link  - Add Comment
Wednesday October 04, 2006 14:43
Data Type Performance Tuning Tips for MS SQL
Always specify the narrowest columns you can. The narrower the column, the less amount of data SQL Server has to store, and the faster SQL Server is able to read and write data. In addition, if any sorts need to be performed on the column, the narrower the column, the faster the sort will be. [6.5, 7.0, 2000, 2005]

*****

If you need to store large strings of data, and they are less than 8,000 characters, use a VARCHAR data type instead of a TEXT data type. TEXT data types have extra overhead that drag down performance. [7.0, 2000, 2005]

*****

If you have a database running on SQL Server 7 or 2000 that used to run under version 6.5, and because of the limited row size had to split a column into two or more columns because the column width exceed what SQL Server version 6.5 was able to support, consider altering the table so that the multiple columns now fit back into one column again. This of course assumes that your column width is 8,000 characters or less for ASCII data. This will reduce server overhead and boost performance. [6.5, 7.0, 2000]

*****

Don't use the NVARCHAR or NCHAR data types unless you need to store 16-bit character (Unicode) data. They take up twice as much space as VARCHAR or CHAR data types, increasing server I/O and wasting unnecessary space in your buffer cache. [7.0, 2000]

*****

If the text data in a column varies greatly in length, use a VARCHAR data type instead of a CHAR data type. The amount of space saved by using VARCHAR over CHAR on variable length columns can greatly reduce I/O reads cache memory used to hold data, improving overall SQL Server performance.

Another advantage of using VARCHAR over CHAR columns is that sorts performed on VARCHAR columns are generally faster than on CHAR columns. This is because the entire width of a CHAR column needs to be sorted. [6.5, 7.0, 2000]

*****

If a column's data does not vary widely in length, consider using a fixed-length CHAR field instead of a VARCHAR. While it may take up a little more space to store the data, processing fixed-length columns is faster in SQL Server than processing variable-length columns. [6.5, 7.0, 2000]

*****

Always choose the smallest data type you need to hold the data you need to store in a column. For example, if all you are going to be storing in a column are the numbers 1 through 10, then the TINYINT data type is more appropriate that the INT data type. The same goes for CHAR and VARCHAR data types. Don’t specify more characters in character columns that you need. This allows you to store more rows in your data and index pages, reducing the amount of I/O needed to read them. It also reduces the amount of data moved from the server to the client, reducing network traffic and latency. And last of all, it reduces the amount of wasted space in your buffer cache. [6.5, 7.0, 2000]

*****

If you have a column that is designed to hold only numbers, use a numeric data type, such as INTEGER, instead of a VARCHAR or CHAR data type. Numeric data types generally require less space to hold the same numeric value as does a character data type. This helps to reduce the size of the columns, and can boost performance when the columns is searched (WHERE clause), joined to another column, or sorted. [6.5, 7.0, 2000]

*****

Don't use FLOAT or REAL data types for primary keys, as they add unnecessary overhead that hurts performance. Use one of the integer data types instead. [6.5, 7.0, 2000]

*****

When specifying data types during table creation, always specify for each NULL or NOT NULL column. If you don't, then the column will default to NOT NULL if the ANSI NULL DEFAULT database option is not selected (the default), and will default to NULL of the ANSI NULL DEFAULT database option is selected.

For best performance, and to reduce bugs, columns should ideally be set to NOT NULL. For example, use of the IS NULL keywords in the WHERE clause makes that portion of the query non-sargable, which means that portion of the query cannot use an index. [6.5, 7.0, 2000]

*****

If you are using fixed length columns (CHAR, NCHAR) in your table, do your best to avoid storing NULLs in them. If you do, the entire amount of space dedicated to the column will be used up. For example, if you have a fixed length column of 255 characters, and if you place a NULL in it, then 255 characters have to be stored in the database. This is a large waste of space that will cause SQL Server to have to perform extra disk I/O to read data pages. It also wastes space in the data cache buffer. Both of these contribute to reduced SQL Server performance.

Instead of using NULLs, use a coding scheme similar to this in your databases:

NA: Not applicable
NYN: Not yet known
TUN: Truly unknown
Such a scheme provides the benefits of using NULLs, but without the drawbacks.

If you really must use NULLs, use a variable length column instead of a fixed length column. (I doubt your reason for using Nulls is very good.) Variable length columns only use a very small amount of space to store a NULL. [7.0, 2000]

*****

If you use the CONVERT function to convert a value to a variable length datatype, such as VARCHAR, always specify the length of the variable datatype. If you do not, SQL Server assumes a default length of 30. Ideally, you should specify the shortest length to accomplish the required task. This helps to reduce memory use and SQL Server resources. [6.5, 7.0, 2000]

*****

Generally, using computed columns in a table is not recommended because it does not follow the standard rules of normalization. But, it is sometimes more efficient overall to use computed columns in a table rather than re-computing the same data repeatedly in queries. This is especially true if you are running the same query over and over against your data that performs the same calculations over and over. By performing the calculations in the table, it can reduce the amount of work performed by a query each time it is run. You have to determine for yourself where the bottleneck in performance is, and act accordingly. If the bottleneck is in INSERTS and UPDATES, then using calculated columns may not be a good idea. But if your SELECT statements are the bottleneck, then using calculated columns may pay off. [6.5, 7.0, 2000]

*****

Avoid using the new bigint data type unless you really needs its additional storage capacity. The bigint data type uses 8 bytes of memory verses 4 bytes for the int data type. [2000]

*****

Avoid using the SQL Server 2000 sql_variant datatype. Besides being being a performance hog, it significantly affects what you can do with the data stored as a sql_variant. For example, sql_variant columns cannot be a part of primary or foreign keys, can be used in indexes and unique keys if they are shorter than 900 bytes, cannot have an identity property, cannot be part of a computed column, must convert the data to another datatype when moving data to objects with other datatypes, are automatically converted to nvarchar(4000) when accessed by client applications using the SQL Server 7.0 OLE DB or ODBC providers, are not supported by the LIKE predicate in the WHERE clause, cannot be concatenated, and don't work with some functions. [2000]

*****

Don't use the DATETIME data type as a primary key. From a performance perspective, it is more efficient to use a data type that uses less space. For example, the DATETIME datatype uses 8 bytes of space, while the INT datatype only takes up 4 bytes. The less space used, the smaller the table and index, and the less I/O overhead that is required to access the primary key.

*****

If you are creating a column that you know will be subject to many sorts, consider making the column integer-based and not character-based. This is because SQL Server can sort integer data much faster than character data. [6.5, 7.0, 2000]

*****

Take care when using Unicode data in your queries, as it can affect query performance. A classic problem is related to an application passing in Unicode literals, while the column searched in the database table is non-Unicode. This, of course, may be visa-versa depending on your scenario.

Ali
Wednesday 04/10/2006 14:43 | 1385/07/12
 3 Comments -  Permanent link  - Add Comment
Thursday September 28, 2006 14:54
The ACID Test
The ACID Test -
A mini database tutorial for those that are interested...

Atomicity
Consistency
Isolation
Durability

When talking databases that handle mission-critical business transactions and information you are talking ACID features. If customer satisfaction and revenue depend on the quality of your business information, ACID is the database feature set that delivers peace of mind.

Atomicity
Atomicity (pronounced "atom-ih-sit-ee") means “all or nothing”. Derived from the word “atom” for indivisible, atomicity describes database operations that are defined within a single indivisible transaction. If any single operation fails then the whole transaction fails. This ensures that the database is in a valid state at all times. For instance, a transaction to transfer funds from one account to another involves making a withdrawal operation from the first account and a deposit operation on the second. If the deposit operation failed, you don’t want the withdrawal operation to happen either. Otherwise that money would disappear! Lumping both operations into a single atomic transaction ensures data integrity. To provide atomicity database systems support the concept of transactions and rollback, to rescind operations if a portions of a transaction fail.

Atomicity across a network involving a client process and the database server is often achieved through a process called "Two-Phase Commit". Roughly like this: 1) Client sends SQL commands to database within a single transaction. It is not yet committed as a whole unit (a database does a lot of work to support this).
2) Client sends a "pre-" commit command to the database (or multiple DBs).
3) Server(s) verifies that a commit would result in an ACID complete
transaction and returns this acknowledgement to the client.
4) Client receives this acknowledgment and issues the commit command with assurance that it will result in a good transaction.
5) Database(s) completes "commits" the transaction and responds with a
success acknowledgement.

Note that from the developer point of view two-phase commit is often automatic. The program will send a "commit" command and this entire cycle occurs. If something wrong happens then the error message will indicate where the problem happened.

Consistency
Consistency ensures that only operations that comply with database validity constraints are allowed. For instance, a database tracking a checking account may only allow unique check numbers to exist for each transaction. An operation that repeats a check number should fail due to consistency and ensure that the information in the database is correct and accurate. Another example could be that the database designer decided that people added to the database must have a first and last name defined. Other factors relating to the system can also cause a consistency problem, such as a network failure or a lack of disk space. Consistency rules enforced by the database will make sure that these situations do not leave information in an “inconsistent” state.

Isolation
Isolation ensures that every transaction has consistent view of the database regardless of other concurrent transactions. In other words isolation gives each transaction the appearance of happening by itself either before or after all other transactions. This can be very challenging for a database system when many concurrent transactions are expected. The database system can either provide a prior view during a separate concurrent transaction, or it can “lock” the resource until the transaction completes. For instance a teller looking up a balance must be isolated from a concurrent transaction involving a withdrawal from the same account. Only when the withdrawal transaction commits successfully and the teller looks at the balance again will the new balance be reported. Locking the information can be effective technique for isolation but can introduce additional problems if transactions are lengthy or response times critical.

Durability
Durability ensures that once a transaction is complete the information as changed will survive failures of any kind. A system crash or any other failure must not be allowed to lose the results of a transaction or the contents of the database. Durability is often achieved through separate transaction logs that can "re-create" all transactions from some picked point in time (like a backup). Other ways include database "mirrors" or other type of data replication or multiple and simultaneous database servers running on different machines. Backups by themselves do not provide "durability" of all transactions.

On Line Transaction Processing – OLTP
The ACID features of a database are important in any mission-critical business application, but they are particularly important to support on-line transaction processing systems. OLTP allows full computerization of an entire business transaction in real-time. E-business is the extension of this principle beyond individual business transactions to the entire operation of business and its interactions with customers as well.

Database systems will often provide a variety of mechanisms that when utilized correctly provide the ACID features necessary for business executives to sleep at night. It is important to note however that competent programming is necessary to make good use of these mechanisms and realize the promise robust, safe and secure data.

By Jason Parker ttp://www.archwing.com/technet/technet_ACID.html

Ali
Thursday 28/09/2006 14:54 | 1385/07/06
 0 Comments -  Permanent link  - Add Comment
Tuesday August 15, 2006 08:16
Download
دانلود سایت هم راه افتاد
اولین نرم افزاری که اضافه شده نرم افزار عبور از فیلتر هست. با انتخاب منوی دانلود می توانید آن را دانلود کنید
چون سایت اصلی این نرم افزار از ایران فیلتر است؛ سعی می کنم آخرین نسخه این نرم افزار را همیشه در قسمت دانلود قرار دهم

تا بعد

Ali
Tuesday 15/08/2006 08:16 | 1385/05/24
 1 Comments -  Permanent link  - Add Comment
Tuesday June 13, 2006 09:41
عبور از فیلتر



دوستانی که در ایران با اینترنت کار می کنند و متاسفانه اکثر سایت های خبری رو نمی توانند ببینند! می توانند از این نرم افزار استفاده کنند و بدون محدودیت تمامی سایت های فیلتر شده رو ببینند. این نرم افزار وابسته به سایت خاص و یا آدرس و پورت خاصی نیست و قابل فیلتر شد (توسط سربازان امام زمان) نمی باشد. نرم افزار رو می توانید از آدرس زیر دریافت کنید

http://www.dgtali.com/downloads/filtering-new.zip

در ضمن دوستانی که مایل هستند از روش کار و جزییات بیشتری درباره این نرم افزار اطلاع داشته باشند می توانند فایل زیر را دریافت کنند

http://www.dgtali.com/downloads/filtering-doc.zip

منابع
http://tor.eff.org
http://www.sourceforgre.net

تا بعد

Ali
Tuesday 13/06/2006 09:41 | 1385/03/23
 8 Comments -  Permanent link  - Add Comment
Tuesday May 09, 2006 15:14
درباره یادداشت های نرم افزاری
سلام برای شروع توضیحی درباره این وبلاگ: این وبلاگ کاملا فنی هستش و درباره نرم افزار و تکنولوژی های وابسته به کامپبوتر سعی می کنم درباره چیزهای جدید و همچنین جالب مخصوصا درباره نرافزار مطلب بنویسم
تا بعد


Ali
Tuesday 09/05/2006 15:14 | 1385/02/19
 0 Comments -  Permanent link  - Add Comment
Friends
Empty!!!