Reflections

Article

I’m a long time Mozilla supporter, I’ve published free and open-source software, and I desperately want Mozilla to charge for Firefox. If that sounds like a contradiction, please keep reading.

Read more...

Why do non-technical people sometimes dramatically underestimate the time, money, and effort required to build software? I think it’s because they only see the end result: the app, website, or other product.

Read more...

In writing about the dangers of social media, I've encountered the objection that social media probably isn't worth worrying about because people said the same thing about the internet, television, radio, books, and so on. I think this objection is flawed for two reasons.

Read more...

Never say of anything, “I have lost it,” but, “I have restored it.” Has your child died? It is restored. Has your wife died? She is restored. Has your estate been taken away? That likewise is restored. “But it was a bad man who took it.” What is it to you by whose hands he who gave it has demanded it again? While he permits you to possess it, hold it as something not your own, as do travelers at an inn. —The Enchiridion of Epictetus

Some might find these comments on death to be callous and blunt. I find them helpful. The default is nothingness. We are lucky to have others while we do. Moreover, reality is what it is, whether we like it or not. We can either fight reality, an impossible task, or we can find some way to live in harmony with reality. It’s easier said than done, but it’s our only real option.

Read more...

Do social media platforms and news websites really need comments sections? I don’t think so.

Read more...

Not long ago, an acquaintance had their identity stolen. The case was rather serious, with the perpetrators draining thousands of dollars from the victim’s bank accounts.

Read more...

Recipe

This recipe is adapted from a recipe on the blog Merry Merzville , which is in turn adapted from The Joy of Vegan Baking by Colleen Patrick-Goudreau. My modifications are pretty minor. This recipe would not exist without theirs.

Beyond that, let’s not bury the lede. The story behind these muffins isn’t that interesting. I know what you’re here for.

Read more...

Last week, I read the bizarre story of Governor Mike Parson of Missouri vowing to prosecute local journalists who notified his office of a data leak in a state website. In a press conference, he claimed that the reporters “decoded” the site's HTML in a “multi-step process,” struggling to pronounce the unfamiliar abbreviation and testing the credulity of his technologically-literate audience. (Does clicking View source involve more than one step? Perhaps among those who find mice to be confusing.)

Read more...

I was laid off last week. Officially, I was impacted by “significant restructuring”. I never expected to become so conversant with corporate lingo. It's one of the lesser skills I acquired during my 8 years at Mozilla, mostly after Firefox OS was announced as a priority. Another lesson: companies change.

Read more...

I have come to appreciate ESLint very much in recent years. A robust and reliable JavaScript linter, ESLint can be used not only to detect common programming mistakes, but also to enforce a consistent code style. Its utility cannot be overstated. Your teammates and your future self will thank you for using it.

I recommend that ESLint be enabled before any code is written, but what about existing projects? A developer who runs ESLint on an existing codebase will certainly be overwhelmed; it will warn about scores of issues which had not been noticed until that point. Is there any way to gradually adopt its recommendations? More importantly, is there any way to prevent the number of problems from growing? Running the linter on CI is no solution. It will simply fail and annoy others.

Read more...