Skip to content

Instantly share code, notes, and snippets.

View kentbrew's full-sized avatar

Kent Brewster kentbrew

View GitHub Profile
@kentbrew
kentbrew / sortByKeys.md
Last active August 30, 2019 15:37
Sorting a JSON Object by Key Name

Sorting a JSON Object by Key Name

While performing eyeball-based QA for an API update I needed a fast way to reformat output so that all keys would be in the same order. Here's what I came up with:

sortByKeys = input => {
  // default: return anything whose typeof is NOT "object"
  let result = input;
  // do we have an object? look inside
 if (input && typeof input === "object") {
@kentbrew
kentbrew / bpsh.md
Created March 4, 2019 01:23
Hiding Ads from All Facebook Advertisers who have Added You From a Contact List

Hiding Ads from All Facebook Advertisers who have Added You From a Contact List

Here's a scary page:

https://www.facebook.com/ads/preferences/?entry_product=ad_settings_screen

Open up the Advertisers section and check out that first section: advertisers who use a contact list added to Facebook. Unlike the other tabs in this section, these ads have nothing to do with your behavior on Facebook or elsewhere on the Internet. All these advertisers got your name the old-fashioned way: by trading something of value for a list containing your contact information.

Per Facebook's vague-but-cheerful explainer, this is "typically" your e-mail address or phone number, but there's really no way to know for sure.

@kentbrew
kentbrew / how_to_get_your_stuff_on_pinterest.md
Last active February 13, 2025 15:08
How To Get Your Stuff On Pinterest

Here's a doc we never published while I was at Pinterest. Some or all of it may be useful; please keep in mind that I've been ex-Pinterest since March 2022 and cannot help if it doesn't work.

I apologize in advance for the chirpy Pinterest editorial tone throughout; it's a Thing there.

How To Get Your Stuff On Pinterest

Hi, all. Kent Brewster here, oldest surviving engineer at Pinterest. For the past ten years we've been working on a handful of things that help people who love Pinterest find new inspiration from the Web and share it as easily as possible.

These things are:

@kentbrew
kentbrew / finding_twitter_user_id.md
Last active March 23, 2026 07:06
Finding Twitter User IDs

Finding Twitter User IDs

User accounts on Twitter are commonly identified by screen name, which may be changed by operators when they take over an account, or have been sitting on an old account for a long time and want to transition it into malicious use.

User IDs, however, are permanent. There are several services out there that will try to find them for you but it seems like a bad idea to me, since you're alerting them to the fact that there's something interesting about this account. There's also plenty of bad advice that uses many long-since-abandoned Twitter API endpoints.

As of this writing (2018-02-18) you can view source and search for /profile_banners/, which will show something like this:

.enhanced-mini-profile .mini-profile .profile-summary {
@kentbrew
kentbrew / spinny_button.svg
Last active January 31, 2018 18:48
Recreating the Pinterest Spinny Button
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@kentbrew
kentbrew / lang_chrome_osx.md
Last active August 8, 2026 05:49
How to change the Chrome default language on OSX

How to Change your Chrome Default Language

Open up a Terminal window. (If you have never seen Terminal before, go to Spotlight Search and type "Terminal.")

In the Terminal box, try this:

defaults read com.google.Chrome AppleLanguages

If you see this:

@kentbrew
kentbrew / content.js
Last active January 5, 2018 17:59
Alt-Titler: fill blank image TITLE attributes with what's in their ALT attribute, if found.
// Fill blank image TITLE attributes with what's in their ALT attribute, if found.
((w, d) => {
let $ = {
// w = window
w: w,
// d = document
d: d,
f: {
// return an event's target element
@kentbrew
kentbrew / background.js
Last active November 30, 2017 23:44
Tracker Jacker
const BLOCK_ME = "://www.facebook.com/tr/";
chrome.webRequest.onBeforeRequest.addListener(
function(r) {
return {
cancel: r.url.indexOf(BLOCK_ME) != -1
};
},
{urls: ["<all_urls>"]},
["blocking"]
@kentbrew
kentbrew / DOMParser_input_cleaner.md
Last active June 2, 2022 19:49
Using DOMParser to clean HTML input

Old School:

  var clean = function (input) {
    var testMe = input, dupeTest = '';
    while (testMe !== dupeTest) {
      testMe = new DOMParser().parseFromString(testMe, "text/html").documentElement.textContent;
      dupeTest = testMe;
    }
    testMe = testMe.replace(/</g, '&lt;');

return testMe;

@kentbrew
kentbrew / readme.md
Created July 11, 2017 02:43
Some Notes On Zetterberg's Static Search Widget