Skip to content

Category Archives: Uncategorized

on the usefulness of computer books

06-Jul-16

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

31-May-16

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

18-Apr-16

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

28-Jan-16

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

20-Jan-16

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

09-Oct-15

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

17-Sep-15

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 […]

standardizing things my way

07-Sep-15

I was reading The Digital Doctor: Hope, Hype, and Harm at the Dawn of Medicine’s Computer Age and ran across a passage that resonated: Everybody, of course, supports standardization—in theory. But human beings (particularly, but not exclusively, famous Harvard professors practicing at famous Boston hospitals) want things to be standardized their way. The difficulty that […]

explicit is better than implicit: c++ implicitly defined member functions

20-Aug-15

In the tradition of The Zen of Python, I’ve been thinking about pushing for explicit declarations of otherwise implicitly-defined member functions in C++, both in code that I write and in code that I review: // Instances of this class should not be copied. MyClass(const MyClass&) = delete; MyClass& operator=(const MyClass&) = delete; // We […]

white space as unused advertising space

25-May-15

I picked up Matthew Crawford’s The World Outside Your Head this weekend. The introduction, subtitled “Attention as a Cultural Problem”, opens with these words: The idea of writing this book gained strength one day when I swiped my bank card to pay for groceries. I watched the screen intently, waiting for it to prompt me […]