Key | Result |
---|---|
v |
select |
y |
copy (yank) |
c |
change |
d |
delete |
Facebook works with advertisers to target you. These instructions are one of the many ways to begin crippling that relationship. When AI targeting is crippled, your psychosecurity improves :)
- On your desktop machine, goto https://accountscenter.facebook.com/ads/audience_based_advertising
- Maximize the browser window
- Press F12 and click on the Console tab
- Select the code below, copy it, paste it upon the Console line (The area next to the > character in the Console window), and press enter:
/* | |
the twitter api is stupid. it is stupid and bad and expensive. hence, this. | |
Literally just paste this in the JS console on the bookmarks tab and the script will automatically scroll to the bottom of your bookmarks and keep a track of them as it goes. | |
When finished, it downloads a JSON file containing the raw text content of every bookmark. | |
for now it stores just the text inside the tweet itself, but if you're reading this why don't you go ahead and try to also store other information (author, tweetLink, pictures, everything). come on. do it. please? | |
*/ |
% Map | |
fun({Doc}) -> | |
case proplists:get_value(<<"type">>, Doc, nil) of | |
<<"telemetry">> -> | |
{Metadata} = proplists:get_value(<<"metadata">>, Doc, {nil}), | |
User = proplists:get_value(<<"user">>, Metadata, nil), | |
Year = proplists:get_value(<<"year">>, Metadata, 0), | |
Month = proplists:get_value(<<"month">>, Metadata, 0), | |
Day = proplists:get_value(<<"day">>, Metadata, 0), | |
GregorianDays = calendar:date_to_gregorian_days(Year, Month + 1, Day + 1), |
Last year, we migrated a large project form JS to TS.
We did this with ts-migrate, and we renamed all instances of any
to $TSFixMe
, to differentiate them from real uses of any
.
In order to see our progress on removing $TSFixMe
, we build the a github workflow that adds comments to PRs with our progress, eg:
Remix Deferred is currently implemented on top of React's Suspense model but is not limited to React. This will be a quick dive into how "promise over the wire" is accomplished.
It isn't rocket science, but a quick recap of how frameworks such as react do SSR:
- Load data
- Render the app
import Head from 'next/head' | |
export const SeoHeaders = ({ | |
title, | |
description, | |
author, | |
twitterAuthor, | |
twitterSite, | |
url, | |
imageUrl, |
// TODO: make `pages` optional and measure the div when unspecified, this will | |
// allow more normal document flow and make it easier to do both mobile and | |
// desktop. | |
import { | |
createContext, | |
useCallback, | |
useContext, | |
useEffect, | |
useMemo, | |
useRef, |
# a quick way to install a CHT instance. Uses bare metal couchdb | |
# see docker based install here: https://gist.github.com/mrjones-plip/7bbe7b0a44ce7876a551b9730c6fc43d | |
# | |
sudo apt update | |
sudo apt dist-upgrade | |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion |