What Is Google App Engine? – Google App Engine – Google Code


What Is 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. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.

You can serve your app using a free domain name on the appspot.com domain, or use Google Apps to serve it from your own domain. You can share your application with the world, or limit access to members of your organization.

App Engine costs nothing to get started. Sign up for a free account, and you can develop and publish your application for the world to see, at no charge and with no obligation. A free account can use up to 500MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month.

The Application Environment

Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. The environment includes the following features:

  • dynamic web serving, with full support for common web technologies
  • persistent storage with queries, sorting and transactions
  • automatic scaling and load balancing
  • APIs for authenticating users and sending email using Google Accounts
  • a fully featured local development environment that simulates Google App Engine on your computer

Google App Engine applications are implemented using the Python programming language. The runtime environment includes the full Python language and most of the Python standard library.

Via What Is Google App Engine? – Google App Engine – Google Code


Developer’s Guide – Google AJAX Language API – Google Code


With the AJAX Language API, you can translate and detect the language of blocks of text within a webpage using only Javascript.

The “Hello, World” of the Google AJAX Language API

The easiest way to start learning about this API is to see a simple example. The following example will detect the language of the given text and then translate it to English.

    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("language", "1");

    function initialize() {
      var text = document.getElementById("text").innerHTML;
      google.language.detect(text, function(result) {
        if (!result.error && result.language) {
          google.language.translate(text, result.language, "en",
                                    function(result) {
            var translated = document.getElementById("translation");
            if (result.translation) {
              translated.innerHTML = result.translation;

    <div id="text">你好,很高興見到你。</div>
    <div id="translation"></div>

You can view this example here to edit and play around with it.

Via Developer’s Guide – Google AJAX Language API – Google Code

Pex – Automated Exploratory Testing for .Net


Pex  image

Pex: Automated Exploratory Testing for .NET

Pex (Program EXploration) is an intelligent assistant to the programmer. From a parameterized unit test, it automatically produces a traditional unit test suite with high code coverage. In addition, it suggests to the programmer how to fix the bugs. Watch the screencast!

Pex – Automated Exploratory Testing for .Net

Excellent 1 Page Introduction to REST


Building Web Services the REST Way

Roger L. Costello


REST Web Services Characteristics

Here are the characteristics of REST:

  • Client-Server: a pull-based interaction style: consuming components pull representations.
  • Stateless: each request from client to server must contain all the information necessary to understand the request, and cannot take advantage of any stored context on the server.
  • Cache: to improve network efficiency responses must be capable of being labeled as cacheable or non-cacheable.
  • Uniform interface: all resources are accessed with a generic interface (e.g., HTTP GET, POST, PUT, DELETE).
  • Named resources – the system is comprised of resources which are named using a URL.
  • Interconnected resource representations – the representations of the resources are interconnected using URLs, thereby enabling a client to progress from one state to another.
  • Layered components – intermediaries, such as proxy servers, cache servers, gateways, etc, can be inserted between clients and resources to support performance, security, etc.

Principles of REST Web Service Design

1. The key to creating Web Services in a REST network (i.e., the Web) is to identify all of the conceptual entities that you wish to expose as services. Above we saw some examples of resources: parts list, detailed part data, purchase order.

2. Create a URL to each resource. The resources should be nouns, not verbs. For example, do not use this:


Note the verb, getPart. Instead, use a noun:


3. Categorize your resources according to whether clients can just receive a representation of the resource, or whether clients can modify (add to) the resource. For the former, make those resources accessible using an HTTP GET. For the later, make those resources accessible using HTTP POST, PUT, and/or DELETE.

4. All resources accessible via HTTP GET should be side-effect free. That is, the resource should just return a representation of the resource. Invoking the resource should not result in modifying the resource.

5. No man/woman is an island. Likewise, no representation should be an island. In other words, put hyperlinks within resource representations to enable clients to drill down for more information, and/or to obtain related information.

6. Design to reveal data gradually. Don’t reveal everything in a single response document. Provide hyperlinks to obtain more details.

7. Specify the format of response data using a schema (DTD, W3C Schema, RelaxNG, or Schematron). For those services that require a POST or PUT to it, also provide a schema to specify the format of the response.

8. Describe how your services are to be invoked using either a WSDL document, or simply an HTML document.

Via http://www.xfront.com/REST-Web-Services.html

YouTube Data API – Google Code


What is the YouTube Data API?

The YouTube Data API offers a simple and powerful way to access YouTube’s content in the form of Google Data API feeds. Your client application can request a list of videos that match specific search criteria, get access to the most popular YouTube videos, or get public information about YouTube users (such as playlists, subscriptions, or contacts).

The YouTube Data API is based on the Atom 1.0 and RSS 2.0 syndication formats and the Atom Publishing Protocol. Learn more about Google Data APIs.

How do I start?

If you’re new to the YouTube Data API, here’s how we recommend you get started:

  1. Get familiar with the GData Google Data APIs.
  2. Read the YouTube Data API Developer’s Guide.
  3. Refer to the YouTube Data API Reference Guide as needed.
  4. YouTube Data API – Google Code Home Page


  1. Client Libraries 
  2. Sample Code
  3. Batch Processing allows you to execute multiple operations in 1 request.
  4. Authentication – Desktop/Web (ClientLogin/AuthSub) 


.NET GData Client Library Developer’s Guide

This document provides a set of examples of common uses of the C# version of the client library, followed by other information about writing GData clients. At the end of this document is a link to the reference documentation for the C# client library, in NDoc format. Nothing YouTube Specific inside.

 .NET GData Sample

These samples can be found in the downloadable .NET client library package. For more information, see the .NET client library developer’s guide, or download the .NET client library from google code.

GUI application to edit a Blogger feed.
GUI application to browse a calendar.
GUI application to query Google Code Search.
Command line clients for querying and manipulating a Google Base feed.
Simple client that inserts a hardwired entry into a calendar.
Simple client that pulls data from a calendar.
GUI aplication to manipulate a spreadsheet.
Simple client that modifies some entries in a calendar.


Google Data APIs Protocol Basics

Ease your SQL Server Management Studio SSMS experience

SQL Server Management Studio Express Utility

In SSMS Tools Pack 1.0  you can find these features:

Uppercase/Lowercase keywords:

          Set all keywords to uppercase or lowercase letters. Custom keywords can be added.

Run one script on multiple databases:

          Run selected or full window text on selected databases on the currently connected server.

Copy execution plan bitmaps to clipboard:

          Copy selected or all execution plans to a bitmap that is saved on the clipboard.

Search Results in Grid Mode and Execution Plans:

          Find all occurrences of your search string in the execution plans or in the results in datagrid mode.

Generate Insert statements for a single table, the whole database or current resultsets in grids:

          Generate insert statement from your data.

Query Execution History (Soft Source Control)

           Save all executed queries to file or database and easily find them.

Text document Regions and Debug sections

           Add Regions and Debug section in your scripts to ease development experience.

Running custom scripts from Object explorer’s Context menu

           Speedy execution of custom scripts from Object Explorer’s context menus.

CRUD (Create, Read, Update, Delete) stored procedure generation:

           Generate Customizable CRUD stored procedures for all tables in your database.

New query template:

           Create a template that is shown when creating a new query window.

Ease your SSMS experience: SSMS Tools PACK 1.0 is out!