Skip to content

Instantly share code, notes, and snippets.

@tomrittervg
tomrittervg / library.on-element-ready.js
Created November 14, 2023 15:12 — forked from sidneys/library.on-element-ready.js
UserScript | Library | onElementReady ES6
// ==UserScript==
// @name Library: onElementReady ES7
// @namespace org.sidneys.userscripts
// @homepage https://gist.githubusercontent.com/sidneys/ee7a6b80315148ad1fb6847e72a22313/raw/
// @version 0.8.1
// @description Detect any new DOM Element by its CSS Selector, then trigger a function. Includes Promise- & Callback interface. Based on ES6 MutationObserver. Ships legacy waitForKeyElements interface, too.
// @author sidneys
// @icon https://i.imgur.com/nmbtzlX.png
// @match *://*/*
// ==/UserScript==
@tomrittervg
tomrittervg / MaybeDebugTrap.patch
Last active January 29, 2024 18:14
A patch to help you break in Firefox when and where you want it.
# HG changeset patch
# User Tom Ritter <tom@mozilla.com>
# Date 1681485863 14400
# Fri Apr 14 11:24:23 2023 -0400
# Node ID 45c767e3ec49ef47dec62b0ad94481885c46b564
# Parent fce9e73861891da48d1a0b85240491fa3e042f8b
MaybeDebugTrap
diff --git a/xpcom/base/nsDebug.h b/xpcom/base/nsDebug.h
--- a/xpcom/base/nsDebug.h
@tomrittervg
tomrittervg / grep-blame.py
Created June 8, 2022 15:41
Search for keywords at least X days old in a mercurial repo
#!/usr/bin/env python3
import argparse
import datetime
import dateutil.parser
import subprocess
def get_files_and_lines(pattern, files):
results = {}
@tomrittervg
tomrittervg / timestamp-relative-rewrite.py
Created May 4, 2022 16:25
Script to rewrite the timestamps in a TC job log to be relative so you can look easily for the jump and go to the line offset.
# preprocess with `cut -d "]" -f 1`
import dateutil
from dateutil import parser
origin = None
f1 = open("2-2", "r")
f2 = open("2-2-1", "w")
for l in f1:
#!/bin/bash
CMD_FILE=$(date +"%s")
grep [r-][w-][x-][ps] /proc/$1/maps \
| sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' \
| while read start stop; do \
echo "dump memory $1-$start-$stop.dump 0x$start 0x$stop" >> $CMD_FILE; \
done
@tomrittervg
tomrittervg / mingw-mozregression.py
Created December 16, 2020 16:38
mozregression but on MinGW builds using TC artifacts from mozilla-central
#!/usr/bin/env python3
import re
import json
import logging
import dateutil.parser as parser
import datetime
import requests
import argparse
Normal situation
blabla.onion Tor Tor Browser
<user asks for blabla.onion>
<--- SOCKS CONNECT to blabla.onion ---
<Tor fetches descriptor>
@tomrittervg
tomrittervg / th-query.py
Created December 4, 2018 16:01
Treeherder Query - for programatically searching try pushes matching criteria
#!/usr/bin/env python
import os
import pdb
import json
import datetime
import requests
import argparse
COUNT=500
@tomrittervg
tomrittervg / mmseparate.py
Last active April 6, 2021 13:57
Message Manager Logging
#!/usr/bin/env python3
# First MOZ_LOG="MessageManager:5" ./mach run > mmlog.txt 2>&1
# Then ./mmseparate.py mmlog.txt
import os
import re
import sys
import time
import pathlib
@tomrittervg
tomrittervg / nsStandardUrlParse.py
Created April 20, 2018 18:22
Script to parse the output of MOZ_LOG="nsStandardURL:5"
#!/usr/bin/env python
import re
import sys
class URL:
def __init__(self, ptr):
self.ptr = ptr
self.count = 0
self.url = ""