defaults write com.apple.frameworks.diskimages skip-verify true
defaults write com.apple.finder CreateDesktop false; killall Finder
touch ~/.hushlogin
# pragma mark Custom caret | |
- (void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag { | |
aRect.size.width = self.caretWidth; | |
[super drawInsertionPointInRect:aRect color:aColor turnedOn:flag]; | |
} | |
// This is a hack to get the caret drawing to work. I know, I know. | |
- (void)setNeedsDisplayInRect:(NSRect)invalidRect { | |
invalidRect.size.width += self.caretWidth - 1; |
import * as React from "react"; | |
/** | |
A hook to simply use state between components | |
Warning: this only works with function components (like any hook) | |
Usage: | |
// You can put this in an central file and import it too | |
const useStore = createStore({ count: 0 }) |
// https://stackoverflow.com/a/64927639 | |
function addPushStateListener(listener) { | |
if (!Proxy) return; | |
window.history.pushState = new Proxy(window.history.pushState, { | |
apply: (target, thisArg, argArray) => { | |
target.apply(thisArg, argArray); | |
listener(); | |
}, | |
}); | |
} |
#!/usr/bin/env python | |
import os | |
import sys | |
import shutil | |
import subprocess | |
if len(sys.argv) < 3: | |
sys.exit("Usage: python sign.py <identity> <myApp.app>") |
<script> | |
function onPathChange(callback) { | |
let path; | |
// Only reliable way seems polling across browsers :-( | |
setInterval(() => { | |
if (window.location.pathname !== path) { | |
path = window.location.pathname; | |
callback(path); | |
} | |
}, 1000); |
const rules = Array.from(document.getElementsByTagName("style")) | |
.map((el) => el.innerText.split("}")) | |
.flat() | |
.map((rule) => rule.trim()) | |
.filter((rule) => rule && !rule.startsWith("@")) | |
.map((rule) => { | |
return { | |
selector: rule.split("{")[0].trim(), | |
style: rule.split("{")[1].trim(), | |
}; |
export function memoize<R, T extends (...args: any[]) => R>(f: T): T { | |
const cache = new Map<string, R>(); | |
return ((...args: any[]) => { | |
const key = JSON.stringify(args); | |
if (!cache.has(key)) cache.set(key, f(...args)); | |
return cache.get(key); | |
}) as T; | |
} |
import React from "react" | |
export function TestComponent() { | |
return React.createElement("div", {}, "Hello World") | |
} |
var QcValueConverter = { | |
tensionFromQcValue: function(qcValue) { | |
return (qcValue - 30.0) * 3.62 + 194.0; | |
}, | |
qcValueFromTension: function(tension) { | |
return (tension - 194.0) / 3.62 + 30.0; | |
}, | |
frictionFromQcValue: function(qcValue) { |