- node.js
- Installation paths: use one of these techniques to install node and npm without having to sudo.
- Node.js HOWTO: Install Node+NPM as user (not root) under Unix OSes
- Felix's Node.js Guide
- Creating a REST API using Node.js, Express, and MongoDB
- Node Cellar Sample Application with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB
- JavaScript Event Loop
- Node.js for PHP programmers
#!/bin/sh | |
synclient TouchpadOff=$((`synclient -l | grep TouchpadOff | awk '{print $3}'`==0)) |
var gulp = require('gulp'), | |
gutil = require('gulp-util'), | |
sass = require('gulp-sass'), | |
csso = require('gulp-csso'), | |
uglify = require('gulp-uglify'), | |
jade = require('gulp-jade'), | |
concat = require('gulp-concat'), | |
livereload = require('gulp-livereload'), // Livereload plugin needed: https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei | |
tinylr = require('tiny-lr'), | |
express = require('express'), |
#!/usr/bin/python3 | |
# Copyright (c) 2014 Wladimir J. van der Laan, Visucore | |
# Distributed under the MIT software license, see | |
# http://www.opensource.org/licenses/mit-license.php. | |
''' | |
urbit UDP sniffer | |
Usage: urbit_sniffer.py [-p <port1>-<port2>,<port3>,...] [-i <interface>] | |
''' | |
import socket, struct, sys, io, argparse |
A quick rant.
- PouchDB is slow, because it doesn't use bare-metal IndexedDB
OK, first off I want to point out the CanIUse table for IndexedDB. Go ahead, look at it. I'll wait.
about:config settings to harden the Firefox browser. Privacy and performance enhancements.
To change these settings type 'about:config' in the url bar.
Then search the setting you would like to change and modify the value. Some settings may break certain websites from functioning and
rendering normally. Some settings may also make firefox unstable.
I am not liable for any damages/loss of data.
Not all these changes are necessary and will be dependent upon your usage and hardware. Do some research on settings if you don't understand what they do. These settings are best combined with your standard privacy extensions
(HTTPS Everywhere No longer required: Enable HTTPS-Only Mode, NoScript/Request Policy, uBlock origin, agent spoofing, Privacy Badger etc), and all plugins set to "Ask To Activate".
/**//* | |
*//** This is perfectly ordinary C | |
**//* | |
*//** cc -std=c99 lol.c | |
**//* ./a.out justine 31 | |
*//**/ | |
#include <stdio.h> | |
#include <stdlib.h> |
The term variance describes how subtyping between higher kinded types is related to subtyping relations of their type arguments.
A higher kinded type composes type arguments to a new type. I use square bracket notation to define a higher kinded type:
C[T] // The higher kinded type `C` composes type argument `T` to a new type `C[T]`.
The same works with multiple type arguments:
import { useLayoutEffect, useCallback, useState } from 'react' | |
export const useRect = (ref) => { | |
const [rect, setRect] = useState(getRect(ref ? ref.current : null)) | |
const handleResize = useCallback(() => { | |
if (!ref.current) { | |
return | |
} |