Skip to content

Instantly share code, notes, and snippets.

@fbstj
fbstj / greystring.js
Created January 11, 2012 19:28
detects strings who's characters are in a Grey-code sequence
// detects strings whos bytes are greycoded
function greystring(str){
var a, b
function bitcount(v){
var c;
for (c = 0; v; c++)
v &= v - 1;
return c;
}
for(var i = 1; i < str.length; i++)
@fbstj
fbstj / Buffer.js
Created January 7, 2012 01:21
some extension methods and utility functions for ArrayBuffer
var Buffer = {
_for: function(n, cb){ for(var i = 0; i < n; i++) cb(i) },
_to: function(x, size, cb) {
var v = new DataView(x), out = [], l = x.byteLength/size
this._for(l, function (i) { out[i] = v[cb](i*size) })
return out
},
toBytes: function(b) { return this._to(b, 1, 'getUint8') },
toWords: function(b) { return this._to(b, 2, 'getUint16') },
@fbstj
fbstj / HTMLOFF.js
Created September 6, 2011 21:26
HTML object notation, maps JSON to HTML tables and lists
// converts HTML tables and lists into JSON/js objects and arrays
function HTMLOFF(el)
{//reverses the effects of HTMLON
function tbl(root)
{
var o = {}, rows = $('tbody', root).first().children(),
row = rows.first()
for(var j = 0; j < rows.length; j++)
{
@fbstj
fbstj / C_CAN.c
Created August 4, 2011 13:53
Module for communicating with C_CAN device on C8051F500 and other
/*
Module for communicating with C_CAN device on C8051F500 and F580.
*/
#include "myPlatform.h"
#define __C_CAN_H 1
# include "C_CAN.h"
#undef __C_CAN_H
// CAN0STAT masks
@fbstj
fbstj / memlib.c
Created July 8, 2011 15:42
memory operations free of the standard libraries
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long LONG;
BYTE BYTE_get(BYTE **buf_ptr) { return *(*buf_ptr)++; }
void BYTE_put(BYTE **buf_ptr, BYTE value) { *(*buf_ptr)++ = value; }
void WORD_put(BYTE **buf_ptr, WORD value)
{
@fbstj
fbstj / smf-sql.php
Created March 16, 2010 20:56
SMF SQL wrapper (php)
<?php
#ini_set('display_errors',0);
header('Content-Type: application/json');
interface SQL { function sql(); }
interface RecordSet{ function add(Field $f); function field($name,$as=''); function fields();}
class DB
{
const USERNAME = 'root', PASSWORD = 'password';
const HOST = 'localhost', DB_NAME='smf';
const TABLE = "smf_%s";