Skip to content

Instantly share code, notes, and snippets.

Avatar

James M. Greene JamesMGreene

View GitHub Profile
View install-nodejs.sh
#!/bin/sh
#version details
VERSION=0.8.8
PLATFORM=linux
ARCH=x86
PREFIX="$HOME/node-v$VERSION-$PLATFORM-$ARCH"
#download binaries
mkdir -p "$PREFIX" && \
@JamesMGreene
JamesMGreene / example_def.rb
Last active Sep 15, 2018
Ruby class methods vs. instance methods
View example_def.rb
class Human
# Class method (a.k.a. static method)
def self.classification
'Mammal'
end
# Instance constructor
def initialize(first_name, last_name)
View currentScript.html
<!doctype html>
<html>
<head>
<title>currentScript Example</title>
<script type="text/javascript" id="mainscript" async>
if (document.currentScript && document.currentScript.async) {
console.log("Executing asynchronously");
} else {
@JamesMGreene
JamesMGreene / index.html
Last active Aug 29, 2015
Basic `script.readyState`/`document.readyState` tests
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Basic `script.readyState`/`document.readyState` tests</title>
<script id="loadFirst">
window.console && console && console.log && console.log("loadFirst script, evaluating first line");
function _write(msg) {
var bod = document.body || document.getElementsByTagName("body")[0];
@JamesMGreene
JamesMGreene / index.html
Last active Aug 29, 2015
Basic `document.readyState`/`script.readyState` tests
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Basic `document.readyState`/`script.readyState` tests</title>
<script id="loadFirst">
function getScriptIds(scriptEls) {
var scriptIds = [];
if (scriptEls) {
for (var i = 0, len = scriptEls.length; i < len; i++) {
@JamesMGreene
JamesMGreene / queryCommand.js
Last active Aug 29, 2015
An example of discovering if a queryCommand works in a cross-browser, old-browser compliant way.
View queryCommand.js
function runQueryCommand(command, showUI, value) {
var commandWorked = false,
initialDesignMode = document.designMode || "off";
try {
document.designMode = "on";
commandWorked = !!(
document.queryCommandSupported(command) &&
document.queryCommandEnabled(command) &&
document.queryCommand(command, showUI, value)
@JamesMGreene
JamesMGreene / gitflow-breakdown.md
Last active May 14, 2021
A comparison of using `git flow` commands versus raw `git` commands.
View gitflow-breakdown.md

Initialize

gitflow git
git flow init git init
  git commit --allow-empty -m "Initial commit"
  git checkout -b develop master

Connect to the remote repository

@JamesMGreene
JamesMGreene / clickToCopy_queryCommand.js
Last active Aug 29, 2015
An example of how synthetic click-to-"copy" events might look if we use `document.execCommand`.
View clickToCopy_queryCommand.js
var hasModernClipboardApi, queryCopySupported, syntheticCopySupported, button;
hasModernClipboardApi = window.ClipboardEvent != null;
try {
queryCopySupported = document.queryCommandSupported("click-to-copy") === true;
}
catch (e) {
queryCopySupported = false;
@JamesMGreene
JamesMGreene / npmVersionDilemma.md
Last active Feb 15, 2021
NPM/semver versioning dilemma
View npmVersionDilemma.md

NPM Versioning Dilemma

Background on my Node module

  • I have an existing published Node module, flex-sdk, which basically serves as a downloader and wrapper for an external, non-JavaScript dependency: the Adobe/Apache Flex SDK.
  • As such, the Node module's version number is based on the version of the Flex SDK which it wraps, e.g. flex-sdk@4.5.1 == Flex SDK 4.5.1
  • I just discovered that I should also be bundling additional Flash API libraries (for compilation) with these various SDKs.

The Problem