Sept 10th 2023
- In
Google Chrome
, go to chrome://settings/adPrivacy - In
Windows
, make sureChrome
is closed, and load the file%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences
in a text editor and format it as JSON.
# install jq: https://jqlang.github.io/jq/ | |
# list all packages | |
aio rt package list --json | jq '.[] | .name' | |
# for each package name, delete the package recursively | |
aio rt package delete "MY_PACKAGE_1" --recursive |
let store = {} | |
/** @private */ | |
function put (key, value) { | |
store[key] = JSON.stringify(value) | |
} | |
/** @private */ | |
function get (key) { | |
const value = store[key] |
const { Blob } = require('node:buffer'); | |
/** | |
* Converts a Buffer to a Blob. | |
* | |
* @param {Buffer} buffer the Buffer to convert | |
* @returns {Blob} the converted Buffer as a Blob | |
*/ | |
function buffer2blob(buffer) { | |
if (buffer instanceof Buffer === false) { |
if [ $ITERM_SESSION_ID ]; then | |
precmd() { | |
echo -ne "\033]0;${PWD##*/}\007" | |
} | |
fi |
// /////////////////////////////////////////////////////////////////// | |
// index.cjs - this is exported in the manifest for Openwhisk Deploy | |
// Only supported in Node 14+ (dynamic import) | |
async function cjsMain(params) { | |
const { default: esmMain } = await import('./index.mjs') | |
return esmMain(params) | |
} | |
exports.main = cjsMain |
const searchSubstringInRepo = async (owner, repo, substring) => { | |
const repoApiUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/master?recursive=1`; | |
const headers = { | |
'Accept': 'application/vnd.github+json', | |
'Authorization': 'token YOUR_PERSONAL_ACCESS_TOKEN' | |
}; | |
try { | |
const response = await fetch(repoApiUrl, { headers }); | |
if (!response.ok) { |
From: http://snipt.net/yonishin/about-xcode-4-project-template | |
XCode 4 Projects and Files Template Folder: /Developer/Library/Xcode/Templates | |
Examples: | |
/Developer/Library/Xcode/Templates/Project Templates/Base/Other/Empty.xctemplate | |
/Developer/Library/Xcode/Templates/Project Templates/Base/Base.xctemplate | |
/Developer/Library/Xcode/Templates/Project Templates/Mac/Mac Base.xctemplate | |
/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate | |
/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Cocoa Application.xctemplate |
# adapted from https://osxdaily.com/2020/07/20/how-convert-macos-installer-iso/ | |
hdiutil create -o /tmp/Monterey -size 13700m -volname Monterey -layout SPUD -fs HFS+J | |
hdiutil attach /tmp/Monterey.dmg -noverify -mountpoint /Volumes/Monterey | |
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Monterey --nointeraction | |
hdiutil detach /volumes/Install\ macOS\ Monterey |
const path = require('path') | |
const assert = require('assert') | |
function urlJoinPath(url, pathToAdd) { | |
const u = new URL(url) | |
u.pathname = path.posix.join(u.pathname, pathToAdd) | |
return u.href | |
} | |
let result1 = urlJoinPath('https://foo.bar/a/b', 'recordlogin') |