TODO: Write a project description
TODO: Describe the installation process
| HTMLTextAreaElement.prototype.getCaretPosition = function () { //return the caret position of the textarea | |
| return this.selectionStart; | |
| }; | |
| HTMLTextAreaElement.prototype.setCaretPosition = function (position) { //change the caret position of the textarea | |
| this.selectionStart = position; | |
| this.selectionEnd = position; | |
| this.focus(); | |
| }; | |
| HTMLTextAreaElement.prototype.hasSelection = function () { //if the textarea has selection then return true | |
| if (this.selectionStart == this.selectionEnd) { |
[ Launch: LeapMotion Three.js Visualizer ] 4944263 by JT5D[ Launch: Tributary inlet ] 4646124 by enjalot
| # delete local tag '12345' | |
| git tag -d 12345 | |
| # delete remote tag '12345' (eg, GitHub version too) | |
| git push origin :refs/tags/12345 | |
| # alternative approach | |
| git push --delete origin tagName | |
| git tag -d tagName |
| package main | |
| import ( | |
| "encoding/base64" | |
| "github.com/gorilla/mux" | |
| "net/http" | |
| "strings" | |
| ) | |
| func main() { |
| /* Entity Interpolation | |
| this code occurs within the draw loop for an entity | |
| this.x and this.y represent the most recently received server position of | |
| the entity -- though i don't ever intend to use it for drawing | |
| when an update is received (roughly every 50ms in my particular game) this.x and this.y get | |
| pushed into previousState.x and previousState.y | |
| i also continue sloppily onwards to previousPreviousState.x, but I've removed that code | |
| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <script | |
| src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r68/three.min.js" | |
| ></script> | |
| <script | |
| src="https://rawgit.com/mrdoob/three.js/master/examples/js/controls/TrackballControls.js" | |
| ></script> |
| // ------------ | |
| // counterStore.js | |
| // ------------ | |
| import { | |
| INCREMENT_COUNTER, | |
| DECREMENT_COUNTER | |
| } from '../constants/ActionTypes'; | |
| const initialState = { counter: 0 }; |
| var uniqueArray = function(arrArg) { | |
| return arrArg.filter(function(elem, pos,arr) { | |
| return arr.indexOf(elem) == pos; | |
| }); | |
| }; | |
| var uniqEs6 = (arrArg) => { | |
| return arrArg.filter((elem, pos, arr) => { | |
| return arr.indexOf(elem) == pos; | |
| }); |
| // http://charlesbking.com/power_of_es6/#/21 | |
| //create a logger facade | |
| class Logger { | |
| //constructor | |
| constructor (type = "Info") { | |
| this.type = type; | |
| } | |
| //static methods | |
| static create(type) { |