Reminder - no plan survives breakfast.
- Feel free to send pull requests to the repo!
- Here’s a contributing guide!
- Here’s the guide for creating pull requests that smurfd used and recommends!
Today
- Episode naming!
- Better mic settings, hopefully. More dynamic compression!
- Needinfos:
- https://codetribute.mozilla.org/
- Questions:
- Where do Services.wm.functions exist?
- The properties for Services.jsm are defined using `jsname` in the `components.conf` file when registering XPCOM components statically at build time.
- Services.wm points to nsWindowMediator which implements the nsIWindowMediator interface
- Also when i receive a warning on the browser toolbox is there any way to know from which path it comes (I mean stack trace)?
- It depends. If the warning passed an Error, then you get it for free. Otherwise, it will only show you the filename and line number where the warning was logged, and from there you could attach a breakpoint and wait to hit it again.
- I would be interested in a write-up about your stream setup / equipment
- Covered somewhat in [Episode 109](https://www.youtube.com/watch?v=0K-hPyqOyL0)
- Can you explain the process of writing "These Weeks in Firefox" (from start to finish) ?
- https://wiki.mozilla.org/Firefox/Meeting
- During the meeting, we take notes as updates are given.
- After the meeting, a few of us stick around to rewrite the meeting notes into something more palatable
- We put developer-centric things in "Below the fold" - this doesn't make the cut to the blog, but goes to the firefox-dev mailing list
- We then post to firefox-dev and the blog. Done!
- WebExtensions and how they interact with DocShells / BrowsingContexts
- Next episode. Promise.
- How a patch gets into Firefox, from start to finish!
- Next episode. Promise.
- I have been watching your videos for about two years now. I'm curious if you know who smurfd is. Have you ever met?
- No! Have never met. Don't know where they are. Don't know who they are. But they're great.
- Read anything interesting lately?
- After the Flood by Margaret Atwood (MaddAddam trilogy)
- Hands on Rust
- Cracked the cover, started reading, looks good, haven't gotten into the meat of it yet. Maybe over the winter holidays, when I have some real focus time.
- https://www.mozilla.org/en-US/firefox/94.0/releasenotes/
- https://wiki.mozilla.org/ProjectFission
- VPN! Give it a shot!
- Where do Services.wm.functions exist?
Chat
- Join us in the Livehacking room on Mozilla’s Matrix instance! Here’s documentation on how to join. I’m only sorta monitoring the Twitch chat. A bot will try to bridge Matrix and Twitch (joc-bridgebot).
Links
- Alessandro Castellani has been streaming himself livehacking on Thunderbird
- emilio hacks on Firefox!
- Compiler Compiler - watch a Mozilla engineer hack on the SpiderMonkey JavaScript engine!
- How mconley uses Mercurial
- Fission - what is it, and how does it work?
- Andreas Kling hacks on a custom browser engine for a hand-rolled OS called SerenityOS
- The Joy of Coding: Community-Run Episode guide
- Feel free to send pull requests to the repo!
- Here’s the guide for creating pull requests that smurfd used and recommends!
- Check out Josh Marinacci hacking on Firefox Reality, our nascent VR browser!
- I've been mirroring the episodes to YouTube
- Code Therapy with Danny O’Brien
- Watch a developer put together a Windows game from scratch (no third-part engines) - really great explanations: https://handmadehero.org/
- /r/WatchPeopleCode for more livehacking!
Glossary
- BHR - “Background Hang Reporter”, a thing that records information about when Firefox performs poorly and sends it over Telemetry
- e10s ("ee ten ESS") - short for Electrolysis, which is the multi-process Firefox project
- CPOW ("ka-POW" or sometimes "SEE-pow") = Cross-Process Object Wrapper. See this blog post.
- Deserialize - "turn a serialized object back into the complex object”
- Serialize - "turn a complex object into something that can be represented as primitives, like strings, integers, etc
- Regression - something that made behaviour worse rather than better. Regress means to “go backward”, more or less.
- l10n - localization
- a11y - accessibility
- i18n - internationalization
- k8s - kubernetes
Feedback
- @mconley@mastodon.social on Mastodon
- @mike_conley on Twitter
- mconley in IRC on irc.mozilla.org
- mikeconley.ca/blog
- mconley at mozilla dot com