Skip to content

Instantly share code, notes, and snippets.

Keep calm.

Unbug Lee unbug

Keep calm.
Block or report user

Report or block unbug

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
unbug / app.js
Last active Sep 8, 2015 — forked from zulfajuniadi/app.js
Backbone VirtualDOM using fiduswriter/diffDOM
View app.js
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>VirtualDOM Example</title>
<div id="output"></div>
unbug /
Last active Sep 20, 2015 — forked from paulirish/
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout. This is also called reflow or layout thrashing, and is common performance bottleneck.


Box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
  • elem.clientLeft, elem.clientTop, elem.clientWidth, elem.clientHeight
  • elem.getClientRects(), elem.getBoundingClientRect()
View match variable
View gist:e007ac69189d43a65d0f
unbug / Sync gh-pages + master branches
Created Mar 24, 2016 — forked from mandiwise/Sync gh-pages + master branches
Keep gh-pages up to date with a master branch
View Sync gh-pages + master branches
// Reference:
$ git add .
$ git status // to see what changes are going to be commited
$ git commit -m 'Some descriptive commit message'
$ git push origin master
$ git checkout gh-pages // go to the gh-pages branch
$ git rebase master // bring gh-pages up to date with master
$ git push origin gh-pages // commit the changes
View BST
function Node(data, left, right){ = data;
this.left = left;
this.right = right; = show;
function show(){
View quicksort
function quicksort(arr){
//base case
if(arr.length<=1){ return arr;}
//now find swap position and value
var swapPos = Math.floor((arr.length-1)/2),
swapVal = arr[swapPos],
less = [], more = [];
arr = arr.slice(0, swapPos).concat(arr.slice(swapPos+1));
for(var i=0;i<arr.length;i++){
View bubbleSort
function bubbleSort(arr){
if(arguments.lenght === 0 || !Array.isArray(arr)){
throw new Error();
var hasHadChange;
for(var i=0;i<arr.length-1;i++){
hasHadChange = false;
for(var x=0;x<arr.length-1;x++){
hasHadChange = true;
View javascript-the-good-parts
function identity(x){
return x;
function add(a, b){
return a+b;
function mul(a, b){
return a*b;
unbug / Middleware.js
Last active Sep 17, 2019
Powerful Javascript Middleware Pattern Implementation, apply middleweares to any object.
View Middleware.js
'use strict';
/* eslint-disable consistent-this */
let middlewareManagerHash = [];
* Composes single-argument functions from right to left. The rightmost
* function can take multiple arguments as it provides the signature for
* the resulting composite function.
You can’t perform that action at this time.