Back from JSConf EU and other travels, the minute with team is happy to return with a special episode from Brendan about the new Boot To Gecko (B2G) system. This is targeted to allow users of mobile devices to boot directly to a Gecko based browsing interface and to run web applications. It is really doing some stunning work around the new web APIs and privilege model that all developers should be aware of. Enjoy!
Brendan goes through the recent happenings at the ECMA TC-39 committee meeting held at Microsoft offices in Redmond, WA. For many, this might be the first peek into what is finalizing as ES6, so be sure to listen through. Luckily with the recent changes, ES6 might take forever to standardize, but prototypes are ready right now for some items! Listen in.
Hot on the heels of recent announcements from Mozilla about strategy, personnel, and general company changes, Brendan provides us with almost 12 minutes of very deep insight into the future of Mozilla and the web. As a long term citizen of the web, open source, and all that is right with technology, I (Chris Williams) applaud the strides and direction that Mozilla is making and most importantly the courage they have to make them. This is a long and deep episode that revolves around the following 5 points:
- Our mission obligates us to make the user sovereign and keep the web open and innovative.
- The rise of mobile computing requires new explorations, projects, and products to fulfill our mission. This means new Mozilla modules and activities.
- Mobile browsers and apps require always-available (i.e., cloud) services, working with the desktop to create a continuous user experience.
- Higher-layer services on the Web today, particularly for mobile, apps and user data or "social", pull away from open / user-as-sovereign toward closed / user-as-product.
- So our innovations to advance the mission must expand up the stack, from HTML, CSS, and JS, to mobile, apps, and social, always putting users first and in control.
Where I would normally summarize further, I really encourage you to take a full 12 minute break, listen, and understand this episode. It jumps around from open web app stores, mobile interface/devices, profiteering, growth, anticipating change, and beyond. Well worth your time.Listen In
Taking the web by storm, PDF.js is a PDF viewer implementation done entirely in open web technologies by some of the fine folks at Mozilla. Bringing the pixel publishing perfection that is PDF down to the JS layer is something that seems obvious, but has yet to be done - imagine a world without plugins (and all the happy people). Listen on Brendan's take of where it is and most importantly where it is going.
Brendan dives into the upcoming/recent Firefox 4 release on March 22, 2011. Goes into far more than just what is new, but where it came from and most importantly where it (and the rest of the vendors) are heading and why. Best 11 minutes of your day (12 minutes if you count downloading Firefox 4)
Any JS developer will tell you that the hardest conversation to have with any other developer is describing the use and meaning of the "this" keyword. Brendan describes where "this" comes from, a hold-over from its C++ and Java lineage to allow functions to also be methods and thus had to have a receiving object and some way to access the receiving object within the function (i.e. "this"). Brendan goes into current uses up to modern ECMAScript specifications, but more importantly the altered use cases in the strict mode of ECMAScript 5 edition. Brendan also presents the future sharp function implementation which will better handle all cases (hopefully).
Realistically, coming up with show notes for this episode is about as tough as keeping Brendan to under 10 minutes. Give it a listen and trace along with the mentioned Harmony Of My Dreams blog post. The notes are more just hot points this week, enjoy the awesome episode!
The Google Chrome team announces tremendous gains in performance and speed for their V8 engine and Brendan discusses how this is a very, very good thing for all involved. It shows that in the world of JS performance there is still much work that can and is being done to make significant gains, but those gains have to be tempered with proper benchmarking. A relatively quick shot of nerdery this week, just under 6 minutes, but well worth your time to learn both what is in Crankshaft and how other vendors (like Mozilla) are responding to it. Main gist: Open Source is awesome, but you already knew that!
A ~9 minute discussion on the upcoming Rust programming language in the context of why we still need new programming languages. Quite the interesting discussion to listen to especially since Brendan is one of the few language inventors who is both maintaining and growing a popular language (JS) while helping to construct a new language (Rust). Brendan proposes that we need more, not less, new programming languages to evolve and push computer science and programming, but that those should be built on the rich history we already have. In case you were wondering, this discussion was instigated by various .
Enough buzzwords and acronyms! Brendan gets serious about actually describing the committee process around JS, or as it is more formally known ECMAScript. Brendan rocks for 13.5 minutes on everything from what ECMAScript and what TC-39 means, where to learn more or follow the conversation, and then takes a deep dive into his Paren-Free blog post. This is a super doozy of a episode filled with more nerdcore details about the mysterious committee world that most people writing JS have only heard whispers of. He finishes it out with a survey of the efforts in the language to make more acceptable/agreeable syntax and lauds the possible virtues of a benevolent dictator as seen in the success of HTML5.
Wow. Just Wow.
Sit down and plug in for a 10 minute discussion of bytecode standards and other such stuff in the browser and how it has been attempted (and stalled) in the past. This also goes through several of the new improvements coming in the language that will make ideal for becoming a target language and possibly facilitate preferred language syntax (python, ruby, etc) that works on the JS VM. Finally Brendan drives home the less than obvious point that each new language has its own set of oddities and garbage collections and how that would go against making the web fast.
It is time to geek out once again, but this time with Garbage Collection and Compartments. Compartments are separate garbage collected heaps for each window/tab. Brendan gives a great overview of the current garbage collection in previous versions of Firefox (global mark and sweep) and other implementations like Google Chrome's single threaded generational copy collector. Super nerd score of 10 for this one.
A swift discussion of the next generation language space and mentions of the various new items coming from the ECMA committee.
The recent Firefox 4 beta 7 harkens the bringing together of the latest Mozilla monkey, JaegerMonkey. This integrates the next generation of Just-In-Time compilation and a lot of various improvements and static analysis.
All about the upcoming release of Firefox 4 including the new SpiderMonkey JS interpreter including what is upcoming with web workers and web sockets. For some awesome examples of sockets and workers, checkout the recent applications created as part of Node Knockout competition.
Deep dive into cutting edge JS type inference and static analysis efforts.
Super deep insight into JS Benchmarking and what is coming from Mozilla and Microsoft Research. Discussions about what is wrong with current benchmarking apparatuses and how things are going to improve. Listen in for the long haul, (yes it is longer than a minute again!!) for an amazing view of where JS performance analysis is heading