Skip to content

Instantly share code, notes, and snippets.

Ray Bellis raybellis

  • Oxfordshire, England
Block or report user

Report or block raybellis

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@raybellis
raybellis / random.js
Last active Nov 7, 2018
Emulation of java.util.Random in Javascript
View random.js
class UInt48 {
constructor(n) {
if (n instanceof UInt48) {
Object.assign(this, n);
} else if (typeof n === 'number') {
let w0 = n & 0xffff;
n /= 0x10000;
let w1 = n & 0xffff;
n /= 0x10000;
@raybellis
raybellis / merger.c
Created Mar 28, 2018
16-bit ROM merger
View merger.c
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stddef.h>
int main(int argc, char *argv[])
{
const size_t bufsize = 4096;
uint8_t buf_a[bufsize];
@raybellis
raybellis / jquery.memoize.js
Last active Dec 15, 2015
Non-persistent and Persistent memoized functions
View jquery.memoize.js
;(function($) {
"use strict";
$.memoize = function(factory, ctx) {
var cache = {};
return function(key) {
if (!(key in cache)) {
cache[key] = factory.call(ctx, key);
}
@raybellis
raybellis / jquery.classlist.js
Last active Dec 14, 2015
A shim for jQuery that uses the native "classList" property of an element for class modifications, if available.
View jquery.classlist.js
/*global jQuery */
;(function($) {
/*global document */
"use strict";
if (typeof document !== 'undefined' && ('classList' in document.createElement('a'))) {
var $ = jQuery;
@raybellis
raybellis / jquery.loop.js
Created Oct 15, 2012
jQuery loop plugin
View jquery.loop.js
(function($) {
$.loop = function(n, cb, ctx) {
for (var i = 0; i < n; ++i) {
if (cb.call(ctx, i) === false) break;
}
};
})(jQuery);
@raybellis
raybellis / jquery.queued.js
Created Oct 2, 2012
A jQuery plugin to allow any function to be queued (default 'fx' queue only)
View jquery.queued.js
(function($) {
$.fn.queued = function() {
var self = this;
var func = arguments[0];
var args = [].slice.call(arguments, 1);
return this.queue(function() {
$.fn[func].apply(self, args).dequeue();
});
}
}(jQuery));
You can’t perform that action at this time.