Skip to content

Instantly share code, notes, and snippets.

View padenot's full-sized avatar
🦊
foxing

Paul Adenot padenot

🦊
foxing
View GitHub Profile
@padenot
padenot / stream.js
Created October 29, 2011 16:33
How to serve media on node.js
var http = require('http');
var path = require('path');
var fs = require('fs');
var AUDIOFILE = "./audio.ogg";
function serveWithRanges(request, response, content) {
var range = request.headers.range;
var total = content.length;
var parts = range.replace(/bytes=/, "").split("-");
@padenot
padenot / pdfwc
Created November 10, 2011 23:35
pdfwc
#!/bin/sh
if [ $# -eq 0 ]
then
echo "$(basename $0) [-w|-c|-l|-L]? file.pdf+"
echo "\t-w : count words"
echo "\t-c : count characters"
echo "\t-l : count lines"
echo "\t-L : maximum line length"
exit 1
# Setup and packages
```sh
sudo aptitude install icecast2 gstreamer0.10-pulseaudio gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly-multiverse gstreamer-tools pavucontrol
```
Remember the password when setting up `icecast2` (when prompted by the install
script), because we will use it later on.
# Setup pulse
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef __SANITIZE_ADDRESS__
#define ALLOC_STACK(ptr) __asan_describe_address(ptr)
#else
#define ALLOC_STACK(ptr) fprintf(stderr, \
"Do an ASAN build to get allocation stacks.\n");
#endif
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <errno.h>
int main(int argc, char *argv[])
➜ FxStumbler git:(master) make
which: no uglifyjs2 in (/usr/local/bin:/Users/padenot/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/padenot/local:/Users/padenot/depot_tools/)
help - display this text
all - compile zip file
➜ FxStumbler git:(master) make help
which: no uglifyjs2 in (/usr/local/bin:/Users/padenot/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/padenot/local:/Users/padenot/depot_tools/)
help - display this text
all - compile zip file
➜ FxStumbler git:(master) make all
which: no uglifyjs2 in (/usr/local/bin:/Users/padenot/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/padenot/local:/Users/padenot/depot_tools/)
#!/usr/bin/env python
import matplotlib.pyplot as plt
import pylab as pl
import numpy as np
import os
import sys
data = {}
- Web Audio Feature requests: https://github.com/WebAudio/web-audio-api/issues
- Web Audio mailing list: http://lists.w3.org/Archives/Public/public-audio/
- General web feature requests: http://www.whatwg.org/mailing-list
- Other GitHub repos for other whatwg specs, https://github.com/whatwg/
- Twitter to a person you know that implements / specs this kind of stuff, but prefer public venues so you get maximum visibility, and maximize your chances to get an answer
// Converts a spec made with ReSpec to a cheat sheet
// Shift + f4 in Firefox, copy, paste, enjoy
var idl = document.querySelectorAll(".idl");
var cs = document.createElement("div");
cs.className = "lalala123123"
for (var i of idl) {
cs.appendChild(i);
@padenot
padenot / blur.js
Created June 25, 2014 09:08
fast black and white gaussian blur on canvas in js
/* vertical blur of blur_px. for efficiency, we copy a vertical
* line to a buffer so that access are made in a cache efficient
* manner */
function vblur(b, blur_px) {
var buf = new Uint8ClampedArray(h * 4);
for (var vertical = 0; vertical < w; vertical++) {
copy_vertical_in_buffer(b, vertical, buf);
blur_scanline(buf, 0, h, blur_px);