Lucene search
+L
JakearchibaldMost viewed

117 matches found

Jake Archibald's Blog
Jake Archibald's Blog
added 2018/12/14 11:41 a.m.11 views

What happens when packages go bad?

I built spritecow.com back in 2011, and I no longer actively maintain it. A few months ago, a user berated me for using a crypto currency miner on the site without their informed consent. And sure enough, the site's JS had a small addition that loaded the mining JS, and sent the result somewhere...

6.5AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2016/08/04 8:57 a.m.11 views

Service worker meeting notes

On July 28th-29th we met up in the Mozilla offices in Toronto to discuss the core service worker spec. I'll try and cover the headlines here. Before I get stuck in to the meaty bits of the meeting, our intent here is to do what's best for developers and the future of the web, so if you disagree...

6.4AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2013/07/03 2:33 p.m.11 views

Progressive enhancement is still important

About 5 years ago it felt like the progressive enhancement battle had been won, but after watching the reactions to Nicholas Zakas' "Enough with the JavaScript already" it seems all the old arguments are back with reinforcements. Well, I'm wearing my angry-pants and I'm ready for a jog down ranty...

6.6AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2013/07/03 9:58 a.m.11 views

I've only gone and done a blog

I've been promising myself I'd start a blog for about 100 years now, but it's finally here! I decided to build everything from scratch to force myself to learn Vagrant, Puppet and other general sysops stuff that was on my "to explore" list. This was dumb in terms of how long it took me to get...

7.3AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2025/02/14 1:00 a.m.10 views

Firefox + custom elements + iframes bug

Over at Shopify we've been building a bunch of web components to use internally and in third party contexts. All of a sudden, we found some strange errors in our logs, all from Firefox. This is the post I wish existed when we discovered it. Update: This is now fixed, and should land in Firefox 15...

5.3AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2016/02/02 1:59 p.m.10 views

Service workers and base URIs

Previously when we've run into a contentious service worker design issue, we've asked web developers what they think. This has worked out pretty well in the past, with developer feedback directly informing spec changes. It's also great because we can blame y'all if you pick the wrong thing. Well,...

7.1AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2014/08/12 12:01 a.m.10 views

What happens when you read a response?

There's a bit of disagreement over the behaviour of requests and responses in the fetch API, curious to know what you think… Setting the scene The new fetch API gives the web proper Request and Response primitives. fetch'/whatever'.thenfunctionresponse return response.body.asJSON; .thenfunctionda...

7AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2025/09/15 1:00 a.m.9 views

Fetch streams are great, but not for measuring upload/download progress

Part of my role at Mozilla is making sure we're focusing on the right features, and we got onto the topic of fetch upload streams. It's something Chrome has supported for a while, but it isn't yet supported in either Firefox or Safari. I asked folks on various social platforms what they thought o...

7.1AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2025/07/01 1:00 a.m.9 views

Give footnotes the boot

I hate footnotes1, and hopefully by the end of this, you will too. Let's get down to it… The UX of footnotes in printed media You, the reader, encounter a tiny number2 within some prose. This indicates to you that I, the writer, have something more to say on this topic. And, for your inconvenienc...

6.9AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2022/09/30 1:00 a.m.9 views

Drawing a star with DOMMatrix

I recently recorded an episode of HTTP 203 on DOMPoint and DOMMatrix. If you'd rather watch the video version, here it is, but come back here for some bonus details on a silly mistake I made, which I almost got away with. DOMMatrix lets you apply transformations to DOMPoints. I find these APIs...

7.2AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2016/04/07 3:03 a.m.9 views

Streaming template literals

Template literals are pretty cool right? const areThey = 'Yes'; console.log$areThey, they are; // Logs: Yes, they are You can also assign a function to process the template, known as "tagged" templates: function strongValuesstrings, ...values return strings.reducetotalStr, str, i = totalStr += st...

7.1AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2015/08/03 8:39 a.m.9 views

If we stand still, we go backwards

Recently, ppk claimed the web is going too fast in the wrong direction, and asked for a year's moratorium on web features. I was so angry I ran straight to a dictionary to find out what "moratorium" meant. Turns out it means "suspension". I got a bit snarky about it on Twitter, which isn't really...

7.1AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2014/12/01 12:49 a.m.9 views

Iterators gonna iterate

ES6 gives us a new way to iterate, and it's already supported in stable releases of Firefox, Chrome, & Opera. Here it is: for var num of 1, 2, 3 console.lognum; // Result: 1 // Result: 2 // Result: 3 Unlike for part in thing which iterates through property names of an object in a generic way, for...

7.2AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2013/08/05 2:44 p.m.9 views

Solving rendering performance puzzles

You're missing demos in this post because JavaScript or inline SVG isn't available. The Chrome team are often asked to show the process of debugging a performance issue, including how to select tools and interpret results. Well, I was recently hit by an issue that required a bit of digging, here'...

6.8AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2024/10/18 1:00 a.m.8 views

How should work?

We're finally getting a way to fully style & customise elements! But there's a detail I'd like everyone's opinion on. A brief intro to customisable If you want to hear about it in depth, I talked about it on OTMT, and there's a great post by Una Kravets. But here's a whirlwind tour: / Opt in to t...

6.6AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2016/11/29 11:42 a.m.8 views

Sounds fun

I played with the web audio API for the first time recently, so I thought I'd write up what I learned. I think that's my job or something. Playing a sound The simplest demonstrable thing we can do with web audio is "play a sound". But to do that, we first we need to load & decode something: // Th...

6.8AI score
SaveExploits0
Jake Archibald's Blog
Jake Archibald's Blog
added 2014/03/04 4:38 p.m.8 views

The browser cache is Vary broken

Jake, why are your blog posts always so depressing? -- Domenic Denicola @domenic Well, I wouldn't want to disappoint… TL;DR If you use "Vary" to negotiate content, the responses will fight for the same cache space. Additionally, IE ignores "max-age" and Safari is buggy. Content negotiation using...

0.3AI score
SaveExploits0
Total number of security vulnerabilities117