Sometimes I have to put text on a path
Showing posts with label google app engine. Show all posts
Showing posts with label google app engine. Show all posts

Friday, November 23, 2012

google accounts and Google Apps accounts

https://www.google.com/dashboard/



Google Accounts Help
 http://www.google.com/support/accounts/bin/topic.py?topic=28726



Google Accounts Help › Google Apps accounts

http://www.google.com/support/accounts/?hl=en&topic=28662&rd=1

Monday, October 31, 2011

How to generate a list of bibliographic references for Wikipedia?

There are two approaches to generate a list of bibliographic references for Wikipedia:
1) Zotero: http://www.zotero.org/support/kb/zotero_and_wikipedia
2) http://reftag.appspot.com/ (from Google Books).


How to:

A) with Zotero or reftag, save direclty to the wikipedia format.


B) and after go to wikipedia 
B-1) for book(s), use "template:Cite book" 
http://en.wikipedia.org/wiki/Template:Cite_book
B-1) use citation templates
http://en.wikipedia.org/wiki/Citation_templates

C) your biblio is OK and with zotero or other similar web services, users can save this list (COinS are generated by wikipedia in your page).

SEE this ex-ample:

http://fr.wikipedia.org/wiki/Publications_Mission_Ressources_et_Comp%C3%A9tences_Technologiques

-------References about the wikipedia file format 
http://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Programming_tools

en français:
http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Mod%C3%A8le_pour_bibliographie


-----Rem:
Zotero's Quick Copy feature makes it trivial to export Zotero items to Wikipedia. The configuration panel for Quick Copy is found by clicking the gear icon in the Zotero toolbar, choosing Preferences, then selecting the Export tab. If Wikipedia Citation Templates is set as the default output format, you can copy properly formatted templates for selected items to the clipboard by using the keyboard shortcut set in the Shortcut Keys preference pane or by dragging and dropping items directly into a text area on Wikipedia.

Saturday, October 22, 2011

some special google charts; Interactive charts;Organizational Chart; use the spreadsheet as a data base; google docs;time-series


http://code.google.com/apis/chart/
http://code.google.com/apis/chart/interactive/docs/more_charts.html

http://code.google.com/apis/chart/image/docs/chart_wizard.html
http://imagecharteditor.appspot.com/
http://code.google.com/apis/chart/interactive/docs/examples.html
just do it:
http://code.google.com/apis/ajax/playground/?type=visualization#chart_editor


Interactive charts
use interactive charts AND use the spreadsheet as a data base (if you change any of the data relevant to this chart in your spreadsheet, the chart will update automatically. You don't need to repeat the steps above to edit this chart).

Organizational Chart
An organizational chart that supports selection.
List all group members in one column of your spreadsheet, and their hierarchical or higher-level relationship in the next column. If you want a tooltip to appear when you point your mouse to each node, you can enter this text in a third column.
https://docs.google.com/support/bin/answer.py?hl=en&answer=190728&topic=30240

rem: ex-ample http://www.cogmap.com/chart/google
Cogmap is the Wikipedia of organization charts. We are an organization chart wiki! This means that it is a collection of organization charts online that anyone can edit, add to, and help maintain.

http://code.google.com/apis/chart/interactive/docs/gallery/orgchart.html

http://code.google.com/apis/ajax/playground/?type=visualization#org_chart

https://spreadsheets.google.com/pub?key=rCaVQNfFDMhOM6ENNYeYZ9Q
http://code.google.com/apis/chart/interactive/docs/examples.html
Infographics (QR code, math equations/formulas, balloons)
http://code.google.com/apis/chart/infographics/


--------time
interactive, zoomable charts of time series.
The dygraphs JavaScript library produces interactive, zoomable charts of time series.
http://dygraphs.com/
http://github.com/danvk/dygraphs


Some of the features of dygraphs:
  • Plots time series without using an external server or Flash
  • ERROR BARS
  • Works in Internet Explorer (using excanvas)
  • Lightweight (69kb) and responsive
  • Displays values on mouseover, making interaction easily discoverable
  • Supports error bands around data series
  • Interactive zoom
  • Displays Annotations on the chart
  • Adjustable averaging period
  • Can intelligently chart fractions
  • Customizable click-through actions
  • Compatible with the Google Visualization API
  • Intelligent defaults make it easy to use

Motion charts
http://code.google.com/apis/ajax/playground/?type=visualization#motion_chart

web search resuls in spreadsheet
The Web Search gadget allows you to search the Web and display results for specified values.
https://docs.google.com/support/bin/answer.py?answer=99488

-----------drawing

Flowchart
https://docs.google.com/previewtemplate?id=1dIhpLxlbTgVrphUcdtRy1xNk0BHSfD9LH-VRMekCWUY&mode=public

Saturday, July 16, 2011

graph services: beauty bar charts, beauty-bar.appspot.com; UNdata


Beauty Bar  is a tool to build nice bar charts. This blog shows example charts made with the tool, and gives tips how one can use it.
http://beauty-bar-examples.blogspot.com/2010/03/undata-example.html

http://beauty-bar.appspot.com/

https://github.com/istenber/BeautyBar/

ALL about this ex-ample: www.htmlfivewow.com; structure of 71 slides;

Preface:
http://ex-ample.blogspot.com/2011/06/with-google-app-engine-there-are-no.html
http://ex-ample.blogspot.com/2011/07/all-about-online-slides-service-web.html
http://ex-ample.blogspot.com/2011/07/google-app-engine-clone-html5wow.html

Just a deployment (only 44slides) of www.htmlfivewow.com (71 slides):
 http://ex-ample.appspot.com/
-------------
The structure of "Google HTML5 Slides":
  • only ONE html file,
  • each slide is defined by a tag 'div class="slide'.
---------------
Javascript codes  (at the end of the index.html):
  • config.js
    7lines (disableCodeHighlights...)
libs:
(socket.io.js is not used)
-------------
4 CSS files:
  • animations.css
    145lines
  • prettify.css
    Pretty printing styles. Used with prettify.js
  • slide-content.less
    1380lines
  • slide-presentation.less
    232lines

--------------------------------------
List of 71 slides.
Some comments:
 {lines of code: slide-content.js};
  [css: slide-content.less].
  ---------------

1 Preflight {70}
2 "Press" space..
3 Google TM
4 HTML5 Case...TITLE
5 Who are these guys {9; init slideIn and slideOut javascript}
6 One year ago
7 Training for... (vertical scrolling)
8 Today we...
9 -I-II-III--Today's agenda (move)
10 -I)---FILE
11 Binary data (image back, flickr)
12 Binary data on the... (code)
13 HTML5 binary data
14 New data types
15 Fetch
16 FILE APIs (flikr)
17 getting file handles ("select some img files"; publish info of file) {15}
18 directory upload (button "view tree" or "view list") {"}
19 "Drag in images from desktop" (view with auto-zoom; one or more files drag) {from 133 to 189}
20 demo photo gallery (wait 2-3s)
21 Blueprint
22 USING FILES (flikr)
23 Reading file content
24 Data URLs (click "texte area" --it opens a new window)
25 Blob URLs
26 """    javascript/worker
27 Browser support File APIs
28 FILE SYSTEM API (flikr)
29 Opening
30 Fetch
31 Terminal:Duplicating user-selected files
32 DEMO: HTML5 Terminal--Lauch ; By: Eric Bidelman
33 Blueprint
34 1,2,3 ways to generate URLs to files (button new)
35 Browser Support: File System API
36 II)---GRAPHICS
37 HTML5 graphics
38 DECLARATIVE OPTIONS (flikr)
39 Inline SVG (comparison SVG quality and bitmap; clic right not allowed for SVG
40 The SVG DOM: put text on a path; int:math {8; 230-237}
41 -text borders, CSS... transition: move random : {240-262} [953-1036]
42 Movement with CSS--int: math
43 Tweens (menu pop-up and button animate and interactive 2D graph)
      --int:math {265-269; 862-943(end)} [1053-1073]
44 3D
45 The power of 3D CSS
46 SCRIPTED APIs (flikr)
47 canvas {288-441}
48 test speed (2 buttons) ; see also the title of the page; {445-501}
49 2D canvas (sprites)
50 3D support (position of your computer; device orientation for input); {507-518; 785-857}
51 WebGL support; {523-756}
52 W"
53 DEMO:lauch terminal
54 Blueprint 3D filesystem browser
55 III)---AUDIO
56 HTML5 audio
57 AUDIO control (1 button save; 3 buttons open, clear log, reload page)--math
58 WEB AUDIO API (flikr)
59 button play web audio API
60 Generating sound (5buttons; 2slides; 2views)-math
61 Audio processing in 10 lines of code!
62 DEMO GAL9000
63 Blueprint
64 Real-time audio analysis (button pop-up "options"; button bottom start stop next; 1slide)--math
65 Browser support
66 IV--That was a lot
67 What you saw:  file graphics audio
68 Go Deeper: Follow these guys tweeter: @ebidel, @kurrik
69 -
70 -
71 End (logo Google).
----------------------------------------

Thursday, July 14, 2011

Google Technology User Groups: GTUG


http://www.gtugs.org/pulse.jsp

Google Technology User Groups (GTUGs) are user groups for people who are interested in Google's developer technology; everything from the Android and App Engine platforms, to product APIs like the YouTube API and the Google Calendar API, to initiatives like OpenSocial.

http://www.chromeexperiments.com/detail/gtug-growth-visualization/?f=
This experiment is a visualization for the impressive growth Google Technologies User Groups (GTUGs) have been during the past two years. It shows GTUGs being created as white dots, and every GTUG event is shown as a dynamic pulse on the map. 30 seconds after the latest event it starts to rewind (and the globe spins backwards) and starts running again from the beginning.

Tuesday, July 12, 2011

ALL about "Online Slides" service: Web Based Slideshow; HTML Slidy, S5, HTML5Slides, swinger; google presentation; How to Add Slideshow in Blogger?

ex-ample: "HTML5SLIDE" showcase slides:
http://ex-ample.appspot.com
http://ex-ample.blogspot.com/2011/07/google-app-engine-clone-html5wow.html

I)---HTML (and Javascript) based
S5
Slidy and Slidy2
Slideous

HTML5 Slides
Swinger

html5-slideshow

II)--no HTML:
Google Docs Presentations
Zoho Docs Show

III)-Tools : slideshare

Preface (slides and mathematics)
see also http://ex-ample.blogspot.com/2011/07/mathml-chromefirefox-and-best.html

A special case:
If you want slides with equation and mathematics: LaTeX Beamer.
https://bitbucket.org/rivanvx/beamer/wiki/Home
Beamer is a LaTeX class for creating presentations that are held using a projector, but it can also be used to create transparency slides. Preparing presentations with Beamer is different from preparing them with WYSWYG programs like OpenOffice.org's Impress, Apple's Keynote, or KOffice's KPresenter. A Beamer presentation is created like any other LaTeX document: It has a preamble and a body, the body contains \sections and \subsections, the different slides (called frames in Beamer) are put in environments, they are structured using itemize and enumerate environments, and so on.
The obvious disadvantage of this approach is that you have to know LaTeX in order to use Beamer. The advantage is that if you know LaTeX, you can use your knowledge of LaTeX also when creating a presentation.
-------------------

I)---HTML (and Javascript) based:
S5:
S5 (Simple Standards-Based Slide Show System) is an XHTML-based file format for defining. S5 is not a presentation program, but fulfills the same purpose in combination with a standards-compliant web browser. With one file, you can run a complete slide show and have a printer-friendly version as well. The markup used for the slides is very simple, highly semantic, and completely accessible. Anyone with even a smidgen of familiarity with HTML or XHTML can look at the markup and figure out how to adapt it to their particular needs.
http://meyerweb.com/eric/tools/s5/
http://meyerweb.com/eric/tools/s5/structure-min.html

Each slide is enclosed in a classed element; IDs are dynamically assigned via JavaScript.

Interesting example with google maps: http://meyerweb.com/eric/tools/gmap/hydesim.html
The High-Yield Detonation Effects Simulator, an experiment in AJAX and Google Maps programming based on public data and showing the destructive zones of large explosions.


Django S5: http://github.com/myles/django-s5
Drupal S5: http://drupal.org/project/s5


import to S5:
One can use reStructuredText to generate S5 presentation using rst2s5.py : http://docutils.sourceforge.net/docs/user/slide-shows.html

DokuWiki (http://www.dokuwiki.org/): a plugin that converts Wiki markup to XHTML-compatible S5 presentations.

export from S5:
slippy (https://github.com/Seldaek/slippy) is S5 compatible project which has capability to export html slideshow into pdf.
-----------------------

Slidy and Slidy2:
Similar to S5, from W3C.
http://www.w3.org/Talks/Tools/Slidy2/Overview.html#(19)

Each presentation is a single XHTML file.
http://www.w3.org/Talks/Tools/


Slideous
A Lightweight HTML Based Presentation Tool, inspired by S5 and Html Slidy

http://goessner.net/articles/slideous/slideous.html


HTML5 Slides:
http://slides.html5rocks.com/#title-slide
See also the slide presentation at the beginning of this post.
A slide presentation by Google using HTML 5 & CSS 3 features (e.g. CSS transitions).


Landslide: https://github.com/adamzap/landslide
Generates HTML5 slides  from markdown/rst documents.

Swinger:
http://swinger.quirkey.com/#/
very simple: just write some markdown.
hosted.

html5-slideshow:
very simple
http://www.ravelrumba.com/blog/html5-slideshow/
http://www.ravelrumba.com/code/demos/html-slideshow/example/slideshow.html#7
https://github.com/robflaherty/html-slideshow


II)---no HTML:

Google docs presentations:
an example:
https://docs.google.com/present/view?id=dfwwcnt3_38c4wthfgc
You can edit this ppt (if you have a google docs account).


This embed code is just an iframe .
Test

  • the Menu (bottom right) (just copy the iframe code);
  • the button near of slide (bottom).
    It "opens a new window".
    selct the menu "Actions" (bottom).
     you can download as ppt, pdf or edit, print slides.

Rem: if you right click (mac: ctrl click) on this slide, nothing...

If i change its content (and just "save") then  the changes are "auto-updated".
-----------

Zoho Docs Show:
docs.zoho.com
https://show.zoho.com/public/zohoshow/show20

example of a presentation:
https://show.zoho.com/public/stef42530/Untitled1



If you right click (mac: ctrl click) on this slide, you get a menu. Try it!
(i choose the right clic option when i shared this slide).
-------------------
III)-Tools: slideshare
 http://www.slideshare.net/
alexa 252 (data@july 2011)
upload your presentations (PDF, office files, youTube...) and share:

SlideShare 101
--------------end

Blogging on App Engine: a blog application for App Engine: Arachnid/bloggart; source: GitHub


A simple, robust and scalable blogging system for App Engine.

http://bloggart-demo.appspot.com/
Arachnid/bloggart - GitHub:


a blogging system:

  • Simple authoring. I personally don't want to juggle with WYSIWYG HTML editors in order to write blog posts - I prefer to enter markup directly. But at the same time, I don't intend to make all potential users conform to the same expectations - so we should be able to support rich text editors if they're desired.
  • Good isolation of code and markup. Users shouldn't have to understand the innards of our blogging software if all they want to do is change how the blog looks or is laid out.
  • RSS and Atom support. This should go without saying, these days.
  • PubSubHubbub support. Let's be all Web 2.0 and push out blog updates instantly.
  • Sitemap support, so we can get indexed faster and more thoroughly.
  • Tagging, and filtering based on tag.
  • Easily support new output formats. Adding a new output format shouldn't require rewriting the whole system, and all our existing output formats - Atom, Sitemaps, and so forth - ought to use the same system.
  • Extensible. Just because I didn't need a feature doesn't mean nobody does.
  • Easy import of posts from other blogging systems.
  • Multiple author support.
  • Scheduled posts.
  • Fast. Really, really fast.

Service and layers: Data as a Service;Software as a service SaaS (software delivery model); infrastructure as a service;platform as a service;Interoperability as a service. United Nations on the UNDATA site.

five LAYERS:
client (computers, phones, GPS...)
Cloud SaaS        D
Cloud PaaS       a
Cloud IaaS        a
           servers    S


The term software as a service (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS) and platform as a service (PaaS).


Data (MetaData, Web History, Ip server/client...) as a Service (DaaS) is implicit or explicit (in all the layers). Data = water (and metadata about plumbing) and SaaS-PaaS-IaaS-servers = plumbing.


Client and servers: actual life lived by real people and real computers/phones/GPS...
-----------------


software (application) as a service (SaaS)
"on-demand software" is a software delivery model 

  • in which software (and its associated data) are hosted in the Internet cloud 
  • software and data are accessed by users using a thin client using a web browser.
Gartner: SaaS sales will grow 16.2% to $10.7bn in 2011
Gartner estimates that 75% of the current SaaS delivery revenue could be considered as a cloud service, and that could extend to 90% by 2014.


platform as a service (PaaS)
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services.

infrastructure as a service (IaaS)
The National Institute of Standards and Technology (NIST) provides a concise and specific definition:
Cloud computing (IaaS) is a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

-----------------
The main problem is data migration and interoperability. Another issue is related with the data migration or porting when a user wants to change his cloud provider. There is no defined standard between the operators and such a change is extremely complex. The case of bankruptcy of the company of the cloud provider could be extremely dangerous for the users.

In the NIST document : 6.4.1 Lack of Portability between PaaS Clouds  
Portability  is a concern for new application development, particularly when platforms require
proprietary languages and run-time environments.  Even when standard languages are used,
implementations of platform services may vary widely between providers – for example, one platform’s
file, queue, or hash-table interface may not be compatible with another’s.  Subscribers creating new
applications may mitigate portability risks by creating generalized interfaces to platform services instead
of creating specialized implementations for specific platform providers.  Such a strategy, however, incurs
costs and also does not entirely mitigate the risks since a general interface that hides provider-specific
variations will likely limit the use of provider-specific value added features, thus resulting in a “lowest
common denominator” for application features.
-----------------
Data as a Service (DaaS):

1)the data are stored in three different types :
  • BLObs (binary large object), is a collection of binary data stored as a single entity. Blobs are typically images, audio and multimedia objects, though sometimes binary executable code is stored as a blob.  BLObs are used for moving large amounts of data from one database to another (the new host for the data) without filters or error correction. It is not the same of binary blob which is a pejorative term for an object file loaded into the kernel without publicly available source code. 
  • queues, it's a First-In-First-Out (FIFO) data structure (the first element added to the queue will be the first one to be removed). A queue is an example of a linear data structure.
  • tables, it's a set of data elements (values) that is organized using a model of vertical columns (which are identified by their name) and horizontal rows (2D table). A table has a specified number of columns, but can have any number of rows. Tables are also a matrice, and could be 3D,  4D...nD.
2)The problem of Data communication.
Seminar on Emerging Trends in Data Communication and Dissemination.
Statistical Data as a Service and Internet Mashups 
(data@feb 2010) 
by Zoltan Nagy:

What is a Mashup?
A web application that combines data from more than one source into a single integrated tool
An example is the use of data from Google Maps to add location information to statistical data, thereby creating a new and distinct service that was not originally provided by either source.

UNDATA API project (http://www.undata-api.org/): an API version of the great data made available by the United Nations on the UNDATA site. The aim is to make this data accessible and reusable in a variety or ways so it can be easily mashed up and recombined into new applications or analysis.
The service uses a straightforward REST API hosted on Google’s Java AppEngine and makes UNDATA sets easily queryable from any application. Currently we have 62 datasets from the World Health organization on line and we’ll add more over time.
Visualization/mashup:
Thematic Mapping API (http://thematicmapping.org/api/is a new JavaScript library which allows you to create thematic maps from your own data source. It's OK with google earth not with google maps!

Conclusion:
We need "Interoperability as a service" (In-aaS) in all layers.

Sunday, July 10, 2011

How to write better Google App Engine Applications?

Practical Google App Engine Applications In Py:

Image Python API and Google app engine; modified Guestbook-hello application with images API;Python Imaging Library

1) Images Python API Overview:
http://code.google.com/appengine/docs/python/images/overview.html

App Engine provides the ability to manipulate image data using a dedicated Images service. The Images service can resize, rotate, flip, and crop images; it can composite multiple images into a single image; and it can convert image data between several formats. It can also enhance photographs using a predefined algorithm. The API can also provide information about an image, such as its format, width, height, and a histogram of color values.
The Images service can accept image data directly from the app, or it can use a Blobstore value (http://code.google.com/appengine/docs/python/blobstore/). When the source is the Blobstore, the size of the image to transform can be up to the maximum size of a Blobstore value. However, the transformed image is returned directly to the app, and so must be no larger than 32 megabytes (this is potentially useful for making thumbnail images of photographs uploaded to the Blobstore by users).

2)Download and install
In order to use the Images API in your local environment you must first download and install PIL, the Python Imaging Library. PIL is not available on App Engine; it is only used as a stub for the Images API in your local environment. Only the transforms provided in the images API are available on App Engine.
The Python development server uses the Python Imaging Library (PIL) to simulate the Image service. This library is not included with the Python standard library or the SDK, and must be installed separately. See Installing PIL: http://code.google.com/appengine/docs/python/images/installingPIL.html
The WEBP image format is only supported if a suitable PIL decoder plugin has been installed.


The Images service can 1)resize (resize the image while maintaining the same aspect ratio), 2)rotate, 3)flip, 4)crop images, and 5)enhance photographs (The "I'm Feeling Lucky" transform enhances dark and bright colors in an image and adjusts both color and contrast to optimal levels). It can also composite multiple images into a single image.

The service accepts image data in the JPEG, PNG, WEBP, GIF (including animated GIF), BMP, TIFF and ICO formats. It can return transformed images in the JPEG, WEBP and PNG formats. If the input format and the output format are different, the service converts the input data to the output format before performing the transformation.

To install PIL on Mac OS X 10.4 and higher (http://code.google.com/appengine/docs/python/images/installingPIL.html):
Download the PIL .dmg file. For example, you can download the PIL 1.1.6 .dmg file from http://pythonmac.org/packages/py25-fat/index.html
Double-click on the installer to start the installation process.
Choose the correct directory.
Finish the installation.
---------------------------
3)Using the Images Python API
http://code.google.com/appengine/docs/python/images/usingimages.html

3-a) Creating a image property AND Uploading User Images:
The first thing we need to do is update the model from the guestbook sample (http://ex-ample.blogspot.com/2011/07/first-steps-google-appengine-mac.html and http://ex-ample.blogspot.com/2011/07/hello-with-google-app-engine-and-webapp.html) to store the uploaded image as a blob.

3-b) composite image from multiple images: http://code.google.com/appengine/docs/python/images/functions.html
The format of the final composite image, either PNG or JPEG. The default is PNG.


Image is provided by the google.appengine.api.images module:
http://code.google.com/appengine/docs/python/images/imageclass.html
Image()
Properties:

  • width
  • height

Instance methods:

  • crop()
  • execute_transforms()
  • histogram()
  • horizontal_flip()
  • im_feeling_lucky()
  • resize()
  • rotate()
  • vertical_flip()

Friday, July 8, 2011

All about "How to post mathematics?" mathML, LaTeX, MathJax with Chrome/Firefox and Best online/offline rich text editors (webmail, word processor); Comparison of off-line on-line HTML/text editors and browsers.

outline:
1-----free and multi-platform HTML editors
2-----Rich text/html editors inside blogger, Gmail, Knol, wordpress.com, webmail...
3-----Web-based word processor
4---- Two commercial applications & free equation editors
5-----Browsers and MATHML viewers
6-----Free javascript library for math on web pages: JavaScript display engine for mathematics that works in all browsers.
 

7-----Some interesting links 


8-----Inserting Characters (unicode, Math Font Styles)



How to post mathematics or web applications with mathematica and matlab, see :
http://ex-ample.blogspot.com/2011/06/web20-services-mathematica-and-matlab.html

How to post mathematics in wikipedia or in MediaWiki? , see:
http://ex-ample.blogspot.com/2011/07/mediawiki-api.html
An "ex-ample" : the online  NIST Digital Library of Mathematical Functions {Abramowitz and Stegun’s (1964) Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables}.
http://ex-ample.blogspot.com/2011/07/best-ex-ample-nist-digital-library-of.html

read this article (@1999, updated 2002) :
Approaches to WWW Mathematics Documents
http://hutchinson.belmont.ma.us/tth/webmath.html
------------------
preface:
ex-ample1 (mathML3): http://ex-ample.blogspot.com/2011/07/mathml3-sample.html
(this example comes from https://eyeasme.com/Joe/MathML/HTML5_MathML_browser_test.html
but this URL does not work with Chrome 14+STIX font+MathJax but works with firefox; MathML code without return must be included in HTML code of a post).

ex-ample2 (mathML2): http://www.w3.org/Math/testsuite/mml2-testsuite/TortureTests/Complexity/complex1.xml

ex-ample3: this blog (left sidebar and matML latex labels):
http://ex-ample.blogspot.com/2011/07/symbols-tex-1.html

Math ML(Mathematical Markup Language)  is an XML language designed to present complex equations:
http://en.wikipedia.org/wiki/MathML
http://www.w3.org/Math/
http://www.personal.psu.edu/ejp10/blogs/tlt/tutorials/mathml.html

Wikipedia uses LaTeX (and limited MathML).
 MS Office 2007 and OpenOffice.org (via OpenOffice.org Math: http://en.wikipedia.org/wiki/OpenOffice.org_Math), as well as mathematical software products such as Mathematica supports MathML.
Knol use LaTeX:
http://knol.google.com/k/stef42-ex-ample-blogger-com/mathematics-and-web-html5-latex-mathml/2fdyfc9mft4ir/1?hd=ns# 

MathML 3.0 was officially released as a W3C Recommendation (@Oct 2010). It is backward compatible with MathML 2.
MathML deals not only with the presentation but also the meaning of formula components (the latter part of MathML is known as “Content MathML”). Because the meaning of the equation is preserved separate from the presentation, how the content is communicated can be left up to the user.
If you work in science you probably know LaTeX. LaTeX is gorgeous; enabling scientific authoring in an unrivaled way. Nevertheless, LaTeX is somewhat outdated. It doesn't support the clear separation between content and style that modern standards imply. Editing complex equations can become a tedious job. An alternative might be the combination of DocBook with MathML.
DocBook is an XML language (http://en.wikipedia.org/wiki/DocBook). It's a semantic markup language for technical documentation (http://www.docbook.org/tdg/). It was originally intended for writing technical documents related to computer hardware and software but it can be used for any other sort of documentation.
As a semantic language, a DocBook document does not describe what their contents "look like," but rather the meaning of those contents. For example, rather than explaining how the abstract for an article might be visually formatted, DocBook simply says that a particular section is an abstract. It is up to an external processing tool or application to decide where on a page the abstract should go and what it should look like. And, indeed, to decide whether or not it should be included in the final output at all. It provides a vast number of semantic element tags. They are divided into three broad categories: structural, block-level, and inline. Because DocBook is an XML format, conforming to a well-defined schema, documents can be validated and processed using any tool or programming language which includes XML support.
The current version is DocBook, 5.0.DocBook 4.x documents are not compatible with DocBook 5, but they can be converted into DocBook 5 documents through the use of an XSLT stylesheet.
Source: http://sourceforge.net/projects/docbook/
A group of XSLT stylesheets for transforming DocBook into various viewable formats: http://en.wikipedia.org/wiki/DocBook_XSL

This post is focused on "how to publish mathematics" not on "document languages", beyond of the scope. And then we focused on these languages : 
  • "your screen image": browser rendering engine and javascript rendering engine (in this blog the javascript library MathJax), 
  • HTML, HTML5, CSS... (quality of the code source of the page)
  • MathML (quality of the code source of the page), 
  • laTeX (quality of the code source of the page).
------------------------------------------------------------------------------------
MathML is too verbose to edit using a text editor then we need a MathML editor.

Comparison of HTML editor (stand alone); 
http://en.wikipedia.org/wiki/List_of_HTML_editors
List of math editors:
http://www.w3.org/Math/Software/mathml_software_cat_editors.html

Comparison of open source and commercial WYSIWYG web-based editors (by replacing a textarea or by adding their own editable block): 
http://geniisoft.com/showcase.nsf/WebEditors). 



Some packages and Mathematics environments (also some corrections of bad rendering):
If your document requires only a few simple mathematical formulas,  LaTeX has most of the tools that you will need. If you are writing a scientific document that contains numerous complicated formulas, the amsmath package introduces several new commands that are more powerful and flexible than the ones provided by LaTeX. The mathtools package fixes some amsmath quirks and adds some useful settings, symbols, and environments to amsmath.


Tuesday, July 5, 2011

google app engine: clone HTML5wow ;"app.yaml";HTML5 slide/app;appspot;mercurial

See the app "HTML5wow":
http://ex-ample.blogspot.com/2011/06/with-google-app-engine-there-are-no.html

See the modified clone:
http://ex-ample.appspot.com


----step 1: clone a source
Two choices:
1-a) clone in a  repository hosted at Google Code.
1-b) clone with a local copy with Mercurial

1-a) if you want to "clone" a source directly in code.google.com
and you create a clone of the html5wow repository hosted at Google Code.

and select your clone and this window appears:
Click on "app.yaml":
application: html5wow
version: 1
runtime: python
api_version: 1


this runtime is python (it is important to verify (many differences between java, python and go)).
--------------


1-b) clone with a local copy; use Mercurial:
If you want to get a local copy of the html5wow repository, use with this command (mercurial):
hg clone https://html5wow.googlecode.com/hg/ html5wow

This post explain the first steps to do this local clone (mac OSX):

Mercurial is a free distributed source control management tool:
http://en.wikipedia.org/wiki/Mercurial
This project's Mercurial repository may be accessed using many different client programs and plug-ins:
http://mercurial.selenic.com/downloads/
Mercurial is written in Python with platform independence in mind. You can either download a binary package for the system of your choice or build it from sources. Mercurial uses Python (versions 2.4 through 2.7). Most ready-to-run Mercurial distributions include Python or use the Python that comes with your operating system.
Mercurial 1.9 for MacOS X 10.5 = one .zip file of 2.7MB (only one mkpg of 3MB--at the end 10MB on your local hard disk)
http://mercurial.berkwood.com/binaries/Mercurial-1.9-py2.5-macosx10.5.zip


This package installs :

  • the hg executable in /usr/local/bin and 
  • the Mercurial files in /Library/Python/2.5/site-packages/mercurial.


site-package

Mercurial: Traditional version control systems such as Subversion are typical client-server architectures with a central server to store the revisions of a project. In contrast, Mercurial is truly distributed, giving each developer a local copy of the entire development history. This way it works independent of network access or a central server. Committing, branching and merging are fast and cheap.

Verify that you have Python 2.5.x...
Now use the stand alone application "terminal" (included in mac OSX):
after the prompt, write "Python"
You receive this message:

Python 2.5.1 (r251:54863, Dec 16 2010, 14:12:43) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Now quit the interpreter Python line command (control D) 
and after enter this command after the prompt $:

hg clone https://html5wow.googlecode.com/hg/ html5wow


And you get this message (the download is fast : less than 3 minutes):

warning: certificate for html5wow.googlecode.com can't be verified (Python too old)
requesting all changes
adding changesets
adding manifests
adding file changes

added 388 changesets with 1822 changes to 1263 files (+1 heads)
updating to branch default
1129 files updated, 0 files merged, 0 files removed, 0 files unresolved
macbook-proS:~ stef$

Now you have a local copy on your hard disk of the html5wow source code.

This code is saved here:

-------
And it is up to you!
See the hello-guestbook app engine first steps:
http://ex-ample.blogspot.com/2011/07/first-steps-google-appengine-mac.html
http://ex-ample.blogspot.com/2011/07/hello-with-google-app-engine-and-webapp.html

mandelbrot-tiles.appspot: google app engine and Go (programming language); demos/examples;Go on App Engine makes it possible to deploy efficient, CPU-intensive web applications

Start with this "ex-ample": 
http://mandelbrot-tiles.appspot.com/


Very good "ex-ample" of the use of maps.google for image viewer (and with image generator).


See also this" Go ex-ample":
http://ex-ample.blogspot.com/2011/07/moustachioappspot-google-app-engine-and.html

------source
http://code.google.com/p/appengine-go/source/browse/example/

Get a local copy of the appengine-go repository with this command (clone with mercurial):
http://code.google.com/p/appengine-go/source/checkout


When you download the SDK (go_appengine_sdk_darwin_386-1.5.0.zip) and install on your local hard disk,
in the menu demos, the source is in  go-mandelbrot.


-157 lines of Go:
http://code.google.com/p/appengine-go/source/browse/example/mandelbrot/mandelbrot/mandelbrot.go
-90lines of HTML:
http://code.google.com/p/appengine-go/source/browse/example/mandelbrot/map.html

-------Google Maps/Google Earth APIs

moustachio.appspot: google app engine and Go (programming language); demos/examples;Go on App Engine makes it possible to deploy efficient, CPU-intensive web applications

Start with this "ex-ample": 
http://moustach-io.appspot.com/
Tutorial of Moustachio (a Go-GEA (Go google engine app)):
1)enter a log account (just an email)

2)select and upload your image (here a .png of 600KB (1:3), 650X755 pixels (0.5MPix))
(i also try a .webP (same image with high quality : a ratio of 1:18 (100KB))).


3)click to select the moustache position
click "share"



4-a)click "google buzz logo"
you get
"https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/buzz&redirect_uri=...."
with this window:


An error can occurs if you spend time... 

 Post successful:

clic on the image (PC: right or mac: ctrl click) and you get the local menu with these items and you can save your image on your local hard disk:
 The defaut name of the image is "vi":
 Finally the file is a .jpeg of 25KB (1:27) with the same 650X755 pixels.

you have also an URL for your image:
http://moustach-io.appspot.com/v/13a451cec2898e4a

4-b) If you select "twitter", this Go-GEA creates this URL:  http://twitter.com/intent/session?return_to=%2Fintent%2Ftweet%3Fsource%3Dwebclient%26text%3DMoustachio%2Bhttp%253A%252F%252Fmoustach-io.appspot.com%252Fv%252F13a451cec2898e4a&source=webclient&text=Moustachio+http%3A%2F%2Fmoustach-io.appspot.com%2Fv%2F13a451cec2898e4a

If your have been connected then you will get this window:
That's all!!!

-------------------source
moutachio.appspot.com is an example:
http://code.google.com/p/appengine-go/source/browse/example/

Get a local copy of the appengine-go repository with this command (clone with mercurial):
http://code.google.com/p/appengine-go/source/checkout

When you download the SDK (go_appengine_sdk_darwin_386-1.5.0.zip) and install on your local hard disk,
in the menu demos, the source is in  go-moustachio.

----see:
http://code.google.com/appengine/docs/go/gettingstarted/

---- code of (http://moustach-io.appspot.com/)
http://code.google.com/p/appengine-go/source/browse/#hg%2Fexample%2Fmoustachio
This program requires the freetype-go and goauth2 libraries:
http://code.google.com/p/appengine-go/source/browse/example/moustachio/README

They should be checked out in this directory under these paths:

freetype-go.googlecode.com
goauth2.googlecode.com

This is so that these packages can be imported by Moustachio:

"freetype-go.googlecode.com/hg/freetype/raster"
"goauth2.googlecode.com/hg/oauth"

You can do this by running these commands:

hg clone https://freetype-go.googlecode.com/hg \
freetype-go.googlecode.com/hg

hg clone https://goauth2.googlecode.com/hg \
goauth2.googlecode.com/hg

------------------go-and-google-app-engine


http://blog.golang.org/2011/05/go-and-google-app-engine.html
Google’s App Engine provides a reliable, scalable, easy way to build and deploy applications for the web. Over a hundred thousand apps are hosted at appspot.com and custom domains using the App Engine infrastructure.
Originally written for Python apps, in 2009 the system added a Java runtime. And today (@may 2011), at Google I/O, we’re thrilled to announce that Go will be next.

You don’t even need to have Go installed beforehand because the SDK is fully self-contained. Just download the SDK, unzip it, and start coding. Moreover, the SDK’s “dev app server” means you don’t even need to run the compiler yourself; everything is delightfully automatic.

Code is deployed in source form and compiled in the cloud using the 64-bit x86 compiler (6g), making it the first true compiled language that runs on App Engine. Go on App Engine makes it possible to deploy efficient, CPU-intensive web applications.

-----------deployment of Go apps 
Today (since @may 2011), through the SDK, you’ll be able to write web apps, learn about the APIs (and the language, if it’s new to you), and run your web app locally. Once full deployment is enabled, it’ll be easy to push your app to Google’s cloud.

http://blog.golang.org/2011/05/go-and-google-app-engine.html

Please note that deployment of Go apps is currently restricted to
trusted testers only. The appcfg.py tool will give an error message if
you have not been listed as a trusted tester.
To become a trusted tester, sign up using this form: http://goo.gl/otZVa
We will be letting in more testers over the next few weeks as we
smooth out any issues that arise.


We are no longer accepting Trusted Tester applications (@june 2011). We hope to open the
service to the general public soon.
---