Skip to content

Instantly share code, notes, and snippets.

View matthewpizza's full-sized avatar
🌸
°˖✧◝(◠ᴥ◠)◜✧˖°

matthewpizza

🌸
°˖✧◝(◠ᴥ◠)◜✧˖°
View GitHub Profile
@IanColdwater
IanColdwater / twittermute.txt
Last active November 17, 2024 02:37
Here are some terms to mute on Twitter to clean your timeline up a bit.
Mute these words in your settings here: https://twitter.com/settings/muted_keywords
ActivityTweet
generic_activity_highlights
generic_activity_momentsbreaking
RankedOrganicTweet
suggest_activity
suggest_activity_feed
suggest_activity_highlights
suggest_activity_tweet

⚠️ this is now stupidly out of date

Computers

  • 13" Macbook Pro 3.3 GHz i7 (late 2016)
  • Microsoft Surface Book (2016)

Peripherals

@seanmhanson
seanmhanson / ableismSanityCheck.md
Created April 3, 2017 16:17
Ableist Language in Code: Sanity Check

Ableist Language in Code: Sanity Check

Removing ableist language in code is important; it helps to create and maintain an environment that welcomes all developers of all backgrounds, while emphasizing that we as developers select the most articulate, precise, descriptive language we can rather than relying on metaphors. Quite simply, avoiding ableist language lets us make sure we are inclusive of all developers, while moving toward language that is simultaneously more acccessible to developers whose first language might not be our own.

The phrase sanity check is ableist, and unnecessarily references mental health in our code bases. It denotes that people with mental illnesses are inferior, wrong, or incorrect, and the phrase sanity continues to be used by employers and other individuals to discriminate against these people.

There are a ton of alternatives, and one of the best ways to select one is to ask yourself: What am I actually checking? and select something more descriptive. In everyday c

@xero
xero / coffee
Last active March 1, 2024 05:24
coffee ansi art. open your term and run `curl -L git.io/coffee`
▄▄▄▄▄▄▄▄▄▄
  ▀▀▀ ▀  ▀▀▀  ▄
 ▀▀  ▀▀▀▀      ▀▀ 
  ▀▀▀▀▀    ▀[4
@lifewinning
lifewinning / arendtquotes.md
Created January 30, 2017 23:54
Passages from Arednt's Origins of Totalitarianism, with page numbers.

From the Harvest Books paperback edition

"The supranationalism of the antisemites approached the question of international organization from eactly the opposite point of view. Their Aim was a dominating superstructure which would destroy all home-grown nationalist structures alike. They could indulge in hypernationalistic talk even as they prepared to destroy the body politic of their own nation, because tribal nationalism, with its immoderate lust for conquest, was one of the principal powers by which to force open the narrow and moset limits of the nation-state and its sovereignty." (41)

"Only two decades separated the temporary decline of the antisemitic movements from the outbreak of the first World War. This period has been adequately described as a 'Golden Age of Security' because only a few who lived in it felt the inherent weakness of an obviously outmoded political structure which, despite all prophecies of imminent doom,

@msurovcak
msurovcak / atlassian-markup.sublime-syntax
Created January 2, 2017 18:36
Simple Sublime Text 3 Syntax File for JIRA and Confluence markup language
%YAML 1.2
---
name: JIRA and Confluence markup syntax
scope: source.atlassian-markup
license: MIT
variables:
other_text_mods: '\^|\~|\?\?'
projects: '(GD|PAAS)'
icons: '\((!|\?|/)\)'
contexts:
@ahem
ahem / loadimage.js
Created October 18, 2016 12:59
Load and decode images with webworker
/* global createImageBitmap */
function loadImageWithImageTag(src) {
return new Promise((resolve, reject) => {
const img = new Image;
img.crossOrigin = '';
img.src = src;
img.onload = () => { resolve(img); };
img.onerror = () => { reject(img); };
});
@Rich-Harris
Rich-Harris / imperative-v-declarative-imports.md
Last active May 6, 2024 10:23
Why imperative imports are slower than declarative imports

Why imperative imports are slower than declarative imports

A lot of people misunderstood Top-level await is a footgun, including me. I thought the primary danger was that people would be able to put things like AJAX requests in their top-level await expressions, and that this was terrible because await strongly encourages sequential operations even though a lot of the asynchronous activity we're talking about should actually happen concurrently.

But that's not the worst of it. Imperative module loading is intrinsically bad for app startup performance, in ways that are quite subtle.

Consider an app like this:

// main.js
@Rich-Harris
Rich-Harris / footgun.md
Last active October 8, 2024 15:14
Top-level `await` is a footgun

Edit — February 2019

This gist had a far larger impact than I imagined it would, and apparently people are still finding it, so a quick update:

  • TC39 is currently moving forward with a slightly different version of TLA, referred to as 'variant B', in which a module with TLA doesn't block sibling execution. This vastly reduces the danger of parallelizable work happening in serial and thereby delaying startup, which was the concern that motivated me to write this gist
  • In the wild, we're seeing (async main(){...}()) as a substitute for TLA. This completely eliminates the blocking problem (yay!) but it's less powerful, and harder to statically analyse (boo). In other words the lack of TLA is causing real problems
  • Therefore, a version of TLA that solves the original issue is a valuable addition to the language, and I'm in full support of the current proposal, which you can read here.

I'll leave the rest of this document unedited, for archaeological