Skip to content

Instantly share code, notes, and snippets.

@danneu
danneu / esm-package.md
Created January 17, 2024 06:15 — forked from sindresorhus/esm-package.md
Pure ESM package

Pure ESM package

The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.

This means you have the following choices:

  1. Use ESM yourself. (preferred)
    Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.
  2. If the package is used in an async context, you could use await import(…) from CommonJS instead of require(…).
  3. Stay on the existing version of the package until you can move to ESM.
@danneu
danneu / queue.ts
Created March 24, 2023 21:04
A queue impl where `queue.take()` returns a promise that resolves into a lock when a lock is available.
// USAGE
const queue = new Queue(50)
const middleware = () => async (ctx, next: () => Promise<void>) => {
const lock = await queue.take()
await next().finally(() => {
queue.release(lock)
})
}
@danneu
danneu / 0-README.md
Last active May 9, 2022 06:17
Elm quickstart with Parcel

Elm quickstart with Parcel

Create project boilerplate:

mkdir my-elm-project
cd my-elm-project
elm init
touch src/Main.elm # This is where we put our Elm app
@danneu
danneu / diskio.h
Created February 23, 2021 10:05 — forked from RickKimball/diskio.h
msp430 Petit FatFile System sample
/*-----------------------------------------------------------------------
/ PFF - Low level disk interface modlue include file (C)ChaN, 2009
/-----------------------------------------------------------------------*/
#ifndef _DISKIO
#include "integer.h"
/* Status of Disk Functions */
typedef BYTE DSTATUS;
@danneu
danneu / text_to_svg_path.py
Created August 22, 2020 06:15 — forked from CatherineH/text_to_svg_path.py
Convert a text character to an SVG path.
from svgpathtools import wsvg, Line, QuadraticBezier, Path
from freetype import Face
def tuple_to_imag(t):
return t[0] + t[1] * 1j
face = Face('./Vera.ttf')
@danneu
danneu / index.js
Created March 21, 2020 04:44 — forked from joepie91/index.js
Breaking CloudFlare's "I'm Under Attack" challenge
'use strict';
const parseExpression = require("./parse-expression");
function findAll(regex, target) {
let results = [], match;
while (match = regex.exec(target)) {
results.push(match);
}
// json5.js
// Modern JSON. See README.md for details.
//
// This file is based directly off of Douglas Crockford's json_parse.js:
// https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js
var JSON5 = (typeof exports === 'object' ? exports : {});
JSON5.parse = (function () {
"use strict";
@danneu
danneu / plink-plonk.js
Created February 15, 2020 20:00 — forked from tomhicks/plink-plonk.js
Listen to your web pages
(index):458 wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
printErr @ (index):458
(anonymous) @ out.js:2317
(index):458 falling back to ArrayBuffer instantiation
printErr @ (index):458
(anonymous) @ out.js:2318
(index):458 Calling stub instead of sigaction()
printErr @ (index):458
_sigaction @ out.js:13258
_SDL_QuitInit
// $ ps -c -Ao pid,comm,pcpu -r | tail -n +2 | head -n 5
// 2333 installd 61.8
// 2671 iTerm2 17.3
// 2334 storedownloadd 4.1
// 203 WindowServer 2.8
// 5243 Activity Monitor 2.7
func getTopCpuProcs() {
let ps = Process()
ps.launchPath = "/usr/bin/env"
ps.arguments = ["ps", "-c", "-Ao", "pid,comm,pcpu,time", "-r"]