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
- WebRTC global sharing indicator bug on macOS
- https://phabricator.services.mozilla.com/D129070
- WebExtensions and how they interact with DocShells / BrowsingContexts
- How a patch gets into Firefox, from start to finish!
Questions:
- I am a CS student and I often find myself spending too much time doing assignments, trying to be as perfect as possible, especially for less useful activities like Networking etc. How would you deal with perfectionism?
- The perfect is the enemy of the done. Start small. It's better to have something that you can tinker with and improve incrementally rather than having something perfect right out the gate.
- Sufficiently complex software is never perfect. There are always problems with it. There are always bugs with it.
- I will be creating a web application from scratch for about 5 months (one semester: from October to the end of February) - I am wondering about the number of functions to implement - how does setting scopes work in the "real world", what are your experiences with this topic?
- There are a lot of unknowns in this question.
- My first recommendation is to look at the problem space. What are the requirements?
- What was your learning process like when you were a junior/ still a beginner? Did you read books/attend courses, or did you read documentation in conjunction with "learning by doing"?
- Try stuff! Try cloning mozilla-central, building Firefox, and then changing a string! Something small to start. And then start exploring.
- Take notes! Use a notetaking app - I use Joplin. Take notes, write down your assumptions and test them! Use the scientific method: create a hypothesis, figure out a way of testing that hypothesis, and then record the results. Repeat.
Next time:
WebExtensions and how they interact with DocShells / BrowsingContexts
How a patch gets into Firefox, from start to finish!
- How is gbrowser and xpcom used? Can you talk about it too?
- I am a CS student and I often find myself spending too much time doing assignments, trying to be as perfect as possible, especially for less useful activities like Networking etc. How would you deal with perfectionism?
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