Skip to content

Instantly share code, notes, and snippets.

View transactional-proxy.mjs
'use strict';
const readOnlyViews = new WeakMap();
function ReadOnlyProxy(target) {
if (!canBeAProxyTarget(target)) return target;
if (readOnlyViews.has(target)) return readOnlyViews.get(target);
/**
* @type {()=>never}
*/
function fail() {
throw new Error('cannot mutate a read only view');
@bmeck
bmeck / harness.js
Created Mar 17, 2021
bradley needed to dump this devtools type tracer PoC somewhere
View harness.js
function foo(x, y) {
return Object;
}
const { stop } = trace();
new foo([1], new Date());
stop();
// boilerplate after this
View lone surrogates - split codepoint problem.sh
# see the replacement character ( Buffer.from(new TextEncoder().encode('\u{fffd}')) ) instead
# https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character
node -e 'process.stdout.write("👌"[0]);setTimeout(() => {process.stdout.end("👌"[1]); process.exit()},3e3)' |
node -e '(async (s = "") => {for await (const a of process.stdin) {console.log(a); s+= a}; console.log(s)})()'
@bmeck
bmeck / yield-star.js
Created Feb 10, 2014
Example of how to use yield* to combine generators
View yield-star.js
// Our incremental JSON parser (simplified only to use strings and arrays)
// while iterator result != done keep using .next(moreSrc) or .next(null) if you are done providing data
// while the iterator is not done it will return the state of the iterator
// the iterator is seeking more data to get a valid value
// call .next(str) to provide it more data
var NEED_MORE_DATA = 0;
// the iterator has a valid result and will return a result if you provide .next(null)
// this is not automatic, due to numbers and potentially invalid trailing characters after an expected end
View why-i-need-private-declarations.js
'use strict';
/**
* @template {Object} O
* @constructor
* @param {O} o
* @returns {O}
*/
function Override(o) {
return o;
}
View node-policies.json
{
"type": "object",
"title": "Node.js Policy Manifest",
"description": "https://nodejs.org/api/policy.html",
"definitions": {
"cascade": {
"defaultSnippets": [
{
"label": "Allow scope fall through.",
"body": true
View total-pages.txt
This file has been truncated, but you can view the full file.
http://0-chromosome.hatenablog.jp/
http://0.lifecell.com.ua/
http://002tousan.seesaa.net/
http://00monochrome.blog32.fc2.com/
http://00room.blog.fc2.com/
http://0301244.hatenablog.com/
http://0316shank.hatenablog.com/
http://03310711.blog59.fc2.com/
@bmeck
bmeck / Readme.md
Created Apr 3, 2012
Simple Vertical Load Balancing for TCP in Node.js
View Readme.md

About

This is the most basic example of vertical scaling by transferring connections to workers, rather than sharing server sockets. It was presented at JSConf US 2012. With this you can create some interesting balancing algorithms that cluster would defer to internal/OS logic.

Exercises

A good first project when working with this is to implement sticky sessions based upon connection.remoteAddress and/or connection.remotePort.

A good advanced project is to change from a TCP based balancer to a HTTP(S) one and balance based upon not just connection.remoteAddress etc. but also on the protocol and/or Host header.

@bmeck
bmeck / hmr.js
Created Mar 20, 2020 — forked from georges-gomes/hmr.js
Hot module reload prototype
View hmr.js
import inspector from "inspector";
const url2scriptid = new Map<string, string>();
const session = new inspector.Session();
session.connect();
setupDebugger();
function setupDebugger() {
View compareDocumentPosition.js
//Attach me to Node.prototype as well
var DOCUMENT_POSITION_DISCONNECTED = Node.prototype.DOCUMENT_POSITION_DISCONNECTED = 0x01
var DOCUMENT_POSITION_PRECEDING = Node.prototype.DOCUMENT_POSITION_PRECEDING = 0x02
var DOCUMENT_POSITION_FOLLOWING = Node.prototype.DOCUMENT_POSITION_FOLLOWING = 0x04
var DOCUMENT_POSITION_CONTAINS = Node.prototype.DOCUMENT_POSITION_CONTAINS = 0x08
var DOCUMENT_POSITION_CONTAINED_BY = Node.prototype.DOCUMENT_POSITION_CONTAINED_BY = 0x10
Node.prototype.compareDocumentPosition = function compareDocumentPosition( otherNode ) {
if( !(otherNode instanceof Node) ) {
throw Error("Comparing position against non-Node values is not allowed")