Thursday, October 11, 2007

Serp Archive

What is SerpArchive?
SerpArchive is a service which daily stores the results of search engine queries indicated by user.

Using this service users are able:
  • to track the dynamic changes of the results of search engine queries
  • to follow the rating changes of your resources and the resources of your business rivals in real time
  • to analyse the changes in rating algorithm of search engines
  • to track advertising programmes of Google Adsence
  • to track down sites which appear/disappear from SERPs
  • to analyse the dynamic changes of Google PR
  • to follow the history of changes of Google cache in time
SerpArchive

Wednesday, October 10, 2007

Internet names for Asia launched

The .asia regional internet domain has officially opened for business, with big firms expected to grab addresses.

Governments and companies can now register interest in specific domain names, such as www.namehere.asia.

Companies will be able to register domains for which they own a trademark and governments will get a chance to earmark those on a reserved list.

The general public will get a chance to snap up their own .asia domain when the landrush starts in February 2008.

BBC News

MS SQL server: How to dynamically number rows in a SELECT T-SQL statement

set nocount on
if exists (select * from sysobjects where type = 'U' and name = 'ranked_table')

begin
drop table ranked_table
end

-- create a test table (just for example)
create table ranked_table
(
id_test int identity not null,
string varchar (255),
constraint pk_test primary key (id_test)
)


set identity_insert ranked_table on

-- insert sample data
insert into ranked_table (id_test, string)
values (1,'testdata1')

insert into ranked_table (id_test, string)
values (3,'testdata2')
insert into ranked_table (id_test, string)

values (11,'testdata3')
insert into ranked_table (id_test, string)
values (45,'testdata4')

insert into ranked_table (id_test, string)
values (58,'testdata5')
insert into ranked_table (id_test, string)

values (61,'testdata6')
insert into ranked_table (id_test, string)
values (111,'testdata7')

insert into ranked_table (id_test, string)
values (123,'testdata8')
insert into ranked_table (id_test, string)

values (134,'testdata9')

set identity_insert ranked_table off
go

-- 1. Create a View
if exists (select * from sysobjects where type = 'V' and name = 'ranked_view')

begin
drop view ranked_view
end
go
create view ranked_view (rank, id_test, sting)

as
select (
select count(*)
from ranked_table as test_2
where test_2.id_test <= test_1.id_test
) as rank,
test_1.id_test,
test_1.string
from ranked_table as test_1

go
select *
from ranked_view
order by rank
go


-- 2. "Standard" T-SQL
select count (test_2.id_test) as rank, test_1.id_test, test_1.string
from ranked_table as test_1 inner join ranked_table as test_2 on

test_1.id_test >= test_2.id_test
group by test_1.id_test, test_1.string
order by rank
go

-- 3. "Standard" T-SQL
select test_3.rank, test_3.id_test, test_3.string
from (select test_1.id_test,
test_1.string,
(select count(*)
from ranked_table as test_2
where test_2.id_test <= test_1.id_test
) as rank
from ranked_table as test_1) as test_3

order by rank
go

-- 4. Temporary table with IDENTITY
if not object_id('tempdb..#rank_table') is null
begin
drop table #rank_table
end
create table #rank_table
(
rank int identity not null,
id_test int null,
string varchar (255),
constraint pk_test primary key (rank)
)
go
insert into #rank_table (id_test, string)
select id_test, string
from ranked_table
order by id_test

select * from #rank_table
go

-- 5. Table variable with IDENTITY
declare @rank_table table
(
rank int identity not null,
id_test int null,
string varchar (255)
)

insert into @rank_table (id_test, string)
select id_test, string
from ranked_table
order by id_test
select * from @rank_table

go

-- 6. Cursor
declare @rank int,
@id_test int,
@string varchar (255)

declare rank_cursor cursor
for select id_test, string
from ranked_table
order by id_test

open rank_cursor
fetch next from rank_cursor into @id_test, @string
set @rank = 1

while (@@fetch_status <> -1)
begin
select @rank, @id_test, @string
set @rank = @rank + 1
fetch next from rank_cursor into @id_test, @string

end
close rank_cursor
deallocate rank_cursor


Tuesday, October 9, 2007

MS SQL server: E-mail address validation

if @email not like '[^.]%[^.]@[^.]%[^.].[^.]%[^.]'
or @email like '%[а-я `!#$%^&*(){}\|/,?]%'
or isnull(charindex('@', substring(@email, charindex('@', @email) + 1, len(@email) - charindex('@', @email))), 1) > 0
print 'Not valid'
else
print "valid'

MS SQL server: How can I do a case-sensitive comparison on a SQL Server installed with a case-insensitive sort-order?


select * from my_table
where convert(varbinary(4), my_column) = convert (varbinary(4), 'teST')

MS SQL server: How to troubleshoot orphan users in SQL Server databases?

The most common symptoms are:
  • Applications will experience 'login failed' error messages and fail to log into this database.
  • Users won't show up in Enterprise Manager, but when you try to add users, you will get error messages saying 'User or role already exists in the current database'
To overcome this problem, you need to link the SIDs of users (from sysusers) to the SIDs of valid logins in the master..sysxlogins table.


use my_db_name
go
exec sp_change_users_login 'Auto_Fix', 'User_name'

Problem arises when you move (using backup/restore or detach/attach) a database to a new server. Since sysusers table is stored within the database, it gets moved over to the new server as well. Now the new server might or might not have the same logins, and the SIDs of these logins could be completely different from the SIDs of these logins in the original server. What this means is that, the sysusers table in the newly moved database has SIDs that aren't anymore there in the sysxlogins table on this new server. So, SQL Server can not map the users in this database to any of the logins. That's what results in orphaned users.

Eric Enge Interviews Google's Matt Cutts

Eric Enge: Let's talk about different kinds of link encoding that people do, such as links that go through JavaScript or some sort of redirect to link to someone, yet the link actually does represent an endorsement. Can you say anything about the scenarios in which the link is actually still recognized as a link?

Matt Cutts: A direct link is always the simplest, so if you can manage to do a direct link that's always very helpful. There was an interesting proposal recently by somebody who works on FireFox or for Mozilla I think, which was the idea of a ping attribute, where the link can still be direct, but the ping could be used for tracking purposes. So, something like that could certainly be promising, because it lets you keep the direct nature of a link while still sending a signal to someone. In general, Google does a relatively good job of following the 301s, and 302s, and even Meta Refreshes and JavaScript. Typically what we don't do would be to follow a chain of redirects that goes through a robots.txt that is itself forbidden.


Full text

Thursday, October 4, 2007

Goo.glicio.us - No more PageRank updates, Hello PageRate!

“As far as the toolbar PageRank, I definitely wouldn’t expect to see it in the next few days. Probably not even in the next couple weeks, if I had to guess.” (Sep. 07, 2007). As you could see SERPs bouncing around you could figure Google is probably working on their new and improved algorithm that will cut the SERPs affected by paid links and sort websites that bought PR from those that actually earned it.

http://jplay.info/googlicious-no-more-pagerank-updates-hello-pagerate/

Corel Draw / Photo Paint Palette Generator

You can create a custom palette for Corel Draw and Photo Paint online and save it to your disk.
Corel Draw / Photo Paint Palette Generator

VBScript: Capitalize String Function

Function fncCapitalize(ByVal str)
Dim intI, arrTmp
arrTmp = Split(str, " ")
str = ""
For intI = 0 To Ubound(arrTmp)
str = str & UCase(Left(arrTmp(intI), 1)) & Right(arrTmp(intI), Len(arrTmp(intI)) - 1) & " "
Next
fncCapitalize = Trim(str)
End Function

VBScript: URLDecode Function

Function URLDecode(ByVal str)
Dim intI, strChar, strRes
str = Replace(str, "+", " ")
For intI = 1 To Len(str)
strChar = Mid(str, intI, 1)
If strChar = "%" Then
If intI + 2 < Len(str) Then
strRes = strRes & Chr(CLng("&H" & Mid(str, intI+1, 2)))
intI = intI + 2
End If
Else
strRes = strRes & strChar
End If
Next
URLDecode = strRes
End Function

VBScript: URLEncode Function

Function URLEncode(ByVal str)
Dim strTemp, strChar
Dim intPos, intASCII
strTemp = ""
strChar = ""
For intPos = 1 To Len(str)
intASCII = Asc(Mid(str, intPos, 1))
If intASCII = 32 Then
strTemp = strTemp & "+"
ElseIf ((intASCII < 123) And (intASCII > 96)) Then
strTemp = strTemp & Chr(intASCII)
ElseIf ((intASCII < 91) And (intASCII > 64)) Then
strTemp = strTemp & Chr(intASCII)
ElseIf ((intASCII < 58) And (intASCII > 47)) Then
strTemp = strTemp & Chr(intASCII)
Else
strChar = Trim(Hex(intASCII))
If intASCII < 16 Then
strTemp = strTemp & "%0" & strChar
Else
strTemp = strTemp & "%" & strChar
End If
End If
Next
URLEncode = strTemp
End Function

MS SQL server: Checking if a temporary table exists

if not object_id('tempdb..#test') is null
print 'exists'
else
print 'not exists'

SQL Server: conversion from char to date error

Q: I have a query INSERT INTO ...SELECT FROM ...
were in select statement I have this sintax: convert(varchar(10),ColName,103)
for convert date type "DD/MM/YYYY HH.MM.SS" to format: "DD/MM/YYYY"
when try to execute in QueryAnalyzer, it show this error:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.

A: SET DATEFORMAT DMY

JavaScript: Doctype messing up script

Q: If you have the doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
, the DOMWindowGetYOffset() + DOMWindowGetInnerHeight() - DOMElementGetHeight(o) returns absolute bottom of document.
A: Internet Explorer in a "Strict" mode reallocate some properties from document.body to document.documentElement.
You should change that functions, like:
function DOMWindowGetYOffset() {
if (window.pageYOffset)
// all except Explorer
{
return window.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop)
// Explorer 6 Strict mode
{
return document.documentElement.scrollTop;
}
else if (document.body)
// all other Explorers
{
return document.body.scrollTop;
}
}
quirksmode.org

Tuesday, October 2, 2007

MS SQL server: Split up a string

CREATE PROCEDURE apPublicationUnselected (@PKPublicationID varChar (255)) AS
set nocount on

declare @sql varchar(8000)

create table #tmp (tmp_id int)

set @sql = 'insert #tmp select ' + replace(@PKPublicationID, ',', ' union select ')
exec (@sql)

SELECT *
FROM tblPublication
WHERE fkproductid Not in (select tmp_id from #tmp)

drop table #tmp

go

Connect to a .csv file via stored procedure in MS SQL server

1. bulk insert [table] from 'C:\tmp\file.csv' with....
2. select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=C:\tmp;','select * from file.csv')
3. exec sp_addlinkedserver @server="MyText", @srvproduct="", @provider="MSDASQL.1", @provstr="Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=C:\tmp"

MS SQL server: How can I use the result set from a stored procedure in a SELECT statement?

1. Convert the procedure to a function
create function dbo.dataset ()
returns @out table (
id int,
name varchar(150)
) as begin
insert @out(id, name)
select EmployeeID, FirstName + ' ' + LastName
from Northwind.dbo.Employees
return
end
go

select *
from dbo.dataset()
where name like '%King%'


2. Temporary table
create procedure dbo.dataset_sp 
as begin
set nocount on
select EmployeeID, FirstName + ' ' + LastName
from Northwind.dbo.Employees
end
go

create table #dataset(
id int,
name varchar(150)
)
insert #dataset exec dbo.dataset_sp

select *
from #dataset
where name like '%King%'

drop table #dataset


3. Linked Server
EXEC sp_addlinkedserver '(local)'
go

SELECT * FROM bar WHERE
bar_id IN ( SELECT foo_id FROM OPENQUERY([(local)], 'exec
db_name.owner.sp_GetMatchingIds @Criteria = ''a''' )

MS SQL server: database marked as "suspect"

Q: I've a database which was marked in "Recovery" and now "suspect"in SQL Server Enterprise.
I've restarted the server but still came up as "supspect".
I don't know what to do. Is there something I can try out before restoring the database from a backup?
I'm using SQL Server 2000.

A:
1. Detach a suspected db. Move the .mdf and .ldf files to the another location.

2. Create a new db with a same name and a same files .mdf and .ldf (name and location).

3. Stop MS SQL server.

4. Overwrite the new .mdf file with an old one.

5. Start MS SQL server.

6. Open QA and run the script:
-------------------------------
use master
go
sp_configure 'allow updates', 1
reconfigure with override
go
-------------------------------

7. From the QA run the script:
-------------------------------
select status from sysdatabases where name = ''
-------------------------------
Remember the status!

8. Run next script:
-------------------------------
update sysdatabases set status = 32768 where name = ''
-------------------------------
9. Restart MS SQL server

10. Now you should see your database in the Emergency mode.
You may script all objects at this point.

11. Run the next script:
-------------------------------
DBCC REBUILD_LOG('', 'log file name with a full path>').
-------------------------------
You should see the following message:
Warning: The log for database '' has been rebuilt.

12. If no errors, run the next script:
-------------------------------
use ''
go
sp_dboption '', 'single_user', 'true'
go
DBCC CHECKDB('', REPAIR_ALLOW_DATA_LOSS)
go
-------------------------------

13. If no errors, run the next script:
-------------------------------
sp_dboption '', 'single_user', 'false'
go
use master
go
sp_configure 'allow updates', 0
go
-------------------------------

14. If any errors occur, reset the status of your db to the status at step 7.

MS SQL Future Keywords

The following keywords could be reserved in future releases of SQL Server as new features are implemented. Consider avoiding the use of these words as identifiers.

ABSOLUTE
ACTION
ADMIN
AFTER
AGGREGATE
ALIAS
ALLOCATE
ARE
ARRAY
ASSERTION
AT
BEFORE
BINARY
BIT
BLOB
BOOLEAN
BOTH
BREADTH
CALL
CASCADED
CAST
CATALOG
CHAR
CHARACTER
CLASS
CLOB
COLLATION
COMPLETION
CONNECT
CONNECTION
CONSTRAINTS
CONSTRUCTOR
CORRESPONDING
CUBE
CURRENT_PATH
CURRENT_ROLE
CYCLE
DATA
DATE
DAY
DEC
DECIMAL
DEFERRABLE
DEFERRED
DEPTH
DEREF
DESCRIBE
DESCRIPTOR
DESTROY
DESTRUCTOR
DETERMINISTIC
DIAGNOSTICS
DICTIONARY
DISCONNECT
DOMAIN
DYNAMIC
EACH
END-EXEC
EQUALS
EVERY
EXCEPTION
EXTERNAL
FALSE
FIRST
FLOAT
FOUND
FREE
GENERAL
GET
GLOBAL
GO
GROUPING
HOST
HOUR
IGNORE
IMMEDIATE
INDICATOR
INITIALIZE
INITIALLY
INOUT
INPUT
INT
INTEGER
INTERVAL
ISOLATION
ITERATE
LANGUAGE
LARGE
LAST
LATERAL
LEADING
LESS
LEVEL
LIMIT
LOCAL
LOCALTIME
LOCALTIMESTAMP
LOCATOR
MAP
MATCH
MINUTE
MODIFIES
MODIFY
MODULE
MONTH
NAMES
NATURAL
NCHAR
NCLOB
NEW
NEXT
NO
NONE
NUMERIC
OBJECT
OLD
ONLY
OPERATION
ORDINALITY
OUT
OUTPUT
PAD
PARAMETER
PARAMETERS
PARTIAL
PATH
POSTFIX
PREFIX
PREORDER
PREPARE
PRESERVE
PRIOR
PRIVILEGES
READS
REAL
RECURSIVE
REF
REFERENCING
RELATIVE
RESULT
RETURNS
ROLE
ROLLUP
ROUTINE
ROW
ROWS
SAVEPOINT
SCOPE
SCROLL
SEARCH
SECOND
SECTION
SEQUENCE
SESSION
SETS
SIZE
SMALLINT
SPACE
SPECIFIC
SPECIFICTYPE
SQL
SQLEXCEPTION
SQLSTATE
SQLWARNING
START
STATE
STATEMENT
STATIC
STRUCTURE
TEMPORARY
TERMINATE
THAN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINUTE
TRAILING
TRANSLATION
TREAT
TRUE
UNDER
UNKNOWN
UNNEST
USAGE
USING
VALUE
VARCHAR
VARIABLE
WHENEVER
WITHOUT
WORK
WRITE
YEAR
ZONE


ODBC Reserved Keywords

The following words are reserved for use in ODBC function calls. These words do not constrain the minimum SQL grammar; however, to ensure compatibility with drivers that support the core SQL grammar, applications should avoid using these keywords.

ABSOLUTE
ACTION
ADA
ADD
ALL
ALLOCATE
ALTER
AND
ANY
ARE
AS
ASC
ASSERTION
AT
AUTHORIZATION
AVG
BEGIN
BETWEEN
BIT
BIT_LENGTH
BOTH
BY
CASCADE
CASCADED
CASE
CAST
CATALOG
CHAR
CHARACTER
CHARACTER_LENGTH
CHAR_LENGTH
CHECK
CLOSE
COALESCE
COLLATE
COLLATION
COLUMN
COMMIT
CONNECT
CONNECTION
CONSTRAINT
CONSTRAINTS
CONTINUE
CONVERT
CORRESPONDING
COUNT
CREATE
CROSS
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATE
DAY
DEALLOCATE
DEC
DECIMAL
DECLARE
DEFAULT
DEFERRABLE
DEFERRED
DELETE
DESC
DESCRIBE
DESCRIPTOR
DIAGNOSTICS
DISCONNECT
DISTINCT
DOMAIN
DOUBLE
DROP
ELSE
END
END-EXEC
ESCAPE
EXCEPT
EXCEPTION
EXEC
EXECUTE
EXISTS
EXTERNAL
EXTRACT
FALSE
FETCH
FIRST
FLOAT
FOR
FOREIGN
FORTRAN
FOUND
FROM
FULL
GET
GLOBAL
GO
GOTO
GRANT
GROUP
HAVING
HOUR
IDENTITY
IMMEDIATE
IN
INCLUDE
INDEX
INDICATOR
INITIALLY
INNER
INPUT
INSENSITIVE
INSERT
INT
INTEGER
INTERSECT
INTERVAL
INTO
IS
ISOLATION
JOIN
KEY
LANGUAGE
LAST
LEADING
LEFT
LEVEL
LIKE
LOCAL
LOWER
MATCH
MAX
MIN
MINUTE
MODULE
MONTH
NAMES
NATIONAL
NATURAL
NCHAR
NEXT
NO
NONE
NOT
NULL
NULLIF
NUMERIC
OCTET_LENGTH
OF
ON
ONLY
OPEN
OPTION
OR
ORDER
OUTER
OUTPUT
OVERLAPS
PAD
PARTIAL
PASCAL
POSITION
PRECISION
PREPARE
PRESERVE
PRIMARY
PRIOR
PRIVILEGES
PROCEDURE
PUBLIC
READ
REAL
REFERENCES
RELATIVE
RESTRICT
REVOKE
RIGHT
ROLLBACK
ROWS
SCHEMA
SCROLL
SECOND
SECTION
SELECT
SESSION
SESSION_USER
SET
SIZE
SMALLINT
SOME
SPACE
SQL
SQLCA
SQLCODE
SQLERROR
SQLSTATE
SQLWARNING
SUBSTRING
SUM
SYSTEM_USER
TABLE
TEMPORARY
THEN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINUTE
TO
TRAILING
TRANSACTION
TRANSLATE
TRANSLATION
TRIM
TRUE
UNION
UNIQUE
UNKNOWN
UPDATE
UPPER
USAGE
USER
USING
VALUE
VALUES
VARCHAR
VARYING
VIEW
WHEN
WHENEVER
WHERE
WITH
WORK
WRITE
YEAR
ZONE


MS SQL Reserved keywords

Microsoft SQL Server 2000 uses reserved keywords for defining, manipulating, and accessing databases. Reserved keywords are part of the grammar of the Transact-SQL language used by SQL Server to parse and understand Transact-SQL statements and batches. Although it is syntactically possible to use SQL Server reserved keywords as identifiers and object names in Transact-SQL scripts, this can be done only using delimited identifiers.

ADD
ALL
ALTER
AND
ANY
AS
ASC
AUTHORIZATION
BACKUP
BEGIN
BETWEEN
BREAK
BROWSE
BULK
BY
CASCADE
CASE
CHECK
CHECKPOINT
CLOSE
CLUSTERED
COALESCE
COLLATE
COLUMN
COMMIT
COMPUTE
CONSTRAINT
CONTAINS
CONTAINSTABLE
CONTINUE
CONVERT
CREATE
CROSS
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DBCC
DEALLOCATE
DECLARE
DEFAULT
DELETE
DENY
DESC
DISK
DISTINCT
DISTRIBUTED
DOUBLE
DROP
DUMMY
DUMP
ELSE
END
ERRLVL
ESCAPE
EXCEPT
EXEC
EXECUTE
EXISTS
EXIT
FETCH
FILE
FILLFACTOR
FOR
FOREIGN
FREETEXT
FREETEXTTABLE
FROM
FULL
FUNCTION
GOTO
GRANT
GROUP
HAVING
HOLDLOCK
IDENTITY
IDENTITYCOL
IDENTITY_INSERT
IF
IN
INDEX
INNER
INSERT
INTERSECT
INTO
IS
JOIN
KEY
KILL
LEFT
LIKE
LINENO
LOAD
NATIONAL
NOCHECK
NONCLUSTERED
NOT
NULL
NULLIF
OF
OFF
OFFSETS
ON
OPEN
OPENDATASOURCE
OPENQUERY
OPENROWSET
OPENXML
OPTION
OR
ORDER
OUTER
OVER
PERCENT
PLAN
PRECISION
PRIMARY
PRINT
PROC
PROCEDURE
PUBLIC
RAISERROR
READ
READTEXT
RECONFIGURE
REFERENCES
REPLICATION
RESTORE
RESTRICT
RETURN
REVOKE
RIGHT
ROLLBACK
ROWCOUNT
ROWGUIDCOL
RULE
SAVE
SCHEMA
SELECT
SESSION_USER
SET
SETUSER
SHUTDOWN
SOME
STATISTICS
SYSTEM_USER
TABLE
TEXTSIZE
THEN
TO
TOP
TRAN
TRANSACTION
TRIGGER
TRUNCATE
TSEQUAL
UNION
UNIQUE
UPDATE
UPDATETEXT
USE
USER
VALUES
VARYING
VIEW
WAITFOR
WHEN
WHERE
WHILE
WITH
WRITETEXT


Optimizing SQL Server CPU Performance

The key to healthy CPU utilization on your database server is to make sure that the CPU is spending its time processing what you want it to process rather than wasting cycles on poorly optimized code or sluggish hardware. Here are some tips for getting the most out of SQL Server and your hardware.

Zach Nichter

TechNet Magazine

Scientists Invent 30 Year Continuous Power Laptop Battery

Your next laptop could have a continuous power battery that lasts for 30 years without a single recharge thanks to work being funded by the U.S. Air Force Research Laboratory. The breakthrough betavoltaic power cells are constructed from semiconductors and use radioisotopes as the energy source. As the radioactive material decays it emits beta particles that transform into electric power capable of fueling an electrical device like a laptop for years.
The best part about these cells are when they eventually run out of power they are totally inert and non-toxic, so environmentalists need not fear these high tech scientific wonder batteries. If all goes well plans are for these cells to reach store shelves in about 2 to 3 years.

nextenergynews.com

Report: Russia Evacuates Entire Bushehr Staff

Iranian news outlet claims nuclear experts packed their bags Friday, increasing speculation of imminent U.S., Israeli attack

prisonplanet.com

Monday, October 1, 2007

Welcome To The DMOZ Blog

Hello and welcome to the new DMOZ blog, the official source for information, insight, and updates about DMOZ, the Open Directory Project ( ODP ).

http://blog.dmoz.org/

The most popular sites for domain names

The most popular sites for domain names

Google, Yahoo Sued For Stealing Names From Tanzanian Tribes

The lawsuit is being filed against both Google and Yahoo by a guy who is apparently being detained by Immigration services in Houston.

He claims that both Google and Yahoo stole their names from Tanzanian tribes -- and now they should pay up.

Specifically, he claims that Google took its name from the Gogo tribe and Yahoo took its name from the Yao tribe.

Conveniently, this guy happens to be a descendant of both tribes. He's merely asking for both companies to pay $10,000 each to ever member of both tribes, going back three generations.

Addict3D

CSS Layouts

Layout Gala
CSS Templates
Maxdesign
CSS Play
Elastic Design Demonstration - HTML Dog
CSS-Discuss
CSS Layout Techniques: for Fun and Profit
Stu Nicholls | CSSplay | Experiments with cascading style sheets | Doing it with Style

CSS Three Column Liquid Layout with Header and Footer

CSS Three Column Liquid Layout with Header and Footer

Thursday, September 27, 2007

List of Free SEO Friendly Directories

  • List of Free SEO Friendly Directories
  • Manual URL Submission Service

www.addurl.nu

The new Payment system company

Revolution LLC, an investment company created by AOL co-founder Steve Case, has launched a subsidiary called Revolution Money to offer consumers a secure credit card that has lower fees for merchants and a free online money transfer service.

The new subsidiary's chairman will be Ted Leonsis, vice chairman emeritus of AOL LLC and majority owner of the Washington Capitals and Washington Mystics.

Revolution Money recently secured $50 million in series B venture capital funding.

www.bizjournals.com

Wednesday, September 26, 2007

Google AdSense for Mobile unlocks the potential of the mobile advertising market

AdSense for Mobile will be available in the following countries: US, England, France, Italy, Germany, Spain, Ireland, Russia, Netherlands, Australia, India, China, and Japan (available in the coming weeks).

Google Press Center

Google Supplemental Index Ratio Calculator

What is the Supplemental Index Ratio?

Google has a secondary index containing pages pages considered of less importance.
This pages are considered supplemental results, and returned in SERPs only if there are no pages from the main index matching the given search term(s).

The Supplemental Index Ratio tells you what percentage of pages indexed from your website are supplemental results.
The lower your Supplemental Index Ratio is, the better.

Google Supplemental Index Ratio Calculator

Bin Laden domain up for grabs

If you have ever wanted to own your very own piece of US history now is your chance. A website once owned by the bin Laden family that expired on September 11, 2001, has been listed for auction on eBay.

The seller, Chris Curry, a technology consultant based in Los Angeles, has listed the domain name http://www.saudi-binladin-group.com at the starting price of US$150,000 (A$180,000).

The AGE

1 US Dollar = 1 Canadian Dollar


Yahoo Finance

Point Mugu Airshow 2007 F-22 Raptor

The F-22 Raptor is the latest and greatest fighter in the US Air Force inventory.

19 Fotos

The Netscape social news experience that you are currently using today will be migrated

We promised you in our last communication about the Netscape.com site that we would get right back to you about where your current social news site will live after we redirect to the new Netscape portal.

The Netscape social news experience that you are currently using today will be migrated and revealed soon at http://www.propeller.com/. We're working hard behind the scenes to ensure a smooth transition before we officially launch at this new destination.



Social News Update

Robots.txt Adventure

Nearly three quarters of domains on the web would go “dark” for search engines.
Robots.txt Adventure

40+ Free One-Column Website Templates

Finding good website templates is tough. Finding good website templates that are standards compliant (or at least trying to be) is even tougher. Here are more than 40 that are CSS based and standards compliant (or at least with a good head-start on being so). The best part is that they’re all free!
40+ Free One-Column Website Templates

50 Great Widgets For Your Blog

Widgets are a handy, easy and simple way to add some flare to your blog. Whether you’d like to display the number of currently online visitors to your site or simply the weather report for Los Angeles, you can do it with widgets. We’ve assembled a list of 50 useful or simply cool widgets for your pleasure. And remember, the first rule of widgetizing your blog is - don’t overdo it!
50 Great Widgets For Your Blog

CSS TOOLBOX: 20+ Tools For Working With CSS

Have you always been reliant on others’ templates for your blog or website? You’d like to customize them, but you’re just not sure how? Perhaps it’s time to finally wrestle with the secrets of CSS. This collection of CSS-related links should be a good start - from basic tutorials to advanced tools, it’s all here.
CSS TOOLBOX

SEO Tools

  • PageRank SEO Tools - Site Link Analyzer
  • The PageRank Search tool allows you to search Google using any keyword(s) you wish
  • A high-traffic popular domain,and this tool can help you to achieve high amounts of traffic
  • Get a glimpse of any upcoming changes in your chosen URL"s PageRank value.
  • How Much Is That BackLink Worth
  • PageRank Search Tools

SEO Tools

FREE keyword suggestion tool

Enter a starting keyword to generate up to 100 related keywords and an estimate of their daily search volume. http://freekeywords.wordtracker.com/

1 GB IBM HDD 20 years ago

Free Web Hosting

"Free Webspace" is a directory list of free web hosting providers (free hompage hosting sites), with over 300 of the best free web space hosting sites with reviews, testimonials, and ratings, and is updated daily. To find a free web page hosting service that fits your needs, use the Search box on the left. If you need special web hosting features for your free web space, such as FrontPage server extensions, PHP, CGI, ASP, MySQL databases, etc., try our Advanced Free Web Hosting Search. The web hosting review page for each free website hosting company listed will allow you to read the reviews and ratings by others, or give your own. The newest additions to our searchable database of free webhosting providers are in a list below. The Linux web hosting for this website is now hosted on a fast dedicated server hosting, to serve you better.

Bug in Excel 2007

Simply when you try to multiply 850 by 77.1 excel display the result to be 100000

Even Sumproduct returned 100000.
=SUMPRODUCT(850,77.1)
=SUMPRODUCT(850,77.1,2,0.5)
(2*0.5 = 1)

microsoft.public.excel

Wednesday, February 7, 2007

MS SQL server: Truncate All Tables


use my_db
-- check the table names first
exec sp_msforeachtable 'print ''?'''
-- uncomment the next line to truncate
--exec sp_msforeachtable 'truncate table ?'

JavaScript: custom sort function


<html>
<head>
<script language="JavaScript" type="text/JavaScript">
var myarray = ["AY","Aa","Ae","Ealing","EDF"];
function mysortfn(a,b) {
if (a.toLowerCase() < b.toLowerCase()) return -1;
if (a.toLowerCase() > b.toLowerCase()) return 1;
return 0;
}

</script>
</head>
<body>
<p><a href="#" onclick="document.getElementById('test').innerHTML=myarray.sort(mysortfn);return false;">Test</a></p>
<p id="test"></p>
</body>

</html>

MS SQL server: Optional Search Parameters


create proc myproc (
val_1 int, -- required
val_2 varchar(32), -- optional
val_3 int -- optional
) as

select *
from mytable
where
col_1 = val_1
and col_2 like case
when val_2 = '' then col_2
else '%' + val_2 + '%'
end
and col_3 = case
when val_3 = 0 then col_3
else val_3
end
go

MS SQL server: Deleting Duplicate Records

I have a table tmPunchtimeSummary which contains a sum of employee's hours per day. The table contains some duplicates.


CREATE TABLE [tmPunchtimeSummary]
(
[iTmPunchTimeSummaryId] [int] IDENTITY (1, 1) NOT NULL ,
[sCalldate] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[sEmployeeId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[dTotalHrs] [decimal](18, 4) NULL
) ON [PRIMARY]

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1234', 4.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1234', 4.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2468', 8.0)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1357', 9.0)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2345', 8.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2345', 8.5


How can I write a delete statement to only delete the duplicates which in this case would be the 1st and 5th records?


CREATE TABLE [tmPunchtimeSummary]
(
[iTmPunchTimeSummaryId] [int] IDENTITY (1, 1) NOT NULL ,
[sCalldate] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[sEmployeeId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[dTotalHrs] [decimal](18, 4) NULL
) ON [PRIMARY]

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1234', 4.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1234', 4.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2468', 8.0)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '1357', 9.0)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2345', 8.5)

INSERT tmPunchtimeSummary (sCalldate, sEmployeeId, dTotalHrs)
VALUES('20060610', '2345', 8.5)

delete t1
from tmPunchtimeSummary as t1 inner join tmPunchtimeSummary as t2
on t1.sCalldate = t2.sCalldate and t1.sEmployeeId = t2.sEmployeeId and t1.dTotalHrs = t2.dTotalHrs
and t1.iTmPunchTimeSummaryId < t2.iTmPunchTimeSummaryId

select * from tmPunchtimeSummary


iTmPunchTimeSummaryId sCalldate sEmployeeId dTotalHrs
--------------------- -------------------- -------------------- --------------------
2 20060610 1234 4.5000
3 20060610 2468 8.0000
4 20060610 1357 9.0000
6 20060610 2345 8.5000

MS SQL server: greatest value

How to get the greatest value from 3 or more different columns?



-- create a test table (just for example)
create table #t (a int, b int, c int)

-- insert sample data
insert #t
select 1, 2, 3
union all select 4, 5, 6
union all select 7, 8, 9

-- select a max value
select max(mx) from (
select mx = max(a)
from #t
union
select max(b)
from #t
union
select max(c)
from #t
) as t

drop table #t

-----------
9

Blog Archive