Skip to content

Instantly share code, notes, and snippets.

Down by the Bay

Saagar Jha saagarjha

Down by the Bay
View GitHub Profile
View top10words.c
#define _XOPEN_SOURCE 700
#include <ctype.h>
#include <ftw.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// djb2 because it's short
unsigned int hash(char *string) {
unsigned int hash = 5381;
saagarjha / fixjit.c
Last active Jul 23, 2020
Fix applications that use JIT on Apple silicon but don't know about pthread_jit_write_protect_np
View fixjit.c
// The usual: compile with clang libfixjit.c -arch arm64 -arch arm64e -shared -o libfixjit.dylib, add to DYLD_INSERT_LIBRARIES.
#include <errno.h>
#include <pthread.h>
#include <stdatomic.h>
__attribute__((constructor)) static void fix_jit() {
unsigned long long mask;
__asm__ volatile("mrs %0, s3_4_c15_c2_7" : "=r"(mask): :);
__asm__ volatile("msr s3_4_c15_c2_7, %0" : : "r"(mask & 0xfffffffff0ffffff) :);
saagarjha /
Created May 15, 2020
Creates a bundle for macOS
set -eu
mkdir -p
echo "
@import Foundation;
int main() {
execl([NSBundle.mainBundle.resourcePath stringByAppendingString:@\"/ghidra/ghidraRun\"].UTF8String, NULL);
saagarjha / webserver.service
Created Oct 6, 2019
systemd service to run a webserver
View webserver.service
Description=Python Web Server
ExecStart=/usr/bin/python3 -m http.server 80
saagarjha /
Created Aug 6, 2019
Grab timestamps for all your Hacker News comments
#!/usr/bin/env python3
import json
import re
import urllib.request
if __name__ == "__main__":
comments = json.load(urllib.request.urlopen(""))["submitted"][::-1]
for comment in comments:
timestamp = json.load(urllib.request.urlopen("" + str(comment) + ".json"))["time"]
saagarjha /
Created May 26, 2019
OpenRC init script to run a webserver
start() {
start-stop-daemon --start --chdir /share --background --exec /usr/bin/python3 -- -m http.server 80
stop() {
start-stop-daemon --stop --chdir /share --exec /usr/bin/python3 -- -m http.server
saagarjha /
Last active Mar 26, 2019
iTerm2 Script to change the theme automatically based on the system appearance
#!/usr/bin/env python3
import iterm2
async def set_theme(connection, theme):
# Themes have space-delimited attributes, one of which will be light or dark.
parts = theme.split(" ")
if "dark" in parts:
preset = await iterm2.ColorPreset.async_get(connection, "Fixed Solarized Dark")
saagarjha / darknano.c
Last active Mar 22, 2019
Disables bright colors in nano on macOS
View darknano.c
#include <string.h>
int overridden_strncasecmp(const char *s1, const char *s2, size_t n) {
if (n != 6 || strncmp(s2, "bright", n)) {
return strncasecmp(s1, s2, n);
} else {
return !0;
saagarjha / iterm-set-profile.m
Last active Jun 6, 2018
Set the correct iTerm profile based on whether dark mode is enabled or not
View iterm-set-profile.m
// Compile with clang -F/System/Library/PrivateFrameworks -framework SkyLight iterm-set-profile.m
#import <Foundation/Foundation.h>
BOOL SLSGetAppearanceThemeLegacy(void);
int main() {
if (SLSGetAppearanceThemeLegacy()) {
printf("\033]50;SetProfile=Solarized Dark\a");
} else {
printf("\033]50;SetProfile=Solarized Light\a");
View MyDocument.swift
// Logic necessary to implement a "closing handler" for a NSDocument
// This is inspired by:
// -
// -
// Keith's supporting documentation for his radar submission:
// Documentation:
// -
// Paragraph called: "Advice for Overriders of Methods that Follow the delegate:didSomethingSelector:contextInfo: Pattern"
You can’t perform that action at this time.