<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: alex-russell</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/alex-russell.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2025-08-11T04:02:19+00:00</updated><author><name>Simon Willison</name></author><entry><title>Chromium Docs: The Rule Of 2</title><link href="https://simonwillison.net/2025/Aug/11/the-rule-of-2/#atom-tag" rel="alternate"/><published>2025-08-11T04:02:19+00:00</published><updated>2025-08-11T04:02:19+00:00</updated><id>https://simonwillison.net/2025/Aug/11/the-rule-of-2/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://chromium.googlesource.com/chromium/src/+/main/docs/security/rule-of-2.md"&gt;Chromium Docs: The Rule Of 2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell &lt;a href="https://toot.cafe/@slightlyoff/114999510361121718"&gt;pointed me&lt;/a&gt; to this principle in the Chromium security documentation as similar to my description of &lt;a href="https://simonwillison.net/2025/Aug/9/bay-area-ai/"&gt;the lethal trifecta&lt;/a&gt;. First added &lt;a href="https://github.com/chromium/chromium/commit/aef94dd0e444605a16be26cba96aa477bc7fc3f5"&gt;in 2019&lt;/a&gt;, the Chromium guideline states:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When you write code to parse, evaluate, or otherwise handle untrustworthy inputs from the Internet — which is almost everything we do in a web browser! — we like to follow a simple rule to make sure it's safe enough to do so. The Rule Of 2 is: Pick no more than 2 of&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;untrustworthy inputs;&lt;/li&gt;
&lt;li&gt;unsafe implementation language; and&lt;/li&gt;
&lt;li&gt;high privilege.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Venn diagram showing you should always use
a safe language, a sandbox, or not be processing untrustworthy inputs in the first
place." src="https://static.simonwillison.net/static/2025/rule-of-2.png" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Chromium uses this design pattern to help try to avoid the high severity memory safety bugs that come when untrustworthy inputs are handled by code running at high privilege.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Chrome Security Team will generally not approve landing a CL or new feature that involves all 3 of untrustworthy inputs, unsafe language, and high privilege. To solve this problem, you need to get rid of at least 1 of those 3 things.&lt;/p&gt;
&lt;/blockquote&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lethal-trifecta"&gt;lethal-trifecta&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="browsers"/><category term="chrome"/><category term="security"/><category term="lethal-trifecta"/></entry><entry><title>Reckoning</title><link href="https://simonwillison.net/2024/Aug/18/reckoning/#atom-tag" rel="alternate"/><published>2024-08-18T16:37:41+00:00</published><updated>2024-08-18T16:37:41+00:00</updated><id>https://simonwillison.net/2024/Aug/18/reckoning/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://infrequently.org/series/reckoning/"&gt;Reckoning&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell is a self-confessed &lt;a href="https://en.wikipedia.org/wiki/Cassandra"&gt;Cassandra&lt;/a&gt; - doomed to speak truth that the wider Web industry stubbornly ignores. With this latest series of posts he is &lt;em&gt;spitting fire&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The series is an "investigation into JavaScript-first frontend culture and how it broke US public services", in four parts.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://infrequently.org/2024/08/object-lesson/"&gt;Part 2 — Object Lesson&lt;/a&gt; Alex profiles &lt;a href="https://benefitscal.com/"&gt;BenefitsCal&lt;/a&gt;, the California state portal for accessing SNAP food benefits (aka "food stamps"). On a 9Mbps connection, as can be expected in rural parts of California with populations most likely to need these services, the site takes 29.5 seconds to become usefully interactive, fetching more than 20MB of JavaScript (which isn't even correctly compressed) for a giant SPA that incoroprates React, Vue, the AWS JavaScript SDK, six user-agent parsing libraries and &lt;a href="https://infrequently.org/2024/08/object-lesson/#fn-receipts-1"&gt;a whole lot more&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It doesn't have to be like this! &lt;a href="https://www.getcalfresh.org/"&gt;GetCalFresh.org&lt;/a&gt;, the Code for America alternative to BenefitsCal, becomes interactive after 4 seconds. Despite not being the "official" site it has driven nearly half of all signups for California benefits.&lt;/p&gt;
&lt;p&gt;The fundamental problem here is the Web industry's obsession with SPAs and JavaScript-first development - techniques that make sense for a tiny fraction of applications (Alex &lt;a href="https://infrequently.org/2024/08/caprock/"&gt;calls out&lt;/a&gt; document editors, chat and videoconferencing and maps, geospatial, and BI visualisations as apppropriate applications) but massively increase the cost and complexity for the vast majority of sites - especially sites primarily used on mobile and that shouldn't expect lengthy session times or multiple repeat visits.&lt;/p&gt;
&lt;p&gt;There's so much great, quotable content in here. Don't miss out on the footnotes, like &lt;a href="https://infrequently.org/2024/08/caprock/#fn-omerta-as-market-failure-3"&gt;this one&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The JavaScript community's omertà regarding the consistent failure of frontend frameworks to deliver reasonable results at acceptable cost is likely to be remembered as one of the most shameful aspects of frontend's lost decade.&lt;/p&gt;
&lt;p&gt;Had the risks been prominently signposted, dozens of teams I've worked with personally could have avoided months of painful remediation, and hundreds more sites I've traced could have avoided material revenue losses.&lt;/p&gt;
&lt;p&gt;Too many engineering leaders have found their teams beached and unproductive for no reason other than the JavaScript community's dedication to a marketing-over-results ethos of toxic positivity.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In &lt;a href="https://infrequently.org/2024/08/the-way-out/"&gt;Part 4 — The Way Out&lt;/a&gt; Alex recommends the &lt;a href="https://www.gov.uk/service-manual"&gt;gov.uk Service Manual&lt;/a&gt; as a guide for building civic Web services that avoid these traps, thanks to the policy described in their &lt;a href="https://www.gov.uk/service-manual/technology/using-progressive-enhancement"&gt;Building a resilient frontend using progressive enhancement&lt;/a&gt; document.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/accessibility"&gt;accessibility&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/government"&gt;government&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/progressive-enhancement"&gt;progressive-enhancement&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gov-uk"&gt;gov-uk&lt;/a&gt;&lt;/p&gt;



</summary><category term="accessibility"/><category term="alex-russell"/><category term="government"/><category term="html"/><category term="javascript"/><category term="progressive-enhancement"/><category term="web-performance"/><category term="gov-uk"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2023/Aug/15/alex-russell/#atom-tag" rel="alternate"/><published>2023-08-15T21:15:16+00:00</published><updated>2023-08-15T21:15:16+00:00</updated><id>https://simonwillison.net/2023/Aug/15/alex-russell/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://toot.cafe/@slightlyoff/110512103005532169"&gt;&lt;p&gt;Someone asked me today if there was a case for using React in a new app that doesn't need to support IE.&lt;/p&gt;
&lt;p&gt;I could not come up with a single reason to prefer it over Preact or (better yet) any of the modern reactive Web Components systems (FAST, Lit, Stencil, etc.).&lt;/p&gt;
&lt;p&gt;One of the constraints is that the team wanted to use an existing library of Web Components, but React made it hard. This is probably going to cause them to favour Preact for the bits of the team that want React-flavoured modern webdev.&lt;/p&gt;
&lt;p&gt;It's astonishing how antiquated React is.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://toot.cafe/@slightlyoff/110512103005532169"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/web-components"&gt;web-components&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/react"&gt;react&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="web-components"/><category term="react"/><category term="javascript"/><category term="alex-russell"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2022/Dec/20/alex-russell/#atom-tag" rel="alternate"/><published>2022-12-20T09:54:01+00:00</published><updated>2022-12-20T09:54:01+00:00</updated><id>https://simonwillison.net/2022/Dec/20/alex-russell/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://infrequently.org/2022/12/performance-baseline-2023/"&gt;&lt;p&gt;TL;DR: To serve users at the 75th percentile (P75) of devices and networks, we can now afford ~150KiB of HTML/CSS/fonts and ~300-350KiB of JavaScript (gzipped). This is a slight improvement on last year's budgets, thanks to device and network improvements. [... This is] what we should be aiming to send over the wire per page in 2023 to reach interactivity in less than 5 seconds on first load&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://infrequently.org/2022/12/performance-baseline-2023/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="web-performance"/><category term="alex-russell"/></entry><entry><title>The baseline for web development in 2022</title><link href="https://simonwillison.net/2022/Jan/27/the-baseline-for-web-development-in-2022/#atom-tag" rel="alternate"/><published>2022-01-27T20:09:07+00:00</published><updated>2022-01-27T20:09:07+00:00</updated><id>https://simonwillison.net/2022/Jan/27/the-baseline-for-web-development-in-2022/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://engineering.linecorp.com/en/blog/the-baseline-for-web-development-in-2022/"&gt;The baseline for web development in 2022&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“TL;DR:The baseline for web development in 2022 is: low-spec Android devices in terms of performance, Safari from two years before in terms of Web Standards, and 4G in terms of networks. The web in general is not answering those needs properly, especially in terms of performance where factors such as an over-dependence on JavaScript are hindering our sites’ performance.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/slightlylate/status/1486792862255972353"&gt;Alex Russell&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="web-performance"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2019/Aug/9/alex-russell/#atom-tag" rel="alternate"/><published>2019-08-09T06:53:55+00:00</published><updated>2019-08-09T06:53:55+00:00</updated><id>https://simonwillison.net/2019/Aug/9/alex-russell/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://twitter.com/slightlylate/status/1159552790164692992"&gt;&lt;p&gt;Y'all decided you could send 6x as much script because the high-end could take it...but the next billion users can't. There might have been budget for 2x, but not 6x. Not by a long shot.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://twitter.com/slightlylate/status/1159552790164692992"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="web-performance"/><category term="alex-russell"/></entry><entry><title>A Netflix Web Performance Case Study</title><link href="https://simonwillison.net/2018/Nov/6/netflix-web-performance/#atom-tag" rel="alternate"/><published>2018-11-06T20:54:18+00:00</published><updated>2018-11-06T20:54:18+00:00</updated><id>https://simonwillison.net/2018/Nov/6/netflix-web-performance/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://medium.com/dev-channel/a-netflix-web-performance-case-study-c0bcde26a9d9"&gt;A Netflix Web Performance Case Study&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fascinating description of how Netflix knocked the 3G loading times of their homepage in half for logged-out users by rendering the React templates on the server-side and using the bare amount of vanilla JavaScript necessary to get the homepage interactive—then XHR prefetching the full React code needed to power the subsequent signup flow. Via Alex Russell, who tweets “I’m increasingly optimistic that we can cap JS emissions by quarantining legacy frameworks to the server side.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/slightlylate/status/1059828405980393472"&gt;Alex Russell&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/netflix"&gt;netflix&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/react"&gt;react&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="javascript"/><category term="netflix"/><category term="web-performance"/><category term="react"/></entry><entry><title>Can You Afford It?: Real-world Web Performance Budgets</title><link href="https://simonwillison.net/2017/Oct/23/web-performance-budgets/#atom-tag" rel="alternate"/><published>2017-10-23T13:51:14+00:00</published><updated>2017-10-23T13:51:14+00:00</updated><id>https://simonwillison.net/2017/Oct/23/web-performance-budgets/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://infrequently.org/2017/10/can-you-afford-it-real-world-web-performance-budgets/"&gt;Can You Afford It?: Real-world Web Performance Budgets&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell’s magnum opus on web performance budgets in 2017. He proposes a baseline testing device equivalent to a $200 Android phone on a slow 3G network emulated at 400ms RTT/400Kbps transfer and encourages a goal of 5s time-to-interactive on first load and 2s TTI for subsequent views.  This means around 130kb of gzipped JavaScript—challenging but not impossible with modern JavaScript frameworks.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="javascript"/><category term="web-performance"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2010/Oct/11/ie8/#atom-tag" rel="alternate"/><published>2010-10-11T23:01:00+00:00</published><updated>2010-10-11T23:01:00+00:00</updated><id>https://simonwillison.net/2010/Oct/11/ie8/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://infrequently.org/2010/10/ie-8-is-the-new-ie-6/"&gt;&lt;p&gt;Why, for a decade of experience, can we not seem to see the IE 8 zombie coming? It’s not like it’s going to be some big surprise that unless we do something different, we’ll still be supporting it in 2015. That’s right: in 2015, you’ll still be thinking about a browser that doesn’t support canvas or video and doesn’t even have a JITing JS engine.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://infrequently.org/2010/10/ie-8-is-the-new-ie-6/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="ie8"/><category term="internet-explorer"/><category term="recovered"/></entry><entry><title>Google Chrome Frame: Stable and Speedy</title><link href="https://simonwillison.net/2010/Sep/23/gcf/#atom-tag" rel="alternate"/><published>2010-09-23T01:34:00+00:00</published><updated>2010-09-23T01:34:00+00:00</updated><id>https://simonwillison.net/2010/Sep/23/gcf/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.chromium.org/2010/09/google-chrome-frame-stable-and-speedy.html"&gt;Google Chrome Frame: Stable and Speedy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Today, we’re very happy to take the Beta tag off of Google Chrome Frame and promote it to the Stable channel.”—MSI installer included, for IT administrators to easily deploy Chrome Frame to multiple machines.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://infrequently.org/2010/09/chrome-frame-now-stable/"&gt;Alex Russell&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="chrome"/><category term="chromeframe"/><category term="recovered"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2010/Mar/17/viewsource/#atom-tag" rel="alternate"/><published>2010-03-17T22:37:36+00:00</published><updated>2010-03-17T22:37:36+00:00</updated><id>https://simonwillison.net/2010/Mar/17/viewsource/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2010/03/view-source-follow-up/"&gt;&lt;p&gt;If HTML is just another bytecode container and rendering runtime, we’ll have lost part of what made the web special, and I’m afraid HTML will lose to other formats by willingly giving up its differentiators and playing on their turf.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2010/03/view-source-follow-up/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/viewsource"&gt;viewsource&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="html"/><category term="viewsource"/><category term="javascript"/><category term="alex-russell"/></entry><entry><title>Dojo: Still Twice As Fast When It Matters Most</title><link href="https://simonwillison.net/2010/Jan/28/dojo/#atom-tag" rel="alternate"/><published>2010-01-28T22:40:43+00:00</published><updated>2010-01-28T22:40:43+00:00</updated><id>https://simonwillison.net/2010/Jan/28/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2010/01/dojo-still-twice-as-fast-when-it-matters-most/"&gt;Dojo: Still Twice As Fast When It Matters Most&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell shows how Dojo out-performs jQuery on the TaskSpeed benchmark, which attempts to represent common tasks in real-world applications and has had code that have been optimised by the development teams behind each of the libraries.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/benchmarks"&gt;benchmarks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/performance"&gt;performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/taskspeed"&gt;taskspeed&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="benchmarks"/><category term="dojo"/><category term="javascript"/><category term="jquery"/><category term="performance"/><category term="taskspeed"/></entry><entry><title>SPDY: The Web, Only Faster</title><link href="https://simonwillison.net/2009/Nov/13/spdy/#atom-tag" rel="alternate"/><published>2009-11-13T13:00:08+00:00</published><updated>2009-11-13T13:00:08+00:00</updated><id>https://simonwillison.net/2009/Nov/13/spdy/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2009/11/spdy-the-web-only-faster/"&gt;SPDY: The Web, Only Faster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell explains the benefits of Google’s SPDF proposal (a protocol that upgrades HTTP)—including header compression, multiplexing, the ability to send additional resources such as images and stylesheets down without needing the data:uri hack and Comet support built in to the core assumptions of the protocol.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/comet"&gt;comet&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/compression"&gt;compression&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/datauri"&gt;datauri&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/spdy"&gt;spdy&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="comet"/><category term="compression"/><category term="datauri"/><category term="google"/><category term="http"/><category term="spdy"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2009/Nov/6/alex/#atom-tag" rel="alternate"/><published>2009-11-06T07:35:02+00:00</published><updated>2009-11-06T07:35:02+00:00</updated><id>https://simonwillison.net/2009/Nov/6/alex/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2009/11/a-bit-of-closure/"&gt;&lt;p&gt;It’s interesting to me how much [Closure] feels like a more advanced version of Dojo in many ways. There's a familiar package system, the widgets are significantly more mature, and Julie and Ojan's Editor component rocks. The APIs will feel familiar (if verbose) to Dojo users, the class hierarchies seem natural, and Closure even uses Acme, the Dojo CSS selector engine.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2009/11/a-bit-of-closure/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/closure"&gt;closure&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/acme"&gt;acme&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="closure"/><category term="acme"/><category term="css"/><category term="dojo"/><category term="javascript"/><category term="google"/></entry><entry><title>WebKit, Mobile, and Progress</title><link href="https://simonwillison.net/2009/Oct/10/webkit/#atom-tag" rel="alternate"/><published>2009-10-10T00:28:31+00:00</published><updated>2009-10-10T00:28:31+00:00</updated><id>https://simonwillison.net/2009/Oct/10/webkit/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2009/10/webkit-mobile-and-progress/"&gt;WebKit, Mobile, and Progress&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell responds to PPK’s analysis of the many different WebKit variants in today’s mobile phones, pointing out that the replacement cycle and increasing quality of WebKit in more recent phones means the situation still looks pretty good.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mobile"&gt;mobile&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ppk"&gt;ppk&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/webkit"&gt;webkit&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="browsers"/><category term="mobile"/><category term="ppk"/><category term="webkit"/></entry><entry><title>Introducing Google Chrome Frame</title><link href="https://simonwillison.net/2009/Sep/23/chromeframe/#atom-tag" rel="alternate"/><published>2009-09-23T09:57:59+00:00</published><updated>2009-09-23T09:57:59+00:00</updated><id>https://simonwillison.net/2009/Sep/23/chromeframe/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.chromium.org/2009/09/introducing-google-chrome-frame.html"&gt;Introducing Google Chrome Frame&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Here’s what Alex Russell has been up to at Google: An IE plugin (for 6, 7 and 8 on all Windows versions) which embeds the Google Chrome rendering engine—sites can then opt-in to using it by including a X-UA-Compatible meta tag. Seems to be aimed at corporate networks which mandate IE for badly written intranet applications—they can roll this out without retraining users to use another browser or breaking their existing in house apps.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/webkit"&gt;webkit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xuacompatible"&gt;xuacompatible&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="chrome"/><category term="chromeframe"/><category term="google"/><category term="internet-explorer"/><category term="webkit"/><category term="xuacompatible"/></entry><entry><title>Quoting Jacob Kaplan-Moss</title><link href="https://simonwillison.net/2009/Sep/21/clas/#atom-tag" rel="alternate"/><published>2009-09-21T18:35:21+00:00</published><updated>2009-09-21T18:35:21+00:00</updated><id>https://simonwillison.net/2009/Sep/21/clas/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://jacobian.org/writing/contributor-license-agreements/#id15"&gt;&lt;p&gt;Years ago, Alex Russell told me that Django ought to be collecting CLAs. I said "yeah, whatever" and ignored him. And thus have spent more than a year gathering CLAs to get DSF's paperwork in order. Sigh.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://jacobian.org/writing/contributor-license-agreements/#id15"&gt;Jacob Kaplan-Moss&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jacob-kaplan-moss"&gt;jacob-kaplan-moss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/clas"&gt;clas&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/law"&gt;law&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="jacob-kaplan-moss"/><category term="clas"/><category term="django"/><category term="law"/></entry><entry><title>CSS 3: Progress!</title><link href="https://simonwillison.net/2009/Aug/22/css/#atom-tag" rel="alternate"/><published>2009-08-22T11:52:17+00:00</published><updated>2009-08-22T11:52:17+00:00</updated><id>https://simonwillison.net/2009/Aug/22/css/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2009/08/css-3-progress/"&gt;CSS 3: Progress!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell on the new exciting stuff going in to CSS 3 based on real-world implementations in the modern set of browsers. Of particular interest is the new Flexible Box specification, which specifies new layout primitives hbox and vbox (as seen in XUL) and is already supported by both WebKit and Gecko.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css3"&gt;css3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flexiblebox"&gt;flexiblebox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gecko"&gt;gecko&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hbox"&gt;hbox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/standards"&gt;standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vbox"&gt;vbox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/webkit"&gt;webkit&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="browsers"/><category term="css"/><category term="css3"/><category term="flexiblebox"/><category term="gecko"/><category term="hbox"/><category term="standards"/><category term="vbox"/><category term="webkit"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2009/Aug/19/javascript/#atom-tag" rel="alternate"/><published>2009-08-19T11:33:03+00:00</published><updated>2009-08-19T11:33:03+00:00</updated><id>https://simonwillison.net/2009/Aug/19/javascript/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2009/08/some-orthodox-heresies/"&gt;&lt;p&gt;JavaScript cannot save you. Even if it could, you should not let it, for the price of this short-term salvation is the end of what you like about the web.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2009/08/some-orthodox-heresies/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="javascript"/><category term="alex-russell"/></entry><entry><title>And Now For Something Entire... Oooh! Shiny!</title><link href="https://simonwillison.net/2009/Apr/22/o3d/#atom-tag" rel="alternate"/><published>2009-04-22T12:19:23+00:00</published><updated>2009-04-22T12:19:23+00:00</updated><id>https://simonwillison.net/2009/Apr/22/o3d/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2009/04/an-now-for-something-entireoooh-shiny/"&gt;And Now For Something Entire... Oooh! Shiny!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell on O3D, the new 3D browser plugin from Google that makes OpenGL accessible to JavaScript (and embeds V8 so performance won’t suck even on slower browsers).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/3d"&gt;3d&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/o3d"&gt;o3d&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/opengl"&gt;opengl&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/v8"&gt;v8&lt;/a&gt;&lt;/p&gt;



</summary><category term="3d"/><category term="alex-russell"/><category term="google"/><category term="javascript"/><category term="o3d"/><category term="opengl"/><category term="v8"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2008/Aug/22/dojous/#atom-tag" rel="alternate"/><published>2008-08-22T08:12:28+00:00</published><updated>2008-08-22T08:12:28+00:00</updated><id>https://simonwillison.net/2008/Aug/22/dojous/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2008/08/dojos-query-system-no-really-its-that-fast/"&gt;&lt;p&gt;Making queries faster isn't in the critical path for improving the real-world performance of any Dojo apps I know of, and I bet the same is true for JQuery users. Reducing the size of the libraries, on the other hand, is still important. Now that we're all fast enough, it's time that we stopped beating on this particular drum lest we lose the plot and the JavaScript community continue to subject itself to endless rounds of benchmarketing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2008/08/dojos-query-system-no-really-its-that-fast/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;&lt;/p&gt;



</summary><category term="javascript"/><category term="alex-russell"/><category term="dojo"/><category term="jquery"/></entry><entry><title>Open Web Podcast Episode 1</title><link href="https://simonwillison.net/2008/Aug/8/ajaxian/#atom-tag" rel="alternate"/><published>2008-08-08T23:59:45+00:00</published><updated>2008-08-08T23:59:45+00:00</updated><id>https://simonwillison.net/2008/Aug/8/ajaxian/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://ajaxian.com/archives/open-web-podcast-episode-1-html-5-news-web-workers-w3c-selectors-and-dojo-happenings"&gt;Open Web Podcast Episode 1&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I haven’t listened yet, but Alex Russell, John Resig and Dion Almaer all at once? Awesome.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dion-almaer"&gt;dion-almaer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openweb"&gt;openweb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/podcasts"&gt;podcasts&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="dion-almaer"/><category term="john-resig"/><category term="openweb"/><category term="podcasts"/></entry><entry><title>The Price of Anonymity: Our Principles?</title><link href="https://simonwillison.net/2008/Jul/28/continuing/#atom-tag" rel="alternate"/><published>2008-07-28T00:44:04+00:00</published><updated>2008-07-28T00:44:04+00:00</updated><id>https://simonwillison.net/2008/Jul/28/continuing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/?p=695"&gt;The Price of Anonymity: Our Principles?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell calls for a constructive step towards better gender balance in open source: make it clear that misogynistic, offensive and lewd behaviour will not be tolerated by open source communities and bake that policy in to community codes of conduct.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/community"&gt;community&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/misogynistic"&gt;misogynistic&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/women"&gt;women&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="community"/><category term="misogynistic"/><category term="open-source"/><category term="women"/></entry><entry><title>Quoting Yoz Grahame</title><link href="https://simonwillison.net/2007/Dec/26/twitter/#atom-tag" rel="alternate"/><published>2007-12-26T17:58:32+00:00</published><updated>2007-12-26T17:58:32+00:00</updated><id>https://simonwillison.net/2007/Dec/26/twitter/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://twitter.com/yoz/statuses/535429502"&gt;&lt;p&gt;Boxing Day toy discovery: Mega Bloks not compatible with Duplo! See, Alex Russell? THIS IS WHAT HAPPENS WHEN YOU INNOVATE AHEAD OF STANDARDS&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://twitter.com/yoz/statuses/535429502"&gt;Yoz Grahame&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lego"&gt;lego&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/duplo"&gt;duplo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/megabloks"&gt;megabloks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/standards"&gt;standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-standards"&gt;web-standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yozgrahame"&gt;yozgrahame&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="lego"/><category term="duplo"/><category term="megabloks"/><category term="standards"/><category term="web-standards"/><category term="twitter"/><category term="yozgrahame"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2007/Dec/16/alex/#atom-tag" rel="alternate"/><published>2007-12-16T23:33:44+00:00</published><updated>2007-12-16T23:33:44+00:00</updated><id>https://simonwillison.net/2007/Dec/16/alex/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/?p=642"&gt;&lt;p&gt;To get a better future, not only do we need a return to "the browser wars", we need to applaud and use the hell out of "non-standard" features until such time as there's a standard to cover equivalent functionality. Non-standard features are the future, and suggesting that they are somehow "bad" is to work against your own self-interest.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/?p=642"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/standards"&gt;standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browserwars"&gt;browserwars&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/w3c"&gt;w3c&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="standards"/><category term="browserwars"/><category term="css"/><category term="w3c"/></entry><entry><title>Sweet Gig</title><link href="https://simonwillison.net/2007/Aug/7/continuing/#atom-tag" rel="alternate"/><published>2007-08-07T14:47:02+00:00</published><updated>2007-08-07T14:47:02+00:00</updated><id>https://simonwillison.net/2007/Aug/7/continuing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/?p=616"&gt;Sweet Gig&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
SitePen seek “R&amp;amp;D Associate” to have fun hacking on Open Source software and researching whatever they think is important.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jobs"&gt;jobs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sitepen"&gt;sitepen&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="jobs"/><category term="open-source"/><category term="sitepen"/></entry><entry><title>Dojo 0.9 Update</title><link href="https://simonwillison.net/2007/Apr/29/sitepen/#atom-tag" rel="alternate"/><published>2007-04-29T20:18:13+00:00</published><updated>2007-04-29T20:18:13+00:00</updated><id>https://simonwillison.net/2007/Apr/29/sitepen/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/04/28/dojo-09-update/"&gt;Dojo 0.9 Update&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Big changes are under way in the Dojo camp.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libraries"&gt;libraries&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="dojo"/><category term="javascript"/><category term="libraries"/></entry><entry><title>The website to web application gradient</title><link href="https://simonwillison.net/2007/Apr/20/frameworkers/#atom-tag" rel="alternate"/><published>2007-04-20T00:30:45+00:00</published><updated>2007-04-20T00:30:45+00:00</updated><id>https://simonwillison.net/2007/Apr/20/frameworkers/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.flickr.com/photos/74105777@N00/464449077/"&gt;The website to web application gradient&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Jeremy snapped this cunning illustration at my JavaScript Libraries panel at the Web 2.0 Expo.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bret-taylor"&gt;bret-taylor&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flickr"&gt;flickr&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gwt"&gt;gwt&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/matt-sweeney"&gt;matt-sweeney&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web2expo"&gt;web2expo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web2expo07"&gt;web2expo07&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="bret-taylor"/><category term="dojo"/><category term="flickr"/><category term="gwt"/><category term="javascript"/><category term="jeremy-keith"/><category term="john-resig"/><category term="jquery"/><category term="matt-sweeney"/><category term="web2expo"/><category term="web2expo07"/><category term="yui"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2007/Jan/8/xss/#atom-tag" rel="alternate"/><published>2007-01-08T22:48:43+00:00</published><updated>2007-01-08T22:48:43+00:00</updated><id>https://simonwillison.net/2007/Jan/8/xss/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.sitepen.com/blog/2007/01/07/when-vendors-attack-film-at-11/"&gt;&lt;p&gt;If you are subject to an XSS, the same domain policy already ensures that you're f'd. An XSS attack is the "root" or "ring 0" attack of the web.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.sitepen.com/blog/2007/01/07/when-vendors-attack-film-at-11/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;&lt;/p&gt;



</summary><category term="xss"/><category term="security"/><category term="alex-russell"/></entry><entry><title>Graphing requests with Tamper Data</title><link href="https://simonwillison.net/2006/Oct/17/graph/#atom-tag" rel="alternate"/><published>2006-10-17T18:21:06+00:00</published><updated>2006-10-17T18:21:06+00:00</updated><id>https://simonwillison.net/2006/Oct/17/graph/#atom-tag</id><summary type="html">
    &lt;p id="p-0"&gt;I spent the weekend in Boston, speaking at &lt;a href="http://www.gbcacm.org/"&gt;GBC/ACM&lt;/a&gt;'s Deep Ajax seminar with Alex Russell and Adrian Holovaty. I'll be posting some notes on this later, but I wanted to share a really neat Firefox extension that Alex showed me: &lt;a href="http://tamperdata.mozdev.org/"&gt;Tamper Data&lt;/a&gt;.&lt;/p&gt;

&lt;p id="p-1"&gt;Tamper Data is an extension for intercepting HTTP requests and modifying them. I have very little interest in this functionality myself, but hidden deep within the extension is the ability to do this:&lt;/p&gt;

&lt;p id="p-2"&gt;&lt;a href="http://simon.incutio.com/images/2006/tampergraph.png"&gt;&lt;img alt="Screenshot of Tamper Data graph of www.yahoo.com" height="368" src="http://simon.incutio.com/images/2006/tampergraph_t.png" title="Click for full-size screenshot" width="492" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p id="p-3"&gt;That's a graph showing what happens when you load up &lt;a href="http://www.yahoo.com/"&gt;www.yahoo.com&lt;/a&gt;. It shows every component of the page - JavaScript, CSS, images - and when each component started and finished loading. You can use it to get an idea for how long it took between the HTML starting to load and the browser beginning to pull in the CSS, then the images, and so on. It's a superb visualization of  what happens when a page is loaded.&lt;/p&gt;

&lt;p id="p-4"&gt;Unfortunately, if you install and run the extension (Tools -&amp;gt; Tamper Data) you'll see this instead:&lt;/p&gt;

&lt;p id="p-5"&gt;&lt;a href="http://simon.incutio.com/images/2006/tamperdata.png"&gt;&lt;img alt="Screenshot of Tamper Data user interface" height="394" src="http://simon.incutio.com/images/2006/tamperdata_t.png" title="Click for full-size screenshot" width="492" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p id="p-6"&gt;To get the graph, you have to right click in the main data grid and select "Graph All" from the context menu. Be sure to hit "clear" before loading a page that you want to graph or you'll end up seeing data from other pages too (you should shut down GMail or similar to prevent their polling requests from polluting the graph).&lt;/p&gt;

&lt;p id="p-7"&gt;It's a great tool but it's pretty well hidden. If you're looking for a side project, implementing the same functionality in a smaller extension (maybe as an extra tab in the Page Info screen) would be a significant service to the web development community.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/adrian-holovaty"&gt;adrian-holovaty&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/extensions"&gt;extensions&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/my-talks"&gt;my-talks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tamperdata"&gt;tamperdata&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="adrian-holovaty"/><category term="alex-russell"/><category term="extensions"/><category term="firefox"/><category term="my-talks"/><category term="tamperdata"/></entry></feed>