Homepage Software Knowledge base Links Feedback
         

1 February 2006

Being a Bot

Often search engine results contain information that is not accessible when you follow links. For example if your search result contains articles from SQL Server Magazine site (e.g. Should I Use IDENTITY or Not?) you will see how different actual page and search engine summary are. How does Google see the whole page when it indexes it? Sites rely on User-Agent string when returning actual content to the client. In Mozilla Firefox you can easy change portion of User-Agent string in about:config (search for general.useragent.extra.firefox):

Now open the same page again.

Some examples of user-agent substrings used by search engines:

Googlebot/2.1; +http://www.google.com/bot.html
Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html

It is unlikely that site owners will implement some sort of IP address filtering since search engines do not have fixed IP addresses to run crawls from:

The IP addresses used by Googlebot change from time to time. The best way to identify accesses by Googlebot is to use the user-agent (Googlebot).

As experiment you can try browsing the Web with custom user-agent string and see how different it looks.


24 January 2006

Today Sybase released new version of PowerDesigner. This is an excerpt from release notes: Sybase PowerDesigner 12 Splash

  • Data Modeling
    • New Database Generation dialog box
    • New, simplified DBMS-specific physical options tab
    • Enhanced model options (Default value for objects owner...)
    • Enhanced ERwin import (logical model, referential integrity option, merge of identical data item, symbol color, link & diagram preference,...)
    • Automatic detection of stored procedure dependency links
    • Keep selection from reverse engineering by ODBC
    • Display comment in symbol
    • Support for database generation and reverse engineering via VBScript
    • Support for GTL in database script generation
    • Support for new database versions
      • SQL Server 2005
      • ASE 15.0
      • MySQL 5.0
      • PostgreSQL 8.0
  • Trial version is available for download. Here are my first-look notes about this release.


    Dependencies in Microsoft SQL Server 2000

    Sometimes you may encounter the following warning message during T-SQL script playback:

    Cannot add rows to sysdepends for the current stored procedure because it depends on the missing object 'OBJECTNAME'. The stored procedure will still be created.

    This is an informational message and nothing is wrong with the code. It just means that the sequence in which objects are created is wrong from the logical point of view. Lets look at example:

    CREATE PROCEDURE usp_adduser
    AS
    EXECUTE usp_checkpermission
    RETURN
    GO

    CREATE PROCEDURE usp_checkpermission
    AS
    RETURN 0
    GO

    Playing this script results in the warning message shown above. What this mean in practice? Well, system stored procedure sp_depends will be unable to show anything when called for the usp_adduser. And in other tools that rely on sysdepends table like Enterprise Manager there will be no information about object dependencies since no record is added to sysdepends...

    How to fix this: create objects in correct order. If there are recursive procedures (that call themself) you can first create a dummy procedure and then alter it:

    -- Dummy
    CREATE PROCEDURE usp_getdirtree
    AS
    RETURN
    GO

    -- Real code
    ALTER PROCEDURE usp_getdirtree
    AS
    EXECUTE usp_getdirtree
    RETURN
    GO

    July, 27, 2005


    Building Firefox 1.0.4 on Sun Solaris 10 x86

    Finally I've got it up and running. It took about 10 attempts to build the browser on my home Solaris 10 host. Each build attempt lasts from several minutes (very first ones that fail soon) till 2 hours (successful build). I am running PIII 933 MHz with 512 Mb RAM computer, so the timing may vary for other configurations.

    May, 25, 2005


    Windows XP Styles

    Windows XP and Windows Server 2003 provide a nice user interface that is known as themes. On Windows Server 2003 you need to turn on service Themes (set it to start up automatically) and then select Theme in Display Properties applet (I use customized one). To make old applications (e.g. SQL Query Analyzer, VSS Explorer and so on) look great create the following XML file in the application directory and name it appname.exe.manifest:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
    	manifestVersion="1.0">
    	<assemblyIdentity version="1.0.0.0"
    	processorArchitecture="X86"
    	name="MyApp" type="win32"/>
    	<description>MyApp.</description>
    	<dependency>
    		<dependentAssembly>
    			<assemblyIdentity type="win32"
    			name="Microsoft.Windows.Common-Controls"
    			version="6.0.0.0"
    			processorArchitecture="X86"
    			publicKeyToken="6595b64144ccf1df"
    			language="*"/>
    		</dependentAssembly>
    	</dependency>
    </assembly>
    

    For example, for SQL Query Analyzer it is named isqlw.exe.manifest and here is screenshot:

    ISQLW.EXE XP STYLE

    May, 12, 2005


    Solaris 10 Packages

    I was curious what is installed with default Solaris 10 Entire set and used pkginfo command to get the list of installed packages. I was amazed: between a lot of useless packages I found those that were not included in previous Solaris releases:

    • SUNWgcc (GNU C compiler)
    • SUNWzsh (Z shell)
    • SUNW1251f (Russian fonts for Windows 1251 charset)

    As usual something is missing like GNU debugger (GDB), Firefox Web Browser - but you can download this separately from the Web.

    May, 11, 2005


    About passwords

    Sometime ago I decided to store passwords (I have about a dozen of them for all mailboxes and forums) in one place. It was a plain text file stored on USB Flash drive. Extremely useful: all in once place, just copy-n-paste. Until my flash was stolen. And now I found another place: mobile phone. Using cable and gammu software I synchronize Nokia 6313 Wallet with PC text file. At anytime I have all my passwords with me. Needless to say that I use strong passwords. I generate 'em in SQL Server:

    SELECT REPLACE(CAST(NEWID() AS varchar(36)), '-', '')

    May, 11, 2005


    Changing IE User-Agent string

    You probably know that Internet Explorer sends User-Agent string that contains information on some installed software. For example if .NET Framework in installed then User-Agent looks like this:

    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)

    To get rid of this delete values under the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform

    It maybe useful for debugging also: temporary add some unique strings to identify particular session.

    March, 28, 2005


    Burning CD/DVD disks under Solaris 10

    It's so easy to burn a CD or DVD in Solaris.

    March, 12, 2005


    How to retrieve Connection passwords in SQL Server 2000 DTS packages

    Follow-up article about Connection passwords in Microsoft SQL Server 2000 DTS packages.

    March, 2, 2005


    How Microsoft SQL Server 2000 encrypts DTS packages?

    Here is a note about DTS packages encryption in Microsoft SQL Server 2000.

    February, 26, 2005


    iPAQ2210 Page is here

    iPAQ2210 page restored (in Russian).

    February, 26, 2005


    Solaris 10: time to move

    Sun released Solaris 10 on January, 31, 2005 . This is great event: now anyone can use commercial-quality UNIX variant for free even in production. A lot of new features were introduced in Solaris 10: DTrace, self-healing, Zones and many others. Solaris 10 is available as downloadable CD/DVD ISO images that I've downloaded, burned, and successfully installed on my PC. Here is my page with Solaris tips.

    February, 26, 2005


    Blog is back again

    After long, long time I finally decided to start over writing regular notes. In other words, resume my dairy or blog. I thought much about whether to do it or not: what can drive a man to write something that anybody can read on the Web? And main idea is that it might help a little to concentrate on some important things I am doing. At least I believe in this.

    February, 25, 2005

         
      Copyright © 2005-2009 Martin Rakhmanov