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; |
| // 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(); | |
| }, | |
| }); | |
| } |
| s3.put invalidation-speed-test/9jxb7yu7hVk4p3jiuXDlyHuBNbBsG0DK | |
| s3.put invalidation-speed-test/9jxb7yu7hVk4p3jiuXDlyHuBNbBsG0DK done | |
| YUL62-P2 Miss from cloudfront 189 | |
| DUB56-P2 Miss from cloudfront 454 | |
| FRA56-P5 Miss from cloudfront 519 | |
| SFO53-P6 Miss from cloudfront 419 | |
| GRU3-P3 Miss from cloudfront 607 | |
| BOM78-P5 Miss from cloudfront 908 | |
| SIN2-P3 Miss from cloudfront 1012 | |
| NRT57-P4 Miss from cloudfront 729 |
| 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 }) |
| #!/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") | |
| } |