Using winget to install programs with large archives (e.g., zig.zig) takes a long time and appears to hang:
PS> winget install zig.zig
Found Zig [zig.zig] Version 0.14.0
This application is licensed to you by its owner.
| /** | |
| * Helper function that will block until garbage collection is performed. | |
| * | |
| * **WARNING:** By design, JavaScript garbage collection is unpredictable and may never happen (i.e., this | |
| * function may never resolve). Use this function with caution. | |
| */ | |
| async function garbageCollection() { | |
| const { promise, resolve } = Promise.withResolvers(); | |
| const registry = new FinalizationRegistry(resolve); | |
| (() => registry.register({}, ''))(); |
| /** | |
| * =================================================== IMPORTANT =================================================== | |
| * | |
| * The passkey creation and retrieval MUST occur in the same "effective domain" or "registrable domain suffix" | |
| * ([more info](https://www.w3.org/TR/webauthn-3/#rp-id)): | |
| * | |
| * > For example, given a Relying Party whose origin is `https://login.example.com:1337`, then the following | |
| * > RP IDs are valid: `login.example.com` (default) and `example.com`, but not `m.login.example.com` and not `com`. | |
| * | |
| * As a result of this restriction, data encrypted with a crypto key that was derived from a passkey's PRF extension |
Modern versions of WSL2 can run GUI applications out of the box via WSLg.
sudo apt install nautilus -y
| // Demonstration of queuing strategy for Streams API | |
| // $ node ./webStreamsQueuingStrategy.js | |
| export { }; // Intentional unused export to force "type: module" on .js file | |
| // These strategies are equivalent | |
| const basicStrategy = { | |
| highWaterMark: 3, // If no .size() specified, default is .size() === 1 (CountQueuingStrategy) | |
| // size(chunk) { return 1; } // Implied | |
| }; |
| /** | |
| * Simple, small, and fast pseudorandom number generator to deterministically generate large amounts of mock test data. | |
| * | |
| * API is intended to follow [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues). | |
| * | |
| * Hash function source: | |
| * - https://burtleburtle.net/bob/hash/integer.html | |
| * - https://web.archive.org/web/20090408063205/http://www.cris.com/~Ttwang/tech/inthash.htm | |
| * @param {ArrayBufferView<ArrayBufferLike>} typedArray An integer-based `TypedArray` with a byte length that is a multiple of 4. | |
| * All elements in the array will be overwritten with random numbers. |
$ git log -n 1 --pretty=fuller
commit 0000000000000000000000000000000000000000 (HEAD -> main)
Author: First Last <[email protected]>
AuthorDate: Tue Nov 26 01:01:01 2024 -0800
Commit: First Last
| // Minimal debounce function: | |
| function debounce(fn, wait) { | |
| let timeoutId; | |
| return (...args) => { | |
| clearTimeout(timeoutId); | |
| timeoutId = setTimeout(() => fn(...args), wait); | |
| } | |
| } | |
| // Minified: |
| <form> | |
| <input name="ex1"> | |
| <input name="ex2"> | |
| <input name="example-with-hypens"> | |
| <button>Submit</button> | |
| </form> | |
| <script> | |
| document.querySelector('form').addEventListener('submit', e => { | |
| e.preventDefault(); |