We have tokens that are added to official builds when a CI server is building the production-ready application. These tokens are added to the BuildConfig.java by using the buildConfigField function in a build.gradle . While testing, you want to quickly regenerate just this file to see changes occur with a new value. Instead of using the more expensive assembleDebug task for your debug variant, you…
Didn't hydrate well enough the night before, so my mouth was dry the whole time. Also didn't reduce the load, so that was a nice confident booster, but messed up the workout with longer recoveries than I should have had. Poor sleep. 👌 Stat Value Distance 8.04 km Duration 45:01 Pace 5:36 /km Elevation Gain 22 m Route Heart Rate Zones --- config: themeVariables: xyChart:…
First session of the year! Was ready to give up after the third. Ran slower than planned for all except the second last. 88% humidity - would not recommend, one star. Stat Value Distance 10.1 km Duration 1:04:07 Pace 6:21 /km Elevation Gain 39 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor:…
Getting better at holding a 40 minute easy run. Stat Value Distance 7.05 km Duration 40:02 Pace 5:41 /km Elevation Gain 17 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4 Threshold", "Zone 3…
In April, I had to attend a conference in Paris and I convinced my wife to attend so that could make a short holiday out of it at the end of the week before we head back home. We planned to spend four days there, but it ended up turning into eight because of airline delays, with those four extra days at the airport and the airport hotels. Hilariously, the flight out was also entertaining, so…
35 mins easy, 400m + 50 m sprints. Stat Value Distance 7.09 km Duration 40:03 Pace 5:39 /km Elevation Gain 26 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4 Threshold", "Zone 3 Aerobic", "Zone 2…
Have a muscle catch for two days so far and I've been lying on the ground to relax it. Hoping this run will help relax the muscle. Super hot too despite the cloudy cover so did some 400m reps on the track with 100m cooldowns for the 5K. Stat Value Distance 5.81 km Duration 33:22 Pace 5:45 /km Elevation Gain 20 m Route Heart Rate Zones --- config: themeVariables: xyChart:…
How you doing legs? You still there? The rain stopped right before we started, so it was a bit humid and pleasant. Humidity wasn't too severe either. If I'm consistent enough, maybe I'll do the Waterfront Half to keep some fitness in there before the deep winter. Met some familiars from Blacktoe Midtown over here too! Stat Value Distance 5.1 km Duration 31:11 Pace 6:07 /km…
Eh. Officially passed 1000 km in the Superblast 2s and the shoes still pop. Stat Value Distance 5.02 km Duration 28:08 Pace 5:36 /km Elevation Gain 26 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone…
Work took over social life and running took a massive hit too. Cutting it thin here by not starting a training regime anyway. Stat Value Distance 5.27 km Duration 29:02 Pace 5:30 /km Elevation Gain 30 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in…
As fit as a cow. Third rep had a stitch that I could only walk off; came back during the fourth. Finished with a little pride on the final fifth. Need better hydration. Didn't eat well today to cover this effort, but it's a good measure of where I am. Body aches from some HITT weekend house cleaning. Stat Value Distance 4.02 km Duration 23:25 Pace 5:49 /km Elevation Gain 13 m Route…
Warm-up prior to intervals. Stat Value Distance 1.27 km Duration 7:50 Pace 6:10 /km Elevation Gain 11 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4 Threshold", "Zone 3 Aerobic", "Zone 2 Easy",…
Encountered a very loud dog that looked like it was going to attack me while the leash was a bit too slack, and I had to jump onto the road. Shouty driver was shouty before he realized my predicament. Took a bit to get back into the run and relax. 🤷♂️ Good weather, but didn't stretch. Right leg was hyper extending because the back of the knee was paining a bit - nothing new that I…
Felt very unfit despite a looong warmup and stretch. Need to make that training plan and build up fatigue in the legs again. Ice cream for a job well done at the end. Stat Value Distance 7.82 km Duration 43:02 Pace 5:30 /km Elevation Gain 56 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent"…
Went harder for fun, I guess. Didn't feel like it, but wanted to see what was in the engine. Shoes were tightened a bit much and the t-shirt I wore isn't as breathable. Felt good, all things considered. Stat Value Distance 5.01 km Duration 26:23 Pace 5:16 /km Elevation Gain 40 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette:…
With Jujutsu, I've been able to work in multiple workstreams more efficiently than before. This means that if I'm working on multiple things, there is a higher likelihood of something going stale while I wait for a review or touch multiple files. Dealing with conflicts aren't so bad these days , however if I can automate the easy ones, why not? This is the prompt I've been…
So many excuses to use! Muscle pain from bowling (with style) during the week. Used the massage gun to get a warmup started, but it's still a bit touchy. Poor sleep from growing heat overnight. Stupidly hot outside right now with a heatwave in-progress. Made a few wrong turns trying to find the most shaded route. I miss the cold already. Stat Value Distance 3.47 km Duration 21:00 Pace 6:03…
More of a fun run. Better than two days ago with the massage gun to help with the warmup. Cooler weather and didn't wait too late before I depleted my energy stores. Stat Value Distance 7.62 km Duration 40:56 Pace 5:22 /km Elevation Gain 50 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor:…
Tired run. Toe is still prickly. Stat Value Distance 5.55 km Duration 30:02 Pace 5:25 /km Elevation Gain 41 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4 Threshold", "Zone 3 Aerobic", "Zone 2…
Prickly without half a toenail. Kept it short as I've failed to be consistent again. Stat Value Distance 5.48 km Duration 30:01 Pace 5:29 /km Elevation Gain 37 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5…
I want Phabricator emails to have a Gmail label so I can know which patches had me as a reviewer that then had follow-up comments from other folks. This is useful for me when I review a patch and then I need to respond back to discussions in a more timely manner in comment threads that I've created. It's difficult to do this today similar to Bugzilla Gmail filters because there are fewer…
Arrived too late for the group run, and made my way to the bakery right after the bit of the trail I wanted to do. Stat Value Distance 5.01 km Duration 25:52 Pace 5:10 /km Elevation Gain 29 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate…
Warm-up run without a stretch because I'm lazy today morning. Stat Value Distance 2.5 km Duration 12:22 Pace 4:57 /km Elevation Gain 19 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4…
Unfit and kept it short. Legs are fine, but my upper body is tight. Stat Value Distance 3.81 km Duration 20:00 Pace 5:15 /km Elevation Gain 35 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone 4…
If you get stuck at an airport and your flight is rescheduled for a future date, the airline desk at the airport may give you a flight without a confirmed seat (sometimes referred to as a "subject to load" ticket). They mention that you need to take that ticket, head to the gate when it opens, and wait there until everyone else is boarded so that you get an open seat if the flight is full. This is…
You can use JJ's built-in editor for conflict resolutions, but I've found it difficult to follow. A recommendation from co-workers was to use Meld and that has worked quite well once I (begrudingly) accepted that I needed to download another single-purpose app. Today, another co-worker Andrey Zinovyev found out that we can use Android Studio's (IntelliJ IDEA's really) built-in…
It was one of those "ah ha!" moments for me when I finally used it. Chris Krycho covers the concept of megamerges with this diagram: m --- n / \ a -- b -- c -- [merge] -- [wip] \ / w --- x I've found a more realistic example that best relates to my natural workflow: implementing feature (A) benefitted from having the changes of another tooling patch upgrade (B), that lead to…
I wanted to see what the generated try configuration would be for a new preset I made and did this by submitting real try pushes (with empty so they don't execute resources). What I was looking for was "dry run" in the help files, but I recently discovered it to be --no-push . $ jj try-push - -preset fenix - -no-push # 'fenix' as an example preset Artifact builds enabled, pass - -no-artifact…
Burpy run, felt some sloshing inside of me for the first few kms. Quite happy that the legs are walking up. Did a slow 2K warmup around the block and didn't feel any early tightness. Should include this is my pre-run workout during training season. Stat Value Distance 8.16 km Duration 45:08 Pace 5:32 /km Elevation Gain 44 m Route Heart Rate Zones --- config: themeVariables: xyChart:…
Spicy topic, right? I haven't used Claude Code nearly as much as I could to be honest, but enough to have an opinion on it. Adding credits or notifying the reviewers that you used an AI agent was useful for a few reasons: This patch was written with support from an agent, and it might be useful context during a code review from a human (e.g. asking them to take extra care on the correctness…
Chilly. Ran fast to stay warm. New baseball park construction almost done. Stat Value Distance 8.18 km Duration 45:00 Pace 5:30 /km Elevation Gain 53 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title "Time in Heart Rate Zones (%)" x-axis ["Zone 5 Maximum", "Zone…
Body is a bit stiff and didn't feel fluid, but managed to get through it. Overdressed a little, though it wasn't a problem. Stat Value Distance 8.06 km Duration 45:01 Pace 5:35 /km Elevation Gain 54 m Route Heart Rate Zones --- config: themeVariables: xyChart: plotColorPalette: "#555555,#FF8200,#56CC3C,#4090D4,#AAAAAA" backgroundColor: "transparent" --- xychart horizontal title…
The Firefox for Android app has always had a complicated build process - we're cramping a complex cross-platform browser engine and all the related components that make it work on Android into one package. In its current form, it lives in the Firefox mono-repo at mozilla-central (now mozilla-firefox using the git repository). I wanted to document my "artifact-mode" environment here since…
I hadn't been back to Banff in two years, so naturally I was nervous and excited to be back. It was nice to see that the strength was still there in the legs after a few days to build it back up again. My skills improved considerably after the second day and I became a more efficient carver with the help of some fresh snow that came in around the same time. After the third day, we pushed past…
In the Mozilla Android team, we want engineers to talk with Product and UX more and hash out ideas sooner. Prototype an idea, then discuss the feature's merits. For this, we built TryFox to make it easier for everyone to get the latest version of Firefox Nightly or install a "try" build with a link to the build on our CI servers. The downside with using a Try build is that you sometimes have…
This has apparently existed since the dawn of time in all browsers (except Safari?). Entering a word into the address bar, and then using Cmd + Enter 1 wraps the word with 'www.' in the front and '.com' and the end of it. Pretty neat! I tried this with nautil.us but it didn't work and went straight to https://nautil.us in Firefox. There might be some logic to…
Working on the mobile Firefox team gives you the opportunity to touch on many different parts of the browser space. You often need to test the interaction between web content and the application integration's to another component, say for example, a site registering for a WebPush subscription and Firefox using Firebase Cloud Messaging to deliver the encrypted message to the end-user. Hunting…
Update: As of v0.39.0 , tug is now built-in to jj as bookmark advance ! :tada: Got this one from another colleague as well but it seems like most folks use some version of this daily that it might be good to have this built-in. Before I can jj git push my current bookmark to my remote, I need to update where my (tracked) bookmark is, to the latest change: @ ptuqwsty git@jonalmeida.com 2026-01-05…
Resizing images with imagemagick is straightforward even if the tool comes off intimidating. magick input.jpg - resize 1024x output.jpg The 1024x is a "geometry" argument that says, "make the image 1024 pixels width for any height". This preserves the scale for the image without needing to compute it yourself. You can also do the same for the height as well. magick input.jpg - resize x768…
When you want to edit YAML front matter in bulk on markdown files or similar, the tool yq works for this with similar syntax to jq for JSON query/transformation. First, try out the queries without writing them to the files: find . - name " *.md " - exec yq - -front-matter= " extract " ' .taxonomies.categories[] ' {} \; [!NOTE] This pipes only the extracted YAML properties output to the…
We travelled to Colombo, Sri Lanka for the first time this year and it felt like a lost opportunity that we didn't do that more often when we lived closer in that region. It was a quick trip to explore but also catch up with friends who moved there years ago. Some notable observations: So much greenery! My inner pessimist expected a city of this size to have removed it all for urban growth,…
Folks have asked me why I've been running marathons, and since tomorrow I will be running the Toronto Waterfront Marathon course for the first time, I thought I'd write it out here to remind myself. I'm not a natural runner. I grew up playing football 1 and shorter sprints were alright (with heaving between them), but I was never good at running anything more than 200 meters. I…
A small pet-peeve with fetching the latest main on jujutsu is that I like to move all my WIP patches to the new one. That's also nice because jj doesn't make me fix the conflicts immediately! The solution from a co-worker (kudos to skippyhammond!) is to query all immediate decendants of the previous main after the fetch. jj git fetch # assuming 'z' is the rev-id of the previous main. jj…
I did it - finally restarted this blog! 🙌 Why I'll keep this short - there are others who are more expressive and have shared their opinion on everything Zola does for them - go read those instead. Here is the shortform for me. I found it tedious to maintain a Jekyll site and the various plugins that you needed for what I believe should be the built-in behaviour. On every new machine I used,…
Like other blogs, this section is also inspired by Simon Willison’s til . The desire is that small snippets of code or helper tools end up here as a record with relevant tags for future-me to be able to sort through.
Firefox has support for keyword search in the address bar, which is handy during development at Mozilla. There are often many sources of information to look through and being able to get to them efficiently will save you a lot of time. The support documentation has excellent examples of how this works, but here is a simple annotated image of what it does: Below are a list of keyword shortcuts I…
A lot of Mozilla mobile product development is now hosted on Github, which is what many of our contributors prefer as a platform too. This leads to a lot of noise from Github's notification system and I've had some troubles managing it over the years. As a follow-up to how you can manage bugmail with gmail , I found a similar way to manage my most important Github notifications via…