Skip to content

Category Archives: Uncategorized

accessibility tools for everyone


From The Man Who Is Transforming Microsoft: [Satya Nadella] moves to another group of kids and then shifts his attention to a teenage student who is blind. The young woman has been working on building accessibility features using Cortana, Microsoft’s speech-activated digital assistant. She smiles and recites the menu options: “Hey Cortana. My essentials.” Despite […]

efficiently passing the buck with needinfo requests


A while back, Bugzilla added this great tool called needinfo requests: you set a flag on the bug indicating that a particular person’s input is desired. X will then get something dropped into their requests page and a separate email notifying them of the needinfo request. Then, when X responds, clearing the needinfo request, you […]

a git pre-commit hook for tooltool manifest checking


I’ve recently been uploading packages to tooltool for my work on Rust-in-Gecko and Android toolchains. The steps I usually follow are: Put together tarball of files. Call from build-tooltool to create a tooltool manifest. Upload files to tooltool with said manifest. Copy bits from said manifest into one of the manifest files automation uses. […]

on the usefulness of computer books


I have a book, purchased during my undergraduate days, entitled Introduction to Algorithms. Said book contains a wealth of information about algorithms and data structures, has its own Wikipedia page, and even a snappy acronym people use (“CLRS”, for the first letters of its authors’ last names). When I bought it, I expected it to […]

why gecko data structures should be preferred to std:: ones


In light of the recent announcement that all of our Tier-1 platforms now have a C++11-supporting standard library, I received some questions about whether we should continue encouraging the use of Gecko-specific data structures. My answer was “yes”, and as I was writing the justification for said answer, I felt that the justification was worth […]

rr talk post-mortem


On Wednesday last week, I gave an invited talk on rr to a group of interested students and faculty at Rose-Hulman. The slides I used are available, though I doubt they make a lot of sense without the talk itself to go with them. Things I was pleased with: I didn’t overrun my time limit, […]

for-purpose instead of non-profit


I began talking with a guy in his midforties who ran an investment fund and told me about his latest capital raise. We hit it off while discussing the differences between start-ups on the East and West Coasts, and I enjoyed learning about how he evaluated new investment opportunities. Although I’d left that space a […]

gecko and c++ onboarding presentation


One of the things the Firefox team has been doing recently is having onboarding sessions for new hires. This onboarding currently covers: 1st day setup Bugzilla Building Firefox Desktop Firefox Architecture / Product Communication and Community Javascript and the DOM C++ and Gecko Shipping Software Telemetry Org structure and career development My first day consisted […]

gecko include file statistics


I was inspired to poke at which files were most heavily #include‘d and which files contributed the most text as a result of their #include‘ing after seeing the simplicity of Libre Office’s script for doing so. I had to rewrite it in Python, as the obvious modifications to the awk script weren’t working, and I […]

compiler-enforced locked accesses


If you’ve done any amount of threaded programming, you’ve probably run across code that looked like: // Only accessed with the mutex held. uint32_t mFlags; bool mConnected; nsTArray<int32_t> mData; // Only called with the mutex held. void DoSomething(); Perhaps you’ve even gotten to debug code which inadvertently violated the locking requirements of the members. Several […]