Skip to content

Instantly share code, notes, and snippets.

Avatar

Mathias Bynens mathiasbynens

View GitHub Profile
View twitter-gifs.md

Twitter abuses all media file uploads, each type in its own way. If we want to upload a good looking animation loop from some low-color, high-detail generative art, we have to game their system's mechanisms.

  • don't upload a video file, they will re-encode it into absolute 💩

  • create a GIF, which they will auto-convert into a video file 😱

  • The frames of the GIF will be resized to an even-sized width using an extremely naive algorithm. Your GIF should be an even size (1000, 2000,

@lhorie
lhorie / longest-keyword-sequence.md
Last active Nov 11, 2019
What's the longest keyword sequence in Javascript?
View longest-keyword-sequence.md
@ebidel
ebidel / download_chrome41.js
Last active Apr 19, 2020
For when you need to test your site in Google Search (Chrome 41).
View download_chrome41.js
/**
* Copyright 2018 Google Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@ebidel
ebidel / feature_detect_es_modules.js
Last active Feb 3, 2021
Feature detect ES modules: both static import and dynamic import()
View feature_detect_es_modules.js
<!--
Complete feature detection for ES modules. Covers:
1. Static import: import * from './foo.js';
2. Dynamic import(): import('./foo.js').then(module => {...});
Demo: http://jsbin.com/tilisaledu/1/edit?html,output
Thanks to @_gsathya, @kevincennis, @rauschma, @malyw for the help.
-->
@addyosmani
addyosmani / sites.txt
Last active Dec 13, 2018
Sites using Webpack in production (BigQuery)
View sites.txt
http://www.corral.net/
http://www.arizonasportsfans.com/
http://www.oi.com.br/
http://www.likeable.com/
http://www.nysportsday.com/
http://www.tstllc.net/
http://www.statnews.com/
http://www.springmobile.com/
http://www.folhadeparnaiba.com.br/
http://www.bilibili.com/
View PaintBleed.md

Summary

mspaint.exe does not properly verify Dib data from the clipboard. Therefore we can craft some Dib data in the clipboard which e.g. suggests a size of 0x100 by 0x100 pixels and contains not more than the Dib header itself. So the acutal image data rendered by mspaint.exe is its own heap data =)

PoC

Run the following code in PowerShell:

$bytes = 40,0,0,0,0,1,0,0,0,1,0,0,1,0,24,0,0,0,0,0,136,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@chicoxyzzy
chicoxyzzy / nvm-node-nightlies.md
Last active Aug 14, 2020
Installing Node Nightlies via nvm
View nvm-node-nightlies.md

You can install Node Nightlies/RCs via nvm using NVM_NODEJS_ORG_MIRROR environment variable.

Install latest Node RC

NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/rc/ nvm i node

Install latest Node.js Nightly

NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly/ nvm i node
@cramforce
cramforce / on-idle.js
Created Dec 7, 2016
Wrapper around requestIdleCallback to wait for a minimum work budget
View on-idle.js
/**
* Delays calling the given function until the browser is notifying us
* about a certain minimum budget or the timeout is reached.
* @param {!Window} win
* @param {number} startTime When we started waiting for idle.
* @param {number} minimumTimeRemaining Minimum number of millis idle
* budget for callback to fire.
* @param {number} timeout in millis for callback to fire.
* @param {function()} fn Callback.
*/
@andreibosco
andreibosco / creative-cloud-disable.md
Last active Jul 9, 2021
disable creative cloud startup on mac
View creative-cloud-disable.md
View ItemTemplate_1471916269862.json
{
"success": true,
"itemTemplates": [
{
"templateId": "BADGE_BATTLE_ATTACK_WON",
"badgeSettings": {
"badgeType": "BADGE_BATTLE_ATTACK_WON",
"badgeRank": 4,
"targets": [
10,