hello.js

var please = require('share');
console.log('thank you');

Wednesday, 1 March, 2017 UTC

js: Refactor to a Point Free Function with Ramda's useWith Function

js: Refactor to a Point Free Function with Ramda's useWith Function

Naming things is hard and arguments in generic utility functions are no exception. Making functions "tacit" or "point free" removes the need for the extra parameter names and can make your code cleaner and more succinct. In this lesson, ... more


Tuesday, 28 February, 2017 UTC

js: Debug Function Compositions with Ramda's Tap Function

js: Debug Function Compositions with Ramda's Tap Function

Functional composition is a great way to write declarative code that reads well. But sometimes, you need to get insight into what's happening at different steps in your composition. This is where `tap` comes in. With tap, we can run code that generates ... more


Monday, 27 February, 2017 UTC

js: Get a List of Unique Values From Nested Arrays with Ramda

js: Get a List of Unique Values From Nested Arrays with Ramda

In this lesson, we'll grab arrays of values from other arrays, resulting in a nested array. From there, we'll look at multiple ways to flatten the array structure using composition with `map` and `unnest` and then refactoring to use `chain`, AKA `flatMap`. ... more


Friday, 24 February, 2017 UTC

js: Create an Array From a Seed Value with Ramda's unfold

js: Create an Array From a Seed Value with Ramda's unfold

In this lesson we'll look at how you can use Ramda's `unfold` function to generate a list of values based on an initial seed. ... more


Thursday, 23 February, 2017 UTC

js: Create a "Hello World" app using Electron

js: Create a "Hello World" app using Electron

Take the first step in learning how to create native desktop applications with Electron. We'll set up a package.json, create an npm start script to launch our app in development, and create a browser window and load a local HTML file into it. An important ... more


Tuesday, 21 February, 2017 UTC

vue: Make a request to an API with Axios in Vue

vue: Make a request to an API with Axios in Vue

Let's see how to use the `vue-axios` NPM package to make a request to an API, and make use of the data returned. ... more


Thursday, 16 February, 2017 UTC

vue: Load Data from URL Params in Vue.js and Nuxt.js

vue: Load Data from URL Params in Vue.js and Nuxt.js

URLs often reflect some bit of data that the page should load. This lesson walks you through adding a custom URL Param to the router then forwarding that Param to load data onto the page. ... more


Thursday, 16 February, 2017 UTC

js: Handle Errors in Ramda Pipelines with tryCatch

js: Handle Errors in Ramda Pipelines with tryCatch

Handling your logic with composable functions makes your code declarative, leading to code that's easy to read and easy to test. Breaking that up to wrap some risky function in a `try/catch` block introduces imperative code and makes it harder to maintain ... more


Thursday, 16 February, 2017 UTC

js: Check if an array contains an item using Array.prototype.includes

js: Check if an array contains an item using Array.prototype.includes

We often want to check if an array includes a specific item. It's been common to do this with the `Array.prototype.indexOf` method, but now we have a simpler way: We can use the `Array.prototype.includes` method, which is available starting with ES2016. ... more


Thursday, 16 February, 2017 UTC

js: Use the Exponentiation Operator in JavaScript

js: Use the Exponentiation Operator in JavaScript

ES2016 introduced the exponentiation operator `**` to JavaScript. This lesson shows how it works and how you can use it as a replacement for the `Math.pow` function. ... more


Thursday, 16 February, 2017 UTC

js: Convert a callback to a promise

js: Convert a callback to a promise

Promises are rapidly overtaking callbacks in popularity. In this lesson, I show you how to rewrite a callback using ES6 Promises. After getting a handle on the basics, we'll convert an error-first style callback to use the Resolve and Reject handlers ... more


Wednesday, 15 February, 2017 UTC

node: Use Google Sheets with Node and Express in Fun Side Projects

node: Use Google Sheets with Node and Express in Fun Side Projects

First and foremost, DO NOT use Google Sheets for *any* production app. It's fine for fun side projects for your family or friends, but not much more. With those disclaimers in mind, Google sheets can be complicated to set up if you don't follow precise ... more


Wednesday, 15 February, 2017 UTC

js: Refactor to Point Free Functions with Ramda using compose and converge

js: Refactor to Point Free Functions with Ramda using compose and converge

In this lesson we'll take some existing code and refactor it using some functions from the Ramda library, most notably, `compose` and `converge`. When we're done, we'll have taken a function with a couple of local variables and parameter references and ... more


Wednesday, 15 February, 2017 UTC

vue: Configure Named Routes in Vue.js and Nuxt.js

vue: Configure Named Routes in Vue.js and Nuxt.js

As you create more and more routes, the paths become difficult to manage and concatenate the parts together as just a giant string. Using named routes allows you to reference the route by a simple string then pass in the params as an object. This lesson ... more


Monday, 13 February, 2017 UTC

vue: Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

vue: Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

Sometimes the `pages/` directory structure doesn't meet your needs, so you'll need to customize your routes manually. Using the nuxt config and "hidden pages" you can map routes to view components without getting in the way of the default pages ... more


Saturday, 11 February, 2017 UTC

react: Writing Platform-Specific Components for iOS and Android in React Native

react: Writing Platform-Specific Components for iOS and Android in React Native

Learn to write components that render differently on iOS and Android, but present the same API. First, we'll use the Platform module to change behavior based on the platform. Then, we'll use the platform-specific file extensions, .ios.js and .android.js, ... more


Thursday, 9 February, 2017 UTC

react: Installing and Linking Modules with Native Code in React Native

react: Installing and Linking Modules with Native Code in React Native

Learn to install JavaScript modules that include native code. Some React Native modules include native code for Android and/or iOS in addition to JavaScript. We'll install the react-native-video component using npm install, and then link it with the react-native ... more


Thursday, 9 February, 2017 UTC

node: Difference between tilde (~) and caret (^) in package.json

node: Difference between tilde (~) and caret (^) in package.json

As a beginning node.js user, you will often see the tilde (~) or caret (^) in front of the version number for dependencies managed by your package.json file. In this lesson, you will learn what each means, when to use it, the implications of each and ... more


Wednesday, 8 February, 2017 UTC

node: Use ES6 style Promises with Node.js

node: Use ES6 style Promises with Node.js

Using promises can be confusing. In this lesson, I show you how to create promises to chain functions together in a specified order. You'll also learn how to pass the return value of promises as the input parameters of promises further down the chain. ... more


Tuesday, 7 February, 2017 UTC

js: Eliminate Function Arguments (Point-Free Style) with Ramda's Converge

js: Eliminate Function Arguments (Point-Free Style) with Ramda's Converge

When doing comparisons inside of functions, you end of relying heavily on the argument passed into the function. Ramda's `converge` allows you to do comparisons in a Point-Free style allowing you more flexibility with composing and constructing functions. ... more


Tuesday, 7 February, 2017 UTC

js: Count Words in a String with Ramda's countBy and invert

js: Count Words in a String with Ramda's countBy and invert

You can really unlock the power of ramda (and functional programming in general) when you combine functions. Counting words in a string may seem like a relatively difficult task, but ramda makes it easy by providing a `countBy` function. This lesson walks ... more


Thursday, 2 February, 2017 UTC

[Course] otherjs: How to Use npm Scripts as Your Build Tool

[Course] otherjs: How to Use npm Scripts as Your Build Tool

In this course we will introduce the topic of using npm scripts as a build tool. We will start simple and then continue to build a small website as we introduce new topics. By the end of the course, you'll know how to get started and what tools and techniques ... more


Thursday, 2 February, 2017 UTC

js: Identify and Deal with NaN in JavaScript

js: Identify and Deal with NaN in JavaScript

Dealing with the special `NaN` value can be tricky in JavaScript. It behaves like a number and not a number at the same time. This lesson explains how to identify it using the `isNaN` function or the `Number.isNaN` method. ... more


Wednesday, 1 February, 2017 UTC

node: Identify memory leaks with nodejs-dashboard

node: Identify memory leaks with nodejs-dashboard

In this lesson, I introduce a memory leak into our node.js application and show you how to identify it using the Formidable nodejs-dashboard. Once identified, we will add garbage collection stats to the error console allowing us to correlate garbage collection ... more


Monday, 30 January, 2017 UTC

js: Format console.log with CSS and String Template Tags

js: Format console.log with CSS and String Template Tags

The Chrome console allows you to format messages using CSS properties. This lesson walks you through the syntax of formatting your logs with css then refactoring into a template tag function to make formatting more reusable. ... more


Monday, 30 January, 2017 UTC

[Course] react: Build Your First Production Quality React App

[Course] react: Build Your First Production Quality React App

With the variety of choice we have in building modern web applications using JavaScript, it can make it difficult to understand where to even begin. We live in a wondrous era, where every problem we have seems to have a corresponding javascript module ... more


Monday, 30 January, 2017 UTC

purescript: Use Purescript and pulp to make hello world

purescript: Use Purescript and pulp to make hello world

In this lesson, we will learn how to run Purescript with a simple log statement. We use pulp to compile Purescript down to readable javascript. ... more


Monday, 30 January, 2017 UTC

js: Use Purescript and pulp to make hello world

js: Use Purescript and pulp to make hello world

... more


Wednesday, 25 January, 2017 UTC

node: Build microservices in Node.js with micro

node: Build microservices in Node.js with micro

micro is a small module that makes it easy to write high performance and asynchronous microservices in Node.js. This video will introduce you to micro by building a tiny service that responds to all requests. ... more


Tuesday, 24 January, 2017 UTC

typescript: Install TypeScript declarations from npm

typescript: Install TypeScript declarations from npm

This lesson shows you how to acquire type declaration files for your TypeScript projects directly from npm. ... more