Skip to content

Instantly share code, notes, and snippets.

@bcomnes
bcomnes / cloudSettings
Last active January 29, 2018 17:48
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-01-05T23:15:02.658Z","extensionVersion":"v2.8.7"}
// https://medium.com/@WebReflection/dom-handleevent-a-cross-platform-standard-since-year-2000-5bf17287fd38
export default class DOMEventHandler {
constructor(ctx, node) {
if (!ctx) throw new Error("DOMEventHandler: A context is required.");
this.ctx = ctx;
if (node) this.addEventListeners(node);
}
get events() {
return (
@bcomnes
bcomnes / index.js
Last active December 18, 2017 22:19
const CC = require('class-cache')
const Class = require('some-class')
function gc (instance, key, Class) {
return instance.element
}
const c = new CC({
gc // DEFAULT GC function... most of the time you do this
// Return bool to keep or toss
@bcomnes
bcomnes / README.md
Created November 12, 2017 06:21
Slow parsing

On some files that are missing duration, parsing metadata is very slow.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@bcomnes
bcomnes / .gitignore
Last active September 13, 2017 23:04
sticky tables
node_modules
var Nanocomponent = require('nanocomponent')
var html = require('bel')
var onIdle = require('on-idle')
var url = require('url')
var TwitterWidgetsLoader = {
src: '//platform.twitter.com/widgets.js',
loading: false,
listeners: [],
interval: 50,
Dom Event scheduling
<yoshuawuyts> bret: the order of resolution per tick is:
16:18 bret: 1. microtasks; they're part of promises and mutationobservers but you can hook into them. See https://github.com/yoshuawuyts/nanotask
16:18 bret: 2. setTimeout(cb, 0) calls
16:18 bret: 3. requestAnimationFrame() calls
16:19 <bret> Bret Comnes is that all of them?
16:19 <yoshuawuyts> bret: now this is where it gets tricky. If there is any rendering, it'll happen now. If there is none, setTimeout() and RAF will resolve _again_ on the same tick. Not sure about microtasks but suspect them too
16:19 bret: but assuming we modified the dom:
16:20 bret: 4. the render pipeline triggers here. E.g. paints and reflows
Yoshua Wuyts 9:36 AM
https://github.com/Drakulix/fireplace
Todd Kennedy joined group chat.
Todd Kennedy left group chat.
Todd Kennedy joined group chat.
Todd Kennedy left group chat.
Todd Kennedy joined group chat.
To list all available commands enter "/?".
@bcomnes
bcomnes / from-buffer.js
Created June 10, 2017 17:24
from-buffer.js
var from = require('from2')
exports.fromBuffer = fromBuffer
function fromBuffer (buffer) {
return from(function (size, next) {
if (buffer.length <= 0) return next(null, null)
var chunk = buffer.slice(0, size)
buffer = buffer.slice(size)
next(null, chunk)