Skip to content

Instantly share code, notes, and snippets.

View eliot-akira's full-sized avatar
🈳

3λiȯ+ eliot-akira

🈳
View GitHub Profile
@eliot-akira
eliot-akira / phpcs.xml
Last active November 1, 2019 15:32
WordPress code standard with 2-space indent
<?xml version="1.0"?>
<ruleset name="MyStandard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<description>WordPress code standard with 2-space indent.</description>
<rule ref="WordPress">
<exclude name="Generic.WhiteSpace.DisallowSpaceIndent" />
<exclude name="PEAR.Functions.FunctionCallSignature.Indent"/>
<exclude name="WordPress.Arrays.ArrayIndentation"/>
<exclude name="WordPress.WhiteSpace.PrecisionAlignment"/>
</rule>
<rule ref="Generic.WhiteSpace.DisallowTabIndent" />
curl -SsL https://registry.npmjs.org/npm/-/npm-5.0.2.tgz | tar -xzf -
cd package
make install
==========================
How Software Companies Die
==========================
- Orson Scott Card
The environment that nurtures creative programmers kills management and
marketing types - and vice versa.
Programming is the Great Game. It consumes you, body and soul. When
you're caught up in it, nothing else matters. When you emerge into
@eliot-akira
eliot-akira / EventEmitter.coffee
Created November 27, 2015 17:22 — forked from yocontra/EventEmitter.coffee
Tiny browser/node EventEmitter implementation in coffeescript
class EventEmitter
constructor: ->
@events = {}
emit: (event, args...) ->
return false unless @events[event]
listener args... for listener in @events[event]
return true
addListener: (event, listener) ->
@eliot-akira
eliot-akira / mixof.coffee
Created November 22, 2015 23:55
Mixin in CoffeeScript
mixOf = (base, mixins...) ->
class Mixed extends base
for mixin in mixins by -1
for name, method of mixin::
Mixed::[name] = method
Mixed
...
class A extends mixOf Foo, Bar

Quick Start for getting acquainted with Docker for Node.js developers

Install Dependencies

Install Docker Toolbox

For Mac and Windows users, just install Docker Toolbox. It provides what you need to get started, including:

@eliot-akira
eliot-akira / .eslintrc
Last active September 16, 2015 03:57 — forked from cletusw/.eslintrc
ESLint Reset - A starter .eslintrc file that resets all rules to off and includes a description of what each rule does. From here, enable the rules that you care about by changing the 0 to a 1 or 2. 1 means warning (will not affect exit code) and 2 means error (will affect exit code).
{
// http://eslint.org/docs/rules/
"ecmaFeatures": {
"binaryLiterals": false, // enable binary literals
"blockBindings": false, // enable let and const (aka block bindings)
"defaultParams": false, // enable default function parameters
"forOf": false, // enable for-of loops
"generators": false, // enable generators
"objectLiteralComputedProperties": false, // enable computed object literal property names

Moving to ES6 from CoffeeScript

I fell in love with CoffeeScript a couple of years ago. Javascript has always seemed something of an interesting curiosity to me and I was happy to see the meteoric rise of Node.js, but coming from a background of Python I really preferred a cleaner syntax.

In any fast moving community it is inevitable that things will change, and so today we see a big shift toward ES6, the new version of Javascript. It incorporates a handful of the nicer features from CoffeeScript and is usable today through tools like Babel. Here are some of my thoughts and issues on moving away from CoffeeScript in favor of ES6.

While reading I suggest keeping open a tab to Babel's learning ES6 page. The examples there are great.

Punctuation

Holy punctuation, Batman! Say goodbye to your whitespace and hello to parenthesis, curly braces, and semicolons again. Even with the advanced ES6 syntax you'll find yourself writing a lot more punctuatio

// Node.js CheatSheet.
// Download the Node.js source code or a pre-built installer for your platform, and start developing today.
// Download: http://nodejs.org/download/
// More: http://nodejs.org/api/all.html
// 0. Synopsis.
// http://nodejs.org/api/synopsis.html
#!/bin/sh
#---------------------------------
# nodesupervisor Start/Stop Script
#---------------------------------
#---------------------------------
# chkconfig: 2345 99 99
# description: NodeJS Supervisor
# --------------------------------