So you want to optimize your code, eh? Who am I to blame you? I certainly want you to optimize your code!
I spent a few years as part of the Firefox Performance Team, on the frontline of, well, performance. I still bear some of the scars. So, as the grizzled perf-veteran that I have decided to be for the day, let me invite you to sit down for a while and share a little hard-earned experience on code optimization.
I’ve been a programmer since the age of 8, and some kind of developer for most of my life. Throughout my life as a coder, both hobbyist and professional, I’ve learnt plenty of programming languages that felt like cookie-cutter clones of each other, but also a few programming languages that changed the way I looked at programming, sometimes even at thinking.
If the last few weeks of media and social media have demonstrated anything, it is the power of language.
(This is meant to be the first entry of a series which will cover individual points more in depth. We’ll see how that goes.)
We’re the tech industry. We have ideas. We have ideas all the time. And we’re used to turn our ideas into applications.
So, how does it go… here’s the back-end component… here’s the front-end component. We’ll write the former in Python, or perhaps JavaScript, to optimize for prototyping. After all, we have so many ideas, we need the ability to iterate quickly. Sprinkle in a few dependencies, that will speed us up. Oh, and let’s use ChatGPT and Copilot, we’ll be even faster. Oh, and performance, yeah, performance: microservices, Kafka, Redis, Kubernetes… we’re now ready to scale up. Oh, Sentry, Prometheus and Grafana, too, where would we be without ’em? For the front-end, we’ll write a website, and for mobile, Electron.
Oh, wait a second, we need to make money and to fidelize our users! Let me see… ads, tracking, and good reasons to revisit our app, perhaps a little NFT here, gamification… alright, we should be good.
Three… two… one… and we have shipped v1!
Also, the world is burning.
Perhaps it’s time we revisited how we do things?
Recent publications by Consumer Reports and the NSA have launched countless conversations in development circles about safety and its benefits.
In these conversations, I’ve seen many misunderstandings about what safety means in programming and how programming languages can implement, help or hinder safety. Let’s clarify a few things.
Among the many interesting moments of this ending year 2022, we have had the chance of seeing the Twitter/Musk experiment unfold. I won’t spend time rehashing the many twists of this experiment, just a moment to offer the best wishes to all who work or worked at Twitter, in particular those being offered as scapegoats for the many sins of the C-suit, both past and present.
What I’m going to spend time on is moderation. If we listen to the official discourse, this entire Twitter/Musk experiment is about moderation. Also, as a direct consequence of aid experiment, the number of users on Federated Networks such as Matrix and Mastodon has never been so high. And Twitter, both past and present, has been a permanent demonstration that moderation is hard. So… what does it change to moderate a Federated Network?
Spoiler alert: it’s harder, but not impossible.
The web is getting darker. It is being weaponized by trolls, bullies and bad actors and, as we’ve witnessed, this can have extremely grave consequences for individuals, groups, sometimes entire countries. So far, most of the counter-measures proposed by either governments or private actors are even scarier.
The creators of the Matrix protocol have recently published the most promising plan I have seen. One that I believe stands a chance of making real headway in this fight, while respecting openness, decentralization, open-source and privacy.
I have been offered the opportunity to work on this plan. For this reason, after 9 years as an employee at Mozilla, I’ll be moving to Element, where I’ll try and contribute to making the web a better place. My last day at Mozilla will be October 30th.
On this rainy october day (well, at least it rains where I’m writing this) of the great year 2020, let’s take another few minutes to reflect on some great practices that we have at Mozilla and that would deserve to take over the world.
Today, let’s talk about what you can do when your work is blocked.
Let’s continue this series on some of the great practices that we have at Mozilla and that your project may wish to adopt, too.
This time, let’s talk about Mozilla’s #introduction chatroom.
Until now, this blog has been using Disqus as a comment mechanism.
While it is very useful, I’m trying to switch to a less invasive (and I believe more privacy-safe): gitalk.
I’ve left Disqus on in the pages on which users had already left comments. For other pages, Disqus is now deactivated.