Simon Willison’s Weblog

Subscribe
Atom feed for javascript

689 items tagged “javascript”

2008

The Art & Science of JavaScript. The JavaScript book I contributed to is now shipping! My chapter describes how to build a Flickr / Google Maps mashup entirely using client-side code (via JSON-P).

# 12th January 2008, 7:05 pm / javascript, writing, books, flickr, google-maps, jsonp, json, sitepoint, theartandscienceofjavascript

Cross-Site XMLHttpRequest (via) “Firefox 3 implements the W3C Access Control working draft, which gives you the ability to do XMLHttpRequests to other web sites”—you can mark a document as available for cross-domain requests using either an Access-Control HTTP header or an XML processing instruction.

# 9th January 2008, 11:57 pm / xmlhttprequest, crossdomain, ajax, javascript, john-resig, accesscontrol, w3c, firefox, firefox3, mozilla, http, xml

$.comet (via) The first Comet (with Bayeux) plugin I’ve seen for jQuery—currently only handles long-polling over XMLHttpRequest, but still a promising start.

# 9th January 2008, 8:31 am / bayeux, comet, jquery, javascript, ajax, longpolling

Why we switched to Jetty. Zimbra (recently acquired by Yahoo!) are using Jetty for Comet. It sounds like they are using Bayeux as well.

# 8th January 2008, 5:12 am / comet, ajax, javascript, yahoo, zimbra, bayeux, jetty, java

20,000 Reasons Why Comet Scales. Greg Wilkins coaxes Jetty and Bayeux in to supporting 20,000 simultaneous users per server while maintaining sub-second latency, using Amazon EC2 to run the benchmark.

# 7th January 2008, 8:32 am / bayeux, jetty, java, comet, javascript, gregwilkins, performance, benchmarking, ec2

IE7.js version 2.0 (beta). Dean Edwards has updated IE7, shifting enhancements that weren’t fixed by the real IE7 in to a new script called IE8. You can also now hotlink the library directly from Google’s servers, though I don’t know how intended Google Code’s subversion repository is for that purpose.

# 6th January 2008, 11:15 pm / google-code, goode, ie7, ie8, javascript, deanedwards

EditArea. Impressive JavaScript source code editor, with syntax highlighting, brace matching, search and replace and more.

# 1st January 2008, 12:09 pm / javascript, editarea, syntaxhighlighting, bracematching, editor

JavaScript: It’s Just Not Validation! I like the explanation of JavaScript as offering input assistance rather than validation.

# 1st January 2008, 12:07 pm / javascript, validation, sitepoint, inputassistance

2007

Django and Comet. How to build a chat application using Django and the Orbited comet server. Orbited can be set up to proxy most requests through to a Django backend while handling any comet requests itself.

# 26th December 2007, 9:05 pm / comet, django, orbited, javascript, python

AppJet: Instant Web Programming. Another attempt at simple server-side JavaScript application hosting. Worth checking out for the impressive syntax highlighting code editor, which even matches braces.

# 15th December 2007, 3:37 pm / javascript, hosting, appjet, syntaxhighlighting, y-combinator

ExtInfoWindow 1.0: Ajax powered, CSS customization. Finally, a semi-official way of creating customised info windows for the Google Maps API. You lose the default shadow but gain the ability to style the entire info window using CSS.

# 15th December 2007, 12:22 pm / css, google-maps, google-maps-api, extinfowindow, javascript, ajax, google

Two-Faced Django. Excellent Django tutorial by Will Larson that shows how to build a polling application with an interface both on the Web and in Facebook. Also touches on unit testing and Ajax using jQuery.

# 14th December 2007, 2:44 pm / ajax, jquery, javascript, django, python, tutorial, facebook, pyfacebook

Unobtrusively Mapping Microformats with jQuery. My contribution to 24 ways: using Mapstraction to geocode hCards (extracted with jQuery) and plot them on a Google Map.

# 12th December 2007, 12:28 am / 24-ways, mapstraction, microformats, hcard, jquery, javascript, google-maps, geocoding

The Future of Comet: Part 1, Comet Today. Absolutely the best summary I’ve seen of all of the current Comet techniques in one place.

# 11th December 2007, 1:13 pm / comet, jacob-rus, longpolling, javascript, ajax, xmlhttprequest, iframes

Insert Dojo and YUI bookmarklets. Combine with Jash for interactive API experimentation on any web page.

# 9th December 2007, 12:38 pm / shell, jash, dojo, yui, javascript, bookmarklets, gareth-rushgrove

Jash: JavaScript Shell (via) An advanced JavaScript interactive shell bookmarklet that works in IE, Firefox, Opera and Safari.

# 9th December 2007, 12:36 pm / gareth-rushgrove, jash, javascript, ie, firefox, opera, safari, bookmarklet, shell

JavaScript Internationalisation, explained by reindeer. “Santa even spooked Comet recently by talking about him as if he were some pushy web server.”

# 8th December 2007, 2:04 pm / i18n, 24-ways, javascript, internationalisation, comet, matthew-somerville, santa

Comet works, and it’s easier than you think

Visit Comet works, and it's easier than you think

I gave a talk this morning at the Yahoo! Web Developer Summit on Comet, cometd and Bayeux.

[... 1,314 words]

YUI 2.4.0 released. Lots of great new features, but the one I’m most excited about is Selector: YUI finally has a CSS query engine.

# 5th December 2007, 3:32 pm / selector, yui, yahoo, javascript, css, libraries

Datejs—A JavaScript Date Library. Building a date API around chaining—Date.today().next().thursday()—is a neat concept. I’d like to see that adapted for Python’s datetime library.

# 3rd December 2007, 9:01 pm / python, datetime, javascript, chaining, datejs

Transparent PNGs in Internet Explorer 6. 24ways kicks off again, with the first article introducing super-sleight, an updated script for getting transparent PNGs to work in IE6.

# 1st December 2007, 12:03 am / pngs, ie6, ie, 24-ways, drew-mclellan, javascript

Jetty WebServer. Jetty 6.1 was the only cometd / Bayeux implementation I tried which worked out of the box.

# 27th November 2007, 6:43 pm / java, javascript, jetty, webserver, cometd, comet, bayeux

Deconstructing Facebook Beacon JavaScript. How Facebook’s new Beacon service (also known as “Facebook ruined Christmas”) actually works.

# 25th November 2007, 9:20 pm / javascript, facebook, beacon, privacy

DebugBar. Suggested at BarCamp London 3 as a useful tool for developing with IE; apparently includes a great JavaScript debugger.

# 25th November 2007, 10:32 am / javascript, debugger, debugbar, barcamplondon3, internet-explorer, ie, debugging

A Taxonomy of Event- and REST-based Comet. Kris Zyp describes a conceptual model for Comet messages based on REST semantics (so you can send a PUT referencing a specific URI down to a client to represent an idempotent state change).

# 21st November 2007, 8:18 pm / idempotent, put, http, rest, kriszyp, javascript, comet

Weewar (Nat v.s. me). Really impressive turn based strategy game, implemented entirely in the browser. Surprisingly addictive; you have been warned.

# 20th November 2007, 11:52 pm / weewar, games, javascript

IE ActiveX(“htmlfile”) Transport, Part II. Fascinating tricks for working around IE memory leaks using explicit CollectGarbage() calls and setInterval() to an empty function.

# 19th November 2007, 11:48 am / htmlfile, ie, memoryleaks, javascript, comet, activex

JavaScript Beautifier (via) Useful online tool (source code also available) for un-obfuscating JavaScript that has had its whitespace stripped out.

# 16th November 2007, 8:43 pm / javascript, obfuscation, unobfuscation

Yahoo! Search Contextual Precaching. Neat performance trick on Yahoo! Search: the moment you start typing (indicating you intend to search) the site quietly fires off a bunch of requests to precache assets needed for the search results page.

# 16th November 2007, 3:58 pm / performance, javascript, ajaxian, yahoo, yahoosearch

Taking the canvas to another dimension. Opera have finally released a test version with support for a opera-3d canvas context—Windows only for the moment, but Mac and Linux versions are promised “soon”.

# 16th November 2007, 1:39 pm / opera, 3d, canvas, javascript