Skip to content

Instantly share code, notes, and snippets.

View jsumners's full-sized avatar

James Sumners jsumners

View GitHub Profile
@jsumners
jsumners / style.css
Last active October 4, 2024 15:33
2024 ArsTechnica stylesheet
/**
* Works with:
* + https://github.com/username0x0a/Tamperish
* + https://chromewebstore.google.com/detail/stylebot/oiaejidbmkiecgbjeifoejpgmdaleoha
*/
/* Right sidebar column */
#main .grid + div {
display: none;
}
@jsumners
jsumners / git-fetch-ignore
Created September 25, 2024 11:03
Simple Bash script to fetch GitHub maintained gitignore files
#!/usr/bin/env bash
TYPE=$1
if [ "${TYPE}" == "" ]; then
echo "Missing gitignore type name."
echo "See https://github.com/github/gitignore for available types."
echo "Example: git fetch-ignore Objective-C"
exit 1
fi
@jsumners
jsumners / index.mjs
Created July 31, 2024 12:16
Testing stream data collection methods
import fs from 'fs'
const MAX_READ = 104_857_600
let start = process.hrtime.bigint()
await plusEquals()
let end = process.hrtime.bigint()
const peTime = end - start
console.log('plusEquals => ', peTime)

Let's see what happens with achors in a markdown table.

Toc

nonsense

A bunch of nonsense to elongate the viewport.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sed nisl volutpat, molestie nisl et, convallis lorem. Ut varius at massa quis ultricies. Duis nec dolor ut risus sagittis pretium. Suspendisse malesuada quam ac tortor pulvinar, vitae iaculis tellus euismod. Nullam faucibus sapien quis libero auctor iaculis. Proin rhoncus vel elit nec fringilla. Aliquam bibendum, ligula et rutrum hendrerit, ligula urna pulvinar ex, in pellentesque ante tortor et sem. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In viverra ipsum quam, nec finibus nisi tempor in. Pellentesque porta dictum sem non tincidunt. Phasellus ut justo euismod, auctor nulla et, aliquet lorem. Vivamus metus ante, dignissim ac fermentum a, rhoncus id erat. Ut tincidunt tortor non laoreet bibendum. Nam in pharetra orci, vitae lobortis purus.

@jsumners
jsumners / index.mjs
Created March 3, 2023 22:58
Close and lock issues and pull requests for a GitHub repo
import dotenv from "dotenv";
dotenv.config();
// Create a .env file in the same directory
// as this script. Add the following constants
// to that file:
const ORG = process.env.ORG;
const REPO = process.env.REPO;
const GITHUB_TOKEN = process.env.GITHUB_TOKEN;
@jsumners
jsumners / index.js
Created January 12, 2023 15:26
A weird construct in a class static method that makes the method inheritable by class extensions
'use strict'
class Foo {
static createFoo() {
return new Foo()
}
}
class Bar {
static createBar() {
@jsumners
jsumners / void-wsl.sh
Created November 11, 2022 21:40 — forked from kmatt/void-wsl.txt
Install Void Linux on WSL2
# Based on https://gist.github.com/kmatt/71603170556ef8ffd14984af77ff10c5
# prompt ">" indicates Powershell commands
# https://docs.microsoft.com/en-us/windows/wsl/install-win10
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# install https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
@jsumners
jsumners / index.mjs
Created May 5, 2022 11:32
Unsub GitHub org notifications
import dotenv from "dotenv";
dotenv.config();
const ORG = process.env.ORG;
const GITHUB_TOKEN = process.env.GITHUB_TOKEN;
import { Client } from "undici";
const client = new Client("https://api.github.com");
const headers = {
@jsumners
jsumners / walk.mjs
Created November 18, 2021 15:41
Walk a Node project's dependency tree and list the dependencies and their versions
import fs from 'fs/promises';
import treeify from 'treeify';
const result = await readModDir('.');
console.log(treeify.asTree(result, true));
async function readModDir(modDirPath) {
const dirEntries = await fs.readdir(new URL(modDirPath, import.meta.url));
const hasNodeModules = dirEntries.some(entry => entry === 'node_modules');
const pkgSrc = await fs.readFile(new URL(`${modDirPath}/package.json`, import.meta.url));