Having troubles with Xcode or their Command Line Tools? Follow this guide to reset your Xcode instance on macOS and resolve issues such as "No Xcode or CLT version detected!"
- Alternatively download Xcode directly
xcode-select -print-path
# We'll be installing Homebrew in the /opt directory. | |
cd /opt | |
# Create a directory for Homebrew. This requires root permissions. | |
sudo mkdir homebrew | |
# Make us the owner of the directory so that we no longer require root permissions. | |
sudo chown -R $(whoami) /opt/homebrew | |
# Download and unzip Homebrew. This command can be found at https://docs.brew.sh/Installation. |
Having troubles with Xcode or their Command Line Tools? Follow this guide to reset your Xcode instance on macOS and resolve issues such as "No Xcode or CLT version detected!"
xcode-select -print-path
Ever wanted to delete all your likes/favorites from Twitter but only found broken/expensive tools? You are in the right place.
setInterval(() => {
for (const d of document.querySelectorAll('div[data-testid="unlike"]')) {
d.click()
}
by Tatiana Mac
Last updated 14 April 2021
As speaking comes with immense privilege, I have crafted a speaker rider to set expectations and boundaries around my engagement. I am grateful to all the conference organisers who have brilliantly hosted me. I would love to continue to exercise this privilege to speak at conferences, and use this privilege to make the landscape more accessible and beneficial to tech's most historically excluded and marginalised communities.
😫 I provide a lot of explanations for those of you who never had to consider these things. Most thoughtful conferences I've attended check most of these boxes intrinsically, particularly when conference runners are experienced speakers. They get it.
const puppeteer = require("puppeteer"); | |
const user_email = "email@example.com"; | |
const user_handle = "@example"; //either your handle or phone number | |
const password = "theEndisNear"; | |
async function fkTwitter() { | |
const browser = await puppeteer.launch({ | |
headless: false, | |
}); |
# these are reconstructed from a shell session without runnig them, so make | |
# sure you check that it's a sane thing to do before running it, I make no | |
# guarantees of fitness, and accept no liability. Run at your own risk. | |
sudo launchctl remove com.snap.SnapCameraRemover | |
rm -r ~/Library/Caches/Snap/ | |
rm -r ~/Library/Caches/com.snap.SnapCamera/ | |
rm -r ~/Library/Preferences/Snap/ | |
rm ~/Library/Preferences/com.snap.SnapCamera.plist | |
rm ~/Library/Preferences/com.snap.Snap\ Camera.plist | |
sudo rm -rf /Applications/Snap\ Camera.app/ |
You would think it would be easy to find this information, but none of the Github or Gandi documentation is clear so I have recorded the required steps here.
Create the following A records:
@ 1800 IN A 185.199.108.153
@ 1800 IN A 185.199.109.153
@ 1800 IN A 185.199.110.153
pragma solidity ^0.4.11; | |
/** | |
* @title Ownable | |
* @dev The Ownable contract has an owner address, and provides basic authorization control | |
* functions, this simplifies the implementation of "user permissions". | |
*/ | |
contract Ownable { | |
address public owner; |
// triple the value of every item in a given array | |
const triple = (arr) => arr.map((currentItem) => currentItem * 3) | |
// sum all the elements in a given array | |
const sum = (arr) => arr.reduce((prev, current) => prev + current, 0) |