Sometimes I have to put text on a path

Saturday, July 2, 2011

first steps for dummies: google-appengine-mac-launcher; Google App Engine SDK for Python

This post is a tutorial for "dummies v0.0.0.1".
you will learn:
  • Google-appengine-mac-launcher - the Mac Launcher for Google App Engine  
  • Google Project Hosting.
  • the full steps from a code to your ""
Download the Google App Engine SDK for Python:
(version 1.5.1 - 2011-06-20)

GoogleAppEngineLauncher-1.5.1.dmg is an image disk of 12.3 MB (on your local disk;) ).
GoogleAppEngineLauncher is a Mac application (60MB on your local disk).
Google App Engine Launcher helps you develop and deploy web applications for Google App Engine using your Macintosh computer. Using the Launcher, you can create a new project, launch your editor to write code and change configuration, test your application, and upload your application to App Engine. The Launcher includes the complete App Engine software development kit, so it's all you need to get started.

--A) for the first use of this desktop program,  you get this message:
"The Google App Engine SDK contains command-line programs used by  Would you like symbolic links for these programs, such as, to be made in /usr/local/bin?
This action will replace links which may currently exist."
--------click OK
"Symbolic links in /usr/local/bin have been created for the following commands: 
In addition, /usr/local/google_appengine points to the SDK."
---------------click OK

--B)-----------a brief overview of this stand-alone  application  before diving:
 At this URL (, you can see the Launcher window with three projects. The first project is currently running locally on port 8080. The second project, selected, is running on port 8081. The Log Console for this project is also open. You can stop it, navigate to the local application in a browser, deploy it to, and see the project dashboard. The last project is not running.

--C)------ In the help menu, select "demos" item  and "guestbook".
Google App Engine Launcher includes a fully functional demo application (hello-guestBook) that you can create, run and modify (for this demo application with Go (and not Python): see

--D)-1)---The Python SDK includes a web server application that simulates the App Engine environment, including a local version of the datastore, Google Accounts, and the ability to fetch URLs and send email directly from your computer using the App Engine APIs. The Python SDK runs on any computer with Python 2.5, and versions are available for Windows, Mac OS X and Linux. (The Python SDK is not compatible with Python 3.)
The Python SDK (for Windows and Mac) includes Google App Engine Launcher, an application that runs on your computer and provides a graphical interface that simplifies many common App Engine development tasks.

Python App Engine applications communicate with the web server using the CGI standard. When the server receives a request for your application, it runs the application with the request data in environment variables and on the standard input stream (for POST data). To respond, the application writes the response to the standard output stream, including HTTP headers and content.
Let's begin by implementing a tiny application (hello) that displays a short message.

--D-2)---first steps "run"
 a)click on the menu item "demo" (Google App Engine Launcher):

b) click "run" and click "logs",
c) The local app server starts, and the green "running" icon appears next to the project in the project list.
Click the "Browse" button. A web browser window (chrome) opens with the demo application's home page:

d)Test the application: In the browser window, select the text box on the page, enter some text (i.e. "first ex-ample", then click the "Sign Guestbook" button:

The application responds by adding the message to the page:

Try again with another message:

--D-3)---first steps :To modify the demo application. "Iterative Development"
a) In the Launcher window, click the "Edit" button (or select Edit -- Open in External Editor)
A text editor (application "text edit") opens with the files for the project (app.yaml).

The directory "guestbook" contains 2 files:

In the text editor, open the file named "" (. Find the line containing "An anonymous person wrote:". Change the phrase to "ex-ample(anonymous) wrote:", or another phrase of your choosing 
Tip: You do not need to restart the local app server for most changes to application source files. If the server is still running from a previous step, you can leave it running.

Select the browser window, then reload the page. Previously entered messages are displayed, but with the new phrase ("ex-ample(anonymous) wrote:").

To view the log data for a project running under the local app server:
click the "Logs" button.

--D--4)----To deploy a project to Google App Engine:
If you have not already done so, sign in or register with Google App Engine (, then create an application ID for the application (see below).
Edit the project's app.yaml file to have the correct application ID (see the pictures below)
(YAML is a language:

Select the project in the project list.

Click the "Deploy" button (graphic UI of the google-appengine-mac-launcher; or use appcfg to upload and deploy your application code).

Account google app engine window:
An application ID = a name unique to this application. 
If you elect to use the free domain name, the full URL for the application will be

more :
(Uploading, Downloading, and Managing a Python App: the App Engine Python SDK includes a command for interacting with App Engine named You can use this command to upload new versions of the code, configuration and static files for your app to App Engine. You can also use the command to manage datastore indexes and download log data).


Starting update of app: hello-javascript, version: 1
Scanning files on local disk.
2011-07-03 18:12:17,212 WARNING ssl module not found.
Without the ssl module, the identity of the remote host cannot be verified, and
connections may NOT be secure. To fix this, please install the ssl module from .
To learn more, see . 
Password for Cloning 3 application files.
Uploading 2 files and blobs.
Uploaded 2 files and blobs
Compilation starting.
Compilation completed.
Starting deployment.
Checking if deployment succeeded.
Will check again in 1 seconds.
Checking if deployment succeeded.
Will check again in 2 seconds.
Checking if deployment succeeded.
Deployment successful.
Checking if updated app version is serving.
Completed update of app: hello-javascript, version: 1
If deploy fails you might need to 'rollback' manually.
The "Make Symlinks..." menu option can help with command-line work.
*** has finished with exit code 0 ***

You succeed!!!!
Your first "web application" is

Try the "Dashboard" button:
You can manage and monitor applications running on Google App Engine using the Admin Console from your web browser. You can open the Admin Console directly from the Launcher.
With the project selected in the project list (google-appengine-mac-launcher),
click the "Dashboard" button.
A web browser window opens with the Google App Engine Admin Console for the selected project.
I get this:
Some remarks:
  • 3 paths were created: 1) a favicon was not added (err 404) but its path was created, 2) the path "/" and 3) the path "/sign".
  • go to "application settings": 1) Cookie Expiration: 1 day (App Engine uses a cookie to keep users logged in to your application); 2) you can select the Authentication Options: google account API or Federated login (openId); 3) YOU CAN DISABLE or DELETE YOUR APPLICATION HERE (
--D--6)---------now you can modify the demo application:
Sometimes if you modify the ""
you MUST modify "app.yaml" (for example if you want to add static file as image saved in your local  directory "/image"):

--D--7)------shut down the local web server
To shut down the web server, make sure the terminal window is active, then press Control-C (or the appropriate "break" key for your console), or click Stop in Google App Engine Launcher.
You can leave the web server running for the rest of this tutorial. If you need to stop it, you can restart it again by running the command above.

in fact, this demo partially corresponds to  the hello-guestbook step by step "getting started":

    (Note: If you built your application using an earlier version of this Getting Started Guide, please note that the sample application has changed. You can still find the sample code for the original Guestbook application, which does not use ancestor queries, in the demos directory of the SDK)

--F--------To add an other existing Google App Engine project to the launcher in 3 clicks:

      1----Select the menu option File -- Add an Existing Project...(or: Press Shift-Command-N).
      2----The "Add Existing Application" dialog opens. Click the "Browse..." button next to the field "Path" to select the existing application root directory.
The application root directory is the directory containing the application's app.yaml file.

(Optional) Change the port number to use when running the local app server for this project. By default, a port number is selected that doesn't conflict with any other project in the Launcher.

      3---Click the "Add" button. The project is added to the Launcher project list.


Developer's Guide to Prerendering in Chrome

Web Developer's Guide to Prerendering in Chrome - Google Chrome - Google Code:

Prefetching is a feature that is currently implemented in Firefox. Prerendering is an experimental feature in Chrome (versions 13 and up) that can take hints from a site’s author to speed up the browsing experience of users. A site author includes an element in HTML that instructs Chrome to fetch and render an additional page in advance of the user actually clicking on it.
The concept of prefetching is included in the HTML5 spec.

test :

storage is a Collection of hacks and demos showing capability of HTML5 apps: Storage

HTML5 Demo: Storage
(The keyup event is sent to an element when the user releases a key on the keyboard).

Collection of hacks and demos showing capability of HTML5 apps

Web font HTML5; Add a line of code to your pages and choose from hundreds of web fonts:Typekit
alexa 8500 (@july 2011)

Add a line of code to your pages and choose from hundreds of web fonts. Simple, bulletproof, standards compliant, accessible, and totally legal.

Your fonts will be served from a robust global network built with hundreds of servers.

The Kit Editor lets you apply your fonts to CSS classes, IDs, or any HTML tag in your markup.

Typekit fonts support a dozen languages.


max 25,000 Pageviews/month
Trial Library access
1 Website
2 Fonts per site
Typekit badge required

javascript tips:
list of projects (javascript)
1) /anaclock; click "clock.html"; (appcache play)

2) timer:




CSS3.0 Maker;CSS3.0 Generator;css menu;

CSS3.0 Maker | CSS3.0 Generator | CSS 3.0 Generator | css3 generator:

online css3.0 generator:

CSS3.0 based Menu

  • Horizontal DropDown Menu
  • Horizontal Menu
  • Pagination Menu
  • Step by Step Navigation
  • Vertical Menu
  • Vista Style Css Menu

Monocubed, galactic-inbox, HTML5 game,

Monocubed | Paul Truong:

HTML5 game implemented with processing.js ( Like all the other doodles on this blog, it’s a personal project for learning purposes (read: the code is not pretty).



  • HTML5 on line application
  • 100 million original works of art.

alexa: 122 @july 2011.

see a snapshot:

site optimization: HTML5 Boilerplate.

HTML5 Boilerplate - A rock-solid default template for HTML5 awesome. When can I use... HTML5, CSS3, in my browser?

When can I use... Support tables for HTML5, CSS3, etc

ALL webmasters tools (increase traffic and see stats of google, yahoo, bing bots, spiders): google webmaster, yahoo site explorer, bing webmaster. blogger,

All three major search engines provide webmaster tools that give you detailed information and statistics about how they see and crawl your website. In order to access most of the features, you will have to verify your sites.

Submitting the Sitemaps of your blog to Webmaster tools helps the search engine to crawl your webpages easily and more quickly!

Here’s how you do it with each of the search engines (for blog and blogger

Google Webmaster Tools 
Log in to with your Google account.
Enter your blog URL and click Add Site.
You will be presented with several verification methods.

For, choose Meta Tag.
Copy the meta tag.
Leave the verification page open and go to your blog dashboard.
Open the Tools Page and paste the code in the appropriate field.
Click on Save Changes.
Go back to the verification page and click Verify.

for blogger:

Yahoo Site Explorer
Log in to with your Yahoo account or your google account.
Enter your blog URL and click Add My Site.
You will be presented with several authentication methods.
Choose By adding a META tag to my home page..
Copy the meta tag.
Leave the verification page open and go to your blog dashboard.
Open the Tools Page and paste the code in the appropriate field.
Click on Save Changes.
Go back to the verification page and click Ready to Authenticate.
Note: It may take up to 24 hours for your site to be authenticated.

for blogger:

Bing Webmaster Center 
Log in to with your Live! account (only one choice).
Click Add a Site.
Enter your blog URL and click Submit.
Copy the meta tag from the text area at the bottom.
Leave the verification page open and go to your blog dashboard.
Open the Tools Page and paste the code in the appropriate field.
Click on Save Changes.
Go back to the verification page and click Return to the Site list.

for blogger:


Modernizr: an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites

"Modernizr is an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites."

HTML5 view of ALL google APIs; Google Code Labs - Google Code.

Google APIs & Developer Products


In Google Code Labs, you'll find developer products that are experimental.
Google Code Labs - Google Code:

list of ALL Google Groups

Google Groups:

list of ALL Google courses and innovative resources on Programming Languages; Google Code University

Google Code University - Google Code:

Data Repositories;Google Public Data Explorer; image charts; DSPL: Dataset Publishing Language; outil de visualisation des données statistiques

All Google products (for nonprofit organisations)

All Google products for nonprofit organisations:

Friday, July 1, 2011

comparison of PDF (and other files) web services: converters, editors and viewers; Standardization (ISO) and Document management system: Portable Document Format.

*.PDF = ISO 32000

Many industry associations publish their own lists of particular document control standards.
Following is a list of some of the relevant ISO documents. Divisions ICS 01.140.10 and 01.140.20.
The ISO has also published a series of standards regarding the technical documentation, covered by the division of 01.110.
ISO 2709 Information and documentation — Format for information exchange
ISO 15836 Information and documentation — The Dublin Core metadata element set
ISO 15489 Information and documentation — Records management
ISO 21127 Information and documentation — A reference ontology for the interchange of cultural heritage information
ISO 23950 Information and documentation — Information retrieval (Z39.50) — Application service definition and protocol specification
ISO 10244 Document management — Business process baselining and analysis
ISO 32000 Document management — Portable document format

Document management system - Wikipedia, the free encyclopedia:

----------The PDF combines 3 technologies:
  1. A subset of the PostScript page description programming language, for generating the layout and graphics.
  2. A font-embedding/replacement system to allow fonts to travel with the documents.
  3. A structured storage system to bundle these elements and any associated content into a single file (with data compression where appropriate).
-----2----brief history
PDF was originally a proprietary format controlled by Adobe, and was officially released as an open standard on July 1, 2008, and published by the International Organization for Standardization as ISO 32000-1:2008

The ISO 32000-1 allows use of some specifications, which are not standardized e.g. Adobe XML Forms Architecture:

------3----- Web services 



    : a free web service to view, create forms, fill out forms, and edit PDF documents from a web browser (requires JavaScript to be enabled). PDFescape is a free of charge web-based PDF editor program written in JavaScript, HTML, CSS and ASP.
    alexa: 27 000 (@july 2011)
    PDFVue: a free web application that allows the user to view PDF's, comment and fill PDF forms from a web browser. Generates a watermark. It's also a converter.
    alexa: 717 000 (@july 2011)
  • -------
  • Qoppa PDF Libraries: Java beans for viewing and annotating PDF files to be integrated in an applet. The commercial Qoppa PDF libraries are a suite of Java class libraries and Java bean components developed by Qoppa Software; also Android platform.


    A.nnotate - a web service which views PDF documents as HTML in the browser, with annotation features.
    The basic service is free: just register and you can upload 30 new pages a month and make unlimited notes. Your free account includes private web space for:Uploading documents, including PDF, DOC, DOCX, PowerPoint, OpenOffice, Spreadsheets.Uploading images (PNG, GIF and JPEG)Making private snapshots of web pagesAttaching notes to documents and imagesSharing documents and notes:OpenJason includes it in their list of 44 excellent productivity tools
    alexa : 440 000 (@july 2011)
    Crocodoc - a free web service which allows annotating PDFs and saving them
    Crocodoc's API is free for non-commercial use.
    alexa :144 000 
    (@july 2011)
    DigiSigner - you must download;  free online PDF viewer java applet with additional function to digitally sign PDF documents; free Third Party Libraries.
    alexa:  >2 000 000 
     (@july 2011)
  • Docstoc - a web service which allows viewing/embedding documents (Docstoc Viewer) and file hosting services. It support these file types: Adobe PDF (.pdf), MS Word (.doc, .docx), MS Excel (.xls, .xlsx), MS Powerpoint (.ppt, .pps, .pptx), Rich Text Format (.rtf), Plain Text (.txt)alexa: 926 (@july 2011)
    Google Docs: the well-known web service. For PDF file: it views PDF documents as JPEG images in the browser;Google Docs also allows for uploading, and saving to the Portable Document Format. PDF files can be viewed but not edited!!!
    It's a free, Web-based word processor, spreadsheet, slide show, form, and data storage service offered by Google: 1GB of free space. Documents can be saved to a user's local computer in a variety of formats including: (ODF, HTML, PDF, RTF, Text, Microsoft Office). The application supports two ISO standard document formats: OpenDocument (for both opening and exporting) and Office Open XML (for opening only). Individual documents may not exceed 1GB (@January 2010), embedded images must not exceed 2MB each, and spreadsheets are limited to 256 columns, 200,000 cells, and 99 sheets. In September 2009, an equation editor was added which allows rendering in LaTeX format. However, Google Docs lacks an equation numbering feature.
    Google Spreadsheets and Google Sites also incorporate Google Apps Script to write code within documents in a similar way to VBA in Microsoft Office. The scripts can be activated either by user action or by a trigger in response to an event (
    The Android Google Docs app can also take a photo of a document, sign, or other text and use Optical Character Recognition to convert to text that can be edited:
    off-line access:  the Google Docs Blog announced that offline access would be returning in 2011 with the use of HTML5:
    Check out the latest new features:
    off-line acces
    Document statistics: Ever wonder if people are actually looking at the document you’ve shared? Wonder no longer. By clicking the Discussions button and then the Document stats link, you can now see the 7-day activity of your doc.
    Scribd: a web service which renders PDF documents as HTML5 in the browser. It's a Web 2.0 based document-sharing website which allows users to post documents of various formats, and embed them into a web page using its iPaper format.
    Upload Multiple Doc online and with a desktop uploader (only mac OSX).
    alexa: 196 (@july 2011)
    vuzit: a web service which views PDF documents (and 40 others) as HTML5 in the browser via AJAX. The Vuzit Viewer is free for limited use.
    alexa: 400 000 
    (@july 2011)
and desktop acrobat reader...

Thursday, June 30, 2011

precise analysis of ALL sub-domains (0.15% traffic)

Where Visitors Go on

(@june 2011; from
Percent of Site Traffic; internal
6.24% ; internal
3.95%; internal
2.42%; internal
2.23%; bug?
2.00%;private: tool for creating online presentations. 
1.89%; Free Web Proxy
1.84%; proxy server
1.67%;Bitcoin Faucet
1.38%; porn
1.36%;Free Web Proxy
1.24%;sync and share application data (note)
1.14%;Jaiku is a social networking, micro-blogging and lifestreaming service comparable to Twitter.
1.10%;Showsiteinfo provides free website analysis, traffic details.
1.02%; en portugais; site de cuisine
0.91%;This site features a QR Code Generator;1D/2D barcode image processing library implemented in Java; open;
0.89%;The Google Checkout store gadget allows you to quickly and easily create an online store using a Google;easily create an online store using a Google Docs spreadsheet.
0.88%;  improve your website through A/B testing; not free.
0.73%; japan site
0.71%;The RichFaces project is an advanced UI component framework for easily integrating Ajax capabilities into business applications using JSF ;Source Code
0.68%; err log?
0.66%; japan
0.63%;HaxBall is a realtime multiplayer game that plays like a mix between football and air-hockey;Development is closed-doors at the moment (@june 2011)
0.61%; ad
0.47%;CaptionTube is a utility for adding closed captions to YouTube videos. After you import a video, you play the video and add captions as needed. When you are done, you export the captions and then upload to YouTube.
CaptionTube is powered by the following: Google App Engine, App Engine Patch, YouTube Data API, Python, Django, and jQuery.
0.46%;Twitter Sentiment allows you to research the sentiment for a brand, product, or topic.
0.45%; YouTube APIs and Tools; google site;
0.43%;This is a showcase website for technical demonstrations;;Multiple File Upload widget with Drag&Drop support for jQuery.
0.41%; a site...
0.40%;Serve Important Links for Me; 
0.40%;Free Web Proxy
0.35%; portuguais
0.34%;;The WebGL Globe is an open platform for geographic data visualization
0.31%;converts non-standard ABP pages into standard Unicode Bangla on-the-fly.
0.31%; russe
0.29%, poland
0.29%;We provide free services - the tools for Google Blogger(blogspot):
0.28%; todo online, sync.
0.28%;AppScribe is a premium collection of apps and games for Android.
0.28%; game
0.27%; game facebook
0.26%; phone cells; pricing
0.23%; google site;Apply for the Google for Nonprofits program and get access to exclusive products and resources to help your organization expand its impact.
0.23%;Web-based Javascript IDE for mobile devices;private beta (@june 2011)
0.21%;rate a provider.
0.20%;google site
0.20%;Learn how hackers exploit web applications;
0.20%; test pre-render for chrome;
0.19%;Zend PHP Certification
0.18%;error py
0.18%;store google site;
0.17%;Profile Search by Email
0.17%;extension chrome, firefox,IE; ou can use go2 proxy browse the blocked website.
0.17%; google site;store.
0.17%;NTA OpenId Server
0.15%;How to fake PageRank and how to detect if PR is fake.