git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
// | |
// Regular Expression for URL validation | |
// | |
// Author: Diego Perini | |
// Created: 2010/12/05 | |
// Updated: 2018/09/12 | |
// License: MIT | |
// | |
// Copyright (c) 2010-2018 Diego Perini (http://www.iport.it) | |
// |
#!/bin/bash | |
# from | |
# http://bergamini.org/computers/creating-favicon.ico-icon-files-with-imagemagick-convert.html | |
convert source-WxW.png -resize 256x256 -transparent white favicon-256.png | |
convert favicon-256.png -resize 16x16 favicon-16.png | |
convert favicon-256.png -resize 32x32 favicon-32.png | |
convert favicon-256.png -resize 64x64 favicon-64.png | |
convert favicon-256.png -resize 128x128 favicon-128.png |
#!/bin/bash | |
# | |
# Version 1.4 | |
# | |
# twrp.sh -- a TWRP compatible backup script for your computer | |
# Brought to you by inhies | |
# | |
# This script creates TWRP compatible backups over usb using adb and magikz | |
# By default it makes a folder in the standard TWRP date--time format (I think) | |
# To restore these backups, place the folder in /sdcard/TWRP/BACKUPS/<serialnumber>/ |
// Get all *text* nodes contained in a selection object. | |
// Adapted from code by Tim Down. | |
// http://stackoverflow.com/questions/4398526/how-can-i-find-all-text-nodes-between-to-element-nodes-with-javascript-jquery | |
function getTextNodesBetween(selection) { | |
var range = selection.getRangeAt(0), rootNode = range.commonAncestorContainer, | |
startNode = range.startContainer, endNode = range.endContainer, | |
startOffset = range.startOffset, endOffset = range.endOffset, | |
pastStartNode = false, reachedEndNode = false, textNodes = []; | |
function getTextNodes(node) { | |
var val = node.nodeValue; |
Once upon a time there was a user that wanted to install firefox.
The user tried to do pacman -S firefox
but it didn't work. The all
mighty pacman reported that firefox-3.2.4-1.i686.pkg.tar.gz
could not
be found on his mirror. So the user tried pacman -Sy firefox
. It
worked and the user rejoiced since he could once again go and troll /h/.
But all was not good. The user had made a grave error!
See, when the user told the almighty pacman to -Sy firefox
, pacman did
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
function arrayToCSV (twoDiArray) { | |
// Modified from: http://stackoverflow.com/questions/17836273/ | |
// export-javascript-data-to-csv-file-without-server-interaction | |
var csvRows = []; | |
for (var i = 0; i < twoDiArray.length; ++i) { | |
for (var j = 0; j < twoDiArray[i].length; ++j) { | |
twoDiArray[i][j] = '\"' + twoDiArray[i][j] + '\"'; // Handle elements that contain commas | |
} | |
csvRows.push(twoDiArray[i].join(',')); | |
} |
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.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent
In this gist I would like to describe an idea for GraphQL subscriptions. It was inspired by conversations about subscriptions in the GraphQL slack channel and different GH issues, like #89 and #411.
At the moment GraphQL allows 2 types of queries:
query
mutation
Reference implementation also adds the third type: subscription
. It does not have any semantics yet, so here I would like to propose one possible semantics interpretation and the reasoning behind it.