Skip to content

Instantly share code, notes, and snippets.

@domenic
domenic / iterator-of-promises.js
Created July 12, 2013 21:27
Iterator of promises: forEach
function iteratorOfPromisesForEach(iterator, callback) {
var snapshot = iterator.next();
if (snapshot.done) {
return Promise.resolve();
}
return snapshot.value.then(callback).then(() => iteratorOfPromisesForEach(iterator, callback));
}
var result = iteratorOfPromisesForEach(filesIterator, function (file) {
// return immediately to just do sync processing
@bcoe
bcoe / npm-top.md
Last active June 16, 2024 08:40
npm-top.md

npm Users By Downloads (git.io/npm-top)


npm users sorted by the monthly downloads of their modules, for the range May 6, 2018 until Jun 6, 2018.

Metrics are calculated using top-npm-users.

# User Downloads
@Avaq
Avaq / combinators.js
Last active July 15, 2024 14:46
Common combinators in JavaScript
const I = x => x
const K = x => y => x
const A = f => x => f (x)
const T = x => f => f (x)
const W = f => x => f (x) (x)
const C = f => y => x => f (x) (y)
const B = f => g => x => f (g (x))
const S = f => g => x => f (x) (g (x))
const S_ = f => g => x => f (g (x)) (x)
const S2 = f => g => h => x => f (g (x)) (h (x))
@daurnimator
daurnimator / 4CF.c
Last active August 4, 2023 00:22
Use your own main loop on OSX. Related blog post: http://daurnimator.com/post/147024385399/using-your-own-main-loop-on-osx
#include <mach/port.h> /* mach_port_t */
#include <mach/mach.h> /* mach_port_allocate(), mach_task_self(), mach_port_insert_member(), MACH_PORT_RIGHT_PORT_SET */
#include <sys/event.h> /* kqueue(), kevent64(), struct kevent64_s, EVFILT_MACHPORT, EV_SET64, EV_ADD */
#include <sys/time.h> /* struct timespec */
//#include <dispatch/private.h>
extern mach_port_t _dispatch_get_main_queue_port_4CF(void);
extern void _dispatch_main_queue_callback_4CF(void);
#include <stdio.h>
'use strict';
// Quiz:
//
// Implement `solution` function using only calls to API methods below and no
// other JS primitives (even math).
//
// Correct implementation will print "Success!" once executed
//
#import <WebKit/WebKit.h>
#include "ui.h"
#include "ui_darwin.h"
#define uiWebViewSignature 0x57656276 // "Webv"
typedef struct uiWebView uiWebView;
#define uiWebView(this) ((uiWebView *) (this))
struct uiWebView {
@premek
premek / mv.sh
Last active March 5, 2024 17:43
Rename files in linux / bash using mv command without typing the full name two times
# Put this function to your .bashrc file.
# Usage: mv oldfilename
# If you call mv without the second parameter it will prompt you to edit the filename on command line.
# Original mv is called when it's called with more than one argument.
# It's useful when you want to change just a few letters in a long name.
#
# Also see:
# - imv from renameutils
# - Ctrl-W Ctrl-Y Ctrl-Y (cut last word, paste, paste)