Skip to content

Instantly share code, notes, and snippets.

Marco Fabbri mrfabbri

Block or report user

Report or block mrfabbri

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
mrfabbri / evilevalworker.html
Created Sep 19, 2010
A web worker used to offload evaluation (by means of an "evil eval") of some JavaScript code written inside the browser. A very quick and dirty hack.
View evilevalworker.html
width: 400px;
height: 400px;
margin: 10px;
mrfabbri / eulerworker.html
Created Sep 19, 2010
A quick scaffolding html file to load a web worker at runtime, a sample web worker file is provided. Aimed at tinkering with project euler problems in JavaScript without freezing the browser.
View eulerworker.html
width: 400px;
margin: 10px;
# *==<
# /\
# / \
# / @ \
# / \
# / @ @ \
View index.html
<script type="text/javascript">
var nw = require('nw.gui');
var win = nw.Window.get();
var nativeMenu = new nw.Menu({ type: 'menubar' });
if ('createMacBuiltin' in nativeMenu) {

Keybase proof

I hereby claim:

  • I am mrfabbri on github.
  • I am mrfabbri ( on keybase.
  • I have a public key whose fingerprint is 429D DE03 5870 DBDA 08DF FA36 D98A B29A 1271 2285

To claim this, I am signing this object:

mrfabbri /
Created Oct 5, 2014
Starts and stops screen and audio (Mac) recording of an android attached device via adb
function stop_record() {
echo "stopping audio recording"
cat << EOF | osascript -l AppleScript
tell application "Quicktime Player"
stop last item of (documents whose name contains "Audio Recording")
end tell
mrfabbri / streams-interleave.rkt
Last active Aug 29, 2015
Interleaving streams in Racket
View streams-interleave.rkt
#lang racket
;; produce a new stream with the elements of the given streams interleaved
(define (streams-interleave . streams)
(letrec ([loop (lambda (streams)
(let ([next ((car streams))])
(cons (car next)
(thunk (loop (append (cdr streams) (list (cdr next))))))))])
(thunk (loop streams))))
mrfabbri / hashmap.sml
Created Nov 3, 2014
A minimal HashMap implementation in SML
View hashmap.sml
signature HASH_MAP =
type 'a hashVector
type ('a, 'b) hashMap
val makeEmpty : (('a -> int) * ('a * 'a -> bool) * int) -> ('a, 'b) hashMap
val lookup : ('a, 'b) hashMap -> 'a -> 'b option
val insert : ('a, 'b) hashMap -> 'a * 'b -> unit
val remove : ('a, 'b) hashMap -> 'a -> unit
val load : ('a, 'b) hashMap -> int
mrfabbri / shadow-stream.rkt
Created Nov 3, 2014
Shadow stream in Racket
View shadow-stream.rkt
;; Returns a stream that shadows side-effects of the original stream
;; when accessed after the first time
(define (shadow-stream s)
(let ([shadow-next #f])
(thunk (begin
(when (not shadow-next)
(let ([next (s)])
(set! shadow-next (cons (car next) (shadow-stream (cdr next))))))
(cons (car shadow-next) (cdr shadow-next))))))
View react.min.js
* React v0.5.0
* Copyright 2013 Facebook, Inc.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
You can’t perform that action at this time.