Support for the Web Audio API is growing

Previously, there were two competing APIs for computing audio on the web [1]: (Desktop) Chrome had the Web Audio API, Firefox had the Audio Data API. The former has won this competition and support for it is growing:
  • Firefox: the Audio Data API is now deprecated on Firefox and the Web Audio API will be supported soon. Quoting “Web Audio In Firefox” by Robert O’Callahan:
    We don't have a specific date set for Web Audio support, but it is a high priority.

    At some point we will revisit MediaStreams Processing to get the features that Web Audio is missing, e.g., seamless stitching together of an audio and video playlist from a series of clips. That is lower priority.

  • Safari 6: supported, including iOS 6.
The API is still not supported on Android and Internet Explorer, though. It’s good to see that we are moving towards a common API in this domain. Getting cross-browser audio right was a major challenge for the HTML5 version of Angry Birds [2]. If you want to find out more about the Web Audio API, you can watch the video “Turning the Web Up to 11” (by Chris Wilson at Google I/O 2012) on YouTube:
This session will cover the web audio capabilities for games and music. We'll walk through the audio element and the Web Audio API, and dive deep into using the Web Audio API for game audio and building music applications. We'll also cover how to use the Node graph structure to build audio processing chains, and how to use analysis to do interesting tricks.


  1. Web audio APIs and the low-level approach
  2. Why the Angry Birds webapp needs Flash



The article “New Stanford/NYU study documents the civilian terror from Obama's drones” (by Glenn Greenwald for The Guardian) mentions interesting findings by a report on the use of drones by the US.
In the United States, the dominant narrative about the use of drones in Pakistan is of a surgically precise and effective tool that makes the US safer by enabling “targeted killing” of terrorists, with minimal downsides or collateral impacts.

This narrative is false.


Adobe’s new Create the Web products

During yesterday’s Create the Web keynote, Adobe announced several new products for web developers. This blog post gives a summary.


A quine in JavaScript

Quoting Wikipedia:
A quine is a computer program which takes no input and produces a copy of its own source code as its only output.
@cowboy (Ben Alman) gives the following example for JavaScript:
    !function $(){console.log('!'+$+'()')}()
Why does the quine work? The above code uses several tricks.


iOS 6 on the iPad

iOS 6 has become available today. The article “10 new iOS 6 features iPad users should know” summarizes what’s new for the iPad:


iPhone 5 and iOS 6 for web developers

The article “iPhone 5 and iOS 6 for HTML5 developers, a big step forward: web inspector, new APIs and more” (by Max Firtman for Breaking the Mobile Web) explains what’s new for web developers.


JavaScript: single quotes or double quotes?

Today, I’ve asked on Twitter:
JavaScript: single quotes versus double quotes. Any preferences?
And I got great answers. Two funny examples:


Thoughts on the September 2012 Apple event

Update 2012-09-14: There are three iPhone 5 models that support different bands (Sect. 7).

This post gives a few thoughts on the September 2012 Apple event.

Expressions versus statements in JavaScript

Update 2012-09-21: New in Sect. 4: using void for IIFEs, concatenating IIFEs.

This blog post looks at a syntactic distinction that is unfortunately quite important in JavaScript: the difference between expressions and statements.


How to get help for Linux: insult it

The Linux community does not take kindly to newbies. Thus, the trick is to insult Linux and you get all the help you need, because they want to prove you wrong. One user gives an example:


Twitter has become old media

Quoting “Twitter is old media” by O’Reilly’s Edd Dumbill:
[...] Twitter are switching off any kind of anonymous access to their API, restricting it to OAuth-identified server-to-server requests. Overnight, Twitter are no longer a platform. They're a media company with carefully monitored access agreements.
Similar to newspapers, cable TV companies, etc.

The empty regular expression

This blog post takes a look at the empty regular expression.


JavaScript: the glass is half full

JavaScript is widely used these days. But there are still many people who dislike it, which is why Dart and – to a lesser degree – CoffeeScript have passionate fans. Recently, Crockford, who has done much to establish JavaScript as a credible general-purpose programming language, called it “tragically important”. In this blog post, I argue that we should see JavaScript’s glass (cup?) as half full and not as half empty.


js-lang, a group for discussing JavaScript

I’ve created a new group called “js-lang” that focuses on JavaScript as a language. Quoting the description of js-lang:
This is a group about the JavaScript language proper. That is, specific platforms (browsers, Node.js, etc.) are excluded, but cross-platform initiatives and ECMAScript.next are included. Join to discuss related topics.
I’ll be there to answer questions and hope that others join to both ask and answer questions and to discuss various issues.