Skip to content

Instantly share code, notes, and snippets.

class Callme {
void call(String message) {
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
System.out.println("Interrupted. Message is " + message);
}
System.out.print("[" + message);
System.out.println("]");
@sang4lv
sang4lv / getCount.js
Created February 23, 2017 03:01
Detect when all requests initiated by scripts have completed. Requires Performance API
(function(P) {
var timer = setInterval(function() {
var requestCount = P.getEntriesByType("resources").filter(res => res.initiatorType === "script" && res.responseEnd === 0).length;
if (requestCount === 0) {
// all requests are loaded
// begin next step here...
clearInterval(timer);
}
}, 16 * 4); // interval set to approx. 100ms
@sang4lv
sang4lv / nn.py
Last active January 23, 2017 11:19
#Uses python3
import sys
import math
class Node:
def __init__(self, coords):
self.left = None
self.right = None
self.coords = coords
void merge_sort(vector<int> &a, int left, int right) {
// base case
if (left + 1 >= right) {
return;
}
// recursion case
int mid = (left + right) / 2;
merge_sort(a, left, mid);
merge_sort(a, mid, right);
@sang4lv
sang4lv / multiply.js
Last active January 12, 2017 03:01
polynomial multiplication
var LEFT = 0;
var RIGHT = 1;
function getZeros(length) {
return (new Array(length)).join('a').split('a').map(function() { return 0; });
}
function padTo(array, length, direction) {
var result = array.slice(0);
var args = getZeros(length);
@sang4lv
sang4lv / dev-server.js
Last active March 29, 2016 07:49
webpack
var WebpackDevServer = require('webpack-dev-server');
var webpack = require('webpack');
var devConfig = require('../webpack.config.dev');
var compiler = webpack(devConfig);
var IPAddress = require('./get-ip')();
new WebpackDevServer(compiler, {
contentBase: './src',
publicPath: '/assets/',
@sang4lv
sang4lv / sound.html
Last active October 22, 2015 06:28
Play Audio on iOS Safari
<!DOCTYPE html>
<html>
<head></head>
<body>
<button id="btn" style="transform: scale(3); margin: 100px;">touch to play</button>
</body>
<script>
$el = document.querySelector('#btn');
var myContext = new (window.AudioContext || window.webkitAudioContext)();
var path = 'ended.mp3';
@sang4lv
sang4lv / gist:4fdf83ae340beaf576d8
Created October 17, 2015 03:48
initFromBuffer
AudioComponent.prototype.initFromBuffer = function(bufferData) {
this.panner = this.context.createPanner();
this.gainNode = this.context.createGain();
this.sourceNode = this.context.createBufferSource();
this.context.decodeAudioData(bufferData, function(buffer) {
this.meta.duration = 1000 * buffer.duration; //in milliseconds
// connect them up
this.sourceNode = buffer;
@sang4lv
sang4lv / gist:67db7ae455658c1357fb
Last active August 29, 2015 14:28
download svg
$link.setAttribute('download', fileName);
$link.setAttribute('title', 'download generated logo');
if(format == 'svg') {
$link.setAttribute('href-lang', 'image/svg+xml');
//tried the following
exportData = 'data:application/octet-stream;base64,' + encodeURIComponent(generator.getSVG());
//exportData = 'data:application/octet-stream;base64,' + btoa(generator.getSVG());
//exportData = 'data:image/svg+xml;base64,' + btoa(generator.getSVG());
//exportData = 'data:image/svg+xml;' + encodeURIComponent(generator.getSVG());
(function() {
'use strict';
var React = require('react/addons');
var utils = require('../../javascripts/utils');
var Image = module.exports = React.createClass({
getInitialState : function() {
return {
imageShown : false