Tineye.com is a convenient tool to find out on which websites a given picture is used. Just visit their website and paste the URL of your picture or upload it and let the search engine find the copies. There are also browser plugins available that allows you to start a tineye search by right clicking on an image on a webpage. This service can be useful for example if you want to use a free image from somewhere but want to avoid using an image that is already in use on hundreds of other websites.

If you are in search of websites about a certain topic you should have a look at similarsitesearch.com

As the website’s name suggests it searches for sites that are similar to a given website. It’s definitely worth to take a look at this service.

A test search for “google.com” resulted in gigablast.com, dogpile.com, and duckduckgo.com as the top three results. Only gigablast.com doesn’t seem very similar to google.com. On the other hand, dogpile and duckduckgo are indeed viable search engine alternatives to google.

Django is a framework for building webbased applications that is written in Python. Django applications are normally installed on linux machines. However many developers want to develop on windows and later deploy to linux (don’t ask me for the reasons, but my last two employers did this). In this article I will show you how to start with Django on Windows.

The steps to follow are:

Step 1: Install Python on Windows
Go to http://www.python.org/download/releases/ and download one of the Python 2.5.6. This tutorial will probably work with one of the other 2.x versions, too. Execute the file to install python.

Step 2: Install setuptools
Go to http://pypi.python.org/pypi/setuptools and scroll down to the download section near the end of that page. Download the .exe file that matches your Python version. So if you downloaded Python 2.5.6 in step 1 you should choose setuptools-0.6c11.win32-py2.5.exe. If you had Python 2.6 instead you should choose setuptools-0.6c11.win32-py2.6.exe, and so on. After dowloading, install that, too.

Step 3: Install MySQL for Python
If you don’t intend to use MySQL you can skip this step. Otherwise go to http://sourceforge.net/projects/mysql-python/files/mysql-python/ and get the latest version which was MySQL-python-1.2.3.tar.gz when I checked that site last time. Unpack it and install it.

Step 4: Install Django
With the setuptools from step 2 it is easy to install Django. Open the command line and type

> easy_install django

That’s all. You have installed django on windows.

 

Many websites show us a list of related pages for the page that is currently displayed. This can be done using fulltext search – a very popular one is Apache Lucene. It is written in Java but it also comes for Python as PyLucene - Python happens to be my favourite programming language.

Using Lucene you can add lots of documents to an index and then search it for documents containing certain keywords. However, Lucene is more than just a SQL LIKE query. With Lucene you can do fuzzy searches, you can search for ‘browser” and get results containing “browser”, “browse”, “browsing”, etc. Queries sent to Lucene are much like Google queries. You don’t need to submit exact queries.

Using this fuzziness it is easy to find “related pages” for your visitor. Just take the title of the current  page and submit it to Lucene as a search query. Lucene will find the best matching documents and returns them to you. The function to use for this feature is a Lucene class named MoreLikeThis. For more information on MoreLikeThis read this post by Aaron Johnson.

Lucene can also provide you with a list of the most frequent terms that exist in the search index. Use the method getHighFreqTerms from the HighFreqTerms class. Read more about that in the docs. I recommend to use some caching when using that function since it iterates through all terms found in the index.

Of course with Lucene you also get a powerful search tool for your website. Just put a form on your website and connect it to Lucene’s query parser.

It may take a while to add Lucene to your dynamic website but I think the benefits that it provides to your visitors make it quite interesting.