- VirtualBox - Virtualization software for running local operating systems within your computer. This allows us have a full version of linux within our computers that better match how a live webserver works.
- Vagrant - A tool for provisioning (creating) virtual machines.
- VVV - A pre-built, community-supported Vagrant configuration for WordPress development.
- Git - Version control system for managing code during development. Easily allows for tracking changes, and merging new code into an existing project.
- SourceTree - A GUI available on Windows and Mac for managing Git projects. This makes Git much easier to use, as we won't have to learn the command line interface.
- Github.com - A website that provides free Git repositories for both open source and private projects.
- SASS - (SCSS) A CSS preprocessing implementation that allows us to write much less CSS for a project. This basically makes CSS into a simple programming language.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* parse_link_header() | |
* | |
* Parse the Github Link HTTP header used for pageination | |
* http://developer.github.com/v3/#pagination | |
*/ | |
function parse_link_header(header) { | |
if (header.length == 0) { | |
throw new Error("input must not be of zero length"); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function map (arr, func) { | |
return Promise.resolve().then(function () { | |
return arr.map(function (el) { return func(el) }) | |
}).all() | |
} | |
function mapSeries (arr, func) { | |
let currentPromise = Promise.resolve() | |
let promises = arr.map(function (el) { | |
return currentPromise = currentPromise.then(function () { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Mongoid | |
# Helps to override find method in an embedded document. | |
# Usage : | |
# - add to your model "include Mongoid::EmbeddedFindable" | |
# - override find method with: | |
# def self.find(id) | |
# find_through(Book, 'chapter', id) | |
# end | |
module EmbeddedFindable |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".jsx\{0,1\}$") | |
if [[ "$STAGED_FILES" = "" ]]; then | |
exit 0 | |
fi | |
PASS=true |
- VirtualBox - Virtualization software for running local operating systems within your computer. This let's us have a full version of linux within our computers that better matches how a live webserver works.
- Vagrant - A tool for provisioning virtual machines.
- VVV - A pre-built, community supported Vagrant configuration for WordPress development.
- Git - Version control system for managing code during development. Easily allows for tracking changes, and merging new code into an existing project.
- SourceTree - A GUI available on Windows and Mac for managing Git projects. This makes Git much easier to use, as we won't have to learn the command line interface.
- GitHub.com - A website that provides free Git repos for both open source and private projects.
- SASS - (we'll use the SCSS flavor) A CSS preprocessor that allows us to write much less CSS for a project. This basically makes CSS into a simple programming language.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
for file in $(git diff --cached --name-only | grep -E '\.(js|jsx)$') | |
do | |
git show ":$file" | node_modules/.bin/eslint --stdin --stdin-filename "$file" # we only want to lint the staged changes, not any un-staged changes | |
if [ $? -ne 0 ]; then | |
echo "ESLint failed on staged file '$file'. Please check your code and try again. You can run ESLint manually via npm run eslint." | |
exit 1 # exit with failure status | |
fi | |
done |
Known GitHub organizations. Note that this is just a list of GitHub orgs, and doesn't necessarily reflect chapter status. See "Starting a Chapter" for details.
A significant amount of press (a selection that is by no means exhaustive has been linked below) has been given to companies and organizations that are doing 4 day/8 hour work weeks without a change in compensation. Organizations that adopted a 4 day work week experienced
- Sustained or improved productivity.
- Worker happiness increased dramatically.
- Stress, burnout and turnover decreased.
- Companies had an easier time attracting and retaining talent.
- Customer outcomes improved.
- Number of sick days declined.
- Carbon footprints could be reduced significantly.