Skip to content

Instantly share code, notes, and snippets.

@f5io
f5io / README.md
Created January 3, 2020 13:54
qjs vs qjsc

Currently experiencing issues with qjsc.

With qjs index.js, I receive the expected output:

$ qjs index.js
🎾  Ball hit 1 time(s), wiff!
🎾  Ball hit 2 time(s), waff!
🎾  Ball hit 3 time(s), wiff!
🎾  Ball hit 4 time(s), waff!
extern crate actix;
extern crate actix_web;
extern crate bytes;
extern crate derive_more;
extern crate futures;
extern crate flatbuffers;
use derive_more::Display;
use flatbuffers::{get_root, Follow, Table};
use bytes::{BytesMut};
require 'formula'
class Ab < Formula
homepage 'http://httpd.apache.org/docs/trunk/programs/ab.html'
url 'http://www.apache.org/dist/httpd/httpd-2.4.23.tar.bz2'
sha1 '5101be34ac4a509b245adb70a56690a84fcc4e7f'
def patches
{
# The ab tool of the latest stable httpd (2.4.2) does not work
@f5io
f5io / ab.rb
Last active August 30, 2016 11:53
require 'formula'
class Ab < Formula
homepage 'http://httpd.apache.org/docs/trunk/programs/ab.html'
url 'http://www.apache.org/dist/httpd/httpd-2.4.23.tar.bz2'
sha1 '5101be34ac4a509b245adb70a56690a84fcc4e7f'
def patches
{
# The ab tool of the latest stable httpd (2.4.2) does not work
const memoize = (fn) => {
const cache = new Map();
const memo = (...a) => {
const key = a.reduce((hash, val) =>
hash += val === Object(val) ?
JSON.stringify(val) :
val, '');
if (!cache.has(key)) cache.set(key, fn(...a));
return cache.get(key);
}
@f5io
f5io / core.js
Last active September 7, 2023 18:38
An approach to async middleware for raw `http` in Node.
const http = require('http');
const methods = [ 'get', 'put', 'post', 'delete', 'head' ];
const isStream = obj =>
obj &&
typeof obj === 'object' &&
typeof obj.pipe === 'function';
const isReadable = obj =>
const zip = (arr, length = 2) =>
Array.from({ length }, (_, i) =>
arr.filter((_, j) =>
j % length === i));
import { h, render, CustomComponent } from 'yolk';
const createCustomComponent = CustomComponent.extend;
const Custom = createCustomComponent({
onMount (props, node) {
this._instance = {
update: (props) => {
this._instance.currentProps = props;
console.log(this._instance.currentProps);
@f5io
f5io / craigrobbins.js
Last active August 29, 2015 14:19
Open up craigrobbins.co.uk and paste the following in the console. Then click anywhere!
(function($) {
var audio = new Audio();
audio.src = 'data:audio/mp3;base64,SUQzAwAAAAAAEFRDT04AAAAGAAAAT3RoZXL/+pDAv8oAABVeLuYZKgACvhglw7WgAfBYg33wCvAG/wgQAuPAxwAJgfwFB4Eo4DQH/AzIcL5hb8AUU/8A6oBIWAMIEKAmH//ACTgHSwJAACgYtgFAn/+AMcAKgBfcLnA1WOM3///ELhq8d4rcd5cE7ltD///0iPFxkoGIBBgarHG4euK5////+JwFxjljJnyAFQMSDsNwvuM4MgFkYbf/////////mwncWeKXGUFkHiaFwF8LTBjyTEAx8DIClBjx3mIoHKAhHc0yBJlLQdGhx9RUFCQ5eGDDBhREMEAkSNpCRlnyQIYDJARpFRhA5hxBlhoZbKh4xgkQkig6CiY0NOjlMKsGZZtEo7GEUkCuBpSvAyB5ZhmkRs2ps1IY7GT5kxhii4lTMoEW+ZMiYkaYkmPLyVeJa0ArXn+M2jKxIBKiJEChLchQEUCTDjyI4FhhIPLbITSIeJAQEvTUeSkjRdRChsDAV3F4Em3kYnflE4HqEJsJxYlVAIPERQZkNiARDBEZADDwsEphZdItKcIHNgoyAWbkqazjJzO+4HUB3xn/+pLATywXg9VkwS4N50mCwRflwd3pMcECSzPjMpk51kgQ4A2MyAM6EgAudpBxMjCgEgRkcTVAYZMSVFCZztxikBlwZlz5gjANNAIUCgw6FNghLLGDAGjTGDOjYkLAlYUrS1hEAdRMl9QMaRdBAVMFc4NIGXFOeyV+X5QoGg4EDu23yFS5Ejy+8Ntaa24qdMrnYd4YlhODgmT/MYgEMy2mO8oOEmFMTQzMOBqMbDEAy6aEzGmFBjqCOkRlA4JQoynl5DHzIyZfMERAIIAQhBQKIhUIPQ4xBwErQIRYxsYM3gDMQA5ZsN+cDACkyo8250MHiIINBzHiwIPBhc9KUADy5RkQachcdE
@f5io
f5io / angrify.js
Last active August 29, 2015 14:13
Angry functions in JavaScript.
/**
* A quick implementation of this idea in JavaScript.
* https://www.reddit.com/r/shittyprogramming/comments/2sxbh9/program_with_all_obscure_c_features_ideas/cnu1qpm
*/
function angrify(fn) {
return function() {
try {
fn.apply(this, arguments);
} catch(e) {