Skip to content

Instantly share code, notes, and snippets.

@mrfabbri
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
<html>
<head>
<title>
</title>
<style>
#input-area{
width: 400px;
height: 400px;
margin: 10px;
}
@mrfabbri
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
<html>
<head>
<title>
</title>
<style>
#input-area{
width: 400px;
margin: 10px;
}
View greet-xmas.sh
#!/bin/bash
#lights_off
#
# *==<
# /\
# / \
# / @ \
# / \
# / @ @ \
View index.html
<html>
<head>
<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) {
nativeMenu.createMacBuiltin('node-webkit');
View keybase.md

Keybase proof

I hereby claim:

  • I am mrfabbri on github.
  • I am mrfabbri (https://keybase.io/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
mrfabbri / record-droid-screencast.sh
Created Oct 5, 2014
Starts and stops screen and audio (Mac) recording of an android attached device via adb
View record-droid-screencast.sh
#!/bin/sh
function stop_record() {
echo
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
EOF
@mrfabbri
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
mrfabbri / hashmap.sml
Created Nov 3, 2014
A minimal HashMap implementation in SML
View hashmap.sml
signature HASH_MAP =
sig
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
end
@mrfabbri
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
*
* http://www.apache.org/licenses/LICENSE-2.0
You can’t perform that action at this time.