Skip to content

Instantly share code, notes, and snippets.

View RReverser's full-sized avatar
🇺🇦

Ingvar Stepanyan RReverser

🇺🇦
View GitHub Profile
@RReverser
RReverser / bad-promises.js
Last active December 25, 2016 14:50 — forked from threepointone/bad-promises.js
for ingvar
// consider the following code
// a.js
class A extends Component {
static B = undefined;
state = { B : A.B };
componentWillMount() {
A.B || import('./b.js').then(B => {
@RReverser
RReverser / acorn-top-level.js
Created March 14, 2017 10:00
Acorn: top-level parsing experiment
// See https://jsperf.com/acorn-top-level-parsing-experiment/1 for example
acorn.plugins.top_level = function (instance) {
// Could skip other things as well, but this
// is where the most time can be saved
instance.parseBlock = function () {
var node = this.startNode();
var length = this.context.length;
do {
this.next();
@RReverser
RReverser / rust-sample.json
Created June 3, 2017 16:48
rustc -Z ast-json
{
"module": {
"inner": {
"lo": 0,
"hi": 69
},
"items": [{
"ident": "",
"attrs": [{
"id": {
macro_rules! err {
($i:expr, $kind: expr) => {
IResult::Error(error_position!($kind, $i))
};
}
macro_rules! alt_switch {
($i:expr, $($lhs_mac:ident ! ( $($lhs_arg:tt)* ) $(as $lhs_binding:pat)* => $rhs_mac:ident ! ( $($rhs_arg:tt)* ) |)+ _ => $def_mac:ident ! ( $($def_arg:tt)* )) => {{
$(if let IResult::Done(i, $($lhs_binding,)* ..) = $lhs_mac ! ( $i, $($lhs_arg)* ) {
$rhs_mac ! ( i, $($rhs_arg)* )
@RReverser
RReverser / userChrome.css
Last active December 2, 2017 23:47
Firefox CSS for nice vertical tabs with TabCenter Redux
/* Hide horizontal tab strip */
#TabsToolbar {
visibility: collapse;
}
/* Reduce width of the navigation panel so that it doesn't conflict with macOS window controls */
#nav-bar:not([inFullscreen]) {
padding-left: 70px;
}
pub struct IpCidr(::cidr::IpCidr);
impl Debug for IpCidr {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
Debug::fmt(&self.0, f)
}
}
impl Deref for IpCidr {
type Target = ::cidr::IpCidr;
extern crate bincode;
extern crate cidr;
extern crate hex_slice;
extern crate rmp_serde;
extern crate serde;
extern crate serde_bytes;
extern crate serde_cbor;
#[macro_use]
extern crate serde_derive;
#!/usr/bin/env python
# Use with
# > cargo test --no-run # print compilation failures if any
# > RUST_TEST_THREADS=1 cargo test -q -- --logfile tests.log 2>failures.log; ../convert-test-log.py
import xml.etree.cElementTree as ET
import re
failure_re = re.compile(r"""thread '(.*?)' panicked at '(.*?)', tests/test\.rs:\d+:\d+
// Create a Worker we want to share memory with:
let w = new Worker(`data:text/javascript,
onmessage = ({data: memory}) => {
// Got WebAssembly.Memory once, log same instance forever with no further postMessages:
setInterval(() => console.log('Current buffer in worker:', memory.buffer), 5_000);
}
`);
// Create a shared growable memory:
let m = new WebAssembly.Memory({ initial:1, maximum: 65536, shared: true });
// Send memory to the worker:
const TEXT_ENCODER = new TextEncoder();
const WASM_PAGE_SIZE = 1 << 16;
function encodeStringToBinary(str) {
// Initially allocate enough space for the case where 1 char requires 1 byte (ASCII-only).
let dest = new WebAssembly.Memory({ initial: Math.ceil(str.length / WASM_PAGE_SIZE) });
let writePos = 0;
for (;;) {
// Write starting from the last written position.