Stackoverflow and Firefox are Dead? ๐Ÿ”— **Source:** [Stackoverflow and Firefox are Dead?](https://www.youtube.com/watch?v=uWWOPZOtMJc) > [!note]+ Document Notes > tags: [web-development, tech-news, developer-tools] > author: Wes Boss & Scott Tolinski > source: Syntax Podcast > reference: https://www.youtube.com/watch?v=uWWOPZOtMJc > date created: 2025-01-17 10:30 > > # ๐Ÿท๏ธ Title: Stackoverflow and Firefox are Dead? > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Evaluate React Aria for headless component needs โ€” new docs simplify integration #components - [H2] Consider Open Workers for self-hosted edge computing โ€” alternative to Cloudflare lock-in #infrastructure - [H3] Test MicroQuickJS for embedded JavaScript projects โ€” Arduino/ESP32 applications #microcontrollers ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Stack Overflow Statistics](https://stackexchange.com/performance) - [React Aria Documentation](https://react-spectrum.adobe.com/react-aria/) ## ๐Ÿ“ Summary - Stack Overflow usage has dramatically declined from 200k to just thousands of questions daily due to AI adoption - Firefox faces existential crisis balancing core privacy-focused users with mass market AI feature demands - New tools emerge: MicroQuickJS enables JavaScript on microcontrollers, Open Workers provides self-hosted edge computing - Apple required to allow alternative browser engines in Japan, following EU mandate with limited adoption - Chrome introduces local network access permissions to prevent malicious network scanning ## ๐Ÿ“– Main Content The web development landscape is experiencing significant shifts as traditional platforms lose relevance while new technologies emerge. Stack Overflow's decline reflects broader changes in how developers seek help, with AI tools providing faster, more contextual assistance than traditional Q&A forums. Firefox's struggle to balance privacy principles with AI features illustrates the challenge faced by browser makers in maintaining relevance. Meanwhile, new tools like MicroQuickJS and Open Workers demonstrate continued innovation in edge computing and embedded systems, offering developers more deployment options and reducing vendor lock-in concerns. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/uWWOPZOtMJc?t=0) โ€” [H1] Stack Overflow Usage Decline - Key idea: Stack Overflow questions dropped from 200k daily at peak to just thousands today - Evidence: "Stack Exchange data shows dramatic decline coinciding with AI adoption" #### โฑ๏ธ [08:30](https://youtu.be/uWWOPZOtMJc?t=510) โ€” [H2] AI Replaced Traditional Q&A Workflow - Key idea: Developers prefer instant AI responses over waiting for community answers - Evidence: "The loop has been replaced by just asking AI which honestly is better" #### โฑ๏ธ [12:15](https://youtu.be/uWWOPZOtMJc?t=735) โ€” [H2] Stack Overflow Moderation Issues - Key idea: Overly strict moderation drove users away before AI became popular - Evidence: "Moderators would shut down questions for not enough info or duplicate question" #### โฑ๏ธ [15:45](https://youtu.be/uWWOPZOtMJc?t=945) โ€” [H1] MicroQuickJS for Embedded Systems - Key idea: New JavaScript engine enables JS development on microcontrollers - Evidence: "JavaScript engine targeting embedded systems meaning you can run JavaScript on a microprocessor" #### โฑ๏ธ [22:30](https://youtu.be/uWWOPZOtMJc?t=1350) โ€” [H3] JavaScript on Arduino Use Cases - Key idea: Enables easier plugin scripting and automation without C compilation - Evidence: "Good plug-in scripting language...you could just run it. There's no compile step" #### โฑ๏ธ [25:10](https://youtu.be/uWWOPZOtMJc?t=1510) โ€” [H1] Open Workers Self-Hosted Alternative - Key idea: Open Workers provides Cloudflare-like edge computing without vendor lock-in - Evidence: "Run JavaScript in a V8 isolate in your own infrastructure" #### โฑ๏ธ [32:40](https://youtu.be/uWWOPZOtMJc?t=1960) โ€” [H2] React Aria Documentation Overhaul - Key idea: New docs make headless components easier to adopt with Tailwind/Shad CN integration - Evidence: "They've redone their documentation so that it is dead simple on how to get this to work" #### โฑ๏ธ [38:20](https://youtu.be/uWWOPZOtMJc?t=2300) โ€” [H1] Firefox AI Integration Backlash - Key idea: Firefox's core privacy-focused users rejected AI features, forcing walkback - Evidence: "Their core audience is exactly the type of person who doesn't want AI shoved into the browser" #### โฑ๏ธ [42:15](https://youtu.be/uWWOPZOtMJc?t=2535) โ€” [H2] Firefox's Survival Dilemma - Key idea: Firefox must choose between maintaining niche audience or adding AI for broader appeal - Evidence: "You can't run a business on neck beards and techies. You need actual regular users" #### โฑ๏ธ [48:30](https://youtu.be/uWWOPZOtMJc?t=2910) โ€” [H1] Apple Allows Alternative Engines in Japan - Key idea: Japan mandates iOS browser engine choice, following EU with limited adoption - Evidence: "Under Japan's Mobile Software Competition Act, Apple must permit iOS browsers to use engines other than WebKit" #### โฑ๏ธ [52:00](https://youtu.be/uWWOPZOtMJc?t=3120) โ€” [H2] Zero Alternative Engine Adoption in EU - Key idea: Despite EU mandate two years ago, no alternative mobile browser engines launched - Evidence: "Guess how many alternative browser engines there are? Zero" #### โฑ๏ธ [56:45](https://youtu.be/uWWOPZOtMJc?t=3405) โ€” [H3] Fractured JSON Human-Readable Formatting - Key idea: New JSON formatter optimizes for human readability over strict formatting rules - Evidence: "Formats JSON in a way that is human readable...puts arrays on like one item per line drives me nuts" #### โฑ๏ธ [60:10](https://youtu.be/uWWOPZOtMJc?t=3610) โ€” [H2] Chrome Local Network Access Permissions - Key idea: Chrome now requires permission for websites to access local network devices - Evidence: "This website wants to look for and connect to any device on your local network" #### โฑ๏ธ [64:30](https://youtu.be/uWWOPZOtMJc?t=3870) โ€” [H3] Malicious Local Network Scanning Prevention - Key idea: New permission prevents ad tracking and security vulnerabilities via local device detection - Evidence: "Bad people were using this for malicious intent and for ad tracking" ## ๐Ÿ“š References - [MicroQuickJS Repository](https://github.com/bellard/quickjs) - [Open Workers Documentation](https://github.com/open-workers/open-workers) - [React Aria Components](https://react-spectrum.adobe.com/react-aria/) - [Fractured JSON](https://github.com/j-f1/fracturedjsonjs) ## ๐Ÿ—ฃ๏ธ Paraphrase - Stack Overflow's decline from 200k to thousands of daily questions reflects AI's superiority in providing instant, contextual coding help without community moderation friction - Firefox faces an impossible choice between satisfying privacy-focused core users who reject AI features and attracting mainstream users who expect modern browser capabilities - New tools like MicroQuickJS and Open Workers expand JavaScript's reach into embedded systems and self-hosted edge computing, reducing vendor dependencies ## ๐Ÿ“ฐ Newsletter **Web Development Landscape Shifts: AI Disrupts Traditional Platforms** The developer ecosystem is experiencing major changes as AI transforms how we work. Stack Overflow's dramatic usage declineโ€”from 200k daily questions to just thousandsโ€”shows how AI tools have replaced traditional Q&A workflows with instant, contextual help. Meanwhile, new opportunities emerge: MicroQuickJS brings JavaScript to Arduino and ESP32 projects, while Open Workers offers self-hosted edge computing as a Cloudflare alternative. React Aria's updated docs make headless components more accessible with improved Tailwind integration. Firefox's struggle to balance privacy principles with AI features highlights the challenges facing traditional tools in adapting to modern expectations. **Resources:** [React Aria Docs](https://react-spectrum.adobe.com/react-aria/), [MicroQuickJS](https://github.com/bellard/quickjs), [Open Workers](https://github.com/open-workers/open-workers) ## โœ… Action Items #### DevRel - Developer advocacy: Create content around new JavaScript runtime options (MicroQuickJS, Open Workers) - Education: Develop workshops on headless component libraries and modern browser APIs - Developer experience: Evaluate React Aria documentation approach for other projects - Community management: Monitor developer sentiment around AI integration in traditional tools #### WordPress - Core: Assess implications of Stack Overflow decline for WordPress developer support - Documentation: Apply React Aria's documentation strategy to WordPress component libraries - Community: Strengthen forums and Discord as Stack Overflow alternatives - CLI: Consider MicroQuickJS for embedded WordPress applications #### Community - Maintainers: Document best practices for AI-era developer support - Contributors: Create onboarding that doesn't rely on Stack Overflow - Sponsors: Fund alternative developer support platforms ## ๐Ÿงช Hypotheses - Stack Overflow's decline will accelerate as AI tools improve contextual understanding - Firefox will lose further market share unless they successfully integrate AI features - Alternative browser engines won't gain traction on iOS until US regulation forces change - JavaScript on microcontrollers will enable new IoT and automation use cases ### ๐Ÿ“Š Methodology - Study design: Track Stack Overflow question volume vs AI tool adoption metrics - Data sources: Browser market share data, developer survey responses - Experiments: A/B test React Aria components vs traditional component libraries ### โ“ Questions - Will any major browser successfully challenge Chrome's dominance through AI integration? - How will developer support evolve as traditional Q&A platforms decline? - Can self-hosted edge computing tools compete with cloud provider convenience? ### ๐Ÿ”ฎ Future Research - Long-term viability of privacy-focused browsers in AI-first environment - JavaScript performance on embedded systems compared to native languages - Developer productivity impact of AI vs community-based support ### ๐Ÿ’ก Implications - Practice: Developers must adapt to AI-first support workflows and new JavaScript deployment targets - Policy: Browser engine regulation may need global coordination for meaningful impact - Security: Local network access permissions signal increased browser security focus - Education: Training materials need updating for AI-assisted development workflows ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Stack Overflow decline graphs, browser market share charts - Improve: Architecture diagrams for Open Workers, microcontroller connection visuals #### ๐Ÿ”Š Aural learners - Present: Full podcast audio discussion available - Improve: Timestamped audio clips for key technical concepts #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear explanations of technical terms, analogies to existing tools - Improve: Glossary for embedded systems terminology #### ๐Ÿงฉ Kinesthetic learners - Present: Hands-on Arduino kit recommendations, code examples - Improve: Step-by-step microcontroller programming tutorials #### ๐Ÿง  Logical learners - Present: Clear causation between AI adoption and Stack Overflow decline - Improve: Decision trees for choosing between different JavaScript runtimes #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community discussion format, multiple perspectives - Improve: Discord integration for real-time discussion #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual tool exploration recommendations - Improve: Self-paced learning paths for each technology #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem thinking about browser engine diversity - Improve: Environmental impact considerations of edge vs cloud computing ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Proper heading hierarchy, descriptive link text - Improve: Better alt text for technical diagrams #### Keyboard navigation - Present: Logical tab order through timestamped sections - Improve: Skip links to major sections #### Contrast and readability - Present: Good contrast in transcript format - Improve: Visual highlighting for code examples #### Media and captions - Present: Full transcript available - Improve: Synchronized captions for video version ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global perspective on browser regulation across regions - Improve: More diverse geographic examples of technology adoption #### Inclusive language - Present: Respectful discussion of different user preferences - Improve: Avoid dismissive terms like "neck beards" for technical users #### Neurodiversity support - Present: Clear structure with timestamped sections - Improve: Summary boxes for key takeaways #### Representation - Present: Multiple viewpoints on controversial topics - Improve: More diverse voices in technology discussions ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Stack Overflow decline directly correlates with AI adoption timeline - Inductive strength: Browser regulation patterns suggest limited impact without US inclusion - Causal reasoning: Clear connection between user needs and platform choices - Analogical strength: Effective comparison between Firefox and Arc browser challenges #### Fallacies - False dilemma: Firefox survival framed as only two options (AI features or death) - Ad hominem: Dismissive language toward technical users ("neck beards") #### Tone of voice - Overall tone: Conversational and engaging with technical expertise, occasionally dismissive of certain user groups ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No significant denial patterns observed - Attack: Minor attacks on Stack Overflow moderation practices - Reverse victim/offender: No victim/offender reversal detected - Emotional cues: Frustration expressed toward platform limitations and user resistance ## ๐ŸŽฏ Conclusion The web development ecosystem is undergoing fundamental shifts as AI tools disrupt traditional platforms and new technologies expand JavaScript's reach. Developers must adapt to AI-first support workflows while evaluating new deployment options for edge computing and embedded systems. The survival of privacy-focused tools like Firefox depends on successfully balancing core principles with evolving user expectations in an increasingly AI-driven landscape. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad Purpose: Stage CEE units that become Literature notes. Split level: H3 ### [H1] AI tools replace traditional developer Q&A platforms > [!quote] [Stackoverflow and Firefox are Dead?](https://www.youtube.com/watch?v=uWWOPZOtMJc) by Wes Boss & Scott Tolinski via Syntax Podcast. Published 2025-01-17. Accessed 2025-01-17. > "The loop has been replaced by just asking AI which honestly is better" Stack Overflow's decline from 200k to thousands of daily questions demonstrates AI's superiority for contextual coding help. [view highlight](https://youtu.be/uWWOPZOtMJc?t=510#H1) #xref #articleseed ID:rw_001 ### [H2] JavaScript enables microcontroller development democratization > [!quote] Same source > "Good plug-in scripting language...you could just run it. There's no compile step" MicroQuickJS removes C programming barriers for embedded systems development through familiar JavaScript syntax. [view highlight](https://youtu.be/uWWOPZOtM --- ## Full Transcript [00:00] Welcome to Syntax. Today we've got a<br>[00:02] whole bunch of web development news for<br>[00:04] you. Uh Stack Overflow is officially<br>[00:07] dead. Is Is that the case? Why did it<br>[00:09] die? Uh there's a new JavaScript runtime<br>[00:12] in town, which is not what you would<br>[00:14] expect. There is an open-source<br>[00:16] Cloudflare workers that's written in<br>[00:18] Rust. Kind of interesting. Uh can<br>[00:21] Firefox survive all of these new in the<br>[00:23] new age of AI. Fracture JSON new spec<br>[00:27] for formatting JSON. Apple now has to<br>[00:30] allow browser engines in Japan, which is<br>[00:34] kind of interesting. And then a new<br>[00:35] popup you may have seen popping up in<br>[00:37] your Google Chrome recently. We're going<br>[00:39] to explain what that is. So, some pretty<br>[00:41] good stuff. My name is Wes Boss. I'm a<br>[00:43] web developer from Canada with me as<br>[00:45] always. Scott, how you doing today? I'm<br>[00:47] doing good, man. Yeah, just hanging out,<br>[00:50] feeling good. Just uh working on little<br>[00:52] projects here and there. I'm getting a<br>[00:54] lot of joy out of the stuff that I'm<br>[00:56] building all all the time right now. So<br>[00:58] the problem is I have too many little<br>[01:01] projects which<br>[01:02] >> man<br>[01:02] >> oh that's a killer<br>[01:04] >> story of my life I like I I was like<br>[01:06] sitting down um like like looking at<br>[01:08] like what I should do during the year<br>[01:10] and like that's like the my biggest<br>[01:12] Achilles heel<br>[01:13] >> is that I love and am interested in too<br>[01:16] many things and I love learning I love<br>[01:19] going down all these rabbit holes but<br>[01:20] there's like a certain balance of like<br>[01:22] actually finishing stuff [laughter]<br>[01:25] >> pushing it through<br>[01:26] >> and actually like dedicating<br>[01:28] all of your focus to one particular<br>[01:31] thing for a period of time. like uh over<br>[01:34] over the break I I probably spent like 5<br>[01:37] days in my my basement in one room in my<br>[01:41] basement and I you know went through all<br>[01:44] of it's like our storage room which we<br>[01:46] don't store a ton of stuff but I like<br>[01:47] went through every single tub we had<br>[01:49] pulled it all out did all that stuff uh<br>[01:51] built a workshop did everything<br>[01:53] organized 3D printed a ton of stuff and<br>[01:55] it was just like<br>[01:57] >> I spent so many days just dedicated to<br>[02:00] that one thing and it was like the the<br>[02:02] most focused time I've had on a single<br>[02:04] project in quite a little while. And the<br>[02:06] results spoke for themselves. I Yeah, it<br>[02:08] came out really good. So, [laughter]<br>[02:10] >> I think the AI has made the software<br>[02:12] project um like who look a squirrel,<br>[02:16] >> it's so much worse. It's made my stress<br>[02:18] around it worse.<br>[02:20] >> Yeah. [laughter]<br>[02:21] >> Yeah. I get like stressed out by how<br>[02:22] many uh term windows and stuff and<br>[02:24] projects I have running at once.<br>[02:26] >> Ain't easy. Ain't easy.<br>[02:28] >> Ain't easy.<br>[02:32] >> [music]<br>[02:36] >> All right, let's get into the first one,<br>[02:37] which is Stack Overflow officially dead.<br>[02:40] This is um from Stack Exchange website<br>[02:43] it to sell. Stack Exchange is the<br>[02:44] company that owns Stack Overflow and the<br>[02:47] thousand other like question and answer<br>[02:49] websites. Um and they have the ability<br>[02:52] to just simply query the data. Um and<br>[02:55] this is from when Stack Overflow started<br>[02:58] to current day. how many questions per<br>[03:01] day have been asked and it's crazy to<br>[03:05] see that it's just been spiraling<br>[03:08] trending to several thousands um per day<br>[03:11] today that 321 that's<br>[03:13] >> that's just today right but like<br>[03:16] currently only having thousands of<br>[03:17] questions asked per day whereas like at<br>[03:20] the peak you can see like the peak of<br>[03:23] COVID during lockdown<br>[03:25] >> they were getting what almost 200,000<br>[03:28] questions and and maybe in 2014 they had<br>[03:31] had that as well and they've just been<br>[03:32] spiraling right on the way down which is<br>[03:35] kind of sad but also just like that's<br>[03:39] the way the cookie crumbles and I'm I'm<br>[03:41] curious what do you think like why did<br>[03:42] this happen?<br>[03:43] >> Yeah. Well, you know obviously the<br>[03:45] answer is AI. Most of the things that<br>[03:47] you would ask on Stack Overflow the the<br>[03:50] way that it would work is that you'd<br>[03:52] post on Stack Over first. Well, maybe<br>[03:54] you'd search on Stack Overflow and maybe<br>[03:56] there would be an answer or maybe there<br>[03:58] would be maybe there would be a question<br>[04:00] and then possibly an answer, possibly an<br>[04:03] answer that is accepted and not correct<br>[04:06] or accepted and not relevant or no<br>[04:08] answer accepted at all. Or you would<br>[04:10] see, okay, this question hasn't be<br>[04:12] asked. let me post it on here and then<br>[04:14] wait like a week for somebody to<br>[04:16] possibly respond to it and if they did<br>[04:20] potentially help you like that that loop<br>[04:23] has been replaced by just asking AI<br>[04:27] which honestly is is better in in my my<br>[04:31] opinion the way I use this stuff I I<br>[04:33] found it the loop to be so much more<br>[04:35] efficient and you're not going to get<br>[04:37] some snarky nerd who thinks they know<br>[04:40] everything who wants to use this as an<br>[04:42] opportunity to uh you know flex instead<br>[04:45] of be truly helpful. Now Stack Overflow<br>[04:48] is that I stopped using Stack Overflow<br>[04:51] probably I don't know maybe 8 10 years<br>[04:55] ago that was probably at the height you<br>[04:57] know like 10 years ago that was what<br>[04:59] 2016 this is probably when I stopped<br>[05:01] using it.<br>[05:02] >> Yeah. Um, and I stopped using it just<br>[05:03] because of the the moderators would<br>[05:05] would be like didn't ask the question<br>[05:08] properly or not enough info and they<br>[05:10] would just shut it down or duplicate<br>[05:12] question which is the most frustrating<br>[05:14] thing in the world. Um, and a lot I<br>[05:17] think a lot of those people moved to<br>[05:19] Discord, Reddit, um, all of that type of<br>[05:23] stuff. So, while it was a really good<br>[05:24] spot, I used to spend all day on Stack<br>[05:27] Overflow answering people's questions,<br>[05:29] trying to get my points up and it was so<br>[05:31] fun to try to beat people to it. The<br>[05:34] questions were answered very quickly on<br>[05:36] there, but just I think the combination<br>[05:38] of AI<br>[05:40] >> like when when did the AI stuff really<br>[05:42] pop off?<br>[05:43] >> Oh god.<br>[05:44] >> Like middle [clears throat] 2013. Yeah,<br>[05:46] that's the big<br>[05:47] >> Yeah, you could see right on this graph<br>[05:49] exactly where because even like for<br>[05:51] simple questions and then once the AIs<br>[05:54] got access to the internet, once they<br>[05:57] got access to documentation, it was so<br>[06:00] much easier to to to get a question<br>[06:02] answered that way by pasting in the link<br>[06:04] to the the source code and asking<br>[06:06] questions of the source code because I I<br>[06:08] do think that is like such a a thing for<br>[06:11] me. I was admittedly always on the<br>[06:13] cutting edge of stuff in a way that was<br>[06:16] negative on Stack Overflow because if I<br>[06:18] wanted an answer on this beta software,<br>[06:21] there's no I'm I'm my answer is to look<br>[06:24] in the source code myself and figure it<br>[06:26] out.<br>[06:27] >> Yeah. You're not finding anyone to to<br>[06:28] help you there. [snorts]<br>[06:29] >> Yeah. One other thing about AI answering<br>[06:33] the questions for you is that like we've<br>[06:35] said it ourselves on this podcast many<br>[06:37] times is if you want help, you have to<br>[06:39] make a a distilled example of the the<br>[06:42] you got to reproduce it outside of your<br>[06:45] project and you got to like make a whole<br>[06:47] case and like figure it out. And often<br>[06:49] often while you're doing that, you'll<br>[06:51] find the bug. But AI is really good at<br>[06:53] finding the bug in context for for what<br>[06:56] you're actually doing. and and sometimes<br>[06:58] that's often that's way better.<br>[07:00] >> Yeah, I agree. Stack Overflow, it is sad<br>[07:03] uh because that's such a place in time.<br>[07:06] What could Stack of Overflow have done<br>[07:08] to have prevented this?<br>[07:11] They could have implemented an AI<br>[07:14] solution that would have answered a or<br>[07:16] attempted to answer the question<br>[07:18] instantly or something, right? And then<br>[07:20] make that public. But ultimately,<br>[07:22] >> it's odd that they provided all the data<br>[07:25] >> for everybody to to sort of eat their<br>[07:28] lunch. Um, they were sitting on a gold<br>[07:30] mine and doesn't look like they did much<br>[07:32] with it, unfortunately.<br>[07:33] >> Yeah. Yeah. It's crazy. I you you got to<br>[07:35] wonder like what they could have done<br>[07:36] differently cuz it does from an<br>[07:39] outsers's perspective, it seems like<br>[07:41] they just kind of sat there and watched<br>[07:43] the uh the trend go downward. Like the<br>[07:46] writing has been on the wall for years<br>[07:48] for them. So, I think they've had an<br>[07:49] opportunity that uh either they just<br>[07:51] didn't care to to solve or weren't able<br>[07:54] [music] to come up with something. And<br>[07:56] if you want to see all of the errors in<br>[07:58] your application, you'll want to check<br>[08:00] out Sentry at centry.io/sax.<br>[08:04] You don't want a production application<br>[08:06] out there that, well, you have no<br>[08:08] visibility into in case something is<br>[08:10] blowing up and you might not even know<br>[08:11] it. So, head on over to centry.io/sax.<br>[08:14] Again, we've been using this tool for a<br>[08:16] long time and it totally rolls. All<br>[08:19] [music] right,<br>[08:20] next one we have here is MicroQuickJS.<br>[08:23] So, this is from the creator of FFmpeg<br>[08:26] and we've talked about QuickJS uh in the<br>[08:29] past. So, Fabric Bellard, he's the<br>[08:32] author of FFmpeg. He just said, "I'm I'm<br>[08:35] going to write an entire new JavaScript<br>[08:37] engine called Quick.js."<br>[08:39] >> Absolute genius. Like really knows how<br>[08:41] how a lot of these lower level things<br>[08:43] work.<br>[08:44] And now he has put out another thing<br>[08:48] called micro quickjs. And this is a<br>[08:51] JavaScript engine targeting embedded<br>[08:54] systems meaning that you can then run<br>[08:58] JavaScript on a microprocessor. So<br>[09:01] imagine you're running this on like an<br>[09:03] Arduino or a ESP32. We've talked about<br>[09:07] the these very like like like5 $10<br>[09:10] little microcontrollers or running in<br>[09:12] very memory constrained applications<br>[09:16] which is absolutely nuts. It it's not<br>[09:19] full JavaScript right there's no browser<br>[09:21] in it. It doesn't even have ES6. So it's<br>[09:24] a support of a subset of JavaScript<br>[09:27] close to ES5. It implements stricter<br>[09:30] mode which is um more errorprone and<br>[09:33] inefficient. So why why would somebody<br>[09:39] want to run JavaScript on a<br>[09:40] microcontroller? Do you have any any<br>[09:42] thoughts there?<br>[09:43] >> Um because they like to put JavaScript<br>[09:46] into everything. Now honestly, I don't<br>[09:47] do any work with microcontrollers, so<br>[09:49] I'd be interested uh in what you would<br>[09:51] have to say here more than what I would.<br>[09:53] >> Yeah. So in the microcontroller world,<br>[09:56] if you want to program one of these<br>[09:58] things, hold on, let me grab something.<br>[10:00] All right. All right. So, I got I This<br>[10:01] is something that I got I got for<br>[10:03] Christmas. And it's basically a little<br>[10:05] robot that can<br>[10:07] >> um walk and and run around.<br>[10:10] >> And it it has like lots of different IO<br>[10:12] outputs, right? There's a little LED<br>[10:14] screen. There's two little proximity<br>[10:16] sensors on it. There is a little um<br>[10:19] speaker on it. There is four servos.<br>[10:23] You can kind of hear it so that it will<br>[10:25] be able to walk. And there's a whole<br>[10:27] bunch of different input outputs. And<br>[10:28] the whole thing is powered by this<br>[10:32] little microcontroller. This is a what<br>[10:35] is this? Raspberry Pi Pico, right?<br>[10:37] [clears throat]<br>[10:38] >> And the code that runs on this type of<br>[10:40] thing and and same thing with the badges<br>[10:42] at GitHub Universe. Do I have I have<br>[10:44] mine<br>[10:44] >> I got mine somewhere too.<br>[10:47] >> The badges that run um on from GitHub<br>[10:50] Universe. This is running a RP32<br>[10:54] something um in similar the years before<br>[10:57] the on GitHub universe they had another<br>[11:00] one which also has a similar Raspberry<br>[11:03] Pi um controller like these are not like<br>[11:06] the Raspberry Pies that run Linux these<br>[11:08] are like lower level microcontrollers<br>[11:10] and in order to code on these you you<br>[11:12] sort of have a couple options you can go<br>[11:14] like the Arduino route which is what a<br>[11:17] lot of people do in that case you're<br>[11:18] writing some C in order to make it<br>[11:21] happen or you're going to be loading<br>[11:24] them. The GitHub badges run MicroPython.<br>[11:27] And the benefit to that is<br>[11:30] when you're running MicroPython, it's a<br>[11:32] little bit easier to actually write this<br>[11:34] stuff because not everybody is is as<br>[11:37] well verssed in writing and compiling C<br>[11:40] and being able to reach out for<br>[11:41] libraries, but they are pretty good at<br>[11:43] writing Python. Um, so I think the whole<br>[11:47] idea with this micro quickjs is that<br>[11:51] >> you'll be able to run this on on<br>[11:54] microcontrollers with writing<br>[11:55] JavaScript. So a lot of people in the<br>[11:58] comments of of the release of this thing<br>[11:59] were saying like this is a good plug-in<br>[12:02] scripting language. So if you want to<br>[12:04] allow people like let's say you're<br>[12:06] writing an LED controller and you want<br>[12:08] to allow people to write a plugin that<br>[12:11] will do things, they could then author<br>[12:14] that in<br>[12:16] >> JavaScript and you could just run it.<br>[12:18] There's no compile step like you're not<br>[12:19] going to upload C to a microcontroller<br>[12:22] that's already running, but you might<br>[12:24] >> upload a little bit of bit of JavaScript<br>[12:26] to that, right? It's a really nice<br>[12:27] scripting language. So it's easy to<br>[12:30] write. Um, it's sandboxed, meaning that<br>[12:32] like there's no network, there's no file<br>[12:33] system. You can allow people to just<br>[12:36] give you JavaScript and it will run it<br>[12:38] in a sandbox. So, it's kind of a an<br>[12:40] interesting space. I'm sure in the like<br>[12:42] industrial controls automation world,<br>[12:45] aside from like the like hobbyist<br>[12:47] tinkerers that we are, um, I'm sure<br>[12:49] there's a lot more use cases for it as<br>[12:51] well. So, I'm going to keep my eye on<br>[12:52] this.<br>[12:53] >> Yeah. Yeah. I I'm I I I'm interested,<br>[12:56] but I also Man, this just one more thing<br>[12:58] that I don't have time for is honestly<br>[13:00] what it is. [laughter]<br>[13:02] >> Holy cow.<br>[13:03] >> Yeah.<br>[13:03] >> All right, the next one here is Open<br>[13:06] Workers. Um, have you liked the idea of<br>[13:09] Cloudflare Workers, but also like to<br>[13:12] self-host? So, Open Workers, what it<br>[13:15] does is it lets you run JavaScript in a<br>[13:18] V8 isolate in your own infrastructure.<br>[13:20] It's basically the exact same experience<br>[13:24] as Cloudflare workers except for you're<br>[13:26] not locked in to the Cloudflare<br>[13:29] platform. Uh which again I think this is<br>[13:32] like a nice for the the type of person<br>[13:34] who might be interested in something<br>[13:37] like Koolifi, the self-hosting, owning<br>[13:40] your own infrastructure, those types of<br>[13:42] things, while also keeping uh the more<br>[13:46] modern kind of development flow. uh<br>[13:49] being able to have individual functions<br>[13:51] that are are running the way these are.<br>[13:53] It also does more than just it seems<br>[13:55] like it does KV storage. It does uh<br>[13:58] Postcrest. It does R2 S3 croning<br>[14:02] bindings.<br>[14:02] >> Yeah, it it does feel like a Cloudflare<br>[14:06] an open Cloudflare replacement of sorts.<br>[14:09] Pretty neat. I I I actually hadn't seen<br>[14:12] this uh before you brought this to my<br>[14:13] attention, but is this something that<br>[14:15] you would take on yourself?<br>[14:18] kind of interesting because people<br>[14:20] always people always talk about like the<br>[14:22] versel lock in<br>[14:24] >> but like Cloudflare as much as I love<br>[14:26] them and I'm I'm a Cloudflare stand<br>[14:28] currently same<br>[14:30] >> um it it kind of is lockin meaning that<br>[14:34] like you can run a lot of stuff locally<br>[14:36] they've allowed you to like reproduce it<br>[14:38] locally and whatnot but when you want go<br>[14:40] to deploy<br>[14:42] >> that that's kind of your your option<br>[14:44] right you got to deploy it to Cloudflare<br>[14:46] and and The beauty of Cloudflare is that<br>[14:48] they have all these bindings, right? You<br>[14:50] need a database, uh you need key value,<br>[14:53] you need um like blob storage, someplace<br>[14:55] to put your files and your images. They<br>[14:58] have all these things that will sort of<br>[14:59] just work together. Um and it it works<br>[15:02] really well and it's really really nice.<br>[15:04] But like the the thing that a lot of<br>[15:06] people don't talk about is that like<br>[15:07] yeah, you're you're kind of locked into<br>[15:09] hosting on Cloudflare. And that has not<br>[15:12] been a problem for like probably not<br>[15:14] anyone, I'll say, but for a lot of<br>[15:16] people like my bill is is almost<br>[15:18] nothing. We went over that a couple<br>[15:20] shows ago as well. Um, but like there's<br>[15:23] always that thing of like what happens<br>[15:26] um if they decide to three times the<br>[15:28] price or or whatever, you know, they<br>[15:31] there's if there's any rug pull um and<br>[15:33] you're locked in. Now,<br>[15:35] >> if there's a rug pull, I'm I'm toast<br>[15:36] with Cloudflare because yeah, I host a<br>[15:38] lot of stuff there. But but here's the<br>[15:40] thing that I think about this stuff is<br>[15:42] that the way that I'm building my apps<br>[15:44] that run on Cloudflare is I'm not<br>[15:47] directly using the like Cloudflare<br>[15:51] async fetch and env.kv.get<br>[15:55] and like all of their explicit bindings<br>[15:58] directly like this.<br>[16:00] >> What I'm doing is I'm building them in<br>[16:03] some sort of standard framework. Hano,<br>[16:06] Eliza, Remix, whatever. And then I'm<br>[16:10] using an adapter that will then expose<br>[16:12] those things. Wacku is what my own<br>[16:15] currently or Wu is what my currently my<br>[16:18] website runs on and that's hosted on<br>[16:19] Cloudflare. There's a thin layer that<br>[16:23] sort of exposes those bindings to the<br>[16:27] thing. So like I'm my database adapter.<br>[16:30] I'm not using env. DB.<br>[16:32] >> Yeah.<br>[16:32] >> I'm using um<br>[16:34] >> Yes. Drizzle and and then I have an<br>[16:38] adapter that Drizzle will connect to the<br>[16:40] Cloudflare binding. And then if I wanted<br>[16:42] to move that thing somewhere else, no<br>[16:44] problem. You know, I build everything on<br>[16:46] web standards. Cloudflare implements web<br>[16:50] standards on all this and I would be<br>[16:52] able to move that thing somewhere else<br>[16:54] with very little work. So, this is cool.<br>[16:58] I like this. Um, but I don't really see<br>[17:01] a huge use case for this type of thing.<br>[17:03] >> I think it's People want to own it.<br>[17:06] >> Yeah. They just want to own it. They<br>[17:07] want to throw it up on a a VPS and and<br>[17:09] own it. They want to throw it on their<br>[17:10] own machines and own it, but they don't<br>[17:12] want to<br>[17:13] >> have to host everything as a straight up<br>[17:15] >> do that. I can still do that with all of<br>[17:16] my stuff. And that's just because you're<br>[17:18] not coding things. Anytime you use like<br>[17:20] a an API that is thinking looking like<br>[17:24] lock in, you just like look at like how<br>[17:26] do I how do I make this so that it is<br>[17:30] has an abstraction layer so I can switch<br>[17:32] it to something else. Yeah,<br>[17:34] >> this is a really cool that somebody<br>[17:35] figured out how to do this as well.<br>[17:37] >> The one that's been getting me<br>[17:38] >> lately production yet.<br>[17:40] >> Yeah. Yeah. Well, yeah. I mean, this is<br>[17:42] definitely for hobbyists. It's for<br>[17:43] experimenters. It's for for uh the one<br>[17:46] that's been getting me is hyperdrive. I<br>[17:47] have to use hyperdrive if I'm deploying<br>[17:50] something on workers that uses a<br>[17:52] Postgress DB outside of<br>[17:54] >> uh like uh Neon or something like that,<br>[17:56] something that's not a uh<br>[17:59] >> yes,<br>[18:00] >> distributed DB. And that's obnoxious as<br>[18:02] hell. I'll tell you that because you<br>[18:04] need to get the hyperdrive URL from the<br>[18:07] event like process in in the time of<br>[18:09] like you can't just grab it from an<br>[18:11] enviable. I find the hyperdrive thing to<br>[18:14] be pretty annoying uh personally. But<br>[18:17] yeah, that's one thing I could do<br>[18:18] without as far as Cloudflare goes.<br>[18:20] >> Yeah, and that's because Cloudflare<br>[18:23] doesn't have sockets in their<br>[18:27] implementation. So if you want to<br>[18:29] connect to something outside of the<br>[18:31] Cloudflare ecosystem,<br>[18:33] >> you either have to use HTTP, which is<br>[18:37] sometimes okay, but usually not for<br>[18:40] stuff like real-time databases and<br>[18:41] whatnot, or you have to use their their<br>[18:43] hyperdrive adapter. Um, but this also<br>[18:47] >> solves the problem of your database<br>[18:49] living somewhere where your code is not<br>[18:52] running because that's where a lot of<br>[18:54] latency happens. And turns out<br>[18:56] Cloudflare has fat pipes to most of the<br>[18:59] internet so they're able to sort of<br>[19:03] make those connections as extremely fast<br>[19:06] between the two.<br>[19:07] >> I just wish the the workflow development<br>[19:10] like I don't want to use Wrangler<br>[19:11] locally while I'm building locally for<br>[19:13] some re like I just don't want to do all<br>[19:15] that stuff.<br>[19:16] >> That's my feedback for Cloudflare team<br>[19:18] all the time is that I don't want to do<br>[19:20] weird stuff locally to make this work.<br>[19:23] Um,<br>[19:24] >> yeah,<br>[19:24] >> don't make me do weird things. Don't<br>[19:26] make<br>[19:26] >> I got to do an if statement. If it's<br>[19:28] local, then use the normal one.<br>[19:31] Otherwise, use hyperdrive. And yeah,<br>[19:34] >> luckily a lot of that they're<br>[19:35] implementing a lot of their APIs. When<br>[19:38] Wrangler runs locally, it it runs it<br>[19:40] actually runs their JavaScript engine<br>[19:42] locally.<br>[19:43] >> Um, and why why am I forgetting the name<br>[19:45] of it?<br>[19:46] >> Worker D, that's what it is. Why am I<br>[19:49] forgetting it? So worker D is their<br>[19:51] JavaScript engine that runs um and that<br>[19:54] is open source as well. So that will run<br>[19:57] locally but the all of the bindings um<br>[20:00] most of them will run locally but some<br>[20:02] of them still have to like browser<br>[20:04] rendering will still have to reach out<br>[20:05] to the the cloud and and run it there.<br>[20:08] [snorts]<br>[20:10] Next one React Arya just got some new<br>[20:12] docs and I think this is fantastic. Um,<br>[20:16] so React Arya is a React library for<br>[20:20] building components. Um, and it has<br>[20:23] absolutely everything, you know, like<br>[20:26] autocomplete, breadcrumbs, button,<br>[20:27] calendar, checkbox, color, like there's<br>[20:30] >> yeah,<br>[20:30] >> what probably 80 of them here. Um, and<br>[20:33] the cool thing about React Arya is it's<br>[20:35] 100% headless, meaning that it simply<br>[20:38] just brings the functionality. Um, and<br>[20:42] then you you bring the divs, you bring<br>[20:45] the uh<br>[20:46] >> Yeah,<br>[20:46] >> you bring the CSS. Um, and they just<br>[20:48] redid their documentation<br>[20:51] to be a bit more like cuz like people<br>[20:53] people want that, but they also just<br>[20:55] want to slap a Shad CN component in<br>[20:58] there and and call it a day. So, they've<br>[21:00] redone you've always been able to do<br>[21:02] that with React area, but they've redone<br>[21:04] their documentation so that it is dead<br>[21:06] not simple on how to get this to work.<br>[21:09] So you can you can choose vanilla CSS or<br>[21:12] Tailwind. Um and then it also uses shad<br>[21:15] CN to install the component which I<br>[21:18] thought shaden is so interesting is<br>[21:21] people love shaden installing things.<br>[21:24] >> Yeah.<br>[21:25] >> Now things that are not shaden are now<br>[21:27] using the tool to actually just like<br>[21:30] what it does is it downloads the<br>[21:32] component to the component folder and<br>[21:34] then you can go in there and poke around<br>[21:35] and and change it however you want.<br>[21:37] That's really the way to go that rather<br>[21:39] than importing something from a package<br>[21:41] and using it that way.<br>[21:42] >> Exactly. I man I had a a slight spat<br>[21:45] with somebody on Twitter over the<br>[21:47] holidays where oh boy<br>[21:49] >> uh somebody was like there was a whole<br>[21:52] thing about using um components to do<br>[21:56] buttons as links and all this stuff. And<br>[21:59] either way, long story short, they they<br>[22:01] wrote this really obtuse and just like<br>[22:04] nasty looking React component just to<br>[22:06] simply output a link that could be<br>[22:10] styled as a button. Like that's it. And<br>[22:14] I I like I've been left with this<br>[22:17] thought lately that it's like this<br>[22:19] component could just be a class. Like<br>[22:23] come on. I get the isolation. I get all<br>[22:26] of those things. But when you have a<br>[22:29] component that is simply just a link<br>[22:32] styled as a button, you have lost the<br>[22:34] dang plot. Uh like this list box, this<br>[22:37] stuff is exactly what components are<br>[22:40] for. But stuff that is just a button<br>[22:43] link. Like come on, you're importing a<br>[22:46] stupid cl like just make this component<br>[22:49] could have been a class. That's the hill<br>[22:50] I'm gonna die. hate. I hate the<br>[22:52] overabraction<br>[22:54] of components where it's like you make<br>[22:56] like oh you want to have a link, you<br>[22:59] want to have text, you want to have like<br>[23:02] the browser comes with these things<br>[23:03] built in. You don't need a component for<br>[23:06] that. This could Yeah. Just slap a class<br>[23:08] on it or slap some styles on it if you<br>[23:10] want, but don't over abstract these<br>[23:13] things because it's such a pain in the<br>[23:14] ass to debug.<br>[23:16] >> Yeah. Yeah. It's crazy. and and had some<br>[23:19] like really dismissive things to say<br>[23:22] about my opinion on it. Like this person<br>[23:25] just clearly doesn't understand like<br>[23:27] modern web development. It's like<br>[23:30] brother, it's a freaking link. It is a<br>[23:33] link that's styled as a button. Uh get<br>[23:37] over yourself. Uh it's crazy to me.<br>[23:39] Yeah,<br>[23:40] >> I I have a component somewhere in my<br>[23:44] personal website where I have like an as<br>[23:48] >> and I can I can pass an as property and<br>[23:51] then it will render as a I think a div<br>[23:54] or a span<br>[23:55] >> or it can also be a link and in that<br>[23:57] case it's it's good because it's a<br>[23:59] stylistic some it needs to look like<br>[24:01] something but in some cases it needs to<br>[24:03] be like a proper link and in that case I<br>[24:06] think that's fine<br>[24:08] but Yeah, in so many cases. No, no,<br>[24:11] thank you.<br>[24:11] >> Yeah, no kidding. Cool. All right, next<br>[24:14] one. Uh, Firefox. Can Firefox survive?<br>[24:18] Firefox had a big old uh thing about<br>[24:21] putting out well AI into their browser.<br>[24:26] And that pissed off what like [snorts]<br>[24:29] the the the one two 1.2% 2% 2% of uh<br>[24:33] people who are still on Firefox, which<br>[24:36] is like their core audience is exactly<br>[24:39] the type of person who doesn't want AI<br>[24:42] shoved into the browser.<br>[24:44] >> And so they were pretty tonedeaf in just<br>[24:46] saying, "Guess what everybody, all the<br>[24:48] uh the people who are still stuck on<br>[24:50] Firefox, we're putting AI in your<br>[24:52] browser and you're going to love it."<br>[24:54] And uh then they had to walk back and<br>[24:56] say, "Okay, you can turn it off." But<br>[24:58] you have a whole thing about the new<br>[25:00] Firefox CEO here in addition to that. I<br>[25:03] I'm just like Firefox announcement.<br>[25:07] >> Yeah.<br>[25:07] >> So the new CEO comes in uh to sort of<br>[25:10] like save the currently plummeting<br>[25:13] Mozilla Firefox, you know, they just<br>[25:15] been haven't been doing great for a<br>[25:17] number of years. And then they just<br>[25:19] released this huge rebrand. And I don't<br>[25:22] know maybe 6 months ago they also<br>[25:24] released they changed their terms of<br>[25:26] service to say we will not I what was it<br>[25:28] it was it was personally said we will<br>[25:30] not sell your personal data um and they<br>[25:33] change it to something like misilla<br>[25:34] doesn't sell data about you and people<br>[25:38] lost their minds over that um which is<br>[25:41] it I understand that as well. So, like<br>[25:43] the Misil's not been been doing great<br>[25:45] for people using that. And then the new<br>[25:48] CEO comes in here ready to shake things<br>[25:50] up and he's like, "Look, like<br>[25:52] >> we're an AI not we're an AI browser, but<br>[25:55] like that's essentially what they're<br>[25:57] going to be doing.<br>[25:58] >> Put an AI<br>[25:58] >> and everybody lost their minds."<br>[26:00] >> Yeah.<br>[26:01] >> And honestly,<br>[26:03] >> I don't think you guys should be giving<br>[26:05] Mozilla a hard time to be doing this<br>[26:07] thing because I think there's probably<br>[26:09] two outcomes here. Misilla keeps and I<br>[26:13] say this as a huge Firefox user. I love<br>[26:16] Misilla as as like a browser engine. I<br>[26:18] think we as web developers need it and<br>[26:20] it is so important to the web ecosystem.<br>[26:23] But most people don't care. They do not<br>[26:26] care about that type of stuff. And<br>[26:28] people are not choosing Firefox because<br>[26:30] of their flexbox frames per second<br>[26:34] animations or things like that. People<br>[26:36] are choosing browsers based on on<br>[26:38] features on on what they do for them.<br>[26:41] And if Firefox is going to be able to<br>[26:44] survive this, right? There's two<br>[26:45] options. Firefox continues to be the<br>[26:48] browser that they are and they're going<br>[26:50] to slowly lose money. Most of the money<br>[26:53] come from Firefox comes from Google ads.<br>[26:56] More people are using AI. They're not<br>[26:58] searching Google for these things. So<br>[27:00] that money is going to go away and then<br>[27:01] Firefox will just cease to exist, right?<br>[27:04] So you we we could keep going that way,<br>[27:06] but that will probably only be another<br>[27:08] year or two and then Firefox will no<br>[27:10] longer be a thing at all. The other<br>[27:12] option is is like can we actually try to<br>[27:15] get some users that care about this<br>[27:17] stuff? We have the neck beards and the<br>[27:18] techies, but you can't run a business on<br>[27:22] on those people. You need actual people<br>[27:25] who like regular users who care about<br>[27:29] features of the browser and and privacy<br>[27:31] is is one of them. But unfortunately,<br>[27:33] regular people just want to do things<br>[27:35] like shop and and get discount codes and<br>[27:39] have pages summarized for them and all<br>[27:42] of these types of things as well.<br>[27:44] >> So, as much as it kills me, literally<br>[27:46] every other browser is going to be doing<br>[27:48] this as well.<br>[27:49] >> And I think it's kind of necessary in<br>[27:51] order to to keep it up. Yeah, Firefox is<br>[27:55] damned if they do and damned if they<br>[27:56] don't because if they add this stuff,<br>[27:59] their core audience, which is the only<br>[28:01] people still left using Firefox, are<br>[28:03] going to get uh pissy about it. They're<br>[28:05] not going to be happy about it. And all<br>[28:07] of the paper clips in the comments are<br>[28:09] going to go nuts. If the I if they if<br>[28:14] they don't add this stuff like you said<br>[28:16] the users are just going to keep on<br>[28:18] leaving because other browsers more<br>[28:21] better features more hype whatever. What<br>[28:24] what were their choices here? Like if if<br>[28:26] they like I said they don't do it where<br>[28:28] they're holding on to this. It's it's<br>[28:29] the same kind of predicament that like<br>[28:31] Arc had where Arc was a niche browser<br>[28:35] for nerds and I loved Arc. I I ARC is my<br>[28:38] favorite thing. But the ARC team, the<br>[28:40] browser company realized that they were<br>[28:42] never going to get this big market share<br>[28:46] in their current nerd focused way. Now,<br>[28:51] their goals could have been, oh, we'll<br>[28:52] just make a paid browser. We'll have<br>[28:54] this thing serve a niche community, but<br>[28:57] they wanted to reach more people. So,<br>[28:59] they took an approach and and made<br>[29:01] something different that had more mass<br>[29:04] appeal. I would argue that it's not been<br>[29:06] successful for them. But like in in the<br>[29:10] same regard that was the choice. It's<br>[29:11] like do you keep your nerd audience<br>[29:15] >> who you know demands privacy? They<br>[29:19] demand you know all of the things that<br>[29:21] Firefox brings you or do you do you try<br>[29:24] to go out and get a bigger piece of the<br>[29:26] pie? And they made their choice. Uh so<br>[29:30] yeah I I I don't know. I wasn't going to<br>[29:32] use it either way. So for me, this is<br>[29:35] like I I this to me is like they're<br>[29:39] they're trying at least they're trying<br>[29:41] to to survive.<br>[29:43] >> Totally. And I I think from a browser<br>[29:46] engine perspective, I really hope they<br>[29:49] make it out cuz as as much as I get mad<br>[29:51] that Firefox is is lagging on CSS<br>[29:54] anchor, we don't want to be in a world<br>[29:57] where there's only one browser engine,<br>[29:59] you know, like [clears throat] I wish it<br>[30:00] was just Chrome. And then as soon as you<br>[30:02] get that, oh, now this one company has<br>[30:06] has control over over everything. And<br>[30:08] and I trust Google for that type of<br>[30:10] stuff, but that happened with with IE as<br>[30:12] well. We don't want that for the web.<br>[30:14] And I don't know that a lot of these new<br>[30:17] >> browsers are are being good stewards of<br>[30:21] that. You know, like<br>[30:23] >> there's a lot of people forking Chrome<br>[30:25] right now, which which is taking a lot<br>[30:28] of people off of using Chrome. And like<br>[30:30] what does that mean for the resources<br>[30:32] that are like are they Google spends<br>[30:36] billions of dollars on engineers to<br>[30:38] actually develop Chrome, you know, like<br>[30:40] hopefully OpenAI is actually putting<br>[30:42] some engineering talent on on pushing<br>[30:46] this stuff back, you know, and and<br>[30:47] upstreaming a lot of the their fixes<br>[30:51] back into Chrome. I don't know if that's<br>[30:52] the case yet or not, but we'll see.<br>[30:54] >> Yeah, I know. I feel like<br>[30:55] >> although nobody's using the Open AI<br>[30:57] browser, you know, that thing sucks.<br>[30:58] >> Yeah, that sucks. Yeah, I I [laughter]<br>[31:00] know. I I like I said, I don't even<br>[31:02] download it. I'm I have I have literally<br>[31:04] 30 browsers downloaded on my computer<br>[31:06] and I didn't even download the OpenAI<br>[31:07] one. I do not care about it. Yeah.<br>[31:10] >> Uh yeah.<br>[31:11] >> Speaking of alternative browser engines,<br>[31:15] Apple<br>[31:16] >> now is allowing alternative browser<br>[31:19] engines in Japan. So under Japan's<br>[31:22] Mobile Software Competition Act, Apple<br>[31:25] must permit iOS browsers in Japan to use<br>[31:28] browser engines other than WebKit, such<br>[31:31] as obviously Blink or Gecko. Those are<br>[31:33] the other two big engines. Blink is is<br>[31:35] Chromes, Gecko is Firefox. Um, so this<br>[31:40] is kind of interesting. Although,<br>[31:42] >> let's talk about it. This happened I<br>[31:44] looked it up two years ago. 2 years ago,<br>[31:47] yeah,<br>[31:47] >> the EU mandated that this exact same<br>[31:51] thing in the European Union. And guess<br>[31:53] how many alternative browser engines<br>[31:55] there are? Not browsers, browser<br>[31:57] engines. Meaning that like alternative<br>[31:59] browsers that use different something<br>[32:00] not WebKit on on iOS. Guess how many.<br>[32:03] >> I'll tell you zero.<br>[32:04] >> Yeah. And there's a good reason for<br>[32:05] that. There's a good reason for that.<br>[32:07] It's that<br>[32:08] >> because that's the EU and now it's EU<br>[32:11] and Japan. So maybe there's a bigger<br>[32:12] opportunity there. But until the US has<br>[32:16] has this available to them, there is no<br>[32:21] there is zero incentive for Google to<br>[32:25] develop a web or not a webkit, a blink<br>[32:28] version of Chrome just for those<br>[32:31] markets, right?<br>[32:32] >> Yeah, you're right. That's two different<br>[32:35] >> now. They have two now they're forking<br>[32:36] their browser with two different<br>[32:37] rendering engines uh just for mobile. I<br>[32:41] want WebKit. Gosh, I Google used to<br>[32:44] Chrome used to be WebKit. I'm still like<br>[32:46] my my brain is still there. I want<br>[32:47] Blink.<br>[32:48] >> You can't change that.<br>[32:49] >> I want Blink on iOS. I do. I seriously<br>[32:52] do. And maybe Gecko. I don't really want<br>[32:54] Gecko on iOS if we're being honest. But<br>[32:55] I want Blink on iOS. And like h come on.<br>[33:00] In the current US political landscape,<br>[33:02] there's 0% chance of any regulation<br>[33:05] happening to make Apple do this. And<br>[33:07] Apple is not going to do this without a<br>[33:10] regulation telling them to because<br>[33:12] there's no incentive for them. They want<br>[33:15] to own the mobile space on the on on on<br>[33:19] iOS. And as long as Apple owns the<br>[33:22] mobile rendering space on iOS,<br>[33:25] you're missing out on the world of<br>[33:29] browser APIs and experiences that you<br>[33:31] could have off of WebKit. Like come on.<br>[33:36] got Bluetooth,<br>[33:38] >> MIDI, all kinds of stuff like<br>[33:41] >> Yeah, it it drives me nuts. And then and<br>[33:44] then we all have to support, you know,<br>[33:46] Safari's jank and issues uh all the time<br>[33:50] on every mobile browser. And there's<br>[33:52] really no incentive to use other mobile<br>[33:55] browsers other than Safari, unless of<br>[33:57] course you like want to sync your<br>[33:59] bookmarks and stuff and then you just<br>[34:01] pick the browser. They're all the dang<br>[34:03] same. I It's annoying.<br>[34:05] >> Yeah. Uh, I will say one good thing that<br>[34:08] has also come out of these things is the<br>[34:11] part of these mandates is not just being<br>[34:14] able to use different browser engines,<br>[34:15] but it's also to make the users have a<br>[34:18] choice. So, you set up an iPhone, you<br>[34:20] choose which browser you want to use.<br>[34:22] You don't just default to Safari and you<br>[34:24] have to go download a new one. Um, and I<br>[34:27] think that's good. I think that's even<br>[34:29] though they're still rendering with<br>[34:31] WebKit under the hood, I do think that<br>[34:33] there's<br>[34:33] >> Oh, of course<br>[34:34] >> way better um experiences when you're<br>[34:37] switching between between the two. I use<br>[34:39] Edge on everything right now, but maybe<br>[34:41] I should switch for for uh 2026.<br>[34:45] >> Yeah. You use Edge on your phone?<br>[34:48] >> Yes. Yeah. I I do that because I just I<br>[34:50] want my history synced, you know? I if<br>[34:51] I'm if I'm like, "Oh, I was on a website<br>[34:53] the other day. I want to be able to<br>[34:54] start typing it in and I get that. I<br>[34:57] found that. Or if I I have something on<br>[34:58] my phone, I can open it up on my desktop<br>[35:00] really easily.<br>[35:01] >> I was using Arc Mobile, which honestly<br>[35:05] sucks. They had like some weird feature<br>[35:07] where like a phone dialer would pop up<br>[35:09] even. It's like their Arc<br>[35:12] >> Assistant. Oh my god. Whatever they were<br>[35:14] doing with it, it was just idiotic. Uh<br>[35:16] but I I've just been on Safari and I<br>[35:19] don't get my bookmark synced and I'm<br>[35:21] just been Yeah. living with that.<br>[35:22] >> You've been fine. The one killer<br>[35:24] [clears throat] thing that happened<br>[35:25] maybe six months ago is you can now use<br>[35:27] Apple Pay in<br>[35:29] >> other than Safari.<br>[35:31] >> Okay.<br>[35:31] >> Best I hate when when web checkouts<br>[35:34] don't have Apple Pay<br>[35:36] >> and then the like the one password<br>[35:38] credit card never works<br>[35:40] >> on on mobile, you know, and then the<br>[35:42] like Chrome or I I have the like Edge<br>[35:45] Chrome autofill as well for my credit<br>[35:47] card and then it asks me for like the<br>[35:49] three-digit number. I don't know that<br>[35:51] number,<br>[35:51] >> bro. Yeah. Just fill the whole thing in.<br>[35:53] Just give me Apple Pay. So beautiful.<br>[35:56] >> Yeah, I know, man. I'm using uh Helium<br>[36:00] as my my browser on a day-to-day basis,<br>[36:02] and I would love just a Helium on iOS<br>[36:05] cuz really, what's it what's it going to<br>[36:07] it's just to sync my bookmarks? That's<br>[36:09] specifically it. But yeah,<br>[36:10] >> yeah, [snorts]<br>[36:12] >> on a lighter note, this is really<br>[36:14] simple. Fractured JSONJS is a JSON<br>[36:17] formatterater that formats JSON in a way<br>[36:20] that is is human readable.<br>[36:23] >> And I absolutely love this because the<br>[36:26] one thing I hate about prettier and and<br>[36:29] all of those like prettier compliant<br>[36:30] ones<br>[36:31] >> is<br>[36:32] >> they put arrays on like one item per<br>[36:36] line and that drives me nuts. Um<br>[36:39] especially when you have things like<br>[36:41] like latitude, longitude or like you've<br>[36:43] got coupled values, this formats it in a<br>[36:47] way that is much more human readable and<br>[36:50] and as humans we often read JSON. So<br>[36:54] this is a little<br>[36:55] >> your code still.<br>[36:57] >> Uh sometimes you know<br>[36:59] >> sometimes I read it. Yeah, [laughter]<br>[37:01] >> that's a little joke. Um is does this<br>[37:03] work with prettier error or any of that<br>[37:05] stuff or is it just its own thing? I was<br>[37:07] just looking into it and I was like,<br>[37:08] someone's got to write [clears throat]<br>[37:09] like a plugin for OxLint or what is the<br>[37:13] other one that we were<br>[37:14] >> that clip got pretty popular over the<br>[37:17] over the holidays. Biome. Yeah,<br>[37:18] someone's got to write like a it's in<br>[37:20] JavaScript. Someone's got to write a<br>[37:22] plug-in for biome or oxalint that does<br>[37:24] this cuz I love this. And let me choose<br>[37:28] if I want my arrays to go on one line or<br>[37:32] like I don't necessarily want them on<br>[37:33] one line. Sometimes I do because they<br>[37:35] wrap,<br>[37:35] >> but I I want to set like<br>[37:37] >> Yeah.<br>[37:37] >> I don't know. Put put five items on a<br>[37:39] line and then wrap to the next line.<br>[37:41] >> Make it a dang matrix. Let me look at<br>[37:42] that.<br>[37:43] >> Yeah, exactly. I thought I would cover<br>[37:46] this because I've seen this pop up<br>[37:47] several times. This is a new Chrome<br>[37:49] permissions dialogue. Um, look, and<br>[37:52] they'll say like this website wants to<br>[37:54] look for and connect to any device on<br>[37:56] your local network.<br>[37:58] >> And that's kind of spooky when that pops<br>[38:00] up. So, this is a newishired. It seems<br>[38:03] like it's just been rolling out in<br>[38:04] Chrome.<br>[38:05] >> Um, permission for local network access.<br>[38:09] Uh, so when a website wants to be able<br>[38:12] to<br>[38:13] ping fetch, whatever, like a a local<br>[38:17] domain name on your network, it's going<br>[38:21] to now ask for that. And you might be<br>[38:23] saying like, what the hell is the point<br>[38:24] of that? Turns out bad people were were<br>[38:28] using this for for malicious intent and<br>[38:31] for ad tracking um because a website<br>[38:34] like wire.com I don't know why this is<br>[38:36] popping up on wire.com but they are<br>[38:40] obviously doing a fetch request to like<br>[38:42] a 192.168<br>[38:44] or like a local domain name or a local<br>[38:48] host and if things on your network are<br>[38:51] not locked down or or if you simply just<br>[38:55] want to check if they have them there,<br>[38:57] right? Because you might get like a<br>[38:59] cores error, but you know, ooh, that<br>[39:00] device does exist there. Then you know<br>[39:03] things about that your user's local<br>[39:04] network. Um, so like local routers you<br>[39:08] could ping. Um, IoT devices that you<br>[39:11] know have security vulnerabilities, you<br>[39:13] could ping that don't have cores set up.<br>[39:16] Um, a lot of stuff like that. So this in<br>[39:19] my opinion<br>[39:20] >> interesting<br>[39:20] >> is a very good because<br>[39:22] >> oh yeah<br>[39:23] >> almost never<br>[39:24] >> does a website actually need to access<br>[39:26] your local host and if it does then then<br>[39:29] you would know yeah of course like I'm<br>[39:31] using this um WLED app and it's going to<br>[39:34] search my network for other instances of<br>[39:38] this LED controller or um I'm going to<br>[39:40] try to connect to like a local printer<br>[39:42] or um I'm I'm running this thing on this<br>[39:46] port but my back end is on like<br>[39:48] localhost 4568 and that's in development<br>[39:52] mode. That's that's going to be fine.<br>[39:54] >> Yeah, this is great. Yes, I I do I do<br>[39:56] like this. As much as I hate popups for<br>[39:57] all kinds of things, I certainly want to<br>[39:59] know if wire.com is trying to access<br>[40:01] something on my local network for some<br>[40:03] reason.<br>[40:03] >> I do wish that like, you know, on on Mac<br>[40:06] OS when you get a prompt or on iOS when<br>[40:08] you get a prompt, they have a little<br>[40:10] description of why they want to use<br>[40:12] this. I do wish you could<br>[40:16] >> put that in, but then I guess like<br>[40:18] websites probably could maliciously<br>[40:21] be like, "We we do this to pet bunnies."<br>[40:24] >> Yeah.<br>[40:24] >> Like some<br>[40:25] >> We're not trying to do We're not trying<br>[40:27] to uh footprint you or whatever. Yeah.<br>[40:30] >> Foot footprint. [laughter]<br>[40:32] >> Fingerprint.<br>[40:34] >> Don't you leave footprints?<br>[40:35] >> No. Well, I guess. But the word is<br>[40:39] fingerprint.<br>[40:40] >> They did not leave footprints.<br>[40:42] Footprints. Bread. There's breadcrumbs.<br>[40:44] Is that what you're thinking about? Like<br>[40:45] Hansel and Gretle<br>[40:47] >> leaving breadcrumbs. Footprints in the<br>[40:49] sand. I was thinking footprints in the<br>[40:50] sand.<br>[40:51] >> Like I can see it.<br>[40:53] >> Yeah.<br>[40:55] >> So that is the news for you today. What<br>[40:58] do you think? Do you think Firefox has<br>[41:00] shot themselves in the foot or do you<br>[41:02] think it was totally necessary? Do you<br>[41:05] think we'll actually see an alternative<br>[41:07] rendering engine on iOS sometime soon?<br>[41:09] Let's say even within 2026. Leave your<br>[41:12] predictions below. Let us know what you<br>[41:14] think. Let's get into sick picks and<br>[41:18] shameless plugs. Uh I got a sick pick<br>[41:20] for you today, Wes. Uh<br>[41:23] >> I got a little ter uh it's a terminal e-<br>[41:27] in screen.<br>[41:28] >> Oo.<br>[41:29] >> Um and this thing is is is dope. There's<br>[41:32] a little battery that lasts a long time,<br>[41:34] like months. And the reason why this<br>[41:37] lasts months is because this thing is<br>[41:40] not updating often. It is like hitting<br>[41:45] the web once every x amount of times.<br>[41:48] And the less you have it hit the web,<br>[41:50] the more uh the more battery you're<br>[41:54] going to gain from it. But I have it set<br>[41:56] up with a number of plugins and it will<br>[41:58] change the screen every 15 minutes or<br>[42:01] something like that. This one is our<br>[42:04] YouTube stats. And so this will have our<br>[42:07] YouTube stats. It will have my calendar.<br>[42:10] It will have the the web there's a web<br>[42:12] app where you can connect plugins. You<br>[42:14] can write your own easily enough. I have<br>[42:16] my GitHub contributions. I have how many<br>[42:18] days are left in the year. I have when<br>[42:20] is the next hockey game. I have all<br>[42:23] kinds of stuff on here uh that it just<br>[42:26] sits on my desk and it's a just a nice<br>[42:28] little e- in screen and it's just kind<br>[42:31] of cool. It's a nice little thing to<br>[42:33] have there with with no backlight and no<br>[42:35] concern about keeping it charged like at<br>[42:38] [snorts] all. I've charged it once since<br>[42:39] I got it. Just been sitting there.<br>[42:41] Really cool.<br>[42:41] >> Those EA in screens are so so cool. I<br>[42:44] often I look at them at the at the<br>[42:46] grocery store. You know, they've got<br>[42:48] them as the price tags at all of our<br>[42:50] grocery stores.<br>[42:51] >> Yeah.<br>[42:51] >> And you you guys have that, right? All<br>[42:53] your your price tags are in e in now.<br>[42:56] >> I don't think so.<br>[42:57] >> No. No. Nowhere. Where I've been<br>[42:59] shopping. Yeah.<br>[43:00] at Kog or Costco.<br>[43:03] >> In Canada, I would say not not Costco,<br>[43:06] but pretty much the rest of our stores<br>[43:08] have E in which also drives me crazy<br>[43:11] because it means that they can run an<br>[43:12] algorithm on how much our people are<br>[43:14] buying and just change the prices,<br>[43:16] >> change dynamic pricing willy-nilly.<br>[43:19] >> I, you know, I haven't been to Whole<br>[43:21] Foods or as my in-laws called it, Whole<br>[43:23] Paycheck. Uh I haven't I haven't been to<br>[43:25] Whole Paycheck in a little while, so<br>[43:28] there's a chance that they have it<br>[43:29] there. I don't know. But yeah, at at<br>[43:31] Kroger or Costco, I don't see them.<br>[43:33] >> But I see them at the grocery store all<br>[43:34] the time. And I've I've looked into<br>[43:36] whether you can just use those cuz<br>[43:38] they're relatively cheap if you just put<br>[43:40] them in your pocket. Um I'm joking.<br>[43:42] They're on on you can buy them on eBay<br>[43:44] relatively cheaply as well. Um,<br>[43:47] [laughter]<br>[43:48] but<br>[43:48] >> you still in Scranton better.<br>[43:50] >> No, but they're like it's it's encrypted<br>[43:54] and nobody has cracked the encryption,<br>[43:56] which is probably also good that someone<br>[43:58] can't come into a store and just send<br>[44:01] like [snorts] data to these these<br>[44:03] screens.<br>[44:03] >> Oh, yeah. I always love it when you see<br>[44:05] like uh somebody has hacked the road<br>[44:07] signs to like change uh you know, change<br>[44:10] it to say fart or something. Who knows?<br>[44:13] That's always really funny. Yes. Um, I'm<br>[44:15] going to sick pick this little Arduino<br>[44:18] kit that I got for Christmas from my<br>[44:20] mother-in-law. This was really cool to<br>[44:22] build. So, it's a<br>[44:25] little kit that allows you to build a<br>[44:27] cat and it comes with a Arduino. It's<br>[44:30] actually an older Arduino. Um, but it's<br>[44:33] it still worked totally fine. Um, and<br>[44:36] then it comes with like tons of<br>[44:38] different IO inputs. And I this was a<br>[44:41] very good learning opportunity. Um, I'm<br>[44:44] fairly comfortable with this stuff, but<br>[44:46] being able People are always asking me<br>[44:48] like, "What do I what do I do to to<br>[44:50] learn like microcontroller stuff and I<br>[44:53] feel like this is probably a good kit?"<br>[44:55] Um, because it takes you step by step,<br>[44:58] but it also gives you appreciation for<br>[45:00] writing the code um, with all of the<br>[45:03] different IO inputs, you know, like how<br>[45:05] do you control a speaker with a<br>[45:06] microcontroller? How do you control<br>[45:08] servos? Um, how do you control a little<br>[45:11] LED matrix? There's, I don't know,<br>[45:14] probably seven or eight different IO<br>[45:15] GPIO inputs on here and it was really<br>[45:19] fun. The kids loved doing it with me and<br>[45:23] uh it's one of those things that now<br>[45:24] that it's done, I'm sure I'm just going<br>[45:26] to start pulling parts off of it for<br>[45:28] other stuff that I want to work on.<br>[45:30] That's sick. Cool. Let's shamelessly<br>[45:32] plug the syntax on YouTube. If you're<br>[45:35] not watching this on YouTube, check us<br>[45:36] out at syntax. Uh we're at syntax FM on<br>[45:40] YouTube. We do more than just a video<br>[45:42] podcast. We do all kinds of stuff. We do<br>[45:45] fun competitive coding games. We do uh<br>[45:48] just hy jinks. CJ Reynolds does<br>[45:51] incredible videos where he goes deep on<br>[45:54] topics. He he's got uh one on dev<br>[45:57] containers. He's doing all kinds of<br>[45:59] really cool stuff this year. So follow<br>[46:01] us on YouTube. And if you're watching<br>[46:03] this on YouTube and you're not<br>[46:05] subscribed, go ahead and just just pound<br>[46:07] that subscribe button. Like, subscribe,<br>[46:09] thumbs up, hit the hype button. There's<br>[46:11] like 18 buttons now you can hit. Hit<br>[46:13] them all. That'd be great for us. Thank<br>[46:14] you so much.<br>[46:16] Peace. <!-- deep-read:sections end --> ## ๐Ÿ“บ Video ![](https://www.youtube.com/watch?v=uWWOPZOtMJc) --- # ๐Ÿ“ Full Notes (Deep-Read Analysis) # ๐Ÿท๏ธ Title: Stackoverflow and Firefox are Dead? ## ๐Ÿงฐ Action Inbox - [H1] Evaluate React Aria for headless component needs โ€” new docs simplify integration #components - [H2] Consider Open Workers for self-hosted edge computing โ€” alternative to Cloudflare lock-in #infrastructure - [H3] Test MicroQuickJS for embedded JavaScript projects โ€” Arduino/ESP32 applications #microcontrollers ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Stack Overflow Statistics](https://stackexchange.com/performance) - [React Aria Documentation](https://react-spectrum.adobe.com/react-aria/) ## ๐Ÿ“ Summary - Stack Overflow usage has dramatically declined from 200k to just thousands of questions daily due to AI adoption - Firefox faces existential crisis balancing core privacy-focused users with mass market AI feature demands - New tools emerge: MicroQuickJS enables JavaScript on microcontrollers, Open Workers provides self-hosted edge computing - Apple required to allow alternative browser engines in Japan, following EU mandate with limited adoption - Chrome introduces local network access permissions to prevent malicious network scanning ## ๐Ÿ“– Main Content The web development landscape is experiencing significant shifts as traditional platforms lose relevance while new technologies emerge. Stack Overflow's decline reflects broader changes in how developers seek help, with AI tools providing faster, more contextual assistance than traditional Q&A forums. Firefox's struggle to balance privacy principles with AI features illustrates the challenge faced by browser makers in maintaining relevance. Meanwhile, new tools like MicroQuickJS and Open Workers demonstrate continued innovation in edge computing and embedded systems, offering developers more deployment options and reducing vendor lock-in concerns. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/uWWOPZOtMJc?t=0) โ€” [H1] Stack Overflow Usage Decline - Key idea: Stack Overflow questions dropped from 200k daily at peak to just thousands today - Evidence: "Stack Exchange data shows dramatic decline coinciding with AI adoption" #### โฑ๏ธ [08:30](https://youtu.be/uWWOPZOtMJc?t=510) โ€” [H2] AI Replaced Traditional Q&A Workflow - Key idea: Developers prefer instant AI responses over waiting for community answers - Evidence: "The loop has been replaced by just asking AI which honestly is better" #### โฑ๏ธ [12:15](https://youtu.be/uWWOPZOtMJc?t=735) โ€” [H2] Stack Overflow Moderation Issues - Key idea: Overly strict moderation drove users away before AI became popular - Evidence: "Moderators would shut down questions for not enough info or duplicate question" #### โฑ๏ธ [15:45](https://youtu.be/uWWOPZOtMJc?t=945) โ€” [H1] MicroQuickJS for Embedded Systems - Key idea: New JavaScript engine enables JS development on microcontrollers - Evidence: "JavaScript engine targeting embedded systems meaning you can run JavaScript on a microprocessor" #### โฑ๏ธ [22:30](https://youtu.be/uWWOPZOtMJc?t=1350) โ€” [H3] JavaScript on Arduino Use Cases - Key idea: Enables easier plugin scripting and automation without C compilation - Evidence: "Good plug-in scripting language...you could just run it. There's no compile step" #### โฑ๏ธ [25:10](https://youtu.be/uWWOPZOtMJc?t=1510) โ€” [H1] Open Workers Self-Hosted Alternative - Key idea: Open Workers provides Cloudflare-like edge computing without vendor lock-in - Evidence: "Run JavaScript in a V8 isolate in your own infrastructure" #### โฑ๏ธ [32:40](https://youtu.be/uWWOPZOtMJc?t=1960) โ€” [H2] React Aria Documentation Overhaul - Key idea: New docs make headless components easier to adopt with Tailwind/Shad CN integration - Evidence: "They've redone their documentation so that it is dead simple on how to get this to work" #### โฑ๏ธ [38:20](https://youtu.be/uWWOPZOtMJc?t=2300) โ€” [H1] Firefox AI Integration Backlash - Key idea: Firefox's core privacy-focused users rejected AI features, forcing walkback - Evidence: "Their core audience is exactly the type of person who doesn't want AI shoved into the browser" #### โฑ๏ธ [42:15](https://youtu.be/uWWOPZOtMJc?t=2535) โ€” [H2] Firefox's Survival Dilemma - Key idea: Firefox must choose between maintaining niche audience or adding AI for broader appeal - Evidence: "You can't run a business on neck beards and techies. You need actual regular users" #### โฑ๏ธ [48:30](https://youtu.be/uWWOPZOtMJc?t=2910) โ€” [H1] Apple Allows Alternative Engines in Japan - Key idea: Japan mandates iOS browser engine choice, following EU with limited adoption - Evidence: "Under Japan's Mobile Software Competition Act, Apple must permit iOS browsers to use engines other than WebKit" #### โฑ๏ธ [52:00](https://youtu.be/uWWOPZOtMJc?t=3120) โ€” [H2] Zero Alternative Engine Adoption in EU - Key idea: Despite EU mandate two years ago, no alternative mobile browser engines launched - Evidence: "Guess how many alternative browser engines there are? Zero" #### โฑ๏ธ [56:45](https://youtu.be/uWWOPZOtMJc?t=3405) โ€” [H3] Fractured JSON Human-Readable Formatting - Key idea: New JSON formatter optimizes for human readability over strict formatting rules - Evidence: "Formats JSON in a way that is human readable...puts arrays on like one item per line drives me nuts" #### โฑ๏ธ [60:10](https://youtu.be/uWWOPZOtMJc?t=3610) โ€” [H2] Chrome Local Network Access Permissions - Key idea: Chrome now requires permission for websites to access local network devices - Evidence: "This website wants to look for and connect to any device on your local network" #### โฑ๏ธ [64:30](https://youtu.be/uWWOPZOtMJc?t=3870) โ€” [H3] Malicious Local Network Scanning Prevention - Key idea: New permission prevents ad tracking and security vulnerabilities via local device detection - Evidence: "Bad people were using this for malicious intent and for ad tracking" ## ๐Ÿ“š References - [MicroQuickJS Repository](https://github.com/bellard/quickjs) - [Open Workers Documentation](https://github.com/open-workers/open-workers) - [React Aria Components](https://react-spectrum.adobe.com/react-aria/) - [Fractured JSON](https://github.com/j-f1/fracturedjsonjs) ## ๐Ÿ—ฃ๏ธ Paraphrase - Stack Overflow's decline from 200k to thousands of daily questions reflects AI's superiority in providing instant, contextual coding help without community moderation friction - Firefox faces an impossible choice between satisfying privacy-focused core users who reject AI features and attracting mainstream users who expect modern browser capabilities - New tools like MicroQuickJS and Open Workers expand JavaScript's reach into embedded systems and self-hosted edge computing, reducing vendor dependencies ## ๐Ÿ“ฐ Newsletter **Web Development Landscape Shifts: AI Disrupts Traditional Platforms** The developer ecosystem is experiencing major changes as AI transforms how we work. Stack Overflow's dramatic usage declineโ€”from 200k daily questions to just thousandsโ€”shows how AI tools have replaced traditional Q&A workflows with instant, contextual help. Meanwhile, new opportunities emerge: MicroQuickJS brings JavaScript to Arduino and ESP32 projects, while Open Workers offers self-hosted edge computing as a Cloudflare alternative. React Aria's updated docs make headless components more accessible with improved Tailwind integration. Firefox's struggle to balance privacy principles with AI features highlights the challenges facing traditional tools in adapting to modern expectations. **Resources:** [React Aria Docs](https://react-spectrum.adobe.com/react-aria/), [MicroQuickJS](https://github.com/bellard/quickjs), [Open Workers](https://github.com/open-workers/open-workers) ## โœ… Action Items #### DevRel - Developer advocacy: Create content around new JavaScript runtime options (MicroQuickJS, Open Workers) - Education: Develop workshops on headless component libraries and modern browser APIs - Developer experience: Evaluate React Aria documentation approach for other projects - Community management: Monitor developer sentiment around AI integration in traditional tools #### WordPress - Core: Assess implications of Stack Overflow decline for WordPress developer support - Documentation: Apply React Aria's documentation strategy to WordPress component libraries - Community: Strengthen forums and Discord as Stack Overflow alternatives - CLI: Consider MicroQuickJS for embedded WordPress applications #### Community - Maintainers: Document best practices for AI-era developer support - Contributors: Create onboarding that doesn't rely on Stack Overflow - Sponsors: Fund alternative developer support platforms ## ๐Ÿงช Hypotheses - Stack Overflow's decline will accelerate as AI tools improve contextual understanding - Firefox will lose further market share unless they successfully integrate AI features - Alternative browser engines won't gain traction on iOS until US regulation forces change - JavaScript on microcontrollers will enable new IoT and automation use cases ### ๐Ÿ“Š Methodology - Study design: Track Stack Overflow question volume vs AI tool adoption metrics - Data sources: Browser market share data, developer survey responses - Experiments: A/B test React Aria components vs traditional component libraries ### โ“ Questions - Will any major browser successfully challenge Chrome's dominance through AI integration? - How will developer support evolve as traditional Q&A platforms decline? - Can self-hosted edge computing tools compete with cloud provider convenience? ### ๐Ÿ”ฎ Future Research - Long-term viability of privacy-focused browsers in AI-first environment - JavaScript performance on embedded systems compared to native languages - Developer productivity impact of AI vs community-based support ### ๐Ÿ’ก Implications - Practice: Developers must adapt to AI-first support workflows and new JavaScript deployment targets - Policy: Browser engine regulation may need global coordination for meaningful impact - Security: Local network access permissions signal increased browser security focus - Education: Training materials need updating for AI-assisted development workflows ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Stack Overflow decline graphs, browser market share charts - Improve: Architecture diagrams for Open Workers, microcontroller connection visuals #### ๐Ÿ”Š Aural learners - Present: Full podcast audio discussion available - Improve: Timestamped audio clips for key technical concepts #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear explanations of technical terms, analogies to existing tools - Improve: Glossary for embedded systems terminology #### ๐Ÿงฉ Kinesthetic learners - Present: Hands-on Arduino kit recommendations, code examples - Improve: Step-by-step microcontroller programming tutorials #### ๐Ÿง  Logical learners - Present: Clear causation between AI adoption and Stack Overflow decline - Improve: Decision trees for choosing between different JavaScript runtimes #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community discussion format, multiple perspectives - Improve: Discord integration for real-time discussion #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual tool exploration recommendations - Improve: Self-paced learning paths for each technology #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem thinking about browser engine diversity - Improve: Environmental impact considerations of edge vs cloud computing ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Proper heading hierarchy, descriptive link text - Improve: Better alt text for technical diagrams #### Keyboard navigation - Present: Logical tab order through timestamped sections - Improve: Skip links to major sections #### Contrast and readability - Present: Good contrast in transcript format - Improve: Visual highlighting for code examples #### Media and captions - Present: Full transcript available - Improve: Synchronized captions for video version ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global perspective on browser regulation across regions - Improve: More diverse geographic examples of technology adoption #### Inclusive language - Present: Respectful discussion of different user preferences - Improve: Avoid dismissive terms like "neck beards" for technical users #### Neurodiversity support - Present: Clear structure with timestamped sections - Improve: Summary boxes for key takeaways #### Representation - Present: Multiple viewpoints on controversial topics - Improve: More diverse voices in technology discussions ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Stack Overflow decline directly correlates with AI adoption timeline - Inductive strength: Browser regulation patterns suggest limited impact without US inclusion - Causal reasoning: Clear connection between user needs and platform choices - Analogical strength: Effective comparison between Firefox and Arc browser challenges #### Fallacies - False dilemma: Firefox survival framed as only two options (AI features or death) - Ad hominem: Dismissive language toward technical users ("neck beards") #### Tone of voice - Overall tone: Conversational and engaging with technical expertise, occasionally dismissive of certain user groups ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No significant denial patterns observed - Attack: Minor attacks on Stack Overflow moderation practices - Reverse victim/offender: No victim/offender reversal detected - Emotional cues: Frustration expressed toward platform limitations and user resistance ## ๐ŸŽฏ Conclusion The web development ecosystem is undergoing fundamental shifts as AI tools disrupt traditional platforms and new technologies expand JavaScript's reach. Developers must adapt to AI-first support workflows while evaluating new deployment options for edge computing and embedded systems. The survival of privacy-focused tools like Firefox depends on successfully balancing core principles with evolving user expectations in an increasingly AI-driven landscape. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad Purpose: Stage CEE units that become Literature notes. Split level: H3 ### [H1] AI tools replace traditional developer Q&A platforms > [!quote] [Stackoverflow and Firefox are Dead?](https://www.youtube.com/watch?v=uWWOPZOtMJc) by Wes Boss & Scott Tolinski via Syntax Podcast. Published 2025-01-17. Accessed 2025-01-17. > "The loop has been replaced by just asking AI which honestly is better" Stack Overflow's decline from 200k to thousands of daily questions demonstrates AI's superiority for contextual coding help. [view highlight](https://youtu.be/uWWOPZOtMJc?t=510#H1) #xref #articleseed ID:rw_001 ### [H2] JavaScript enables microcontroller development democratization > [!quote] Same source > "Good plug-in scripting language...you could just run it. There's no compile step" MicroQuickJS removes C programming barriers for embedded systems development through familiar JavaScript syntax. [view highlight](https://youtu.be/uWWOPZOtM --- # ๐Ÿ“„ Full Transcript *Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=uWWOPZOtMJc)* **[00:00]** Welcome to Syntax. Today we've got a whole bunch of web development news for you. Uh Stack Overflow is officially dead. Is Is that the case? Why did it die? Uh there's a new JavaScript runtime in town, which is not what you would expect. There is an open-source Cloudflare workers that's written in Rust. Kind of interesting. Uh can Firefox survive all of these new in the new age of AI. Fracture JSON new spec for formatting JSON. Apple now has to allow browser engines in Japan, which is **[00:34]** kind of interesting. And then a new popup you may have seen popping up in your Google Chrome recently. We're going to explain what that is. So, some pretty good stuff. My name is Wes Boss. I'm a web developer from Canada with me as always. Scott, how you doing today? I'm doing good, man. Yeah, just hanging out, feeling good. Just uh working on little projects here and there. I'm getting a lot of joy out of the stuff that I'm building all all the time right now. So the problem is I have too many little projects which >> man >> oh that's a killer **[01:04]** >> story of my life I like I I was like sitting down um like like looking at like what I should do during the year and like that's like the my biggest Achilles heel >> is that I love and am interested in too many things and I love learning I love going down all these rabbit holes but there's like a certain balance of like actually finishing stuff [laughter] >> pushing it through >> and actually like dedicating all of your focus to one particular thing for a period of time. like uh over over the break I I probably spent like 5 **[01:37]** days in my my basement in one room in my basement and I you know went through all of it's like our storage room which we don't store a ton of stuff but I like went through every single tub we had pulled it all out did all that stuff uh built a workshop did everything organized 3D printed a ton of stuff and it was just like >> I spent so many days just dedicated to that one thing and it was like the the most focused time I've had on a single project in quite a little while. And the results spoke for themselves. I Yeah, it **[02:08]** came out really good. So, [laughter] >> I think the AI has made the software project um like who look a squirrel, >> it's so much worse. It's made my stress around it worse. >> Yeah. [laughter] >> Yeah. I get like stressed out by how many uh term windows and stuff and projects I have running at once. >> Ain't easy. Ain't easy. >> Ain't easy. >> [music] >> All right, let's get into the first one, which is Stack Overflow officially dead. **[02:40]** This is um from Stack Exchange website it to sell. Stack Exchange is the company that owns Stack Overflow and the thousand other like question and answer websites. Um and they have the ability to just simply query the data. Um and this is from when Stack Overflow started to current day. how many questions per day have been asked and it's crazy to see that it's just been spiraling trending to several thousands um per day **[03:11]** today that 321 that's >> that's just today right but like currently only having thousands of questions asked per day whereas like at the peak you can see like the peak of COVID during lockdown >> they were getting what almost 200,000 questions and and maybe in 2014 they had had that as well and they've just been spiraling right on the way down which is kind of sad but also just like that's the way the cookie crumbles and I'm I'm curious what do you think like why did **[03:42]** this happen? >> Yeah. Well, you know obviously the answer is AI. Most of the things that you would ask on Stack Overflow the the way that it would work is that you'd post on Stack Over first. Well, maybe you'd search on Stack Overflow and maybe there would be an answer or maybe there would be maybe there would be a question and then possibly an answer, possibly an answer that is accepted and not correct or accepted and not relevant or no answer accepted at all. Or you would see, okay, this question hasn't be asked. let me post it on here and then **[04:14]** wait like a week for somebody to possibly respond to it and if they did potentially help you like that that loop has been replaced by just asking AI which honestly is is better in in my my opinion the way I use this stuff I I found it the loop to be so much more efficient and you're not going to get some snarky nerd who thinks they know everything who wants to use this as an opportunity to uh you know flex instead **[04:45]** of be truly helpful. Now Stack Overflow is that I stopped using Stack Overflow probably I don't know maybe 8 10 years ago that was probably at the height you know like 10 years ago that was what 2016 this is probably when I stopped using it. >> Yeah. Um, and I stopped using it just because of the the moderators would would be like didn't ask the question properly or not enough info and they would just shut it down or duplicate question which is the most frustrating thing in the world. Um, and a lot I **[05:17]** think a lot of those people moved to Discord, Reddit, um, all of that type of stuff. So, while it was a really good spot, I used to spend all day on Stack Overflow answering people's questions, trying to get my points up and it was so fun to try to beat people to it. The questions were answered very quickly on there, but just I think the combination of AI >> like when when did the AI stuff really pop off? >> Oh god. >> Like middle [clears throat] 2013. Yeah, that's the big **[05:47]** >> Yeah, you could see right on this graph exactly where because even like for simple questions and then once the AIs got access to the internet, once they got access to documentation, it was so much easier to to to get a question answered that way by pasting in the link to the the source code and asking questions of the source code because I I do think that is like such a a thing for me. I was admittedly always on the cutting edge of stuff in a way that was negative on Stack Overflow because if I **[06:18]** wanted an answer on this beta software, there's no I'm I'm my answer is to look in the source code myself and figure it out. >> Yeah. You're not finding anyone to to help you there. [snorts] >> Yeah. One other thing about AI answering the questions for you is that like we've said it ourselves on this podcast many times is if you want help, you have to make a a distilled example of the the you got to reproduce it outside of your project and you got to like make a whole case and like figure it out. And often **[06:49]** often while you're doing that, you'll find the bug. But AI is really good at finding the bug in context for for what you're actually doing. and and sometimes that's often that's way better. >> Yeah, I agree. Stack Overflow, it is sad uh because that's such a place in time. What could Stack of Overflow have done to have prevented this? They could have implemented an AI solution that would have answered a or attempted to answer the question instantly or something, right? And then **[07:20]** make that public. But ultimately, >> it's odd that they provided all the data >> for everybody to to sort of eat their lunch. Um, they were sitting on a gold mine and doesn't look like they did much with it, unfortunately. >> Yeah. Yeah. It's crazy. I you you got to wonder like what they could have done differently cuz it does from an outsers's perspective, it seems like they just kind of sat there and watched the uh the trend go downward. Like the writing has been on the wall for years for them. So, I think they've had an opportunity that uh either they just **[07:51]** didn't care to to solve or weren't able [music] to come up with something. And if you want to see all of the errors in your application, you'll want to check out Sentry at centry.io/sax. You don't want a production application out there that, well, you have no visibility into in case something is blowing up and you might not even know it. So, head on over to centry.io/sax. Again, we've been using this tool for a long time and it totally rolls. All [music] right, next one we have here is MicroQuickJS. **[08:23]** So, this is from the creator of FFmpeg and we've talked about QuickJS uh in the past. So, Fabric Bellard, he's the author of FFmpeg. He just said, "I'm I'm going to write an entire new JavaScript engine called Quick.js." >> Absolute genius. Like really knows how how a lot of these lower level things work. And now he has put out another thing called micro quickjs. And this is a JavaScript engine targeting embedded **[08:54]** systems meaning that you can then run JavaScript on a microprocessor. So imagine you're running this on like an Arduino or a ESP32. We've talked about the these very like like like5 $10 little microcontrollers or running in very memory constrained applications which is absolutely nuts. It it's not full JavaScript right there's no browser in it. It doesn't even have ES6. So it's **[09:24]** a support of a subset of JavaScript close to ES5. It implements stricter mode which is um more errorprone and inefficient. So why why would somebody want to run JavaScript on a microcontroller? Do you have any any thoughts there? >> Um because they like to put JavaScript into everything. Now honestly, I don't do any work with microcontrollers, so I'd be interested uh in what you would have to say here more than what I would. >> Yeah. So in the microcontroller world, **[09:56]** if you want to program one of these things, hold on, let me grab something. All right. All right. So, I got I This is something that I got I got for Christmas. And it's basically a little robot that can >> um walk and and run around. >> And it it has like lots of different IO outputs, right? There's a little LED screen. There's two little proximity sensors on it. There is a little um speaker on it. There is four servos. You can kind of hear it so that it will be able to walk. And there's a whole **[10:27]** bunch of different input outputs. And the whole thing is powered by this little microcontroller. This is a what is this? Raspberry Pi Pico, right? [clears throat] >> And the code that runs on this type of thing and and same thing with the badges at GitHub Universe. Do I have I have mine >> I got mine somewhere too. >> The badges that run um on from GitHub Universe. This is running a RP32 something um in similar the years before **[10:57]** the on GitHub universe they had another one which also has a similar Raspberry Pi um controller like these are not like the Raspberry Pies that run Linux these are like lower level microcontrollers and in order to code on these you you sort of have a couple options you can go like the Arduino route which is what a lot of people do in that case you're writing some C in order to make it happen or you're going to be loading them. The GitHub badges run MicroPython. And the benefit to that is **[11:30]** when you're running MicroPython, it's a little bit easier to actually write this stuff because not everybody is is as well verssed in writing and compiling C and being able to reach out for libraries, but they are pretty good at writing Python. Um, so I think the whole idea with this micro quickjs is that >> you'll be able to run this on on microcontrollers with writing JavaScript. So a lot of people in the comments of of the release of this thing were saying like this is a good plug-in **[12:02]** scripting language. So if you want to allow people like let's say you're writing an LED controller and you want to allow people to write a plugin that will do things, they could then author that in >> JavaScript and you could just run it. There's no compile step like you're not going to upload C to a microcontroller that's already running, but you might >> upload a little bit of bit of JavaScript to that, right? It's a really nice scripting language. So it's easy to write. Um, it's sandboxed, meaning that **[12:32]** like there's no network, there's no file system. You can allow people to just give you JavaScript and it will run it in a sandbox. So, it's kind of a an interesting space. I'm sure in the like industrial controls automation world, aside from like the like hobbyist tinkerers that we are, um, I'm sure there's a lot more use cases for it as well. So, I'm going to keep my eye on this. >> Yeah. Yeah. I I'm I I I'm interested, but I also Man, this just one more thing that I don't have time for is honestly what it is. [laughter] **[13:02]** >> Holy cow. >> Yeah. >> All right, the next one here is Open Workers. Um, have you liked the idea of Cloudflare Workers, but also like to self-host? So, Open Workers, what it does is it lets you run JavaScript in a V8 isolate in your own infrastructure. It's basically the exact same experience as Cloudflare workers except for you're not locked in to the Cloudflare platform. Uh which again I think this is like a nice for the the type of person **[13:34]** who might be interested in something like Koolifi, the self-hosting, owning your own infrastructure, those types of things, while also keeping uh the more modern kind of development flow. uh being able to have individual functions that are are running the way these are. It also does more than just it seems like it does KV storage. It does uh Postcrest. It does R2 S3 croning bindings. >> Yeah, it it does feel like a Cloudflare **[14:06]** an open Cloudflare replacement of sorts. Pretty neat. I I I actually hadn't seen this uh before you brought this to my attention, but is this something that you would take on yourself? kind of interesting because people always people always talk about like the versel lock in >> but like Cloudflare as much as I love them and I'm I'm a Cloudflare stand currently same >> um it it kind of is lockin meaning that like you can run a lot of stuff locally **[14:36]** they've allowed you to like reproduce it locally and whatnot but when you want go to deploy >> that that's kind of your your option right you got to deploy it to Cloudflare and and The beauty of Cloudflare is that they have all these bindings, right? You need a database, uh you need key value, you need um like blob storage, someplace to put your files and your images. They have all these things that will sort of just work together. Um and it it works really well and it's really really nice. But like the the thing that a lot of people don't talk about is that like **[15:07]** yeah, you're you're kind of locked into hosting on Cloudflare. And that has not been a problem for like probably not anyone, I'll say, but for a lot of people like my bill is is almost nothing. We went over that a couple shows ago as well. Um, but like there's always that thing of like what happens um if they decide to three times the price or or whatever, you know, they there's if there's any rug pull um and you're locked in. Now, >> if there's a rug pull, I'm I'm toast with Cloudflare because yeah, I host a **[15:38]** lot of stuff there. But but here's the thing that I think about this stuff is that the way that I'm building my apps that run on Cloudflare is I'm not directly using the like Cloudflare async fetch and env.kv.get and like all of their explicit bindings directly like this. >> What I'm doing is I'm building them in some sort of standard framework. Hano, Eliza, Remix, whatever. And then I'm **[16:10]** using an adapter that will then expose those things. Wacku is what my own currently or Wu is what my currently my website runs on and that's hosted on Cloudflare. There's a thin layer that sort of exposes those bindings to the thing. So like I'm my database adapter. I'm not using env. DB. >> Yeah. >> I'm using um >> Yes. Drizzle and and then I have an adapter that Drizzle will connect to the Cloudflare binding. And then if I wanted **[16:42]** to move that thing somewhere else, no problem. You know, I build everything on web standards. Cloudflare implements web standards on all this and I would be able to move that thing somewhere else with very little work. So, this is cool. I like this. Um, but I don't really see a huge use case for this type of thing. >> I think it's People want to own it. >> Yeah. They just want to own it. They want to throw it up on a a VPS and and own it. They want to throw it on their own machines and own it, but they don't **[17:12]** want to >> have to host everything as a straight up >> do that. I can still do that with all of my stuff. And that's just because you're not coding things. Anytime you use like a an API that is thinking looking like lock in, you just like look at like how do I how do I make this so that it is has an abstraction layer so I can switch it to something else. Yeah, >> this is a really cool that somebody figured out how to do this as well. >> The one that's been getting me >> lately production yet. >> Yeah. Yeah. Well, yeah. I mean, this is **[17:42]** definitely for hobbyists. It's for experimenters. It's for for uh the one that's been getting me is hyperdrive. I have to use hyperdrive if I'm deploying something on workers that uses a Postgress DB outside of >> uh like uh Neon or something like that, something that's not a uh >> yes, >> distributed DB. And that's obnoxious as hell. I'll tell you that because you need to get the hyperdrive URL from the event like process in in the time of like you can't just grab it from an enviable. I find the hyperdrive thing to **[18:14]** be pretty annoying uh personally. But yeah, that's one thing I could do without as far as Cloudflare goes. >> Yeah, and that's because Cloudflare doesn't have sockets in their implementation. So if you want to connect to something outside of the Cloudflare ecosystem, >> you either have to use HTTP, which is sometimes okay, but usually not for stuff like real-time databases and whatnot, or you have to use their their hyperdrive adapter. Um, but this also **[18:47]** >> solves the problem of your database living somewhere where your code is not running because that's where a lot of latency happens. And turns out Cloudflare has fat pipes to most of the internet so they're able to sort of make those connections as extremely fast between the two. >> I just wish the the workflow development like I don't want to use Wrangler locally while I'm building locally for some re like I just don't want to do all that stuff. >> That's my feedback for Cloudflare team **[19:18]** all the time is that I don't want to do weird stuff locally to make this work. Um, >> yeah, >> don't make me do weird things. Don't make >> I got to do an if statement. If it's local, then use the normal one. Otherwise, use hyperdrive. And yeah, >> luckily a lot of that they're implementing a lot of their APIs. When Wrangler runs locally, it it runs it actually runs their JavaScript engine locally. >> Um, and why why am I forgetting the name of it? >> Worker D, that's what it is. Why am I **[19:49]** forgetting it? So worker D is their JavaScript engine that runs um and that is open source as well. So that will run locally but the all of the bindings um most of them will run locally but some of them still have to like browser rendering will still have to reach out to the the cloud and and run it there. [snorts] Next one React Arya just got some new docs and I think this is fantastic. Um, so React Arya is a React library for **[20:20]** building components. Um, and it has absolutely everything, you know, like autocomplete, breadcrumbs, button, calendar, checkbox, color, like there's >> yeah, >> what probably 80 of them here. Um, and the cool thing about React Arya is it's 100% headless, meaning that it simply just brings the functionality. Um, and then you you bring the divs, you bring the uh >> Yeah, >> you bring the CSS. Um, and they just redid their documentation **[20:51]** to be a bit more like cuz like people people want that, but they also just want to slap a Shad CN component in there and and call it a day. So, they've redone you've always been able to do that with React area, but they've redone their documentation so that it is dead not simple on how to get this to work. So you can you can choose vanilla CSS or Tailwind. Um and then it also uses shad CN to install the component which I thought shaden is so interesting is **[21:21]** people love shaden installing things. >> Yeah. >> Now things that are not shaden are now using the tool to actually just like what it does is it downloads the component to the component folder and then you can go in there and poke around and and change it however you want. That's really the way to go that rather than importing something from a package and using it that way. >> Exactly. I man I had a a slight spat with somebody on Twitter over the holidays where oh boy >> uh somebody was like there was a whole **[21:52]** thing about using um components to do buttons as links and all this stuff. And either way, long story short, they they wrote this really obtuse and just like nasty looking React component just to simply output a link that could be styled as a button. Like that's it. And I I like I've been left with this thought lately that it's like this component could just be a class. Like **[22:23]** come on. I get the isolation. I get all of those things. But when you have a component that is simply just a link styled as a button, you have lost the dang plot. Uh like this list box, this stuff is exactly what components are for. But stuff that is just a button link. Like come on, you're importing a stupid cl like just make this component could have been a class. That's the hill I'm gonna die. hate. I hate the overabraction **[22:54]** of components where it's like you make like oh you want to have a link, you want to have text, you want to have like the browser comes with these things built in. You don't need a component for that. This could Yeah. Just slap a class on it or slap some styles on it if you want, but don't over abstract these things because it's such a pain in the ass to debug. >> Yeah. Yeah. It's crazy. and and had some like really dismissive things to say about my opinion on it. Like this person **[23:25]** just clearly doesn't understand like modern web development. It's like brother, it's a freaking link. It is a link that's styled as a button. Uh get over yourself. Uh it's crazy to me. Yeah, >> I I have a component somewhere in my personal website where I have like an as >> and I can I can pass an as property and then it will render as a I think a div or a span **[23:55]** >> or it can also be a link and in that case it's it's good because it's a stylistic some it needs to look like something but in some cases it needs to be like a proper link and in that case I think that's fine but Yeah, in so many cases. No, no, thank you. >> Yeah, no kidding. Cool. All right, next one. Uh, Firefox. Can Firefox survive? Firefox had a big old uh thing about putting out well AI into their browser. **[24:26]** And that pissed off what like [snorts] the the the one two 1.2% 2% 2% of uh people who are still on Firefox, which is like their core audience is exactly the type of person who doesn't want AI shoved into the browser. >> And so they were pretty tonedeaf in just saying, "Guess what everybody, all the uh the people who are still stuck on Firefox, we're putting AI in your browser and you're going to love it." And uh then they had to walk back and **[24:56]** say, "Okay, you can turn it off." But you have a whole thing about the new Firefox CEO here in addition to that. I I'm just like Firefox announcement. >> Yeah. >> So the new CEO comes in uh to sort of like save the currently plummeting Mozilla Firefox, you know, they just been haven't been doing great for a number of years. And then they just released this huge rebrand. And I don't know maybe 6 months ago they also released they changed their terms of service to say we will not I what was it **[25:28]** it was it was personally said we will not sell your personal data um and they change it to something like misilla doesn't sell data about you and people lost their minds over that um which is it I understand that as well. So, like the Misil's not been been doing great for people using that. And then the new CEO comes in here ready to shake things up and he's like, "Look, like >> we're an AI not we're an AI browser, but like that's essentially what they're going to be doing. >> Put an AI **[25:58]** >> and everybody lost their minds." >> Yeah. >> And honestly, >> I don't think you guys should be giving Mozilla a hard time to be doing this thing because I think there's probably two outcomes here. Misilla keeps and I say this as a huge Firefox user. I love Misilla as as like a browser engine. I think we as web developers need it and it is so important to the web ecosystem. But most people don't care. They do not care about that type of stuff. And people are not choosing Firefox because **[26:30]** of their flexbox frames per second animations or things like that. People are choosing browsers based on on features on on what they do for them. And if Firefox is going to be able to survive this, right? There's two options. Firefox continues to be the browser that they are and they're going to slowly lose money. Most of the money come from Firefox comes from Google ads. More people are using AI. They're not searching Google for these things. So that money is going to go away and then **[27:01]** Firefox will just cease to exist, right? So you we we could keep going that way, but that will probably only be another year or two and then Firefox will no longer be a thing at all. The other option is is like can we actually try to get some users that care about this stuff? We have the neck beards and the techies, but you can't run a business on on those people. You need actual people who like regular users who care about features of the browser and and privacy is is one of them. But unfortunately, **[27:33]** regular people just want to do things like shop and and get discount codes and have pages summarized for them and all of these types of things as well. >> So, as much as it kills me, literally every other browser is going to be doing this as well. >> And I think it's kind of necessary in order to to keep it up. Yeah, Firefox is damned if they do and damned if they don't because if they add this stuff, their core audience, which is the only people still left using Firefox, are going to get uh pissy about it. They're **[28:05]** not going to be happy about it. And all of the paper clips in the comments are going to go nuts. If the I if they if they don't add this stuff like you said the users are just going to keep on leaving because other browsers more better features more hype whatever. What what were their choices here? Like if if they like I said they don't do it where they're holding on to this. It's it's the same kind of predicament that like Arc had where Arc was a niche browser for nerds and I loved Arc. I I ARC is my **[28:38]** favorite thing. But the ARC team, the browser company realized that they were never going to get this big market share in their current nerd focused way. Now, their goals could have been, oh, we'll just make a paid browser. We'll have this thing serve a niche community, but they wanted to reach more people. So, they took an approach and and made something different that had more mass appeal. I would argue that it's not been successful for them. But like in in the **[29:10]** same regard that was the choice. It's like do you keep your nerd audience >> who you know demands privacy? They demand you know all of the things that Firefox brings you or do you do you try to go out and get a bigger piece of the pie? And they made their choice. Uh so yeah I I I don't know. I wasn't going to use it either way. So for me, this is like I I this to me is like they're they're trying at least they're trying **[29:41]** to to survive. >> Totally. And I I think from a browser engine perspective, I really hope they make it out cuz as as much as I get mad that Firefox is is lagging on CSS anchor, we don't want to be in a world where there's only one browser engine, you know, like [clears throat] I wish it was just Chrome. And then as soon as you get that, oh, now this one company has has control over over everything. And and I trust Google for that type of stuff, but that happened with with IE as **[30:12]** well. We don't want that for the web. And I don't know that a lot of these new >> browsers are are being good stewards of that. You know, like >> there's a lot of people forking Chrome right now, which which is taking a lot of people off of using Chrome. And like what does that mean for the resources that are like are they Google spends billions of dollars on engineers to actually develop Chrome, you know, like hopefully OpenAI is actually putting **[30:42]** some engineering talent on on pushing this stuff back, you know, and and upstreaming a lot of the their fixes back into Chrome. I don't know if that's the case yet or not, but we'll see. >> Yeah, I know. I feel like >> although nobody's using the Open AI browser, you know, that thing sucks. >> Yeah, that sucks. Yeah, I I [laughter] know. I I like I said, I don't even download it. I'm I have I have literally 30 browsers downloaded on my computer and I didn't even download the OpenAI one. I do not care about it. Yeah. >> Uh yeah. >> Speaking of alternative browser engines, **[31:15]** Apple >> now is allowing alternative browser engines in Japan. So under Japan's Mobile Software Competition Act, Apple must permit iOS browsers in Japan to use browser engines other than WebKit, such as obviously Blink or Gecko. Those are the other two big engines. Blink is is Chromes, Gecko is Firefox. Um, so this is kind of interesting. Although, >> let's talk about it. This happened I looked it up two years ago. 2 years ago, **[31:47]** yeah, >> the EU mandated that this exact same thing in the European Union. And guess how many alternative browser engines there are? Not browsers, browser engines. Meaning that like alternative browsers that use different something not WebKit on on iOS. Guess how many. >> I'll tell you zero. >> Yeah. And there's a good reason for that. There's a good reason for that. It's that >> because that's the EU and now it's EU and Japan. So maybe there's a bigger opportunity there. But until the US has has this available to them, there is no **[32:21]** there is zero incentive for Google to develop a web or not a webkit, a blink version of Chrome just for those markets, right? >> Yeah, you're right. That's two different >> now. They have two now they're forking their browser with two different rendering engines uh just for mobile. I want WebKit. Gosh, I Google used to Chrome used to be WebKit. I'm still like my my brain is still there. I want Blink. >> You can't change that. >> I want Blink on iOS. I do. I seriously **[32:52]** do. And maybe Gecko. I don't really want Gecko on iOS if we're being honest. But I want Blink on iOS. And like h come on. In the current US political landscape, there's 0% chance of any regulation happening to make Apple do this. And Apple is not going to do this without a regulation telling them to because there's no incentive for them. They want to own the mobile space on the on on on iOS. And as long as Apple owns the mobile rendering space on iOS, **[33:25]** you're missing out on the world of browser APIs and experiences that you could have off of WebKit. Like come on. got Bluetooth, >> MIDI, all kinds of stuff like >> Yeah, it it drives me nuts. And then and then we all have to support, you know, Safari's jank and issues uh all the time on every mobile browser. And there's really no incentive to use other mobile browsers other than Safari, unless of **[33:57]** course you like want to sync your bookmarks and stuff and then you just pick the browser. They're all the dang same. I It's annoying. >> Yeah. Uh, I will say one good thing that has also come out of these things is the part of these mandates is not just being able to use different browser engines, but it's also to make the users have a choice. So, you set up an iPhone, you choose which browser you want to use. You don't just default to Safari and you have to go download a new one. Um, and I think that's good. I think that's even **[34:29]** though they're still rendering with WebKit under the hood, I do think that there's >> Oh, of course >> way better um experiences when you're switching between between the two. I use Edge on everything right now, but maybe I should switch for for uh 2026. >> Yeah. You use Edge on your phone? >> Yes. Yeah. I I do that because I just I want my history synced, you know? I if I'm if I'm like, "Oh, I was on a website the other day. I want to be able to start typing it in and I get that. I found that. Or if I I have something on my phone, I can open it up on my desktop **[35:00]** really easily. >> I was using Arc Mobile, which honestly sucks. They had like some weird feature where like a phone dialer would pop up even. It's like their Arc >> Assistant. Oh my god. Whatever they were doing with it, it was just idiotic. Uh but I I've just been on Safari and I don't get my bookmark synced and I'm just been Yeah. living with that. >> You've been fine. The one killer [clears throat] thing that happened maybe six months ago is you can now use Apple Pay in >> other than Safari. **[35:31]** >> Okay. >> Best I hate when when web checkouts don't have Apple Pay >> and then the like the one password credit card never works >> on on mobile, you know, and then the like Chrome or I I have the like Edge Chrome autofill as well for my credit card and then it asks me for like the three-digit number. I don't know that number, >> bro. Yeah. Just fill the whole thing in. Just give me Apple Pay. So beautiful. >> Yeah, I know, man. I'm using uh Helium as my my browser on a day-to-day basis, **[36:02]** and I would love just a Helium on iOS cuz really, what's it what's it going to it's just to sync my bookmarks? That's specifically it. But yeah, >> yeah, [snorts] >> on a lighter note, this is really simple. Fractured JSONJS is a JSON formatterater that formats JSON in a way that is is human readable. >> And I absolutely love this because the one thing I hate about prettier and and all of those like prettier compliant ones >> is **[36:32]** >> they put arrays on like one item per line and that drives me nuts. Um especially when you have things like like latitude, longitude or like you've got coupled values, this formats it in a way that is much more human readable and and as humans we often read JSON. So this is a little >> your code still. >> Uh sometimes you know >> sometimes I read it. Yeah, [laughter] >> that's a little joke. Um is does this **[37:03]** work with prettier error or any of that stuff or is it just its own thing? I was just looking into it and I was like, someone's got to write [clears throat] like a plugin for OxLint or what is the other one that we were >> that clip got pretty popular over the over the holidays. Biome. Yeah, someone's got to write like a it's in JavaScript. Someone's got to write a plug-in for biome or oxalint that does this cuz I love this. And let me choose if I want my arrays to go on one line or like I don't necessarily want them on one line. Sometimes I do because they **[37:35]** wrap, >> but I I want to set like >> Yeah. >> I don't know. Put put five items on a line and then wrap to the next line. >> Make it a dang matrix. Let me look at that. >> Yeah, exactly. I thought I would cover this because I've seen this pop up several times. This is a new Chrome permissions dialogue. Um, look, and they'll say like this website wants to look for and connect to any device on your local network. >> And that's kind of spooky when that pops up. So, this is a newishired. It seems like it's just been rolling out in Chrome. **[38:05]** >> Um, permission for local network access. Uh, so when a website wants to be able to ping fetch, whatever, like a a local domain name on your network, it's going to now ask for that. And you might be saying like, what the hell is the point of that? Turns out bad people were were using this for for malicious intent and for ad tracking um because a website like wire.com I don't know why this is **[38:36]** popping up on wire.com but they are obviously doing a fetch request to like a 192.168 or like a local domain name or a local host and if things on your network are not locked down or or if you simply just want to check if they have them there, right? Because you might get like a cores error, but you know, ooh, that device does exist there. Then you know things about that your user's local network. Um, so like local routers you **[39:08]** could ping. Um, IoT devices that you know have security vulnerabilities, you could ping that don't have cores set up. Um, a lot of stuff like that. So this in my opinion >> interesting >> is a very good because >> oh yeah >> almost never >> does a website actually need to access your local host and if it does then then you would know yeah of course like I'm using this um WLED app and it's going to search my network for other instances of this LED controller or um I'm going to **[39:40]** try to connect to like a local printer or um I'm I'm running this thing on this port but my back end is on like localhost 4568 and that's in development mode. That's that's going to be fine. >> Yeah, this is great. Yes, I I do I do like this. As much as I hate popups for all kinds of things, I certainly want to know if wire.com is trying to access something on my local network for some reason. >> I do wish that like, you know, on on Mac OS when you get a prompt or on iOS when you get a prompt, they have a little description of why they want to use **[40:12]** this. I do wish you could >> put that in, but then I guess like websites probably could maliciously be like, "We we do this to pet bunnies." >> Yeah. >> Like some >> We're not trying to do We're not trying to uh footprint you or whatever. Yeah. >> Foot footprint. [laughter] >> Fingerprint. >> Don't you leave footprints? >> No. Well, I guess. But the word is fingerprint. >> They did not leave footprints. **[40:42]** Footprints. Bread. There's breadcrumbs. Is that what you're thinking about? Like Hansel and Gretle >> leaving breadcrumbs. Footprints in the sand. I was thinking footprints in the sand. >> Like I can see it. >> Yeah. >> So that is the news for you today. What do you think? Do you think Firefox has shot themselves in the foot or do you think it was totally necessary? Do you think we'll actually see an alternative rendering engine on iOS sometime soon? Let's say even within 2026. Leave your predictions below. Let us know what you **[41:14]** think. Let's get into sick picks and shameless plugs. Uh I got a sick pick for you today, Wes. Uh >> I got a little ter uh it's a terminal e- in screen. >> Oo. >> Um and this thing is is is dope. There's a little battery that lasts a long time, like months. And the reason why this lasts months is because this thing is not updating often. It is like hitting **[41:45]** the web once every x amount of times. And the less you have it hit the web, the more uh the more battery you're going to gain from it. But I have it set up with a number of plugins and it will change the screen every 15 minutes or something like that. This one is our YouTube stats. And so this will have our YouTube stats. It will have my calendar. It will have the the web there's a web app where you can connect plugins. You can write your own easily enough. I have **[42:16]** my GitHub contributions. I have how many days are left in the year. I have when is the next hockey game. I have all kinds of stuff on here uh that it just sits on my desk and it's a just a nice little e- in screen and it's just kind of cool. It's a nice little thing to have there with with no backlight and no concern about keeping it charged like at [snorts] all. I've charged it once since I got it. Just been sitting there. Really cool. >> Those EA in screens are so so cool. I often I look at them at the at the **[42:46]** grocery store. You know, they've got them as the price tags at all of our grocery stores. >> Yeah. >> And you you guys have that, right? All your your price tags are in e in now. >> I don't think so. >> No. No. Nowhere. Where I've been shopping. Yeah. at Kog or Costco. >> In Canada, I would say not not Costco, but pretty much the rest of our stores have E in which also drives me crazy because it means that they can run an algorithm on how much our people are buying and just change the prices, **[43:16]** >> change dynamic pricing willy-nilly. >> I, you know, I haven't been to Whole Foods or as my in-laws called it, Whole Paycheck. Uh I haven't I haven't been to Whole Paycheck in a little while, so there's a chance that they have it there. I don't know. But yeah, at at Kroger or Costco, I don't see them. >> But I see them at the grocery store all the time. And I've I've looked into whether you can just use those cuz they're relatively cheap if you just put them in your pocket. Um I'm joking. They're on on you can buy them on eBay relatively cheaply as well. Um, **[43:47]** [laughter] but >> you still in Scranton better. >> No, but they're like it's it's encrypted and nobody has cracked the encryption, which is probably also good that someone can't come into a store and just send like [snorts] data to these these screens. >> Oh, yeah. I always love it when you see like uh somebody has hacked the road signs to like change uh you know, change it to say fart or something. Who knows? That's always really funny. Yes. Um, I'm going to sick pick this little Arduino **[44:18]** kit that I got for Christmas from my mother-in-law. This was really cool to build. So, it's a little kit that allows you to build a cat and it comes with a Arduino. It's actually an older Arduino. Um, but it's it still worked totally fine. Um, and then it comes with like tons of different IO inputs. And I this was a very good learning opportunity. Um, I'm fairly comfortable with this stuff, but being able People are always asking me like, "What do I what do I do to to **[44:50]** learn like microcontroller stuff and I feel like this is probably a good kit?" Um, because it takes you step by step, but it also gives you appreciation for writing the code um, with all of the different IO inputs, you know, like how do you control a speaker with a microcontroller? How do you control servos? Um, how do you control a little LED matrix? There's, I don't know, probably seven or eight different IO GPIO inputs on here and it was really fun. The kids loved doing it with me and **[45:23]** uh it's one of those things that now that it's done, I'm sure I'm just going to start pulling parts off of it for other stuff that I want to work on. That's sick. Cool. Let's shamelessly plug the syntax on YouTube. If you're not watching this on YouTube, check us out at syntax. Uh we're at syntax FM on YouTube. We do more than just a video podcast. We do all kinds of stuff. We do fun competitive coding games. We do uh just hy jinks. CJ Reynolds does incredible videos where he goes deep on **[45:54]** topics. He he's got uh one on dev containers. He's doing all kinds of really cool stuff this year. So follow us on YouTube. And if you're watching this on YouTube and you're not subscribed, go ahead and just just pound that subscribe button. Like, subscribe, thumbs up, hit the hype button. There's like 18 buttons now you can hit. Hit them all. That'd be great for us. Thank you so much. Peace.