Grasshopper navigation 

When using Grasshopper (the plugin for Rhino 3D), you can select the inputs to a block with Ctrl-Left, and all consumers of the block with Ctrl-Right.

This makes understanding complex Grasshopper graphs much simpler.
[ add comment ] ( 22 views ) permalink related link
NPM and Git with semver 

NPM supports specifying a package dependency using:
With semver respecting the full versioning rules. It uses the same Git tagging system applied by npm version.

However, if multiple modules use this, they will not be seen as the same module, even if requesting the exact same semver and Git revision (as shown in package-lock.json).

This can cause failures when checking objects with instanceof. The different modules will have different implementations of the class, and thus fail instanceof checks.
[ add comment ] ( 21 views ) permalink
NPM and Git LFS 

NPM (Node Package Manager) doesn't normally work well with Git LFS when installing a package directly from a Git repo. Because it creates a local bare clone as a cache, then checks out in the target directory, Git LFS will be unable to pull objects.

This can be worked around using a .lfsinfo file, to indicate the absolute source URI for all LFS objects.

However, this means any time a npm install is done against this repo, npm/git will download ALL LFS blobs, even if they already exist in the target location.
[ add comment ] ( 26 views ) permalink
Bluetooth audio quality 

If your Bluetooth headphones come up as both Headset and Headphones, you want Headphones.

Headset is quite limited in sound quality, intended for older hands-free phone devices.

[ add comment ] ( 30 views ) permalink
async, await and Promises 

JavaScript adding Promises greatly improved the use of callbacks, because callbacks can now be defined after calling the function instead of before. This allows the code to be cause then effect, rather than reversed as with callback functions.

await and async are boilerplate saving language constructs.

An async function always returns a Promise, but the function is written as if it returns the Promise resolve value. It also enables the use of await inside the function.

Putting await in front of calling a function that returns a Promise automatically waits for the Promise to resolve, and provides the resolving value.

These future language features can be used in current environments, such as NodeJS or web browsers, through the use of a transpiler, such as Babel.
[ add comment ] ( 89 views ) permalink

<Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Next> Last>>