The Apache CouchDB Project

Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution. CouchDB provides a RESTful JSON API than can be accessed from any environment that allows HTTP requests.

CouchDB is written in Erlang, a robust functional programming language ideal for building concurrent distributed systems. Erlang allows for a flexible design that is easily scalable and readily extensible.

Manage your Amazon S3 Account with Ease

Amazon S3 is a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. Several software clients are available to manage an S3 account with ease, some are listed below:

  • S3 Browser : freeware (version 1.9.7 ; 1.9.8 beta) and pro licence available from NetSDK Software
  • Cyberduck : FTP, SFTP, WebDAV, Cloud Files & Amazon S3 Browser for Mac OS X
  • BucketExplorer : different licenses starting at 49.99$ available for Windows, MAC and Linux
  • FireFox S3 : free plugin for FireFox browser
  • CloudBerry : freeware Windows client
  • CloudBuddy : CloudBuddy Personal is a free tool brought to you by CSS Lab

Same origin policy

In computing, the same origin policy is an important security concept for a number of browser-side programming languages, such as JavaScript. The policy permits scripts running on pages originating from the same site to access each other’s methods and properties with no specific restrictions, but prevents access to most methods and properties across pages on different sites.

The concept of same origin policy is often extended to define roughly compatible security boundaries for other web scripting languages, such as Adobe Flash, or for mechanisms other than direct DOM manipulation, e.g.  XMLHttpRequest (Ajax).

The most popular ways to do cross domain calls via JavaScript are :

  • proxies : the most common approache (your script calls your server, your server makes the call to the remote server and then returns the result back to the client)
  • JSON : callback (the remote server needs to accept an additional parameter: a callback function)
  • Flash : bridge (Flash can enable the capability of remote access by placing a special XML policy-file on the remote server to accept requests from other domains)

Run your web applications on Google App Engine

Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. You can serve your app from your own domain name or from a free name on the appspot.com domain.

Google App Engine supports apps using standard Java technologies, including the JVM, Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library. The Java and Python runtime environments are built to ensure that your application runs quickly, securely, and without interference from other apps on the system.

App Engine costs nothing to get started. All applications can use up to 500 MB of storage and enough CPU and bandwidth to support an efficient app serving around 5 million page views a month, absolutely free. When you need more resources and enable billing for your application, your free limits are raised, and you only pay for resources you use above the free levels.  There are no set-up costs and no recurring fees. The resources your application uses, such as storage and bandwidth, are measured by the gigabyte, and billed at competitive rates. You control the maximum amounts of resources your app can consume, so it always stays within your budget.

The Java runtime environment uses Java 6, the App Engine Java SDK supports developing apps using either Java 5 or 6. The Python runtime environment uses Python version 2.5.2. Additional support for Python 3 is being considered for a future release. App Engine provides a powerful distributed data storage service that features a query engine and transactions. Just as the distributed web server grows with your traffic, the distributed datastore grows with your data. You can register up to 10 applications per developer account.

SDK’s are available for Java and Python, a plugin for Eclipse exist, Getting Started guides and other documentations are available at the Google App Engine website.

Informations about prices, billing and budgets are also available on the website. A direct access to the login page is here.

Limit my bandwith on Amazon S3

In 2006, a developer raised the question in the Amazon Discussion Forum whether there is a risk that the bandwidth cost grow beyond a level he was not willing to pay for. AWS answered that such a feature is in the work. The plan was to enable users to cap how much they are charged each month.

Three and a half year later, this is still a plan. The latest message from AWS was : later this year (2009) or early next year (2010).

Tools to create photomosaics and tilemosaics

Photomosaics are image montages which consist of small pictures called cell images. When viewed from a distance, you see the source image. Standard photo mosaic applications are based on similar processes. Applications are different in implemented recognition/selection algorithms and built-in functions for control/enhance mosaic rendering process.

The following tools are available :

The developer of Mosaic Creator published a comparison table of most available photo- and tile creation applications. A list of more tools is available in the Google directory.

Photo Mosaic

Photo Mosaic

Google & Open Directory: the organized web

Last update : July 2, 2013
The Google Web Directory integrates Google’s sophisticated search technology with Open Directory pages to create the most useful tool for finding information on the web. Key improvements include the following:

  • Importance ranking
  • Smarter search within directory categories
  • Web search integration
  • Clean, uncluttered user interface
Open Directory Banner

Open Directory

The Open Directory Project (ODP) is a large public directory managed by Netscape. The ODP is maintained by a group of volunteer editors from around the world who evaluate sites for inclusion in the directory. The web pages selected by these editors are organized into a number of broad categories under which are many more specific subcategories. Google uses this hierarchy as the basis for its directory.

Extract images, links and other data from webpages

There are a few tools available to download all the links and images contained in a webpage. Some freeware and open-source applications are listed herafter :

DownThemAll is a fast, reliable and easy-to-use add-on for Fireofx! It allows you to refine your downloads by fully customizable criteria to get only what you really want!

OutWit Hub is an all-in-one application for extracting and organizing data from online sources. It offers a wealth of data recognition features to simplify Web searches and operates as a free Firefox Add-on compatible with Windows, Mac OS, and Linux.

Zoomify : zoomable web images

Zoomify makes high-quality images zoom-and-pan for fast, interactive viewing on the web with just HTML, JPEGs, and Flash! Zoomify’s products meet the high-resolution imaging needs of creative professionals, image-centric businesses, and digital appliance companies. Zoomify is revolutionizing digital imaging in science, business, entertainment, education, and security.

Led by David Urbanic, President & CEO, Zoomify’s founders include top technologists and business staff from companies including Apple, Borland, Adobe and other leading firms.

There are four products available : Zoomify Express (free), Zoomify Design (29 US$), Zoomify Flash (129 US$) and Zoomify Enterprise (795 US$).

A detailed FAQ section is available at the website of Zoomify.