This document discusses cross-domain mashups using jQuery and Google App Engine. It describes common techniques for dealing with the same-origin policy, including proxies, JSONP, and building sample applications that mashup Twitter data, geotagged tweets, and maps. Examples include parsing RSS feeds from Twitter into JSONP and displaying tweets on a map based on their geotagged locations. The document concludes by noting issues with trust, failures, and limitations for enterprise use.
This is an updated version of my "Add more fun to your functional programming with RXJS". It includes a bit more background information on Reactive programming.
Downloading the internet with Python + ScrapyErin Shellman
The document describes using the Python library Scrapy to build web scrapers and extract structured data from websites. It discusses monitoring competitor prices as a motivation for scraping. It provides an overview of Scrapy projects and components. It then walks through setting up a Scrapy spider to scrape product data from the backcountry.com website, including defining items to scrape, crawling and parsing instructions, requesting additional pages, and cleaning extracted data. The goal is to build a scraper that extracts product and pricing information from backcountry.com to monitor competitor prices.
Async/await is a new language feature that will ship with Swift 5.5 this year. There’s no doubt it will have a significant impact on how we write asynchronous code.
In this talk, we’re going to look at some use cases for async/await, how we can call existing Swift APIs using this new feature, and why your decision to write your SDK in Objective-C might turn out to have been a very clever move.
We’ll also have a look at the refactoring support Apple is adding to Xcode and how it will help you migrate your existing code base.
The document discusses an approach called "data-dynamic" for building web applications without writing code. It involves using HTML elements with special data attributes to bind user interface elements to backend data and functionality. This allows applications to be built by composing these elements together rather than writing JavaScript code. It also details how the backend can respond with JSON containing instructions for updating or manipulating the interface.
Async. and Realtime Geo Applications with Node.jsShoaib Burq
The document provides an agenda for an event on Async & RT Geo apps with Node.js. It includes sessions on techniques for distributed map tile generation using Mapnik & Node.js, the state of GeoCouch, and the new GeoData tool set with CouchDB and NodeJS. By the end of the event, attendees will learn about Node.js, how to write and deploy Node.js servers, Coffeescript, the Geostack for Node.js, and how to write and deploy a real-time geo application. The document encourages building something "useless but cool" to demonstrate skills learned.
The document is a HTML page for a YouTube video. It contains metadata such as the video title ("Dota 2 The International 2014 Virtus.Pro vs MVP [GAME 1]"), description, and tags describing the video content. It also includes scripts that control elements on the YouTube watch page like menus, buttons and player.
Async Redux Actions With RxJS - React Rally 2016Ben Lesh
Redux-observable allows combining RxJS and Redux by introducing Epics. Epics are Observable streams that handle asynchronous logic in response to Redux actions. This avoids callback hell and enables features like cancellation. An Epic takes an action stream, performs asynchronous operations like AJAX calls using RxJS, and dispatches result actions. This keeps Redux synchronous while managing complex async flows in a declarative and reusable way.
Description
If you want to get data from the web, and there are no APIs available, then you need to use web scraping! Scrapy is the most effective and popular choice for web scraping and is used in many areas such as data science, journalism, business intelligence, web development, etc.
Abstract
If you want to get data from the web, and there are no APIs available, then you need to use web scraping! Scrapy is the most effective and popular choice for web scraping and is used in many areas such as data science, journalism, business intelligence, web development, etc.
This workshop will provide an overview of Scrapy, starting from the fundamentals and working through each new topic with hands-on examples.
Participants will come away with a good understanding of Scrapy, the principles behind its design, and how to apply the best practices encouraged by Scrapy to any scraping task.
Goals:
Set up a python environment.
Learn basic concepts of the Scrapy framework.
This document provides an overview of CouchDB, a document-oriented database. It describes CouchDB's key features such as storing data as JSON documents with dynamic schemas, providing a RESTful HTTP API, using JavaScript for views and aggregations, and replicating data between databases. It also provides code examples for common operations like creating, retrieving, updating and deleting documents, as well as attaching files. The document recommends libraries for using CouchDB from different programming languages and shares the code for a simple CouchDB library created in an afternoon.
This document discusses using Python to access and process web data. It covers using the Requests library to make HTTP requests and get web content, parsing web content with Beautiful Soup and JSON, and accessing web services using REST. Example code is provided for making GET and POST requests, extracting data from HTML and JSON responses, and creating a simple Flask web service.
Web Crawling Modeling with Scrapy Models #TDC2014Bruno Rocha
This document discusses Scrapy Models, which is a framework for structuring web crawlers and scrapers using models. It allows defining models with fields that select elements using CSS or XPath. Fields can contain multiple queries and validate the best match. Methods can parse each field after fetching. The scrapy_model library provides a BaseFetcherModel to create scrapers that select elements and populate models from scraped data.
Python tools for webscraping provides an overview of scraping techniques like screen scraping, report mining, and web scraping using spiders and crawlers. It then demonstrates various Python libraries for web scraping including Selenium, Requests, Beautiful Soup, PyQuery, Scrapy, and Scrapy Cloud. The document shows how to scrape data from websites using these tools and techniques.
The document discusses using asyncio to perform asynchronous web scraping in Python. It begins with an overview of common Python web scraping tools like Requests, BeautifulSoup, Scrapy. It then covers key concepts of asyncio like event loops, coroutines, tasks and futures. It provides examples of building an asynchronous web crawler and downloader using these concepts. Finally, it discusses alternatives to asyncio for asynchronous programming like ThreadPoolExecutor and ProcessPoolExecutor.
The document discusses Rx.js, a library for reactive programming using Observables. It begins by introducing Rx.js and some of its key benefits over other approaches to asynchronous programming like callbacks and Promises. It then provides examples of using Observables to represent asynchronous data streams and operations like DOM events. Key points made include that Observables allow for lazy execution, cancellation, composition of existing event streams, and treating asynchronous values as collections. The document concludes by demonstrating how Rx.js allows building a Morse code parser by modeling DOM events and signals as Observable streams.
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...Codemotion
The document discusses RESTful web services and the Eve framework for building them. It provides an overview of key Eve features like setting up a basic API, connecting to MongoDB, adding validation rules, embedding resources, pagination, filtering, sorting, rate limiting, file storage, and ensuring data integrity. The presentation also covers more advanced topics such as geo-spatial support, authentication, and using Eve with other data stores like SQL and Elasticsearch.
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash courseSages
Szybkie wprowadzenie do technologii Pig i Hive z ekosystemu Hadoop. Prezentacja wykonana w ramach warsztatów Codepot w dniu 29.08.2015. Prezentacja wykonana przez Radosława Stankiewicza oraz Bartłomieja Tartanusa.
Create responsive websites with Django, REST and AngularJSHannes Hapke
The document discusses 10 steps to make a Django site more responsive by adding a REST API and using AngularJS for the front-end: 1) Create an API endpoint for the Django models, 2) Set up the JavaScript environment and install AngularJS, 3) Create a static AngularJS site, 4) Use verbatim tags to avoid conflicts between Django and AngularJS variables, 5) Connect AngularJS to the API, 6) Take advantage of the Django REST Framework features, 7) Handle asynchronous data loading, 8) Add forms and POST requests, 9) Clean up settings.py, and 10) Document the API. The goal is to keep the back-end lightweight Django while building a more responsive and
Logstash for SEO: come monitorare i Log del Web Server in realtimeAndrea Cardinale
This document discusses using Logstash to collect, parse, and analyze log files. It begins with an introduction to logs and Logstash. It then covers installing and configuring Logstash - including using inputs to collect logs, filters to parse and transform data, and outputs to send parsed logs to a storage system. The document demonstrates a Logstash configuration to collect Apache access logs, parse fields using Grok, and output to Elasticsearch for analysis with Kibana. It concludes with tips on using Logstash for SEO-related tasks like analyzing crawler behavior and page load speeds.
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)Sematext Group, Inc.
In this talk from Lucene/Solr Revolution 2015, Solr and centralized logging experts Radu Gheorghe and Rafal Kuć cover topics like: flow in Logstash, flow in rsyslog, parsing JSON, log shipping, Solr tuning, time-based collections and tiered clusters.
The document repeats the name "ParamiSoft Systems Pvt. Ltd." 15 times and contains an if/else statement that checks for questions and provides responses of either asking or thanking depending on if a question is present or not.
This document discusses using iframes for various purposes such as sandboxing code from different domains or versions, asynchronous script loading, and cross-domain communication. It describes how iframes can execute code in a clean JavaScript environment isolated from the parent window. It also explains techniques like postMessage for communication between frames and using iframes with JSONP or document.domain to enable cross-domain requests and property access. The document provides examples of libraries that sandbox code in iframes like Twitter's @anywhere widget and the hiro.js testing framework.
1. Backbone.js is a lightweight JavaScript library that adds structure to client-side code and makes it easy to manage concerns in an application.
2. It uses an MVC pattern with models to manage data, views to manage the UI display, and routers to manage client-side pages and links events to actions.
3. Backbone.js dependencies include Underscore.js and either jQuery or Zepto, but it does not replace jQuery which handles DOM interactions and events.
Backbone.js is a JavaScript MVC framework that avoids storing state in the DOM and jQuery callbacks. It uses JSON models with custom events, collections API, and views with a DSL for declaring events. Models sync automatically with RESTful JSON APIs. Controllers handle routing and the history. While verbose for simple uses, it is lightweight with excellent documentation and flexibility in implementing views.
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
Thinking about your sales team's goals for 2017? Drift's VP of Sales shares 3 things you can do to improve conversion rates and drive more revenue.
Read the full story on the Drift blog here: http://blog.drift.com/sales-team-tips
TEDx Manchester: AI & The Future of WorkVolker Hirsch
TEDx Manchester talk on artificial intelligence (AI) and how the ascent of AI and robotics impacts our future work environments.
The video of the talk is now also available here: https://youtu.be/dRw4d2Si8LA
This document discusses using jQuery and Google App Engine to create cross-domain web mashups in 3 sentences or less:
The document introduces techniques for creating cross-domain web mashups using jQuery to make AJAX calls across domains and Google App Engine for hosting, discussing JSONP and proxies to overcome the same-origin policy limitation. It then provides an example mashup that displays tweets tagged with a hashtag on a map by geocoding hashtag names to locations and querying Twitter, Google Maps, and other domains.
This document discusses using CouchDB on Android applications. It provides instructions on adding CouchDB functionality to an Android project using Couchbase Mobile for Android. It also describes how to access a CouchDB instance from an Android device using Futon and the Couchbase Service. The document contains code examples for creating, reading, updating and deleting CouchDB documents from an Android app.
Event-driven IO server-side JavaScript environment based on V8 EngineRicardo Silva
This document contains information about Ricardo Silva's background and areas of expertise. It includes his degree in Computer Science from ISTEC and MSc in Computation and Medical Instrumentation from ISEP. It also notes that he works as a Software Developer at Shortcut, Lda and maintains a blog and email contact for Node.js topics. The document then covers several JavaScript, Node.js and Websockets topics through examples and explanations in 3 sentences or less each.
This document discusses various technologies related to Ajax and web services, including:
1. Ajax started as an acronym for Asynchronous JavaScript and XML.
2. It describes common web service protocols like REST and SOAP. REST uses HTTP methods to perform CRUD operations on resources while SOAP uses an XML envelope.
3. It provides an example of using Ajax with a simple Perl script to retrieve the answer to "What is the meaning of life?" stored on a server and display it in the browser.
Spicy javascript: Create your first Chrome extension for web analytics QAAlban Gérôme
Adobe Launch has a monitoring hooks API that provides more details about the rules that passed or failed. That's a great excuse for writing a Chrome extension. This will benefit you even if you have no need or experience with Adobe Launch.
This talk was given at the Dutch PHP Conference 2011 and details the use of Comet (aka reverse ajax or ajax push) technologies and the importance of websockets and server-sent events. More information is available at http://joind.in/3237.
Beyond Cookies, Persistent Storage For Web Applications Web Directions North ...BradNeuberg
This document discusses persistent storage options for web applications beyond cookies. It describes name/value storage, databases, static files, and how HTML5 specifications like localStorage, sessionStorage, databases, and the application cache provide similar persistent storage capabilities to older technologies like Gears and Flash. Use cases, code examples, and browser support are provided for each HTML5 storage mechanism.
The document discusses socket applications and real-time communication. It describes common examples like chat, live feeds, and games. It then explains the typical solution of using AJAX requests and the problems with that approach. The proposed solution is to use a multi-threaded model with asynchronous I/O and the reactor pattern to process requests while waiting for network responses. Various tools for implementing this pattern in Ruby and JavaScript are also mentioned, including Pusher, Socket.IO, and SocketStream.
OneRing is a desktop application platform that allows building desktop applications using web technologies like HTML, CSS, and JavaScript. It uses QtWebKit to render web content and exposes a C API and Python bindings to register and run web-based applications as native desktop apps. OneRing-based apps can access native GUI widgets and OS services and are distributed and updated like regular desktop programs.
Non Conventional Android Programming Enguest9bcef2f
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Non Conventional Android Programming (English)Davide Cerbo
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Express is a popular web framework for Node.js that is fast, simple, and easy to learn. It allows for routing, middleware, template engines like Jade and Mustache, and handling errors. Common tasks like making HTTP requests and handling cookies/sessions are simplified. The forever module can be used to keep a Node.js app running persistently in production.
The document discusses the Grails web application framework. It begins with an overview of Grails, describing it as a convention-over-configuration MVC framework built on proven Java technologies like Spring and Hibernate. It then addresses common pain points in web development like complex ORM configuration and numerous XML files. The document outlines how Grails streamlines areas like persistence with GORM, controllers, services, and templating with Groovy Server Pages (GSP). It also covers additional Grails features such as custom tag libraries, URL mappings, conversations, and its plugin system.
Building Powerful WebSocket, Comet, and RESTful Applications Using Atmosphere
This document discusses the Atmosphere framework for building asynchronous web applications. It introduces key concepts like suspending responses, broadcasting events, scheduling broadcasts, and clustering. It also provides an example of building a real-time Twitter search application with Atmosphere and discusses how Atmosphere allows writing applications once that can run anywhere across different transports without browser workarounds. The document encourages developers to use the simple Atmosphere APIs to build powerful asynchronous applications and to join the Atmosphere community.
Node.js is a platform for building server-side applications using JavaScript. It allows for non-blocking I/O operations and event-driven programming. Node.js uses Google's V8 JavaScript engine and a event loop to handle concurrent connections efficiently. It provides a CommonJS module system and APIs for file system, network, and other operations. Node.js is well-suited for real-time applications due to its asynchronous and non-blocking nature.
This document provides an introduction to MERB (Modular, Elegant Resource-Based) and discusses several key concepts related to MERB including background processes, web services, embedded components, distributed applications, and the Rack middleware framework. The document is written in an informal tone and touches on many different topics at a high-level without going into detail on any single topic.
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Similar to Cross Domain Web Mashups with JQuery and Google App Engine (20)
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Best Practices for Effectively Running dbt in Airflow.pdfTatiana Al-Chueyr
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
15. browser: clearwind.ca server: some.other.ca
The same origin policy prevents document or script loaded from one origin from getting
or setting properties of a document from a different origin.
-- From http://www.mozilla.org/projects/security/components/same-origin.html
25. Complete JSON time demo
$(document).ready(function() {
var url = quot;http://json-time.appspot.comquot;;
function showTime(data) {
$.getJSON(url + quot;/time.json?tz=quot; + $(quot;#zonesquot;).val() + '&callback=?',
function (json){
$(quot;#zones-msgquot;).text('The time is now ' + json[quot;datetimequot;] + '.');
});
};
$.getJSON(url + quot;/timezones.json?callback=?quot;,
function (json) {
var zones = $(quot;#zonesquot;);
for (var k = 0; k < json.length; k++) {
zones.append(quot;<option>quot; + json[k] + quot;</option>quot;);
};
zones.bind(quot;changequot;, showTime)
});
});
40. Proxy?
Because twitter doesn't have JSON export
Other services like Google RSS or Yahoo YQL have
problems
But checkout: http://developer.yahoo.com/yql/
and http://code.google.com/apis/ajaxfeeds/
42. Just feedparser
http://www.feedparser.org/
class JSONHandler(webapp.RequestHandler):
def get(self):
url = self.request.get(quot;urlquot;)
data = feedparser.parse(url)
if self.request.get(quot;callbackquot;):
data = quot;%s(%s)quot; % (self.request.get(quot;callbackquot;), data)
self.response.out.write(data)
49. No Model
In fact, completely static HTML
(with JS, no server side code)
50. Some Javascript
function move() {
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var url = map_details.tags_domain + '/bounds.json?nelat=';
url += ne.lat() + '&nelon=' + ne.lng();
url += '&swlon=' + sw.lng() + '&swlat=' + sw.lat() + '&callback=?'
if (map_details.last_url != url) {
map_details.last_url = url
$.getJSON(url,
function(json) {
if (json) {
for (var k = 0; k < json.length; k++) {
...
51. Some more Javascript
function twitter() {
var tag = null;
for (var obj in tags) {
var url = map_details.atom_domain + '/twitter.json?tag=' + obj +
'&callback=?'
$.getJSON(url,
function(json) {
var tweet = null;
for (var k = 0; k < json.length; k++) {
....