Skip to content

Instantly share code, notes, and snippets.

Bert Belder piscisaureus

  • Amsterdam
Block or report user

Report or block piscisaureus

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:748866df4ac001d631d5f16d5260dbae
D:\deno2\tests>..\target\debug\deno -A --reload main.js
Compile file:///D:/deno2/tests/subdir/mod2.ts
Compile file:///D:/deno2/tests/subdir/mismatch_ext.ts
Compile file:///D:/deno2/tests/subdir/mod1.ts
error: Uncaught Error: An error
► file:///D:/deno2/tests/subdir/throws.js:5:7
5 throw new Error("An error");
View import.js
async function try_import(url) {
let status;
try {
await import(url);
status = "OK";
} catch (err) {
status =;
status = status.padEnd(12);
return status + url;
View gist:7ca55b153a1b3f8085c6ae49c4e6c837
So here's the things to consider:
* Do not preallocate a read buffer per socket.
Either use polling or use a shared buffer pool.
* Avoid statefulnews, e.g:
- In windows, you can't use multiple completion ports with a handle.
- On unix, a socket is either in blocking or non-blocking mode
This creates problems when you want to share a handle with other processes
or between threads. For example, you might want to switch stdout to
non-blocking, but if stdout was inherited and shared with the parent
process, the parent process might not expect this and crash or malfunction.
use std::collections::HashMap;
use std::sync::Mutex;
extern crate lazy_static;
struct CoreOp {} // Placeholder.
struct FlatBuffer {} // Placeholder.
struct PinnedBuf {} // Placeholder.
use std::cell::Cell;
use std::marker::PhantomData;
// Dummy placeholders representing raw v8 objects.
struct V8Isolate {}
struct V8HandleScope {}
// Scope that controls access to the Isolate and active HandleScope.
struct Scope<'a, S, P> {
parent: Option<&'a mut P>,
View latch.ts
import { test, runIfMain } from "";
import { assertEquals } from "";
export class Latch<T> {
// Array of `[resolve_function, value]` tuples.
send_queue: Array<[() => void, T]> = []
// Array of `resolve_function` values.
recv_queue: Array<(value: T) => void> = []
send(value: T): Promise<void> {
piscisaureus / sccache.exe
Last active Jan 15, 2019
sccache 0.2.8-alpha 9d30660a
View sccache.exe
This file has been truncated, but you can view the full file.
piscisaureus / leftspread.d.ts
Last active Nov 7, 2018
Typescript left spread
View leftspread.d.ts
// A typescript helper type that lets you define functions with rest spread
// parameters at the beginning, like:
// `function cool(...many: string[], must_have: SomeObject, extra?: boolean)`;
// See test.ts for an example on how to use it.
export type Args = Array<unknown>;
// prettier-ignore
View output.txt
C:\Users\BertBelder\d\deno\out\debug>rustc ../../src/ --crate-name=deno_bin --crate-type=staticlib --emit=link,dep-info --out-dir=rust_crates -Cextra-filename= -Cmetadata= -L dependency=rust_crates --color=always -g --extern hyper=rust_crates/libhyper.rlib --extern hyper_rustls=rust_crates/libhyper_rustls.rlib --extern futures=rust_crates/libfutures.rlib --extern lazy_static=rust_crates/liblazy_static.rlib --extern libc=rust_crates/liblibc.rlib --extern log=rust_crates/liblog.rlib --extern ring=rust_crates/libring.rlib --extern tempfile=rust_crates/libtempfile.rlib --extern rand=rust_crates/librand.rlib --extern tokio=rust_crates/libtokio.rlib --extern tokio_io=rust_crates/libtokio_io.rlib --extern tokio_fs=rust_crates/libtokio_fs.rlib --extern tokio_executor=rust_crates/libtokio_executor.rlib --extern tokio_threadpool=rust_crates/libtokio_threadpool.rlib --extern url=rust_crates/liburl.rlib --extern remove_dir_all=rust_crates/libremove_dir_all.rlib --extern dirs=rust_crates/libdirs.rlib --extern flatb
View gist:34906b930d7f40a375685ff7ec150cf9
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Enterprise\\\\VC\\\\Tools\\\\MSVC\\\\14.14.26428\\\\ATLMFC\\\\include"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Enterprise\\\\VC\\\\Tools\\\\MSVC\\\\14.14.26428\\\\include"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\NETFXSDK\\\\4.6.1\\\\include\\\\um"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.17134.0\\\\ucrt"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.17134.0\\\\shared"
You can’t perform that action at this time.