Skip to content
HTTP 203 artwork

HTTP 203

Surma & Jake·Hosted by Surma and Jake·51 episodes

TechnologyCo-hosted conversation45-60 min episodesWeb developmentCasual & tangentialBrowser internalsTechnical deep-dives

Surma and Jake talk about whatever's going on in the world of web development.

Why listen

HTTP 203 is a casual, technical conversation between two Google Chrome developers unpacking what's actually happening in web development. Episodes range from deep dives into browser internals to hilarious tangents about unrelated topics, making it perfect for developers who want to stay current without sacrificing personality.

Episodes

57 min
Jun 29, 2022
Changing jobs, Deno, and optimizing animations

In this episode: - Surma changed jobs. - The Shopify interview process. - Pair programming vs pair problem solving. - Surma's also doing bits of work for Deno. - The complexities of testing image codecs. - Jake forgot to tell Ada how HTTP 203 filming ends, so it almost never did. - Keeping animations fast but simple for page transitions. Transcript: https://goo.gle/3ns4TTK

56 min
Nov 18, 2021
Deno, dithering, and bathrooms

Transcript - https://goo.gle/3wZTwWS  Surma's talk about brain-click - https://goo.gle/3oYED3R  Is Chrome removing view-source? (no) Studio lighting - https://goo.gle/3oAvQVo  Jake's Twitter thread about view-source - https://goo.gle/3kQHV7L  Bathroom designs The HTTP203 episode on Deno - https://goo.gle/3CsAee8  Jake's CORS article - https://goo.gle/3x1lrWo  Deno deploy - https://goo.gle/3Cv45lZ  The little Deno server Jake wrote - https://goo.gle/30A2Zsw  Jake's wikipedia search thing - https://goo.gle/3CzarAJ  Color spaces and dithering Surma's article on dithering - https://goo.gle/3FsyH9B  Tom Scott's video on the Pulfrich Effect - https://goo.gle/3nre4EM  Shared element transitions - https://goo.gle/3FwtGNA  CSS cross-fade function - https://goo.gle/2YZfltc</

1 hr 12 min
Aug 10, 2021
Is Safari the new IE?

In this episode, Surma and Jake chat about:   Transcript → https://goo.gle/2XHz1Rz  HTTP 203 on memory debugging → https://goo.gle/2VDXRAQ  Box-sizing → https://goo.gle/3jDvH0R  IE5.5 box model → https://goo.gle/3izbY39  Tim Perry's article → https://goo.gle/3jFeWCx  IE double margin bug → https://goo.gle/3xzKWNi  IE duplicate characters bug → https://goo.gle/2U5M7X7  Dave Rupert's article → https://goo.gle/37CAI45  PROXX → https://goo.gle/3iAQbrQ  Weird emails from browser testing services → https://goo.gle/3fKQazB    Catch videos from the HTTP 203 series → http://goo.gle/HTTP203  Subscribe to Google Chrome Developers → https://goo.gle

1 hr 12 min
Apr 22, 2021
When the hype train turns out to be a bus replacement service

In this episode, Surma and Jake chat about:   Jake's 100kAMA, pose questions here → https://goo.gle/3swYDKz  Jake's 'bake-dancing' → https://goo.gle/3ajBFjx  The wee scale Hype trains Esbuild → https://goo.gle/3go1Nhc  Squoosh → https://squoosh.app/  Surma's JPEG-XL art tool → https://goo.gle/3n1kCYT  tooling.report → https://tooling.report/  JPEG-XL comparison → https://goo.gle/3x5hhN5  JPEG-XL features The quality of web images React on initial HTML → https://goo.gle/3n3OwLZ  What does 'inline CSS' mean? F1 website performance → https://goo.gle/3v8e6CB  AVIF blur preview → https://goo.gle/3dsjk63  Progressive rendering → https://goo.gle/3ecNjOC  Google I/O → https://goo.gle/32tCVwc

54 min
Jan 26, 2021Episode 7
Blog build tools, JS blocks, and opener-policy

In this episode of the top-10-most-popular-JavaScript podcast, Jake and Surma chat about:   Using our blogs to experiment with build systems. Jake's → http://goo.gle/3pi4sL5 Surma's → http://goo.gle/39dg8sK 11ty → https://www.11ty.dev/ Jake's static build → http://goo.gle/2Mi7254 Hydrated components in Jake's posts → http://goo.gle/3a0DOjt And where those are processed → http://goo.gle/36c8qgB Surma's dithering post → http://goo.gle/3c8c8f2   Cats and laser pens Dogs and teeth Improving the safety of Jedi training   The old _blank behaviour → http://goo.gle/3ojucoS The spec change → http://goo.gle/2YednBo The browsing context → http://goo.gle/2M5R0vf Cross-origin-opener-policy → http://goo.gle/2Mi7kZI window.open → http://goo.gle/3cfBPup Back/forward cache → https://web.dev/bfcache/   Old blocks proposal → http://goo.gle/2M4SeqL New blocks proposal → http://goo.gle/2Yd7iVK   Lockdown dreams Lottery fail → https://goo.gle/2M1EgpA

1 hr 16 min
Aug 10, 2020
How does back/forward actually work, and does 'talent' even exist?

- Jake messed up his recording, so it sounds like he literally phoned it in. He is very sorry. - Where do you put clothes that are in active service? - How the star system of hotels should work - Jake hates Eastenders - The element → https://goo.gle/3ihojWy - The session history traversal bit of the spec → https://goo.gle/2DCnqcg - Jake's writeup of how history behaves in browsers & spec proposal → https://goo.gle/33vrVQQ - The back-forward page cache → https://goo.gle/30vE06K - Moving an iframe → https://goo.gle/30Ae9L0 - COOP & COEP to get SharedArrayBuffer back → https://goo.gle/3kcAiqt - To what degree does "talent" exist? Is talent simply practice? → https://goo.gle/2EXm9gG - The social and economic advantages you need to become good at something - Does piracy have a valid place in helping disadvantaged folks learn software? - Different kinds of practice: Work, play, and deliberate practice. - Informer by Snow → https://goo.gle/3kj1K60 - This great Informer tweet → https://goo.gle/3fAota2 - Jon Snow dancing → https://goo.gle/2DCqcOI - The short version of HTTP203 → https://goo.gle/31ulRoW

1 hr 1 min
Jul 9, 2020
The big build-tool bonanza

- Surma's photo challenge: https://www.instagram.com/p/CBTiwExnIe6/ - https://web.dev/live happened! - Jake's image compression talk → https://goo.gle/2NZ4erd - Jake & Jason write build plugins → https://goo.gle/2CajSNF - https://tooling.report goes live! - webpack's weird behaviour with entry points → https://goo.gle/3iEQfVl - Rollup's docs → https://rollupjs.org/ - Rollup's issues with hashing → https://goo.gle/3gC4rwS - Import maps → https://goo.gle/38CFfn8 - SystemJS import maps → https://goo.gle/31TAxA2 - Hash cascading → https://goo.gle/2VWXWwG

1 hr 1 min
May 8, 2020
How to avoid getting UTF'd by text encodings

- The Count from Sesame Street swearing → https://goo.gle/3ftsgqL (warning: silly/rude) - Ofcom research into broadcast swearing → https://goo.gle/2A9xM1B (warning: lots of really bad language) (bigger warning: PDF) - Banned word list read by a computer → https://goo.gle/2SNkgat (warning: lots of really bad language)   - Beat saber stretches → https://goo.gle/2Ac4gZf    - Remy's question about text encoding → https://goo.gle/3bftse1  - TextEncoder → https://goo.gle/2zlvBaE  - TextDecoder → https://goo.gle/35K5Wou  - Streaming versions → https://goo.gle/2Wh4qHn   - Josh's joke encoding PR → https://goo.gle/2YK2316  - atob → https://goo.gle/2YK2316  - bota → https://goo.gle/2YKEuoP  - Binary strings in JS → https://goo.gle/3ch7R68  - readAsBinaryString in FileReader → https://goo.gle/2Wdnoyz    - DO

55 min
Apr 30, 2020
Maths, hooks, and errors

Jake injured himself playing games. Jake also has a stupid cat. By the way, skip to 22 mins if you don't care about all that. Writing a Countdown solver → https://goo.gle/2SkHtk2  Here's the game show → https://goo.gle/3bPo1DM  Here's the C++ solution → https://goo.gle/2VRzoFP  Jake's unappreciated audio blog post → https://goo.gle/2VNmOqZ  HTM (JSX alternative) → https://goo.gle/3cYr9x7  Preact hooks → https://goo.gle/3aMP15p  ComLink → https://goo.gle/2VLcr6V  Throwing non-errors. Guide to promises → https://goo.gle/2VOuCc8  Gotchas with typeOf. isNaN vs Number.isNaN.   See https://goo.gle/HTTP203Podcast for other episodes.

1 hr 15 min
Apr 15, 2020
Apps vs sites, binary data, and build times

Phil and Jack from fishandscripts.com are still lingering around. We chat about: Fustractions with punctuality. Phil's time website → https://goo.gle/34Cb3pW  Frances on naming PWAs → https://goo.gle/3cgkfTu  Jen's new job. Surma's WebXR experiment → https://goo.gle/3adpDp2  Transferring data between workers and pages. The DataView API → https://goo.gle/2ydWhd0  Buffer-backed objects → https://goo.gle/2REZitI  JavaScript proxies → https://goo.gle/2K6TaWT  Mathias on JS internals, including holey arrays → https://goo.gle/2RGzu0d  DX vs UX → https://goo.gle/2yhm9EO  Differences between dev and prod builds. An epic quiz on HTTP status codes. Desyncronised canvas → https://goo.gle/2yhm9EO  pointerrawupdate → https://goo.gle/3adk5Ln  Jake's unloved pointer library → https://goo.gle/2XCUUPJ  getCoalescedEvents → <span style= "font-weigh

1 hr 17 min
Apr 9, 2020
Fish & Scripts special!

We join the https://fishandscripts.com/ podcast and chat about: Games we're playing to cope with lockdown: Overcooked 2 → https://goo.gle/39NeHOU  Snipperclips → https://goo.gle/2x2GZYt  Pikuniku → https://goo.gle/2UTf7Pt  Play You Don't Know Jack → https://goo.gle/34wVJv3  Knowledge is Power → https://goo.gle/39UiMk8  It's Quiz Time → https://goo.gle/3e7N7iA  And Surma plays Zelda fast → https://goo.gle/2Rsoi7w    Jake buys some chocolate Phil joins a choir requestStorageAccess → https://goo.gle/2yNFKwR  The SameSite cookie change is rolled back → https://goo.gle/2UTYpzF  Chrome releases are resumed → https://goo.gle/3e8Exjw  And we give Phil & Jack our quiz: NOT-or-NOT    See https://goo.gle/HTTP203Podcast for more detailed show notes, including links.

1 hr 13 min
Mar 25, 2020Episode 40
VR, API design, and coping with lockdown

Also native filesystem, listener questions, and TMI.

47 min
Mar 18, 2020Episode 39
Social distance, SSR patterns, and bedtime routines

Also performance, progressive enhancement, and hand-drying.

1 hr
Jan 22, 2020Episode 38
Observables, board games, and 'Artechulate'

Also, top fashion and career advice.

1 hr 7 min
Dec 20, 2019Episode 37
It takes two to tangent

Also cache invalidation, server rendering, and learning curves.

1 hr
Oct 18, 2019Episode 36
Stability, TODOs, and the HTTP 203 census

Also how do you do TODO?

1 hr 15 min
Sep 3, 2019Episode 35
The block-drop-n-swap

Also, font loading, feature phones, and webpack vs Rollup.

47 min
May 22, 2019Episode 34
Chatting Edge & CSS with Greg Whitworth

Also, PROXX, forms, and auto.

1 hr 5 min
May 2, 2019Episode 33
Performance, trailers, and dentistry mishaps

Also camping, compositing, and building games.

1 hr 7 min
Feb 21, 2019Episode 32
Rotating an image… TO THE EXTREME

Also clip-path, bread, and urinals again.

1 hr 18 min
Dec 20, 2018Episode 31
When laptops go bad… ON STAGE

Also share target, shadow parts, and streams.

56 min
Nov 8, 2018Episode 30
Stress, canvas, and jam

Also zombie optimizations and alphabets

59 min
Sep 12, 2018Episode 29
Transforming, transpiling, and urinaling

Also page-lifecycle, WASM, and massages.

33 min
Aug 8, 2018Episode 28
CORB, BroadcastChannel, and the resting Switch face

Also spices, screen-touchers, and lasers.

18 min
Aug 2, 2018Episode 27
I/O chat with Vinamrata Singal and Eric Bidelman

Lighthouse and automation.

22 min
Jul 26, 2018Episode 26
I/O chat with Sathya Gunasekaran and Mathias Bynens

Exciting things appearing in V8.

16 min
Jul 24, 2018Episode 25
I/O chat with Martin Splitt

Making search and JavaScript better friends.

14 min
Jul 17, 2018Episode 24
I/O chat with Emily Schechter and Chris Palmer

Making Chrome secure.

19 min
Jul 11, 2018Episode 23
I/O chat with Paul Irish and Jason Miller

What's new in DevTools.

15 min
Jun 19, 2018Episode 22
I/O chat with Ewa Gasperowicz

Getting performance right.

13 min
Jun 13, 2018Episode 21
I/O chat with Darin Fisher

How Chrome began.

22 min
Jun 6, 2018Episode 20
I/O chat with Mariko Kosaka

How we got started on the web.

14 min
May 29, 2018Episode 19
I/O chat with Rob "the bobdod" Dodson

Shipping new a11y features.

15 min
May 23, 2018Episode 18
I/O chat with Monica Dinculescu

Informative mouth-words.

29 min
May 21, 2018Episode 17
I/O chat with Dion Almaer & Ben Galbraith

The state of the union of the web.

52 min
Apr 17, 2018Episode 16
Smooshes, WASMs, and conversational call stacks

Also quizzes, privilege, and screen readers.

58 min
Mar 15, 2018Episode 15
Cooties, symbols, and shaders

Also webpack + workers, observables, and resize observers.

50 min
Jan 24, 2018Episode 14
EventTarget, imports, and nudists

Also 120hz screens, JSON vs HTML, and a fox.

25 min
Dec 14, 2017Episode 13
Twelve things for 2018

With a limit of two minutes per topic.

16 min
Dec 8, 2017Episode 12
WebRTC again, and about:blank weirdness

WebRTC again, and about:blank weirdness.

51 min
Nov 22, 2017Episode 11
Web-whispers and sleepy thoughts

Iframes, WeakMaps, and WebRTC.

1 hr 2 min
Oct 6, 2017Episode 10
Wet Nose Cough

Viewports and message ports.

1 hr 4 min
Sep 6, 2017Episode 9
A is for Effort

Alarms, upcoming CSS stuff, impostor syndrome, and the death of Flash.

1 hr 7 min
Jul 28, 2017Episode 8
Slippers and chips

Custom elements, matrices, TypeScript, and omg Paul is leaving

47 min
Mar 1, 2017Episode 7
Quizzing, animating, and canceling

Jake is worse at quizzes than Paul.

45 min
Jan 17, 2017Episode 6
Legs, Wasps, and Eventually Some Web Stuff.

Paul's been booting frameworks, and unfortunately Jake connected his brain to Twitter

59 min
Jul 3, 2016Episode 5
Springy CSS, Storage, and Bisecting.

Paul has been playing with springy animations in the Safari Tech Preview, and Jake loves pubs that are also... windmills?

52 min
Feb 24, 2016Episode 4
Promises, Mistakes, and Door Handles

"Jake's discovered display: contents, while Paul is concerned about people microbenchmarking ES2015 features."

32 min
Oct 24, 2015Episode 3
Poetry and Delegated Event Listeners

Jake brings his A+ poetry game, and Paul muses over the performance implications of event delegation.

30 min
Oct 6, 2015Episode 2
CORS, Forced Layouts, and Raptor Kebab Shops.

Why does nobody seem to include CORS headers on their files? And can Paul answer Jake's dreaded CORS pre-flight quiz?

Reviews

No reviews yet.

Listening context

Casual listening
Best for: commutes, workouts, while coding, evening listening
Tone: casual, technical, conversational, humorous

Discussion (0)

No comments yet. Be the first to start the discussion!